[uClibc]system-dependent asm in `initfini.c'?

Miles Bader miles at lsi.nec.co.jp
Thu Aug 22 06:39:55 UTC 2002


When compiling `uclibc/build/rte-ma1-cb/libc/sysdeps/linux/common', it
tries to produce `crti.o' from `crti.S', which is itself produced via a
perl script from the output of compiling `initfini.c' to assembly.

On my system, it dies with the following errors:

   v850e-elf-gcc -Wall -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -Os -fno-builtin -c crti.S -o crti.o
   initfini.c: Assembler messages:
   initfini.c:6: Error: Unknown pseudo-op:  `.hidden'
   initfini.c:19: Error: Unknown pseudo-op:  `.hidden'

The `.hidden' is explicitly inserted into the assembly by initfini.c.

So, what is this `.hidden'?  It obviously isn't portable.

It appears to be for shared libraries only, so I suppose at the least it
shouldn't be used if HAVE_SHARED != y (should there be a __UCLIBC_...__
macro for that?).

-miles
-- 
`Cars give people wonderful freedom and increase their opportunities.
 But they also destroy the environment, to an extent so drastic that
 they kill all social life' (from _A Pattern Language_)



More information about the uClibc mailing list