Module Name:    src
Committed By:   martin
Date:           Thu Aug  8 06:52:40 UTC 2024

Modified Files:
        src/libexec/ld.elf_so/arch/hppa [netbsd-10]: hppa_reloc.c

Log Message:
Pull up following revision(s) (requested by macallan in ticket #779):

        libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.52

skip R_PARISC_NONE reloc entries instead of segfaulting on them
now windowmaker runs on my C360


To generate a diff of this commit:
cvs rdiff -u -r1.49.2.1 -r1.49.2.2 \
    src/libexec/ld.elf_so/arch/hppa/hppa_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/hppa/hppa_reloc.c
diff -u src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c:1.49.2.1 src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c:1.49.2.2
--- src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c:1.49.2.1	Tue Aug  1 16:34:58 2023
+++ src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c	Thu Aug  8 06:52:40 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: hppa_reloc.c,v 1.49.2.1 2023/08/01 16:34:58 martin Exp $	*/
+/*	$NetBSD: hppa_reloc.c,v 1.49.2.2 2024/08/08 06:52:40 martin Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2004 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: hppa_reloc.c,v 1.49.2.1 2023/08/01 16:34:58 martin Exp $");
+__RCSID("$NetBSD: hppa_reloc.c,v 1.49.2.2 2024/08/08 06:52:40 martin Exp $");
 #endif /* not lint */
 
 #include <stdlib.h>
@@ -608,6 +608,9 @@ _rtld_relocate_plt_lazy(Obj_Entry *obj)
 		Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset);
 		Elf_Addr func_pc, func_sl;
 
+		/* skip R_PARISC_NONE entries */
+		if (ELF_R_TYPE(rela->r_info) == R_TYPE(NONE)) continue;
+			
 		assert(ELF_R_TYPE(rela->r_info) == R_TYPE(IPLT));
 
 		/*

Reply via email to