Source-Changes-HG archive

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

[src/trunk]: src/libexec/ld.elf_so/arch/powerpc new binutils/gcc started emit...



details:   https://anonhg.NetBSD.org/src/rev/7d81062c16ca
branches:  trunk
changeset: 972330:7d81062c16ca
user:      macallan <macallan%NetBSD.org@localhost>
date:      Sun May 24 02:33:11 2020 +0000

description:
new binutils/gcc started emitting R_PPC_UADDR32 reloc entries, so for now
treat them like R_PPC_ADDR32
XXX
these relocs have been observed in the xf86-video-radeon driver, but only in
the AtomBios support code, which is unused on PowerPC. This allows the driver
to load but it's not clear if the affected parts would actually function.

diffstat:

 libexec/ld.elf_so/arch/powerpc/ppc_reloc.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r ca285dee613c -r 7d81062c16ca libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
--- a/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c        Sat May 23 23:42:41 2020 +0000
+++ b/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c        Sun May 24 02:33:11 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ppc_reloc.c,v 1.60 2019/12/08 23:49:16 uwe Exp $       */
+/*     $NetBSD: ppc_reloc.c,v 1.61 2020/05/24 02:33:11 macallan Exp $  */
 
 /*-
  * Copyright (C) 1998  Tsubai Masanari
@@ -30,7 +30,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: ppc_reloc.c,v 1.60 2019/12/08 23:49:16 uwe Exp $");
+__RCSID("$NetBSD: ppc_reloc.c,v 1.61 2020/05/24 02:33:11 macallan Exp $");
 #endif /* not lint */
 
 #include <stdarg.h>
@@ -195,6 +195,7 @@
                case R_TYPE(ADDR64):    /* <address> S + A */
 #else
                case R_TYPE(ADDR32):    /* <address> S + A */
+               case R_TYPE(UADDR32):   /* <address> S + A */
 #endif
                case R_TYPE(GLOB_DAT):  /* <address> S + A */
                case R_TYPE(ADDR16_LO):
@@ -226,6 +227,7 @@
                case R_TYPE(ADDR64):    /* <address> S + A */
 #else
                case R_TYPE(ADDR32):    /* <address> S + A */
+               case R_TYPE(UADDR32):   /* <address> S + A */
 #endif
                case R_TYPE(GLOB_DAT):  /* <address> S + A */
                        tmp = (Elf_Addr)(defobj->relocbase + def->st_value +



Home | Main Index | Thread Index | Old Index