diff options
author | Jessica Clarke <jrtc27@FreeBSD.org> | 2023-12-14 16:37:34 +0000 |
---|---|---|
committer | Jessica Clarke <jrtc27@FreeBSD.org> | 2023-12-14 16:37:34 +0000 |
commit | d1ce87ae0ddca413b098b6be8f5d3b4da87422ef (patch) | |
tree | 3ef26b2b0a487856c58d71c1b40207483172edc5 | |
parent | 38509270663f336103273878cc8ddc88a225b9d8 (diff) | |
download | src-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.c | 3 |
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; |