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

Alexey I. Froloff raorn на altlinux.org
Ср Окт 6 08:22:22 UTC 2010


On Wed, Oct 06, 2010 at 02:29:41AM +0400, Dmitry V. Levin wrote:
> Если перед запуском этой длинной команды выполнить
> $ alias gcc='gcc -Wl,--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
main(){return foo1()+foo2();}' | gcc -o main -xc -
-Wl,--rpath,$PWD -L. -lfoo2 && /usr/lib/rpm/lib.req main    
/lib64/ld-linux-x86-64.so.2
rtld(GNU_HASH)
/home/raorn/tmp/l/libfoo1.so
/home/raorn/tmp/l/libfoo2.so
libc.so.6(GLIBC_2.2.5)(64bit)

$ alias gcc='gcc -Wl,--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
main(){return foo1()+foo2();}' | gcc -o main -xc -
-Wl,--rpath,$PWD -L. -lfoo2 && /usr/lib/rpm/lib.req main    
/usr/bin/ld: /tmp/.private/raorn/ccf6VsNk.o: undefined reference
to symbol 'foo1'
/usr/bin/ld: note: 'foo1' is defined in DSO
/home/raorn/tmp/l/libfoo1.so so try adding it to the linker
command line
/home/raorn/tmp/l/libfoo1.so: could not read symbols: Invalid
operation
collect2: ld returned 1 exit status


-- 
Regards,    --
Sir Raorn.   --- http://thousandsofhate.blogspot.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20101006/fa8c84bb/attachment.bin>


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