Date: Mon, 29 Oct 2001 02:10:10 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/libexec/rtld-elf rtld.c rtld.h src/libexec/rtld-elf/alpha rtld_machdep.h src/libexec/rtld-elf/i386 rtld_machdep.h src/libexec/rtld-elf/ia64 reloc.c rtld_machdep.h Message-ID: <200110291010.f9TAAA326196@freefall.freebsd.org>
index | next in thread | raw e-mail
peter 2001/10/29 02:10:10 PST
Modified files:
libexec/rtld-elf rtld.c rtld.h
libexec/rtld-elf/alpha rtld_machdep.h
libexec/rtld-elf/i386 rtld_machdep.h
libexec/rtld-elf/ia64 reloc.c rtld_machdep.h
Log:
Update rtld for the "new" ia64 ABI. In the old toolchain, the
DT_INIT and DT_FINI tags pointed to fptr records. In 2.11.2, it points
to the actuall address of the function. On IA64 you cannot just take
an address of a function, store it in a function pointer variable and
call it.. the function pointers point to a fptr data block that has the
target gp and address in it. This is absolutely necessary for using
the in-tree binutils toolchain, but (unfortunately) will not work with
old shared libraries. Save your old ld-elf.so.1 if you want to use
old ones still. Do not mix-and-match.
This is a no-op change for i386 and alpha.
Reviewed by: dfr
Revision Changes Path
1.6 +3 -0 src/libexec/rtld-elf/alpha/rtld_machdep.h
1.6 +3 -0 src/libexec/rtld-elf/i386/rtld_machdep.h
1.2 +12 -0 src/libexec/rtld-elf/ia64/reloc.c
1.2 +1 -0 src/libexec/rtld-elf/ia64/rtld_machdep.h
1.55 +10 -7 src/libexec/rtld-elf/rtld.c
1.24 +2 -2 src/libexec/rtld-elf/rtld.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110291010.f9TAAA326196>
