aboutsummaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authorStefan Eßer <se@FreeBSD.org>2024-03-21 15:31:49 +0000
committerStefan Eßer <se@FreeBSD.org>2024-03-21 15:31:49 +0000
commit173953182af060dcab43990e179ee91e9f2d1e54 (patch)
tree1a5f7763b5785fc473b29a472c45fc97f02261c4 /libexec
parent36de8bb226671ef9fe373d8d95f77cdb76157738 (diff)
downloadsrc-173953182af060dcab43990e179ee91e9f2d1e54.tar.gz
src-173953182af060dcab43990e179ee91e9f2d1e54.zip
rtld-elf: add some debug print statements
The byte-order independent code has been reported to fail on powerpc64. Add some more debug statements to help identify the parametrs used and to verify the correct operation of the byte-swap macros used..
Diffstat (limited to 'libexec')
-rw-r--r--libexec/rtld-elf/rtld.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index 4b6d19104343..fbf5b3e20a1f 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -2109,6 +2109,11 @@ cleanup1:
return (NULL);
}
is_le = /*le32toh(1) == 1 || */ hdr.magic == ELFHINTS_MAGIC;
+ dbg("host byte-order: %s-endian", le32toh(1) == 1 ? "little" : "big");
+ dbg("hints file byte-order: %s-endian", is_le ? "little" : "big");
+ dbg("verify swap macros: le32toh(0x12345678) == %#010x, "
+ "be32toh(0x12345678) == %#010x",
+ le32toh(0x12345678), be32toh(0x12345678));
magic = COND_SWAP(hdr.magic);
version = COND_SWAP(hdr.version);
strtab = COND_SWAP(hdr.strtab);