diff options
author | Alan Modra <amodra@gmail.com> | 2011-04-20 07:17:01 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-04-20 07:17:01 +0000 |
commit | 9e6619e285873fe1cb002da4bb7749be40a5627c (patch) | |
tree | 93aa67371935dfa970f89ec5b84e50e50dd7c5c0 /bfd/libbfd.c | |
parent | 595213d4408b3608441bb78fd5ee49efb5b8b97f (diff) | |
download | gdb-9e6619e285873fe1cb002da4bb7749be40a5627c.zip gdb-9e6619e285873fe1cb002da4bb7749be40a5627c.tar.gz gdb-9e6619e285873fe1cb002da4bb7749be40a5627c.tar.bz2 |
* libbfd.c (bfd_log2): Do return rounded up value.
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
call with expanded old round down version of the function.
Diffstat (limited to 'bfd/libbfd.c')
-rw-r--r-- | bfd/libbfd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/libbfd.c b/bfd/libbfd.c index 4e5813a..cec13d9 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c @@ -979,8 +979,12 @@ bfd_log2 (bfd_vma x) { unsigned int result = 0; - while ((x = (x >> 1)) != 0) + if (x <= 1) + return result; + --x; + do ++result; + while ((x >>= 1) != 0); return result; } |