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