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);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to