+2019-10-07 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (elf_fixup_link_order): Don't attempt to find
+ an elf_section for linker created bfd sections.
+
2019-10-07 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_tls_optimize): Don't process R_PPC_TLSLD
{
s = p->u.indirect.section;
sub = s->owner;
- if (bfd_get_flavour (sub) == bfd_target_elf_flavour
+ if ((s->flags & SEC_LINKER_CREATED) == 0
+ && bfd_get_flavour (sub) == bfd_target_elf_flavour
&& elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass
&& (elfsec = _bfd_elf_section_from_bfd_section (sub, s))
&& elfsec < elf_numsections (sub)
+2019-10-07 Alan Modra <amodra@gmail.com>
+
+ * ldmisc.c (vfinfo): Save and restore bfd_error around bfd
+ function calls that might set it.
+ * testsuite/ld-elf/indirect.exp: Don't expect "nonrepresentable
+ section" message.
+
2019-10-07 Alan Modra <amodra@gmail.com>
* testsuite/ld-powerpc/tlsexe.r: Adjust for added TLSMARK symbol.
unsigned int linenumber;
bfd_boolean discard_last;
bfd_boolean done;
+ bfd_error_type last_bfd_error = bfd_get_error ();
abfd = args[arg_no].reladdr.abfd;
section = args[arg_no].reladdr.sec;
}
if (!done)
lfinfo (fp, "(%pA+0x%v)", section, offset);
+ bfd_set_error (last_bfd_error);
if (discard_last)
{
set cmd "$ld -e start -o tmpdir/indirect1 tmpdir/indirect1a.o tmpdir/libindirect1c.so tmpdir/indirect1b.o"
check_link_message "$cmd" [list $string1 $string] "$testname"
-set string ": final link failed: nonrepresentable section on output"
set string2 ": no symbol version section for versioned symbol \`foo@FOO\'"
set testname "Indirect symbol 2"
set cmd "$ld -shared -o tmpdir/indirect2.so tmpdir/indirect2.o"
-check_link_message "$cmd" [list $string2 $string] "$testname"
+check_link_message "$cmd" [list $string2] "$testname"
global NOPIE_CFLAGS NOPIE_LDFLAGS