+
+ 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.
+
* elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
|| 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
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
+
+ PR ld/12845
+ * emultempl/mipself.em (mips_add_stub_section): Do not add stubs
+ for sections that have been removed by garbage collection.
+
* ldlang.c (lang_one_common): Handle warning symbols.
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)
{