[devel] I: rpm 4.0.4-alt98.49, latter rain

Dmitry V. Levin ldv на altlinux.org
Вт Окт 5 22:29:41 UTC 2010


On Wed, Oct 06, 2010 at 02:12:09AM +0400, Dmitry V. Levin wrote:
> On Wed, Oct 06, 2010 at 02:04:35AM +0400, Alexey I. Froloff wrote:
> > On Wed, Oct 06, 2010 at 02:01:44AM +0400, Dmitry V. Levin wrote:
> > > > > Только откуда следует, что это поведение ld(1) неправильное?
> > > > Не следует.  Есть опция:
> > > > `--copy-dt-needed-entries'
> > > > `--no-copy-dt-needed-entries'
> > > Только эта опция не влияет на результат сборки моего тестового
> > > примера.
> > Потому что с этой опцией надо собирать линкуемые библиотеки.
> 
> Насколько я понял, в изначальной постановке задачи прилинковываемые
> библиотеки изменять нельзя.

Вот ещё более простой пример:

$ echo 'int foo1(){return 1;}' | gcc -fpic -shared -o libfoo1.so -xc - &&
echo 'int foo2(){return foo1()+1;}' | gcc -fpic -shared -o libfoo2.so -xc - -Wl,--rpath,$PWD -L. -lfoo1 &&
echo 'int foo3(){return foo1()+foo2();}' | gcc -fpic -shared -o libfoo3.so -xc - -Wl,--rpath,$PWD -L. -lfoo2 &&
/usr/lib/rpm/lib.req libfoo3.so
rtld(GNU_HASH)
/usr/src/tmp/libfoo2.so
libc.so.6(GLIBC_2.2.5)(64bit)
lib.req: WARNING: /usr/src/tmp/libfoo3.so: underlinked libraries: /usr/src/tmp/libfoo1.so

Если перед запуском этой длинной команды выполнить
$ alias gcc='gcc -Wl,--no-copy-dt-needed-entries'
то результат не меняется, что несколько странно.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20101006/0e858894/attachment.bin>


Подробная информация о списке рассылки Devel