From owner-cvs-all Fri Sep 27 16:12:55 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CAB0737B401; Fri, 27 Sep 2002 16:12:54 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8DFEC43E42; Fri, 27 Sep 2002 16:12:54 -0700 (PDT) (envelope-from jake@FreeBSD.org) Received: from freefall.freebsd.org (jake@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g8RNCsCo080699; Fri, 27 Sep 2002 16:12:54 -0700 (PDT) (envelope-from jake@freefall.freebsd.org) Received: (from jake@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g8RNCrkG080698; Fri, 27 Sep 2002 16:12:53 -0700 (PDT) Message-Id: <200209272312.g8RNCrkG080698@freefall.freebsd.org> From: Jake Burkholder Date: Fri, 27 Sep 2002 16:12:53 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern link_elf.c src/sys/sparc64/sparc64 elf_machdep.c src/sys/sys linker.h 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 jake 2002/09/27 16:12:53 PDT Modified files: sys/kern link_elf.c sys/sparc64/sparc64 elf_machdep.c sys/sys linker.h Log: Add a workaround for what seems to be confusion between binutils and the sparc v9 ABI. The Elf_Rela records for local symbols appear to already have the symbol's value added in to the addend field, even though the ABI specifies we need to lookup the symbol and add its value too. This breaks text relocations in klds because the symbol's value is added twice, and the resulting address points off into nowhere land, so for now just use the addend. Tested by: rwatson Revision Changes Path 1.61 +10 -0 src/sys/kern/link_elf.c 1.10 +39 -8 src/sys/sparc64/sparc64/elf_machdep.c 1.32 +1 -0 src/sys/sys/linker.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message