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


"After using Brief for many years, I did not look forward to learning vi or Emacs on my UNIX machine. CRiSP came to the rescue. The program has now grown and matured to the point where it has become much better than Brief ever was."