aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@FreeBSD.org>2023-12-14 16:37:34 +0000
committerJessica Clarke <jrtc27@FreeBSD.org>2023-12-14 16:37:34 +0000
commitd1ce87ae0ddca413b098b6be8f5d3b4da87422ef (patch)
tree3ef26b2b0a487856c58d71c1b40207483172edc5
parent38509270663f336103273878cc8ddc88a225b9d8 (diff)
downloadsrc-d1ce87ae0ddca413b098b6be8f5d3b4da87422ef.tar.gz
src-d1ce87ae0ddca413b098b6be8f5d3b4da87422ef.zip
kldxref: Fix for 32-bit powerpc
R_PPC_RELATIVE lost its 32-bit handling in the libelf conversion. Reported by: bapt Fixes: 0299afdff145 ("kldxref: Make use of libelf to be a portable cross tool")
-rw-r--r--usr.sbin/kldxref/ef_powerpc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/kldxref/ef_powerpc.c b/usr.sbin/kldxref/ef_powerpc.c
index 068c8117e4a6..ab33e170b488 100644
--- a/usr.sbin/kldxref/ef_powerpc.c
+++ b/usr.sbin/kldxref/ef_powerpc.c
@@ -69,7 +69,8 @@ ef_ppc_reloc(struct elf_file *ef, const void *reldata, Elf_Type reltype,
le64enc(where, val);
else
be64enc(where, val);
- }
+ } else
+ be32enc(where, val);
break;
case R_PPC_ADDR32: /* word32 S + A */
val = EF_SYMADDR(ef, symidx) + addend;