Chyba zepuste uClibc na TH - lvm2 i device-mapper

Jakub Bogusz qboosh w pld-linux.org
Nie, 3 Cze 2007, 22:35:43 CEST


On Sun, Jun 03, 2007 at 10:22:41PM +0200, Arkadiusz Miskiewicz wrote:
> On Sunday 03 of June 2007, Jakub Bogusz wrote:
> > Testy na carme-i686 (bo na x86_64 ktoś popsuł lokalnie uClibc i nie
> > znajduje plików gcc):
> >
> > Pusty statycznie zlinkowany się wywala, taki z printfem już nie.
> 
> Hm, na x86_64 ani pusty ani taki z printf się nie wywala (po 
> dodaniu -Wl,--hash-style=sysv w wrapperze gcc). Linkowany zarówno statycznie 
> jak i dynamicznie.

A na i686 nawet u mnie statycznie zlinkowany bez stdio się wywala jak się
okazuje.
gcc 4.1.2, stare hashe.

Doszedłem do tego, że w __uClibc_main.c:

    /*
     * Initialize stdio here.  In the static library case, this will
     * be bypassed if not needed because of the weak alias above.
     * Thus we get a nice size savings because the stdio functions
     * won't be pulled into the final static binary unless used.
     */
    if (likely(_stdio_init != NULL))
        _stdio_init();

ten warunek jakoś się optymalizuje do true, przez co bezwarunkowo
wywołuje _stdio_init(), skacząc pod 0 w programach nie korzystających
z stdio.


-- 
Jakub Bogusz    http://qboosh.pl/


Więcej informacji o liście dyskusyjnej pld-devel-pl