2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3197
	* elflink.c (elf_link_output_extsym): Compute bucket only if
	needed.

ld/testsuite/

2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3197
	* ld-elf/hash.d: New test.
This commit is contained in:
H.J. Lu 2006-09-12 22:10:31 +00:00
parent cd26961926
commit 41198d0cfa
4 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3197
* elflink.c (elf_link_output_extsym): Compute bucket only if
needed.
2006-09-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3186

View File

@ -7061,8 +7061,6 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data)
if (h->dynindx != -1
&& elf_hash_table (finfo->info)->dynamic_sections_created)
{
size_t bucketcount;
size_t bucket;
bfd_byte *esym;
sym.st_name = h->dynstr_index;
@ -7074,14 +7072,16 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data)
}
bed->s->swap_symbol_out (finfo->output_bfd, &sym, esym, 0);
bucketcount = elf_hash_table (finfo->info)->bucketcount;
bucket = h->u.elf_hash_value % bucketcount;
if (finfo->hash_sec != NULL)
{
size_t hash_entry_size;
bfd_byte *bucketpos;
bfd_vma chain;
size_t bucketcount;
size_t bucket;
bucketcount = elf_hash_table (finfo->info)->bucketcount;
bucket = h->u.elf_hash_value % bucketcount;
hash_entry_size
= elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize;

View File

@ -1,3 +1,8 @@
2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3197
* ld-elf/hash.d: New test.
2006-09-04 Vladimir Prus <vladimir@codesourcery.com>
* ld-arm/use-thumb-lib.sym: Use regexps instead of

View File

@ -0,0 +1,8 @@
#source: start.s
#readelf: -d
#ld: -shared --hash-style=gnu
#target: *-*-linux*
#...
[ ]*0x[0-9a-z]+[ ]+\(GNU_HASH\)[ ]+0x[0-9a-z]+
#...