From owner-svn-src-all@FreeBSD.ORG Fri Jan 13 07:00:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60769106566C; Fri, 13 Jan 2012 07:00:48 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4FA828FC1C; Fri, 13 Jan 2012 07:00:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0D70m86047155; Fri, 13 Jan 2012 07:00:48 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0D70meY047153; Fri, 13 Jan 2012 07:00:48 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201201130700.q0D70meY047153@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Fri, 13 Jan 2012 07:00:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230046 - head/sys/mips/mips X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 07:00:48 -0000 Author: gonzo Date: Fri Jan 13 07:00:47 2012 New Revision: 230046 URL: http://svn.freebsd.org/changeset/base/230046 Log: - Fix .rela case of R_MIPS_26 relocation. Addednds save diferently for .rel and .rela sections. It's shifted right two bits for former but saved as-is for latter. Modified: head/sys/mips/mips/elf_machdep.c Modified: head/sys/mips/mips/elf_machdep.c ============================================================================== --- head/sys/mips/mips/elf_machdep.c Fri Jan 13 06:56:59 2012 (r230045) +++ head/sys/mips/mips/elf_machdep.c Fri Jan 13 07:00:47 2012 (r230046) @@ -227,7 +227,11 @@ elf_reloc_internal(linker_file_t lf, Elf return (-1); addend &= 0x03ffffff; - addend <<= 2; + /* + * Addendum for .rela R_MIPS_26 is not shifted right + */ + if (rela == NULL) + addend <<= 2; addr += ((Elf_Addr)where & 0xf0000000) | addend; addr >>= 2;