fix ldiv for shared libraries

__LDIV__ and __ULDIV__ have problems with shared libraries because:

1. EBX is needed for the context pointer
2. the inline asm doesn't have a way to express the weird fixups needed

The easiest way to fix it was to simply call the gcc runtime library functions instead.