aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2012-06-22 16:52:33 +0000
committerRoland McGrath <roland@gnu.org>2012-06-22 16:52:33 +0000
commit62655c7b8bfc33e6c12694f439ff8f7e8da3005a (patch)
tree2fc1a9e0c105bc25a22178c74a63c9ef710651a1 /ld
parentc24ccbcea9fbbd866f17e8934105830dae0810fc (diff)
downloadgdb-62655c7b8bfc33e6c12694f439ff8f7e8da3005a.zip
gdb-62655c7b8bfc33e6c12694f439ff8f7e8da3005a.tar.gz
gdb-62655c7b8bfc33e6c12694f439ff8f7e8da3005a.tar.bz2
bfd/
* elf.c (assign_file_positions_for_non_load_sections): Define __ehdr_start symbol if it's referenced and there's a PT_LOAD segment that covers both the file and program headers. ld/ * NEWS: Mention __ehdr_start. ld/testsuite/ * ld-elf/ehdr_start.s: New file. * ld-elf/ehdr_start.d: New file.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/NEWS6
-rw-r--r--ld/testsuite/ChangeLog5
-rw-r--r--ld/testsuite/ld-elf/ehdr_start.d7
-rw-r--r--ld/testsuite/ld-elf/ehdr_start.s10
5 files changed, 31 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f6e78f2..91a4211 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2012-06-22 Roland McGrath <mcgrathr@google.com>
+
+ * NEWS: Mention __ehdr_start.
+
2012-06-21 Alan Modra <amodra@gmail.com>
* ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol
diff --git a/ld/NEWS b/ld/NEWS
index cb2d428..8701c5c 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,9 @@
-*- text -*-
+* Add a linker-provided symbol when producing ELF output, '__ehdr_start'
+ to point to the ELF file header (and nearby program headers) in the
+ program's memory image.
+
* Add support for S12X processor.
* Add support for the VLE extension to the PowerPC architecture.
@@ -103,7 +107,7 @@ Changes in 2.20:
* Add support for Lattice Mico32 (lm32) architecture.
-* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries
+* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries
for Embedded-PIC code) option.
* Add to the PE/PE+ targets the support of two different kinds of
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 57996a7..d03c432 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-22 Roland McGrath <mcgrathr@google.com>
+
+ * ld-elf/ehdr_start.s: New file.
+ * ld-elf/ehdr_start.d: New file.
+
2012-06-21 Alan Modra <amodra@gmail.com>
* ld-gc/start.d: Update.
diff --git a/ld/testsuite/ld-elf/ehdr_start.d b/ld/testsuite/ld-elf/ehdr_start.d
new file mode 100644
index 0000000..3965eeb
--- /dev/null
+++ b/ld/testsuite/ld-elf/ehdr_start.d
@@ -0,0 +1,7 @@
+#source: ehdr_start.s
+#ld:
+#nm: -n
+
+#...
+[0-9a-f]*000 [ADRT] __ehdr_start
+#pass
diff --git a/ld/testsuite/ld-elf/ehdr_start.s b/ld/testsuite/ld-elf/ehdr_start.s
new file mode 100644
index 0000000..ab029dc
--- /dev/null
+++ b/ld/testsuite/ld-elf/ehdr_start.s
@@ -0,0 +1,10 @@
+ .text
+ .globl _start
+_start:
+ .space 16
+
+ .section .rodata,"a",%progbits
+ .globl foo
+foo:
+ .weak __ehdr_start
+ .dc.a __ehdr_start