Module Name:    src
Committed By:   christos
Date:           Sun Dec 30 03:23:46 UTC 2018

Modified Files:
        src/libexec/ld.elf_so/arch/powerpc: ppc_reloc.c

Log Message:
- fix wrong reloc name in assert
- fix uninitialized


To generate a diff of this commit:
cvs rdiff -u -r1.57 -r1.58 src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
diff -u src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c:1.57 src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c:1.58
--- src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c:1.57	Tue Apr  3 17:10:27 2018
+++ src/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c	Sat Dec 29 22:23:46 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ppc_reloc.c,v 1.57 2018/04/03 21:10:27 joerg Exp $	*/
+/*	$NetBSD: ppc_reloc.c,v 1.58 2018/12/30 03:23:46 christos Exp $	*/
 
 /*-
  * Copyright (C) 1998	Tsubai Masanari
@@ -30,7 +30,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: ppc_reloc.c,v 1.57 2018/04/03 21:10:27 joerg Exp $");
+__RCSID("$NetBSD: ppc_reloc.c,v 1.58 2018/12/30 03:23:46 christos Exp $");
 #endif /* not lint */
 
 #include <stdarg.h>
@@ -188,6 +188,7 @@ _rtld_relocate_nonplt_objects(Obj_Entry 
 		unsigned long	 symnum;
 
 		where = (Elf_Addr *)(obj->relocbase + rela->r_offset);
+		symnum = ELF_R_SYM(rela->r_info);
 
 		switch (ELF_R_TYPE(rela->r_info)) {
 #ifdef _LP64
@@ -199,7 +200,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry 
 		case R_TYPE(DTPMOD):
 		case R_TYPE(DTPREL):
 		case R_TYPE(TPREL):
-			symnum = ELF_R_SYM(rela->r_info);
 			if (last_symnum != symnum) {
 				last_symnum = symnum;
 				def = _rtld_find_symdef(symnum, obj, &defobj,
@@ -327,7 +327,7 @@ _rtld_relocate_plt_lazy(Obj_Entry *obj)
 		size_t reloff = rela - obj->pltrela;
 		Elf_Word *where = (Elf_Word *)(obj->relocbase + rela->r_offset);
 
-		assert(ELF_R_TYPE(rela->r_info) == R_TYPE(JUMP_SLOT) ||
+		assert(ELF_R_TYPE(rela->r_info) == R_TYPE(JMP_SLOT) ||
 		       ELF_R_TYPE(rela->r_info) == R_TYPE(IRELATIVE));
 
 		if (ELF_R_TYPE(rela->r_info) == R_TYPE(IRELATIVE)) {

Reply via email to