From: Alan Modra Date: Mon, 14 Oct 2019 09:59:12 +0000 (+1030) Subject: Simplify power of two test X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=ed481f9799f2bd08a7541a5fe0a887dc5c7fd4a9;p=deliverable%2Fbinutils-gdb.git Simplify power of two test * bfd.c (bfd_check_compression_header): Check for powers of two with x == (x & -x). --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a1eaef95d8..4d8db193f2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2019-10-15 Alan Modra + + * bfd.c (bfd_check_compression_header): Check for powers of two + with x == (x & -x). + 2019-10-14 Alan Modra * syms.c (struct indexentry): Add idx field. diff --git a/bfd/bfd.c b/bfd/bfd.c index af2c192260..b3078eaa52 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -2635,7 +2635,7 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents, chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign); } if (chdr.ch_type == ELFCOMPRESS_ZLIB - && chdr.ch_addralign == (1U << bfd_log2 (chdr.ch_addralign))) + && chdr.ch_addralign == (chdr.ch_addralign & -chdr.ch_addralign)) { *uncompressed_size = chdr.ch_size; *uncompressed_alignment_power = bfd_log2 (chdr.ch_addralign);