On Thu, Jun 05, 2003 at 10:46:18AM -0400, Richard B. Johnson wrote:
> The dynamic linker, provided with RedHat 9 no longer
> compiles with the de facto standard of having register
> EDX point to function to be called before exit.
You're wrong. Indeed, the rh9 crt1.o still expects the value:
8: 50 push %eax
9: 54 push %esp
a: 52 push %edx <<==== HERE
b: 68 00 00 00 00 push $0x0
c: R_386_32 __libc_csu_fini
10: 68 00 00 00 00 push $0x0
11: R_386_32 __libc_csu_init
15: 51 push %ecx
16: 56 push %esi
17: 68 00 00 00 00 push $0x0
18: R_386_32 main
1c: e8 fc ff ff ff call 1d <_start+0x1d>
1d: R_386_PC32 __libc_start_main
and ld.so provides the value here:
# Pass our finalizer function to the user in %edx, as per ELF ABI.\n\
leal _dl_fini@GOTOFF(%ebx), %edx\n\
r~
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:30 EST