/* Common code for PA ELF implementations.
- Copyright 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
return TRUE;
}
+/* What to do when ld finds relocations against symbols defined in
+ discarded sections. */
+
+static unsigned int
+elf_hppa_action_discarded (asection *sec)
+{
+ if (strcmp (".PARISC.unwind", sec->name) == 0)
+ return 0;
+
+ return _bfd_elf_default_action_discarded (sec);
+}
+
#if ARCH_SIZE == 64
/* Hook called by the linker routine which adds symbols from an object
file. HP's libraries define symbols with HP specific section
if (!sec || (sec->flags & SEC_EXCLUDE))
sec = bfd_get_section_by_name (abfd, ".data");
if (!sec || (sec->flags & SEC_EXCLUDE))
- return FALSE;
-
- gp_val = sec->output_offset + sec->output_section->vma;
+ gp_val = 0;
+ else
+ gp_val = sec->output_offset + sec->output_section->vma;
}
}
if (sym_sec->output_section == NULL && dyn_h == NULL)
{
(*_bfd_error_handler)
- (_("%B(%A): warning: unresolvable relocation against symbol `%s'"),
- input_bfd, input_section, h->root.root.string);
+ (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ input_bfd,
+ input_section,
+ (long) rel->r_offset,
+ howto->name,
+ h->root.root.string);
relocation = 0;
}
else if (sym_sec->output_section)