кхм, а вот тут вот, можно сделать так чтобы «-lc» встречалось в вызове только один раз?
ld -static -o main /usr/lib/crt1.o /usr/lib/crti.o /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/crtbegin.o main.o -lc /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/libgcc_eh.a /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/crtend.o ... more →
*ld
Задать чем следует открывать ELF-бинарь можно указав --dynamic-linker=file, например так: ld -o main /usr/lib/crt1.o /usr/lib/crti.o /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/crtbegin.o main.o -lc /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/crtend.o /usr/lib/crtn.o -I/lib/ld-linux-x86-64.so.2
в заголовке бинаря прописывается чем его открывать, обычно это «/lib64/ld-linux-x86-64.so.2» на 64х-битных системах. Вопрос, как задать ld чтобы он прописал что-то другое в соответствующую секцию?
беру примитивный сишник, делаю «gcc -c test.c -o test.o; ld -o test test.o», запускаю получившийся бинарь, получаю сегфолт. в недоумении...
мегавопрос, как указать версию линкуемой библиотеки не указывая полное имя файла? а то как-то мне западло писать эти все lib, .so и двоеточие
*ld is used by:
analizer
analizer
analizer