When I compile the canonical "hello world" program on Ubuntu 10.10 with gcc defaults to --hash-style=gnu and run it on Debian 4 (etch), I get:
% ./a.out
Floating point exception
If I then recompile on Ubuntu 10.10, with the -Wl,--hash-style=both option to gcc, and run it on etch, I get:
% ./a.out
hello world
"Floating point exception" is not a good error message. If the version number of the runtime loader were changed to match the change in the symbol table format (i.e., /lib/ld-linux.so.3 instead of /lib/ld-linux.so.2), then we get a reasonable error message on older systems.
When I compile the canonical "hello world" program on Ubuntu 10.10 with gcc defaults to --hash-style=gnu and run it on Debian 4 (etch), I get:
% ./a.out
Floating point exception
If I then recompile on Ubuntu 10.10, with the -Wl,--hash- style=both option to gcc, and run it on etch, I get:
% ./a.out
hello world
"Floating point exception" is not a good error message. If the version number of the runtime loader were changed to match the change in the symbol table format (i.e., /lib/ld-linux.so.3 instead of /lib/ld- linux.so. 2), then we get a reasonable error message on older systems.