+2020-11-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26869
+ * ldelf.c (ldelf_before_allocation): Set rel_from_abs to 1 for
+ __ehdr_start.
+ * testsuite/ld-i386/i386.exp: Run pr26869.
+ * testsuite/ld-i386/pr26869.d: New file.
+ * testsuite/ld-i386/pr26869.s: Likewise.
+
2020-11-09 Andreas Schwab <schwab@linux-m68k.org>
* Makefile.am (development.exp): Fix regexp.
(char *) &ehdr_start->u + sizeof ehdr_start->u.def.next,
sizeof ehdr_start_save_u);
ehdr_start->type = bfd_link_hash_defined;
+ /* It will be converted to section-relative later. */
+ ehdr_start->rel_from_abs = 1;
ehdr_start->u.def.section = bfd_abs_section_ptr;
ehdr_start->u.def.value = 0;
}
run_dump_test "property-x86-isa2"
run_dump_test "property-x86-isa3"
run_dump_test "property-x86-isa4"
+run_dump_test "pr26869"
if { !([istarget "i?86-*-linux*"]
|| [istarget "i?86-*-gnu*"]
--- /dev/null
+#as: --32
+#ld: -shared -melf_i386
+#readelf: -r -s --wide
+
+Relocation section '.rel.dyn' at offset 0x[a-f0-9]+ contains 1 entry:
+ Offset Info Type Sym. Value Symbol's Name
+0+[a-f0-9]+ 00000008 R_386_RELATIVE
+
+#...
+Symbol table '.symtab' contains [0-9]+ entries:
+ Num: Value Size Type Bind Vis Ndx Name
+#...
+ +[a-f0-9]+: 00000000 0 NOTYPE LOCAL DEFAULT 1 __ehdr_start
+#pass
--- /dev/null
+ .text
+foo:
+ pushl __ehdr_start@GOT(%ebx)