[uClibc]Searching for a difference
Gergely Tamás
gertom at rgai.hu
Thu Nov 28 15:59:17 UTC 2002
Hello!
My guestion may be offtopic:
I have gcc 3.2 with newlib for arm-elf and with uClibc for arm-linux
targets, and I found a difference: the uClibc version compiles smaller
code with the same options. I've found that some registers are saved in the
beginning of some functions in the arm-elf objects, and this code
is omitted (replaced with the save of only one register) in the
arm-linux objects.
My question is: where this difference comes from? Is that a difference
in the headers of the libraries, or some configuration switches
responsible for it while building gcc, or the target causes this
behaviour in some implicite ways?
Thanks,
Gertom
With arm-elf target:
bsSetStream:
@ args = 0, pretend = 0, frame = 0
> @ frame_needed = 1, uses_anonymous_args = 0
> mov ip, sp
> stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L15
ldr r2, [r3, #0]
cmp r2, #0
---
With arm-linux target:
bsSetStream:
@ args = 0, pretend = 0, frame = 0
> @ frame_needed = 0, uses_anonymous_args = 0
> str lr, [sp, #-4]!
ldr r3, .L15
ldr r2, [r3, #0]
cmp r2, #0
---
--
**************************************************************************
* Gergely Tamás e-mail:gertom at rgai.hu *
* ICQ:104783919 http://gertom.rgai.hu *
**************************************************************************
More information about the uClibc
mailing list