PR ld/12845

* elf.c (_bfd_elf_init_private_section_data): Add an assertion
	that the output section has an allocated bfd_elf_section_data
	structure.
	* elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
	symbols in sections that have been removed by garbage collection.

	* emultempl/mipself.em (mips_add_stub_section): Do not add stubs
	for sections that have been removed by garbage collection.
This commit is contained in:
Nick Clifton 2011-06-09 10:36:20 +00:00
parent c56791bbad
commit ba85c43e2c
5 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2011-06-09 Nick Clifton <nickc@redhat.com>
PR ld/12845
* elf.c (_bfd_elf_init_private_section_data): Add an assertion
that the output section has an allocated bfd_elf_section_data
structure.
* elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
symbols in sections that have been removed by garbage collection.
2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64

View File

@ -6272,6 +6272,8 @@ _bfd_elf_init_private_section_data (bfd *ibfd,
|| obfd->xvec->flavour != bfd_target_elf_flavour)
return TRUE;
BFD_ASSERT (elf_section_data (osec) != NULL);
/* For objcopy and relocatable link, don't copy the output ELF
section type from input if the output BFD section flags have been
set to something different. For a final link allow some flags

View File

@ -1727,6 +1727,11 @@ mips_elf_check_symbols (struct mips_elf_link_hash_entry *h, void *data)
if (mips_elf_local_pic_function_p (h))
{
/* PR 12845: If H is in a section that has been garbage
collected it will have its output section set to *ABS*. */
if (bfd_is_abs_section (h->root.root.u.def.section->output_section))
return TRUE;
/* H is a function that might need $25 to be valid on entry.
If we're creating a non-PIC relocatable object, mark H as
being PIC. If we're creating a non-relocatable object with

View File

@ -1,3 +1,9 @@
2011-06-09 Nick Clifton <nickc@redhat.com>
PR ld/12845
* emultempl/mipself.em (mips_add_stub_section): Do not add stubs
for sections that have been removed by garbage collection.
2011-06-08 Alan Modra <amodra@gmail.com>
* ldlang.c (lang_one_common): Handle warning symbols.

View File

@ -138,6 +138,11 @@ mips_add_stub_section (const char *stub_sec_name, asection *input_section,
lang_output_section_statement_type *os;
struct hook_stub_info info;
/* PR 12845: If the input section has been garbage collected it will
not have its output section set to *ABS*. */
if (bfd_is_abs_section (output_section))
return NULL;
/* Create the stub file, if we haven't already. */
if (stub_file == NULL)
{