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
-~----------~----~----~----~------~----~------~--~---

Reply via email to