NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-powerpc/59917: ld.elf_so broken on macppc



The following reply was made to PR port-powerpc/59917; it has been noted by GNATS.

From: Martin Husemann <martin%duskware.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: port-powerpc/59917: ld.elf_so broken on macppc
Date: Wed, 14 Jan 2026 17:47:20 +0100

 It is caused by the espresso fixup code, this patch works around the issue:
 
 Index: fixup.c
 ===================================================================
 RCS file: /cvsroot/src/libexec/ld.elf_so/arch/powerpc/fixup.c,v
 retrieving revision 1.1
 diff -u -p -r1.1 fixup.c
 --- fixup.c	9 Jan 2026 22:54:27 -0000	1.1
 +++ fixup.c	14 Jan 2026 16:34:36 -0000
 @@ -39,9 +39,11 @@ __RCSID("$NetBSD: fixup.c,v 1.1 2026/01/
  #include "debug.h"
  #include "rtld.h"
  
 +#if 0
  static bool _rtld_fixup_init;
  static uint32_t _rtld_ppc_pvr;
  static int _rtld_ncpus;
 +#endif
  
  union instr {
  	u_int	i_int;
 @@ -75,6 +77,7 @@ int
  _rtld_map_segment_fixup(Elf_Phdr *phdr, caddr_t data_addr, size_t data_size,
      int data_prot)
  {
 +#if 0
  	uint32_t *start, *where, *end;
  	union instr previ;
  
 @@ -145,6 +148,7 @@ next_opcode:
  		    xstrerror(errno));
  		return -1;
  	}
 +#endif
  
  	return 0;
  }
 
 
 This machine is MP and does not have an espresso CPU.
 
 Jared, did you mean
 
 	if (!IBMESPRESSO_P(_rtld_ppc_pvr) || _rtld_ncpus == 1) {
 		return 0;
 	}
 
 ?
 
 Martin
 


Home | Main Index | Thread Index | Old Index