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>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110291010.f9TAAA326196>