Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jan 2017 23:13:41 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r313003 - head/libexec/rtld-elf/mips
Message-ID:  <201701302313.v0UNDf3h022498@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Mon Jan 30 23:13:41 2017
New Revision: 313003
URL: https://svnweb.freebsd.org/changeset/base/313003

Log:
  Remove a duplicate store when performing REL32 relocations in rtld.
  
  The duplicate call to store_ptr() was added in r204687, but it should
  have no effect as it only stores an Elf_Sword and the later store_ptr()
  does a write that is at least as large if not larger.
  
  Reviewed by:	jmallett
  Obtained from:	CheriBSD (sort of)
  Sponsored by:	DARPA / AFRL

Modified:
  head/libexec/rtld-elf/mips/reloc.c

Modified: head/libexec/rtld-elf/mips/reloc.c
==============================================================================
--- head/libexec/rtld-elf/mips/reloc.c	Mon Jan 30 23:00:51 2017	(r313002)
+++ head/libexec/rtld-elf/mips/reloc.c	Mon Jan 30 23:13:41 2017	(r313003)
@@ -215,7 +215,6 @@ _rtld_relocate_nonplt_self(Elf_Dyn *dynp
 			sym = symtab + r_symndx;
 			assert(ELF_ST_BIND(sym->st_info) == STB_LOCAL);
 			val += relocbase;
-			store_ptr(where, val, sizeof(Elf_Sword));
 			dbg("REL32/L(%p) %p -> %p in <self>",
 			    where, (void *)old, (void *)val);
 			store_ptr(where, val, rlen);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701302313.v0UNDf3h022498>