Alexander E. Patrakov wrote:

> GNU hash. Found it by creating several dummy shared libraries of my own:

Finally! Some technical details. Yay. However, my understanding is that
these hash-style changes are supposed to be back compatible.

> echo "foo(){}" | gcc -fPIC -x c -m64 -shared -o foo.so -
> echo "foo(){}" | gcc -Wl,--hash-style=gnu -fPIC -x c -m64 -shared -o 
> foo1.so -
> echo "foo(){}" | gcc -Wl,--hash-style=sysv -fPIC -x c -m64 -shared -o 
> foo2.so -
> 
> (Debian defaults to --hash-style=both).

Yes, and so does upstream Glibc ie: Glibc will be built with
--hash-style=both if the binutils support it.

> Of these libraries, the new ld recognizes only foo2.so. Is this enough 
> debugging?

No, not yet :-) If --hash-style=both is the problem, the build should fail
on x86 too? I just built a whole temptools phase with these versions:

gcc-4.1.2 / glibc-2.5.1 / fsf-binutils-2.17

from a host built with:

gcc-4.2.1 / glibc-2.6.1 / hjl-binutils-2.17.50.0.18 (glibc was compiled
with --hash-style=both)

and it built fine. ie: no problem linking against the host glibc.

Therefore the problem you are seeing is either a) not related to
--hash-style, b) is an x86_64 only problem or c) is a Debian only problem

Getting close dude.. but you ain't there yet... :-)

Regards
Greg
-- 
http://www.diy-linux.org/

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to