atexit w statycznie linkowanych programach

Jakub Bogusz qboosh w pld.org.pl
Śro, 16 Kwi 2003, 14:04:20 CEST


Dotyczy starego glibc 2.2.5, w 2.3.2 jest chyba dobrze.

Testcase:
#v+
#include <stdio.h>
#include <stdlib.h>

void x(void) {
        printf("atexit\n");
}

int main() {
        printf("blah\n");
        atexit(x);
        printf("blah blah\n");
}
#v-

Dynamicznie zlinkowane z glibc (2.2.5 i 2.3.2) działa.
Statycznie - z 2.3.2 działa, z 2.2.5-23 SEGV w momencie wywołania atexit().

W połączeniu z tym, że w nowych wersjach modutils (z HEAD, z --without
linux25) z jakiegoś powodu obie wersje insmoda są linkowane statycznie
(zaraz zobaczę dlaczego i poprawię), dostajemy niemożność automatycznego
ładowania modułów przez jądro :/


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



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