binutils z HEAD: dwie sprawy

Witek Kręcicki adasi w grubno.da.ru
Pon, 28 Kwi 2003, 23:52:09 CEST


1. ld ma zaszyte w zrodlach dynamic linker jako /usr/lib/libc.so.1 
(ktorego nie znalazlem), powinno miec raczej /lib/ld-linux.so.2 (tak mi
sie wydaje)
2. dziwna sprawa której nie rozumiem:
jest sobie pliczek test.c:
#include <stdio.h>
void raz (void)
{
printf("dupa\n");
}
int main (void)
{
printf("posladki\n");
return 0;
}

[adasi w samael devel]$ gcc -o test test.c; ./test
posladki
[adasi w samael devel]$

ale już: 
[adasi w samael devel]$ gcc -c test.c; ld -I /lib/ld-linux.so.2 -lc test.o
-o test ;./test
ld: warning: cannot find entry symbol _start; defaulting to 08048184
dupa
Naruszenie ochrony pamięci
[adasi w samael devel]$

Prawdopodobnie to ja się nie znam, ale to ostrzeżenie (zresztą bardzo
sensowne) pojawiło mi się w openssh (przez co (default 'main' do
pierwszej funkcji) ciagle mi usage() pokazywalo) i tak troche
zaniepokoilo. Najpierw na 'vanilla' gcc-3.2.3/binutils z HEAD( ale
vanilla), potem na binutils-2.13.90.0.18-0.1, gcc-3.2.2-0.1 dokladnie te
same objawy
WK




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