libc and static
Her is a simple program that doesn't compile on AMD64
(statically linked against libc)
#include <stdio.h>
#include <stdlib.h>
int main() {
int major, minor, micro;
printf("\nAn old version of libaal (%s) was found.\n");
printf("You need a libaal of the version %d.%d.%d or newer.\n", 1,
0, 5);
printf("You can get it at http://www.namesys.com/snapshots\n");
return 1;
}
Here is the output:
gcc-4.01
greg@ellipse:~/temp$ gcc -o conftest -O2 -static conftest.c
/usr/bin/ld: __libc_errno: TLS definition
in /usr/lib/gcc/x86_64-linux-gnu/4.0.1/../../../../lib64/libc.a(errno.o)
section .tbss mismatches non-TLS reference
in /usr/lib/gcc/x86_64-linux-gnu/4.0.1/../../../../lib64/libc.a(check_fds.o)
/usr/lib/gcc/x86_64-linux-gnu/4.0.1/../../../../lib64/libc.a: ne peut
lire les symboles: Mauvaise valeur
collect2: ld returned 1 exit status
greg@ellipse:~/temp$
gcc-3.3
gcc -o conftest -O2 -march=athlon-xp -mcpu=athlon-xp -mmmx -msse -msse2
-mfpmath=sse -static conftest.c
/usr/bin/ld: __libc_errno: TLS definition
in /usr/lib/gcc-lib/x86_64-linux-gnu/3.3.6/../../../../lib64/libc.a(errno.o) section .tbss mismatches non-TLS reference in /usr/lib/gcc-lib/x86_64-linux-gnu/3.3.6/../../../../lib64/libc.a(check_fds.o)
/usr/lib/gcc-lib/x86_64-linux-gnu/3.3.6/../../../../lib64/libc.a: ne
peut lire les symboles: Mauvaise valeur
collect2: ld a retourné 1 code d'état d'exécution
greg@ellipse:~/temp$
Any idea?
Cheers,
Greg
Reply to: