On Sat, Jul 10, 2004 at 10:51:12PM +0200, Paweł Sikora wrote: > On Saturday 10 of July 2004 21:38, qboosh wrote: > > Author: qboosh Date: Sat Jul 10 19:38:47 2004 GMT > > Module: SOURCES Tag: HEAD > > ---- Log message: > > - (sparc32,ppc) don't use switch on 64-bit value, > > gcc uses __ucmpdi2() to do it > > # man gcc > > -ffreestanding > > Assert that compilation takes place in a freestanding environment. > This implies -fno-builtin. A freestanding environment is one in > which the standard library may not exist, and program startup may > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > not necessarily be at "main". The most obvious example is an OS > kernel. This is equivalent to -fno-hosted.
Tylko że "standard library" dla języka C to libc. __ucmpdi2() nie jest w libc, tylko w libgcc - bibliotece wspomagającej dla kompilatora, zwykle linkowanej statycznie. > $ objdump -T /lib/libgcc_s.so|grep __uc > 0000181c g DF .text 00000038 GCC_3.0 __ucmpdi2 > > $ ldd /lib/libgcc_s.so > libc.so.6 => /lib/libc.so.6 (0x70028000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x08000000) libgcc.a - z wyjątkiem bibliotek dzielonych, nie wszystkich zresztą. > ja bym to zglosil jako bug, bo nie jest mozliwe odpalenie > takiego programu bez libc, a opcja -ffreestanding ma to gwarantowac. Przy statycznym libgcc jest możliwe. > niech gcc rozwija to inline, albo zglasza blad/ostrzezenie, > ze nie moze takiej operacji zrealizowac na danej platformie. > to co robi teraz, to obraz glupoty. Niestety opcji typu no-libgcc czy inline-libgcc AFAIK nie ma. Można zgłosić jako "enhancement request". -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ _______________________________________________ pld-devel-pl mailing list [EMAIL PROTECTED] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
