mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-08 16:48:17 +08:00
* 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.
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
2011-04-20 Alan Modra <amodra@gmail.com>
|
2011-04-20 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
* archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
|
* archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
|
||||||
* elflink.c (elf_link_add_object_symbols): Delete redundant code.
|
* elflink.c (elf_link_add_object_symbols): Delete redundant code.
|
||||||
|
|
||||||
|
@ -6537,10 +6537,13 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned long int maskwords, maskbitslog2;
|
unsigned long int maskwords, maskbitslog2, x;
|
||||||
BFD_ASSERT (cinfo.min_dynindx != -1);
|
BFD_ASSERT (cinfo.min_dynindx != -1);
|
||||||
|
|
||||||
maskbitslog2 = bfd_log2 (cinfo.nsyms) + 1;
|
x = cinfo.nsyms;
|
||||||
|
maskbitslog2 = 1;
|
||||||
|
while ((x >>= 1) != 0)
|
||||||
|
++maskbitslog2;
|
||||||
if (maskbitslog2 < 3)
|
if (maskbitslog2 < 3)
|
||||||
maskbitslog2 = 5;
|
maskbitslog2 = 5;
|
||||||
else if ((1 << (maskbitslog2 - 2)) & cinfo.nsyms)
|
else if ((1 << (maskbitslog2 - 2)) & cinfo.nsyms)
|
||||||
|
@ -979,8 +979,12 @@ bfd_log2 (bfd_vma x)
|
|||||||
{
|
{
|
||||||
unsigned int result = 0;
|
unsigned int result = 0;
|
||||||
|
|
||||||
while ((x = (x >> 1)) != 0)
|
if (x <= 1)
|
||||||
|
return result;
|
||||||
|
--x;
|
||||||
|
do
|
||||||
++result;
|
++result;
|
||||||
|
while ((x >>= 1) != 0);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user