* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Test

hash table type rather than testing creator flavour.
	* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
	Only create stub_file bfd if hash table creator is as expected.
	(gld${EMULATION_NAME}_finish): Test stub_file.
This commit is contained in:
Alan Modra 2003-12-01 06:28:56 +00:00
parent 0eddce27a9
commit fd574c4615
3 changed files with 18 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2003-12-01 Alan Modra <amodra@bigpond.net.au>
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Test
hash table type rather than testing creator flavour.
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
Only create stub_file bfd if hash table creator is as expected.
(gld${EMULATION_NAME}_finish): Test stub_file.
2003-11-28 Marcel Moolenaar <marcel@xcllnt.net>
* emulparams/elf64_ia64_fbsd.sh (TEXT_START_ADDR): Define.

View file

@ -845,7 +845,7 @@ gld${EMULATION_NAME}_before_allocation (void)
const char *rpath;
asection *sinterp;
if (link_info.hash->creator->flavour == bfd_target_elf_flavour)
if (link_info.hash->type == bfd_link_elf_hash_table)
_bfd_elf_tls_setup (output_bfd, &link_info);
/* If we are going to make any variable assignments, we need to let

View file

@ -66,6 +66,13 @@ hppaelf_after_parse (void)
static void
hppaelf_create_output_section_statements (void)
{
extern const bfd_target bfd_elf32_hppa_linux_vec;
extern const bfd_target bfd_elf32_hppa_vec;
if (link_info.hash->creator != &bfd_elf32_hppa_linux_vec
&& link_info.hash->creator != &bfd_elf32_hppa_vec)
return;
stub_file = lang_add_input_file ("linker stubs",
lang_input_file_is_fake_enum,
NULL);
@ -256,7 +263,7 @@ gld${EMULATION_NAME}_finish (void)
/* If generating a relocatable output file, then we don't
have to examine the relocs. */
if (! link_info.relocatable)
if (stub_file != NULL && !link_info.relocatable)
{
int ret = elf32_hppa_setup_section_lists (output_bfd, &link_info);
@ -298,7 +305,7 @@ gld${EMULATION_NAME}_finish (void)
}
/* Now build the linker stubs. */
if (stub_file->the_bfd->sections != NULL)
if (stub_file != NULL && stub_file->the_bfd->sections != NULL)
{
if (! elf32_hppa_build_stubs (&link_info))
einfo ("%X%P: can not build stubs: %E\n");