CRiSP Blog

0x000000006ffffef5 (GNU_HASH) 0x4005f0

This is the output from a 'readelf -a /bin/ls'. It is the cause
of the dynamic linker problem (glibc 2.5 or later). By allowing
/bin/ld write this into the ELF executable, the /lib/ld-linux.so.2
does not like it on the older systems. Additionally, we are missing
a ".hash" ELF section, but the above is a trigger.

I have a tool which removes the .gnu.hash section and adds a .hash
section. Whilst the above .dynamic entry exists, it doesnt know what
I did. Additionally, gdb gets confused too.

Next step is to polish off the code so it can create a fully
conforming/working ELF executable, and its ready to roll.

(In case you didnt follow any of this, how to create an executable
on Linux which runs on any release of Linux/glibc. Later Linux
distros dont create backward compliant executables leading to an
arms race of platform and version specific releases which is a waste
of everyones' effort).


Post created by CRiSP v10.0.2c-b5917


Read more http://crtags.blogspot.com/2010/12/0x000000006ffffef5-gnuhash-0x4005f0.html

Testimonials

"I heartily recommend CRiSP for UNIX & MAC programmers who want a full featured, intuitive programmers editor that is customizable and easy to use with the keyboard."

paypal_horiz