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)); /*