[uClibc]Re: __USE_WEAK_ALIASES in __uClibc_main.c

Miles Bader miles at lsi.nec.co.jp
Fri Mar 15 02:57:31 UTC 2002


Erik Andersen <andersen at codepoet.org> writes:
> I did that since the folk arcturusnetworks claimed that elf2flt
> was resolving all the weak_functions and stuffing them into their
> flat binaries...

That doesn't even make sense, since elf2flt runs after linking -- even
if it _wanted_ to stuff in the weak functions, where would it get them
from?

Here's an objdump of `echo' compiled using weak_functions on my system:

   (uClinux-2.4.x) v850e-elf-objdump -t $ldb/sim/user/shutils/echo.elf

   /proj/soft2/uclinux/ucdist/build/sim/user/shutils/echo.elf:     file format elf32-v850

   SYMBOL TABLE:
   00000000 l    d  .text	00000000 
   00000000 l    d  *ABS*	00000000 
   00000470 l    d  .data	00000000 
   000004a0 l    d  .bss	00000000 
   00000000 l    d  .stab	00000000 
   00000000 l    d  *ABS*	00000000 
   00000000 l    d  .comment	00000000 
   00000000 l    d  .stabstr	00000000 
   00000000 l    d  *ABS*	00000000 
   00000000 l    d  *ABS*	00000000 
   00000000 l    d  *ABS*	00000000 
   00000000 l    df *ABS*	00000000 crt0.S
   00000000 l    df *ABS*	00000000 clinkage.h
   00000000 l    df *ABS*	00000000 clinkage.h
   00000000 l    df *ABS*	00000000 crt0.S
   00000000 l    df *ABS*	00000000 echo.c
   000000a6 l       .text	00000000 Letext
   00000000 l    df *ABS*	00000000 libgcc1.S
   00000000 l    df *ABS*	00000000 __uClibc_main.c
   00000000 l    df *ABS*	00000000 string.c
   00000000 l    df *ABS*	00000000 atexit.c
   00000000 l    df *ABS*	00000000 abort.c
   00000000 l    df *ABS*	00000000 syscalls.c
   00000000 l    df *ABS*	00000000 syscalls.c
   00000000 l    df *ABS*	00000000 syscalls.c
   00000000 l    df *ABS*	00000000 errno.c
   00000000 l    df *ABS*	00000000 string.c
   00000000 l    df *ABS*	00000000 raise.c
   00000000 l    df *ABS*	00000000 sigaction.c
   00000000 l    df *ABS*	00000000 sigsetops.c
   00000000 l    df *ABS*	00000000 syscalls.c
   00000000 l    df *ABS*	00000000 syscalls.c
   00000000 l    df *ABS*	00000000 syscalls.c
   00000000 l    df *ABS*	00000000 string.c
   00000000 l    df *ABS*	00000000 libgcc1.S
   00000000 l    df *ABS*	00000000 libgcc1.S
   00000000 l    df *ABS*	00000000 libgcc1.S
   00000430 g     F .text	00000000 __callt_save_r26_r31c
   000000a6 g     F .text	0000007a ___uClibc_main
   000003ac  w    F .text	00000022 _getpid
   0000022e g     F .text	0000001c __exit
   00000436 g     F .text	00000000 __callt_return_r27_r31c
   00000000  w      *UND*	00000000 __stdio_init
   00000368 g     F .text	00000022 ___sigaddset
   00000484 g     O .data	00000004 __errno
   00000488  w    O .data	00000004 _h_errno
   00000470 g       .text	00000000 _etext
   000004a0 g       .bss	00000000 _sbss
   0000043c g     F .text	00000000 __callt_save_r31c
   00000438 g     F .text	00000000 __callt_save_r29_r31c
   000003f0 g     F .text	00000022 ___rt_sigaction
   00000470 g       .data	00000000 _sdata
   000002ba  w    F .text	00000090 _sigaction
   00000268 g     F .text	00000022 ___rt_sigprocmask
   00000478  w    O .data	00000004 _environ
   00000000  w      *UND*	00000000 ___errno_location
   0000028a g     F .text	0000000a _sigprocmask
   000002a8 g     F .text	00000012 _raise
   000003ac  w    F .text	00000022 ___getpid
   000004a0 g       .bss	00000000 _ebss
   00000000  w      *UND*	00000000 __init
   00000412 g     F .text	0000001e _memcpy
   00000294 g     F .text	00000014 _memset
   000002ba g     F .text	00000090 ___libc_sigaction
   0000038a g     F .text	00000022 ___sigdelset
   000004a0 g       .bss	00000000 end
   00000478 g     O .data	00000004 ___environ
   00000010 g     F .text	00000000 _start
   00000470 g       .data	00000000 __gp
   000004a0 g       .bss	00000000 __bss_start
   0000034a g     F .text	0000001e ___sigismember
   000003ac g     F .text	00000022 ___libc_getpid
   00000434 g     F .text	00000000 __callt_save_r27_r31c
   00000470 g       .data	00000000 data_start
   00000430 g       .text	00000000 __ctbp
   00000000  w      *UND*	00000000 _atexit
   00000000  w      *UND*	00000000 __fini
   00000166 g     F .text	000000c8 _abort
   0000047c g     O .data	00000004 ___exit_cleanup
   00000000  w      *UND*	00000000 ___h_errno_location
   0000024a g     F .text	0000001e ___libc_write
   00000432 g     F .text	00000000 __callt_return_r26_r31c
   0000024a  w    F .text	0000001e _write
   000004a0 g       .data	00000000 _edata
   000004a0 g       .bss	00000000 _end
   000003ce g     F .text	00000022 _kill
   00000120 g     F .text	00000018 _strlen
   00000484  w    O .data	00000004 _errno
   00000138 g     F .text	0000002e _exit
   00000004 g       .text	00000000 _stext
   00000488 g     O .data	00000004 __h_errno
   00000000  w      *UND*	00000000 __stdio_term
   0000043e g     F .text	00000000 __callt_return_r31c
   00000470 g       .data	00000000 __data_start
   0000043a g     F .text	00000000 __callt_return_r29_r31c
   00000050 g     F .text	00000056 _main


-Miles
-- 
`Life is a boundless sea of bitterness'



More information about the uClibc mailing list