Digit wrote:
> we have our own C library that we wrote by porting parts of the BSD C
> library on top the Linux kernel.
> but it conforms to the ARM EABI and you can trivially see that our own
> system libraries refer to these kind of symbols dynamically too.
Okay, here's some C code that provokes this:
---snip---
unsigned int f2uiz(float f) { return (unsigned int) f; }
signed long long lasr(signed long long v, int s) { return v >> s; }
unsigned long long llsr(unsigned long long v, int s) { return v >> s; }
unsigned long long llsl(unsigned long long v, int s) { return v << s; }
---snip---
Each function, when compiled, generates a call to the appropriate
__aeabi_* function:
---snip---
f2uiz:
stmfd sp!, {r4, lr}
bl __aeabi_f2uiz(PLT)
ldmfd sp!, {r4, pc}
---snip---
However, the libc contains only the following _aeabi_f2* functions:
__aeabi_f2d
__aeabi_f2iz
__aeabi_f2lz
__aeabi_f2ulz
__aeabi_f2uiz is documented in ARM's ABI helper function document
(http://infocenter.arm.com/help/topic/com.arm.doc.ihi0043a/IHI0043A_rtabi.pdf).
I'm compiling the code above with:
arm-none-linux-gnueabi-gcc -std=c99 -Os -fPIC test.c -o test.s -S
-mcpu=arm926ej-s
I'm getting the list of symbols from the libc with:
arm-none-linux-gnueabi-gcc -T libc.so
Is this enough information to duplicate, or is there anything else you
need? (And would this be better off on -internals?)
--
David Given
[EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---