summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0003-gold.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.2/backport/0003-gold.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.2/backport/0003-gold.patch203
1 files changed, 0 insertions, 203 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0003-gold.patch b/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0003-gold.patch
deleted file mode 100644
index 141e66bce2..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0003-gold.patch
+++ /dev/null
@@ -1,203 +0,0 @@
1From a347c1bd9be53513f60ed0e5f440c1f5cd78dec4 Mon Sep 17 00:00:00 2001
2From: "Maciej W. Rozycki" <macro@linux-mips.org>
3Date: Fri, 3 May 2013 15:19:26 +0000
4Subject: [PATCH] gold/ PR ld/15365 * layout.cc
5 (Layout::finalize): Make __ehdr_start STV_HIDDEN.
6
7 ld/
8 PR ld/15365
9 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
10 Restrict __ehdr_start's export class to no less than STV_HIDDEN.
11
12 ld/testsuite/
13 PR ld/15365
14 * ld-elf/ehdr_start.d: Expect __ehdr_start to be STB_LOCAL.
15 * ld-mips-elf/ehdr_start-1.nd: New test.
16 * ld-mips-elf/ehdr_start-2.nd: New test.
17 * ld-mips-elf/ehdr_start-1.ld: New test linker script.
18 * ld-mips-elf/ehdr_start-2.ld: New test linker script.
19 * ld-mips-elf/ehdr_start-new.s: New test source.
20 * ld-mips-elf/ehdr_start-o32.s: New test source.
21 * ld-mips-elf/mips-elf.exp: Run the new tests.
22---
23 gold/ChangeLog | 5 +++++
24 gold/layout.cc | 2 +-
25 ld/ChangeLog | 6 ++++++
26 ld/emultempl/elf32.em | 7 +++++++
27 ld/testsuite/ChangeLog | 12 ++++++++++++
28 ld/testsuite/ld-elf/ehdr_start.d | 2 +-
29 ld/testsuite/ld-mips-elf/ehdr_start-1.ld | 9 +++++++++
30 ld/testsuite/ld-mips-elf/ehdr_start-1.nd | 4 ++++
31 ld/testsuite/ld-mips-elf/ehdr_start-2.ld | 10 ++++++++++
32 ld/testsuite/ld-mips-elf/ehdr_start-2.nd | 4 ++++
33 ld/testsuite/ld-mips-elf/ehdr_start-new.s | 13 +++++++++++++
34 ld/testsuite/ld-mips-elf/ehdr_start-o32.s | 14 ++++++++++++++
35 ld/testsuite/ld-mips-elf/mips-elf.exp | 25 +++++++++++++++++++++++++
36 13 files changed, 111 insertions(+), 2 deletions(-)
37 create mode 100644 ld/testsuite/ld-mips-elf/ehdr_start-1.ld
38 create mode 100644 ld/testsuite/ld-mips-elf/ehdr_start-1.nd
39 create mode 100644 ld/testsuite/ld-mips-elf/ehdr_start-2.ld
40 create mode 100644 ld/testsuite/ld-mips-elf/ehdr_start-2.nd
41 create mode 100644 ld/testsuite/ld-mips-elf/ehdr_start-new.s
42 create mode 100644 ld/testsuite/ld-mips-elf/ehdr_start-o32.s
43
44Upstream-Status: Backport
45Index: binutils-2.23.2/gold/layout.cc
46===================================================================
47--- binutils-2.23.2.orig/gold/layout.cc 2013-06-26 23:29:32.000000000 -0700
48+++ binutils-2.23.2/gold/layout.cc 2013-06-26 23:39:22.170432315 -0700
49@@ -2516,7 +2516,7 @@
50 symtab->define_in_output_segment("__ehdr_start", NULL,
51 Symbol_table::PREDEFINED, load_seg, 0, 0,
52 elfcpp::STT_NOTYPE, elfcpp::STB_GLOBAL,
53- elfcpp::STV_DEFAULT, 0,
54+ elfcpp::STV_HIDDEN, 0,
55 Symbol::SEGMENT_START, true);
56
57 // Set the file offsets of all the non-data sections we've seen so
58Index: binutils-2.23.2/ld/emultempl/elf32.em
59===================================================================
60--- binutils-2.23.2.orig/ld/emultempl/elf32.em 2013-06-26 23:37:04.000000000 -0700
61+++ binutils-2.23.2/ld/emultempl/elf32.em 2013-06-26 23:39:22.174432315 -0700
62@@ -1498,6 +1498,13 @@
63 {
64 _bfd_elf_tls_setup (link_info.output_bfd, &link_info);
65
66+ /* Make __ehdr_start hidden if it has been referenced, to
67+ prevent the symbol from being dynamic. */
68+ if (!bfd_elf_record_link_assignment (link_info.output_bfd, &link_info,
69+ "__ehdr_start", TRUE, TRUE))
70+ einfo ("%P%F: failed to record assignment to %s: %E\n",
71+ "__ehdr_start");
72+
73 /* If we are going to make any variable assignments, we need to
74 let the ELF backend know about them in case the variables are
75 referred to by dynamic objects. */
76Index: binutils-2.23.2/ld/testsuite/ld-elf/ehdr_start.d
77===================================================================
78--- binutils-2.23.2.orig/ld/testsuite/ld-elf/ehdr_start.d 2013-06-26 23:29:32.000000000 -0700
79+++ binutils-2.23.2/ld/testsuite/ld-elf/ehdr_start.d 2013-06-26 23:39:22.174432315 -0700
80@@ -4,5 +4,5 @@
81 #target: *-*-linux* *-*-gnu* *-*-nacl*
82
83 #...
84-[0-9a-f]*000 [ADRT] __ehdr_start
85+[0-9a-f]*000 [Adrt] __ehdr_start
86 #pass
87Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-1.ld
88===================================================================
89--- /dev/null 1970-01-01 00:00:00.000000000 +0000
90+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-1.ld 2013-06-26 23:39:22.174432315 -0700
91@@ -0,0 +1,9 @@
92+ENTRY (__start)
93+SECTIONS
94+{
95+ . = 0x12300000 + SIZEOF_HEADERS;
96+ .text : { *(.text) }
97+ . = 0x23400000;
98+ HIDDEN (_gp = ALIGN (16) + 0x7ff0);
99+ .got : { *(.got) }
100+}
101Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-1.nd
102===================================================================
103--- /dev/null 1970-01-01 00:00:00.000000000 +0000
104+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-1.nd 2013-06-26 23:39:22.174432315 -0700
105@@ -0,0 +1,4 @@
106+Symbol table '\.symtab' contains [0-9]+ entries:
107+#...
108+ *[0-9]+: 0*12300000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +[0-9]+ __ehdr_start
109+#pass
110Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-2.ld
111===================================================================
112--- /dev/null 1970-01-01 00:00:00.000000000 +0000
113+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-2.ld 2013-06-26 23:39:22.174432315 -0700
114@@ -0,0 +1,10 @@
115+ENTRY (__start)
116+SECTIONS
117+{
118+ . = 0x12300000 + SIZEOF_HEADERS;
119+ .text : { *(.text) }
120+ . = 0x23400000;
121+ __ehdr_start = .;
122+ HIDDEN (_gp = ALIGN (16) + 0x7ff0);
123+ .got : { *(.got) }
124+}
125Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-2.nd
126===================================================================
127--- /dev/null 1970-01-01 00:00:00.000000000 +0000
128+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-2.nd 2013-06-26 23:39:22.178432315 -0700
129@@ -0,0 +1,4 @@
130+Symbol table '\.symtab' contains [0-9]+ entries:
131+#...
132+ *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +[0-9]+ __ehdr_start
133+#pass
134Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-new.s
135===================================================================
136--- /dev/null 1970-01-01 00:00:00.000000000 +0000
137+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-new.s 2013-06-26 23:39:22.178432315 -0700
138@@ -0,0 +1,13 @@
139+ .abicalls
140+ .text
141+ .weak __ehdr_start
142+ .globl __start
143+ .ent __start
144+ .frame $29, 0, $31
145+ .mask 0x00000000, 0
146+__start:
147+ .cplocal $2
148+ .cpsetup $t9, $zero, __start
149+ lw $2, __ehdr_start
150+ jr $31
151+ .end __start
152Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-o32.s
153===================================================================
154--- /dev/null 1970-01-01 00:00:00.000000000 +0000
155+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/ehdr_start-o32.s 2013-06-26 23:39:22.178432315 -0700
156@@ -0,0 +1,14 @@
157+ .abicalls
158+ .text
159+ .weak __ehdr_start
160+ .globl __start
161+ .ent __start
162+ .frame $29, 0, $31
163+ .mask 0x00000000, 0
164+__start:
165+ .set noreorder
166+ .cpload $25
167+ .set reorder
168+ lw $2, __ehdr_start
169+ jr $31
170+ .end __start
171Index: binutils-2.23.2/ld/testsuite/ld-mips-elf/mips-elf.exp
172===================================================================
173--- binutils-2.23.2.orig/ld/testsuite/ld-mips-elf/mips-elf.exp 2013-06-26 23:29:32.000000000 -0700
174+++ binutils-2.23.2/ld/testsuite/ld-mips-elf/mips-elf.exp 2013-06-26 23:39:22.178432315 -0700
175@@ -669,3 +669,28 @@
176 "readelf -A export-class-call16-${abi}.gd"] \
177 "export-class-call16-${abi}.so"]]
178 }
179+
180+# Magic __ehdr_start symbol tests.
181+set abis [concat o32 [expr {$has_newabi ? "n32 n64" : ""}]]
182+foreach { abi } $abis {
183+ set suff [string map {o32 o32 n32 new n64 new} $abi]
184+ run_ld_link_tests [list \
185+ [list \
186+ "MIPS magic __ehdr_start symbol test 1 ($abi)" \
187+ "$abi_ldflags($abi) -T ehdr_start-1.ld" "" \
188+ "$abi_asflags($abi)" \
189+ [list ehdr_start-${suff}.s] \
190+ [list "readelf -s ehdr_start-1.nd"] \
191+ "ehdr_start-1-${abi}"]]
192+ if [regexp "(?:n32|n64)" "$abi"] {
193+ setup_kfail "mips*-*-*" "ld/15428"
194+ }
195+ run_ld_link_tests [list \
196+ [list \
197+ "MIPS magic __ehdr_start symbol test 2 ($abi)" \
198+ "$abi_ldflags($abi) -T ehdr_start-2.ld" "" \
199+ "$abi_asflags($abi)" \
200+ [list ehdr_start-${suff}.s] \
201+ [list "readelf -s ehdr_start-2.nd"] \
202+ "ehdr_start-2-${abi}"]]
203+}