[devel] Q: gcc/ld madness
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Сб Сен 22 14:29:48 MSD 2007
* Konstantin A. Lepikhov <lakostis@> [070922 14:13]:
> echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \
> gcc -Wall -include zlib.h -x c -o a.out -lz -
gcc -Wall -include zlib.h -x c -o a.out - -lz
> PS Если уши растут из as-needed, просьба дать детальное и
> документированное объяснение почему эта ass ломает такие простые примеры.
info ld:
`--as-needed'
`--no-as-needed'
This option affects ELF DT_NEEDED tags for dynamic libraries
mentioned on the command line after the `--as-needed' option.
Normally, the linker will add a DT_NEEDED tag for each dynamic
library mentioned on the command line, regardless of whether the
library is actually needed. `--as-needed' causes DT_NEEDED tags
to only be emitted for libraries that satisfy some symbol
reference from regular objects which is undefined at the point
that the library was linked. `--no-as-needed' restores the
default behaviour.
Собсно, в первом случае в момент линковки libz нет ссылок на
символы оттуда, во втором они появляются. Это уже неоднократно
здесь обсуждалось.
--
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20070922/068e6a43/attachment-0002.bin>
Подробная информация о списке рассылки Devel