From owner-cvs-all Sat Apr 6 20:16:40 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 5DF2637B416; Sat, 6 Apr 2002 20:16:35 -0800 (PST) Received: (from peter@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g374GZO72175; Sat, 6 Apr 2002 20:16:35 -0800 (PST) (envelope-from peter) Message-Id: <200204070416.g374GZO72175@freefall.freebsd.org> From: Peter Wemm Date: Sat, 6 Apr 2002 20:16:35 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/libexec/rtld-elf/ia64 reloc.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG peter 2002/04/06 20:16:35 PST Modified files: libexec/rtld-elf/ia64 reloc.c Log: Fix a relocation bug in the ia64 ld.so. Weak function pointers in shared objects were not being correctly set to zero. Instead, the function descriptor pointer was set to the load address of the .so object. This caused gcc generated binaries to segfault on exit when crtbegin.asm's _fini code tested the __cxa_finalize() function pointer for zero. This is a bit of a hack because of a problem nearby workaround for find_symdef and its quirks (failures) for local symbols. This still needs to be fixed. Revision Changes Path 1.3 +16 -3 src/libexec/rtld-elf/ia64/reloc.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message