diff options
Diffstat (limited to 'utils/ldd.c')
-rw-r--r-- | utils/ldd.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/utils/ldd.c b/utils/ldd.c index 7ec61a92d..908370dfe 100644 --- a/utils/ldd.c +++ b/utils/ldd.c @@ -144,7 +144,7 @@ static int interpreter_already_found = 0; static __inline__ uint32_t byteswap32_to_host(uint32_t value) { - if (byteswap == 1) { + if (byteswap) { return (bswap_32(value)); } else { return (value); @@ -152,7 +152,7 @@ static __inline__ uint32_t byteswap32_to_host(uint32_t value) } static __inline__ uint64_t byteswap64_to_host(uint64_t value) { - if (byteswap == 1) { + if (byteswap) { return (bswap_64(value)); } else { return (value); @@ -231,14 +231,7 @@ static int check_elf_header(ElfW(Ehdr) *const ehdr) } /* Check if the target endianness matches the host's endianness */ - byteswap = 0; - if (UCLIBC_ENDIAN_HOST == UCLIBC_ENDIAN_LITTLE) { - if (ehdr->e_ident[5] == ELFDATA2MSB) - byteswap = 1; - } else if (UCLIBC_ENDIAN_HOST == UCLIBC_ENDIAN_BIG) { - if (ehdr->e_ident[5] == ELFDATA2LSB) - byteswap = 1; - } + byteswap = (ehdr->e_ident[5] == ELFDATAM) ? 0 : 1; /* Be very lazy, and only byteswap the stuff we use */ if (byteswap) { |