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/
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


"CRiSP is awesome, especially for anyone who likes to use Brief on the PC, and hates vi. I use it for all my code development and maintenance tasks. It's also great for editing binary files or very large files, or files which have very long lines, which cause other editors to choke."