Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/binutils/2.23.2: 12_all_sh-targets.patch 30_all_binutils-2.22.52.0.2-flexible-tests.patch 62_all_binutils-2.22-hardened-crtbegin.patch 63_all_binutils-2.23-pt-pax-flags-20121023.patch 65_all_binutils-2.22.90-amd64-32bit-path.patch 66_all_binutils-2.22.52.0.1-warn-textrel.patch 75_all_binutils-default-test-flags.patch 76_all_use-new-ld-dtags.patch 77_all_generate-gnu-hash.patch 78_all_use-relro.patch 91_all_libiberty-pic.patch README.history
Date: Tue, 26 Mar 2013 19:36:48
Message-Id: 20130326193645.23B2C2171D@flycatcher.gentoo.org
1 vapier 13/03/26 19:36:45
2
3 Added: 12_all_sh-targets.patch
4 30_all_binutils-2.22.52.0.2-flexible-tests.patch
5 62_all_binutils-2.22-hardened-crtbegin.patch
6 63_all_binutils-2.23-pt-pax-flags-20121023.patch
7 65_all_binutils-2.22.90-amd64-32bit-path.patch
8 66_all_binutils-2.22.52.0.1-warn-textrel.patch
9 75_all_binutils-default-test-flags.patch
10 76_all_use-new-ld-dtags.patch
11 77_all_generate-gnu-hash.patch
12 78_all_use-relro.patch 91_all_libiberty-pic.patch
13 README.history
14 Log:
15 initial 2.23.2 patchset based on last 2.23.1 patchset
16
17 Revision Changes Path
18 1.1 src/patchsets/binutils/2.23.2/12_all_sh-targets.patch
19
20 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/12_all_sh-targets.patch?rev=1.1&view=markup
21 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/12_all_sh-targets.patch?rev=1.1&content-type=text/plain
22
23 Index: 12_all_sh-targets.patch
24 ===================================================================
25 r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines
26
27 Likewise, binutils has no idea about any of these new targets either, so we
28 fix that up too.. now we're able to actually build a real toolchain for
29 sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
30 inept targets than that one, really. Go look, I promise).
31
32 --- a/configure
33 +++ b/configure
34 @@ -1495,7 +1495,7 @@
35 mips*-*-*)
36 noconfigdirs="$noconfigdirs gprof"
37 ;;
38 - sh-*-* | sh64-*-*)
39 + sh*-*-* | sh64-*-*)
40 case "${target}" in
41 sh*-*-elf)
42 ;;
43 --- a/configure.ac
44 +++ b/configure.ac
45 @@ -712,7 +712,7 @@
46 mips*-*-*)
47 noconfigdirs="$noconfigdirs gprof"
48 ;;
49 - sh-*-* | sh64-*-*)
50 + sh*-*-* | sh64-*-*)
51 case "${target}" in
52 sh*-*-elf)
53 ;;
54
55
56
57 1.1 src/patchsets/binutils/2.23.2/30_all_binutils-2.22.52.0.2-flexible-tests.patch
58
59 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/30_all_binutils-2.22.52.0.2-flexible-tests.patch?rev=1.1&view=markup
60 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/30_all_binutils-2.22.52.0.2-flexible-tests.patch?rev=1.1&content-type=text/plain
61
62 Index: 30_all_binutils-2.22.52.0.2-flexible-tests.patch
63 ===================================================================
64 making some of the address matches more flexible fixes tests when using
65 pax/relro/hash patches
66
67 --- binutils/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
68 +++ binutils/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
69 @@ -4,6 +4,6 @@
70 #target: x86_64-*-*
71
72 #...
73 -[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
74 -[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
75 +[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
76 +[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
77 #pass
78 --- binutils/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
79 +++ binutils/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
80 @@ -4,6 +4,6 @@
81 #target: x86_64-*-*
82
83 #...
84 -[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
85 -[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
86 +[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
87 +[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x[a-f0-9]+@plt>
88 #pass
89
90
91
92 1.1 src/patchsets/binutils/2.23.2/62_all_binutils-2.22-hardened-crtbegin.patch
93
94 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/62_all_binutils-2.22-hardened-crtbegin.patch?rev=1.1&view=markup
95 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/62_all_binutils-2.22-hardened-crtbegin.patch?rev=1.1&content-type=text/plain
96
97 Index: 62_all_binutils-2.22-hardened-crtbegin.patch
98 ===================================================================
99 https://bugs.gentoo.org/391899
100 https://bugs.gentoo.org/393321
101
102 Make sure the default ELF linker script does the right thing with our customer
103 PIE+PIC gcc objects (until we get a chance to rename them).
104
105 2011-12-05 Magnus Granberg <zorry@g.o>, Alphat-PC <AlphatPC@×××××.com>
106
107 * scripttempl/elf.sc: Add support for crtbeginTS.o
108
109 --- a/ld/scripttempl/elf.sc
110 +++ b/ld/scripttempl/elf.sc
111 @@ -225,8 +225,8 @@
112 if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
113 SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
114 SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
115 - CTORS_IN_INIT_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))"
116 - DTORS_IN_FINI_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))"
117 + CTORS_IN_INIT_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtbeginTS.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))"
118 + DTORS_IN_FINI_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtbeginTS.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))"
119 else
120 SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
121 SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
122 @@ -264,6 +264,7 @@
123
124 KEEP (*crtbegin.o(.ctors))
125 KEEP (*crtbegin?.o(.ctors))
126 + KEEP (*crtbeginTS.o(.ctors))
127
128 /* We don't want to include the .ctor section from
129 the crtend.o file until after the sorted ctors.
130 @@ -280,6 +281,7 @@
131 ${CONSTRUCTING+${DTOR_START}}
132 KEEP (*crtbegin.o(.dtors))
133 KEEP (*crtbegin?.o(.dtors))
134 + KEEP (*crtbeginTS.o(.dtors))
135 KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
136 KEEP (*(SORT(.dtors.*)))
137 KEEP (*(.dtors))
138
139
140
141 1.1 src/patchsets/binutils/2.23.2/63_all_binutils-2.23-pt-pax-flags-20121023.patch
142
143 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/63_all_binutils-2.23-pt-pax-flags-20121023.patch?rev=1.1&view=markup
144 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/63_all_binutils-2.23-pt-pax-flags-20121023.patch?rev=1.1&content-type=text/plain
145
146 Index: 63_all_binutils-2.23-pt-pax-flags-20121023.patch
147 ===================================================================
148 --- binutils-2.23/bfd/elf-bfd.h
149 +++ binutils-2.23/bfd/elf-bfd.h
150 @@ -1577,6 +1577,9 @@ struct elf_obj_tdata
151 /* Segment flags for the PT_GNU_STACK segment. */
152 unsigned int stack_flags;
153
154 + /* Segment flags for the PT_PAX_FLAGS segment. */
155 + unsigned int pax_flags;
156 +
157 /* Symbol version definitions in external objects. */
158 Elf_Internal_Verdef *verdef;
159
160 --- binutils-2.23/bfd/elf.c
161 +++ binutils-2.23/bfd/elf.c
162 @@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
163 case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
164 case PT_GNU_STACK: pt = "STACK"; break;
165 case PT_GNU_RELRO: pt = "RELRO"; break;
166 + case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
167 default: pt = NULL; break;
168 }
169 return pt;
170 @@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
171 case PT_GNU_RELRO:
172 return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
173
174 + case PT_PAX_FLAGS:
175 + return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
176 +
177 default:
178 /* Check for any processor-specific program segment types. */
179 bed = get_elf_backend_data (abfd);
180 @@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
181 ++segs;
182 }
183
184 + {
185 + /* We need a PT_PAX_FLAGS segment. */
186 + ++segs;
187 + }
188 +
189 for (s = abfd->sections; s != NULL; s = s->next)
190 {
191 if ((s->flags & SEC_LOAD) != 0
192 @@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
193 }
194 }
195
196 + {
197 + amt = sizeof (struct elf_segment_map);
198 + m = bfd_zalloc (abfd, amt);
199 + if (m == NULL)
200 + goto error_return;
201 + m->next = NULL;
202 + m->p_type = PT_PAX_FLAGS;
203 + m->p_flags = elf_tdata (abfd)->pax_flags;
204 + m->p_flags_valid = 1;
205 +
206 + *pm = m;
207 + pm = &m->next;
208 + }
209 +
210 free (sections);
211 elf_tdata (abfd)->segment_map = mfirst;
212 }
213 @@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
214 6. PT_TLS segment includes only SHF_TLS sections.
215 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
216 8. PT_DYNAMIC should not contain empty sections at the beginning
217 - (with the possible exception of .dynamic). */
218 + (with the possible exception of .dynamic).
219 + 9. PT_PAX_FLAGS segments do not include any sections. */
220 #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \
221 ((((segment->p_paddr \
222 ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
223 @@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
224 && (section->flags & SEC_ALLOC) != 0) \
225 || IS_NOTE (segment, section)) \
226 && segment->p_type != PT_GNU_STACK \
227 + && segment->p_type != PT_PAX_FLAGS \
228 && (segment->p_type != PT_TLS \
229 || (section->flags & SEC_THREAD_LOCAL)) \
230 && (segment->p_type == PT_LOAD \
231 --- binutils-2.23/bfd/elflink.c
232 +++ binutils-2.23/bfd/elflink.c
233 @@ -5545,16 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
234 return TRUE;
235
236 bed = get_elf_backend_data (output_bfd);
237 +
238 + elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC;
239 + if (info->execheap)
240 + elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT;
241 + else if (info->noexecheap)
242 + elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT;
243 +
244 if (info->execstack)
245 - elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
246 + {
247 + elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
248 + elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
249 + }
250 else if (info->noexecstack)
251 - elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
252 + {
253 + elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
254 + elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
255 + }
256 else
257 {
258 bfd *inputobj;
259 asection *notesec = NULL;
260 int exec = 0;
261
262 + elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
263 for (inputobj = info->input_bfds;
264 inputobj;
265 inputobj = inputobj->link_next)
266 @@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
267 if (s)
268 {
269 if (s->flags & SEC_CODE)
270 - exec = PF_X;
271 + {
272 + elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP;
273 + elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
274 + exec = PF_X;
275 + }
276 notesec = s;
277 }
278 else if (bed->default_execstack)
279 --- binutils-2.23/binutils/readelf.c
280 +++ binutils-2.23/binutils/readelf.c
281 @@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
282 return "GNU_EH_FRAME";
283 case PT_GNU_STACK: return "GNU_STACK";
284 case PT_GNU_RELRO: return "GNU_RELRO";
285 + case PT_PAX_FLAGS: return "PAX_FLAGS";
286
287 default:
288 if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
289 --- binutils-2.23/include/bfdlink.h
290 +++ binutils-2.23/include/bfdlink.h
291 @@ -322,6 +322,14 @@ struct bfd_link_info
292 /* TRUE if PT_GNU_RELRO segment should be created. */
293 unsigned int relro: 1;
294
295 + /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
296 + flags. */
297 + unsigned int execheap: 1;
298 +
299 + /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
300 + flags. */
301 + unsigned int noexecheap: 1;
302 +
303 /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
304 should be created. */
305 unsigned int eh_frame_hdr: 1;
306 --- binutils-2.23/include/elf/common.h
307 +++ binutils-2.23/include/elf/common.h
308 @@ -429,6 +429,7 @@
309 #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */
310 #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
311 #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */
312 +#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */
313
314 /* Program segment permissions, in program header p_flags field. */
315
316 @@ -439,6 +440,21 @@
317 #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */
318 #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */
319
320 +/* Flags to control PaX behavior. */
321 +
322 +#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
323 +#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
324 +#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
325 +#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
326 +#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
327 +#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
328 +#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
329 +#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
330 +#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
331 +#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
332 +#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
333 +#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
334 +
335 /* Values for section header, sh_type field. */
336
337 #define SHT_NULL 0 /* Section header table entry unused */
338 --- binutils-2.23/ld/emultempl/elf32.em
339 +++ binutils-2.23/ld/emultempl/elf32.em
340 @@ -2285,6 +2285,16 @@ fragment <<EOF
341 link_info.noexecstack = TRUE;
342 link_info.execstack = FALSE;
343 }
344 + else if (strcmp (optarg, "execheap") == 0)
345 + {
346 + link_info.execheap = TRUE;
347 + link_info.noexecheap = FALSE;
348 + }
349 + else if (strcmp (optarg, "noexecheap") == 0)
350 + {
351 + link_info.noexecheap = TRUE;
352 + link_info.execheap = FALSE;
353 + }
354 EOF
355 if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
356 fragment <<EOF
357 @@ -2368,6 +2378,8 @@ fragment <<EOF
358 -z defs Report unresolved symbols in object files.\n"));
359 fprintf (file, _("\
360 -z execstack Mark executable as requiring executable stack\n"));
361 + fprintf (file, _("\
362 + -z execheap Mark executable as requiring executable heap\n"));
363 EOF
364
365 if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
366 @@ -2391,6 +2403,8 @@ fragment <<EOF
367 fragment <<EOF
368 fprintf (file, _("\
369 -z noexecstack Mark executable as not requiring executable stack\n"));
370 + fprintf (file, _("\
371 + -z noexecheap Mark executable as not requiring executable heap\n"));
372 EOF
373 if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
374 fragment <<EOF
375 --- binutils-2.23/ld/ldgram.y
376 +++ binutils-2.23/ld/ldgram.y
377 @@ -1119,6 +1119,8 @@ phdr_type:
378 $$ = exp_intop (0x6474e550);
379 else if (strcmp (s, "PT_GNU_STACK") == 0)
380 $$ = exp_intop (0x6474e551);
381 + else if (strcmp (s, "PT_PAX_FLAGS") == 0)
382 + $$ = exp_intop (0x65041580);
383 else
384 {
385 einfo (_("\
386 --- binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd
387 +++ binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd
388 @@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
389
390 Program Headers:
391 Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
392 - PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8
393 + PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8
394 INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
395 .*Requesting program interpreter.*
396 LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
397 LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
398 DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
399 TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
400 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
401 #...
402
403 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
404 --- binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd
405 +++ binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd
406 @@ -42,6 +42,7 @@ Program Headers:
407 +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
408 +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
409 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
410 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
411 #...
412
413 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
414 --- binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd
415 +++ binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd
416 @@ -38,6 +38,7 @@ Program Headers:
417 +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
418 +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
419 +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4
420 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
421 #...
422
423 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
424 --- binutils-2.23/ld/testsuite/ld-elf/eh1.d
425 +++ binutils-2.23/ld/testsuite/ld-elf/eh1.d
426 @@ -22,11 +22,11 @@ Contents of the .eh_frame section:
427 DW_CFA_nop
428 DW_CFA_nop
429
430 -00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
431 - DW_CFA_advance_loc: 0 to 00400078
432 +00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
433 + DW_CFA_advance_loc: 0 to [0-9a-f]+
434 DW_CFA_def_cfa_offset: 16
435 DW_CFA_offset: r6 \(rbp\) at cfa-16
436 - DW_CFA_advance_loc: 0 to 00400078
437 + DW_CFA_advance_loc: 0 to [0-9a-f]+
438 DW_CFA_def_cfa_register: r6 \(rbp\)
439
440 00000038 ZERO terminator
441 --- binutils-2.23/ld/testsuite/ld-elf/eh2.d
442 +++ binutils-2.23/ld/testsuite/ld-elf/eh2.d
443 @@ -22,11 +22,11 @@ Contents of the .eh_frame section:
444 DW_CFA_nop
445 DW_CFA_nop
446
447 -00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
448 - DW_CFA_advance_loc: 0 to 00400078
449 +00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
450 + DW_CFA_advance_loc: 0 to [0-9a-f]+
451 DW_CFA_def_cfa_offset: 16
452 DW_CFA_offset: r6 \(rbp\) at cfa-16
453 - DW_CFA_advance_loc: 0 to 00400078
454 + DW_CFA_advance_loc: 0 to [0-9a-f]+
455 DW_CFA_def_cfa_register: r6 \(rbp\)
456
457 00000038 ZERO terminator
458 --- binutils-2.23/ld/testsuite/ld-elf/eh3.d
459 +++ binutils-2.23/ld/testsuite/ld-elf/eh3.d
460 @@ -22,11 +22,11 @@ Contents of the .eh_frame section:
461 DW_CFA_nop
462 DW_CFA_nop
463
464 -00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
465 - DW_CFA_advance_loc: 0 to 00400078
466 +00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
467 + DW_CFA_advance_loc: 0 to [0-9a-f]+
468 DW_CFA_def_cfa_offset: 16
469 DW_CFA_offset: r6 \(rbp\) at cfa-16
470 - DW_CFA_advance_loc: 0 to 00400078
471 + DW_CFA_advance_loc: 0 to [0-9a-f]+
472 DW_CFA_def_cfa_register: r6 \(rbp\)
473
474 00000038 ZERO terminator
475 --- binutils-2.23/ld/testsuite/ld-elf/orphan-region.d
476 +++ binutils-2.23/ld/testsuite/ld-elf/orphan-region.d
477 @@ -15,7 +15,9 @@
478 Program Headers:
479 Type.*
480 LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+
481 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
482
483 Section to Segment mapping:
484 Segment Sections...
485 00 .text .rodata .moredata *
486 + 01 +
487 --- binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd
488 +++ binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd
489 @@ -44,6 +44,7 @@ Program Headers:
490 +LOAD.*
491 +DYNAMIC.*
492 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
493 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
494
495 Section to Segment mapping:
496 +Segment Sections...
497 @@ -53,6 +54,7 @@ Program Headers:
498 +03 +.tdata .dynamic .got .got.plt *
499 +04 +.dynamic *
500 +05 +.tdata .tbss *
501 + +06 +
502
503 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
504 Offset +Info +Type +Sym.Value +Sym. Name
505 --- binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd
506 +++ binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd
507 @@ -42,6 +42,7 @@ Program Headers:
508 +LOAD.*
509 +DYNAMIC.*
510 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
511 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
512
513 Section to Segment mapping:
514 +Segment Sections...
515 @@ -51,6 +52,7 @@ Program Headers:
516 +03 +.tdata .dynamic .got .got.plt *
517 +04 +.dynamic *
518 +05 +.tdata .tbss *
519 + +06 +
520
521 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
522 Offset +Info +Type +Sym.Value +Sym. Name
523 --- binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd
524 +++ binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd
525 @@ -39,6 +39,7 @@ Program Headers:
526 +LOAD.*
527 +DYNAMIC.*
528 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
529 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
530
531 Section to Segment mapping:
532 +Segment Sections...
533 @@ -46,6 +47,7 @@ Program Headers:
534 +01 +.tdata .dynamic .got .got.plt *
535 +02 +.dynamic *
536 +03 +.tdata .tbss *
537 + +04 +
538
539 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
540 Offset +Info +Type +Sym.Value +Sym. Name
541 --- binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd
542 +++ binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd
543 @@ -36,12 +36,14 @@ Program Headers:
544 +LOAD.*
545 +LOAD.*
546 +DYNAMIC.*
547 + +PAX_FLAGS.*
548
549 Section to Segment mapping:
550 +Segment Sections...
551 +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
552 +01 +.dynamic .got .got.plt *
553 +02 +.dynamic *
554 + +03 +
555
556 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
557 Offset +Info +Type +Sym.Value +Sym. Name
558 --- binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd
559 +++ binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd
560 @@ -37,6 +37,7 @@ Program Headers:
561 +LOAD.*
562 +DYNAMIC.*
563 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1
564 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
565
566 Section to Segment mapping:
567 +Segment Sections...
568 @@ -44,6 +45,7 @@ Program Headers:
569 +01 +.dynamic .got .got.plt *
570 +02 +.dynamic *
571 +03 +.tbss *
572 + +04 +
573
574 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
575 Offset +Info +Type +Sym.Value +Sym. Name
576 --- binutils-2.23/ld/testsuite/ld-i386/tlspic.rd
577 +++ binutils-2.23/ld/testsuite/ld-i386/tlspic.rd
578 @@ -40,6 +40,7 @@ Program Headers:
579 +LOAD.*
580 +DYNAMIC.*
581 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
582 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
583
584 Section to Segment mapping:
585 +Segment Sections...
586 @@ -47,6 +48,7 @@ Program Headers:
587 +01 +.tdata .dynamic .got .got.plt *
588 +02 +.dynamic *
589 +03 +.tdata .tbss *
590 + +04 +
591
592 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
593 Offset +Info +Type +Sym.Value +Sym. Name
594 --- binutils-2.23/ld/testsuite/ld-ia64/merge1.d
595 +++ binutils-2.23/ld/testsuite/ld-ia64/merge1.d
596 @@ -4,7 +4,7 @@
597 #objdump: -d
598
599 #...
600 -0+1e0 <.text>:
601 +[a-f0-9]+ <.text>:
602 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
603 [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
604 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
605 --- binutils-2.23/ld/testsuite/ld-ia64/merge2.d
606 +++ binutils-2.23/ld/testsuite/ld-ia64/merge2.d
607 @@ -4,7 +4,7 @@
608 #objdump: -d
609
610 #...
611 -0+1e0 <.text>:
612 +[a-f0-9]+ <.text>:
613 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
614 [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
615 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
616 --- binutils-2.23/ld/testsuite/ld-ia64/merge3.d
617 +++ binutils-2.23/ld/testsuite/ld-ia64/merge3.d
618 @@ -4,7 +4,7 @@
619 #objdump: -d
620
621 #...
622 -0+210 <.text>:
623 +[a-f0-9]+ <.text>:
624 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
625 [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
626 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
627 --- binutils-2.23/ld/testsuite/ld-ia64/merge4.d
628 +++ binutils-2.23/ld/testsuite/ld-ia64/merge4.d
629 @@ -4,7 +4,7 @@
630 #objdump: -d
631
632 #...
633 -0+240 <.text>:
634 +[a-f0-9]+ <.text>:
635 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
636 [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
637 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
638 --- binutils-2.23/ld/testsuite/ld-ia64/merge5.d
639 +++ binutils-2.23/ld/testsuite/ld-ia64/merge5.d
640 @@ -4,7 +4,7 @@
641 #objdump: -d
642
643 #...
644 -0+270 <.text>:
645 +[a-f0-9]+ <.text>:
646 [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
647 [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
648 [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
649 --- binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd
650 +++ binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd
651 @@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
652
653 Program Headers:
654 +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
655 - +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
656 - +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
657 + +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8
658 + +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
659 .*Requesting program interpreter.*
660 +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
661 +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
662 +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
663 +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
664 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
665 +IA_64_UNWIND .* R +0x8
666 #...
667
668 --- binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd
669 +++ binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd
670 @@ -40,6 +40,7 @@ Program Headers:
671 +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
672 +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
673 +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
674 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
675 +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
676 #...
677
678 --- binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
679 +++ binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
680 @@ -8,9 +8,9 @@
681 .*: +file format.*
682
683 Disassembly of section \.text:
684 -004000b0 <[^>]*> 3c1c0043 lui gp,0x43
685 -004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
686 -004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
687 +004000d0 <[^>]*> 3c1c0043 lui gp,0x43
688 +004000d4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
689 +004000d8 <[^>]*> afbc0008 sw gp,8\(sp\)
690 #...
691 00408d60 <[^>]*> 3c1c0043 lui gp,0x43
692 00408d64 <[^>]*> 279c2c98 addiu gp,gp,11416
693 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
694 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
695 @@ -1,7 +1,7 @@
696
697 Elf file type is DYN \(Shared object file\)
698 Entry point .*
699 -There are 5 program headers, starting at offset .*
700 +There are [0-9] program headers, starting at offset .*
701
702 Program Headers:
703 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
704 @@ -9,6 +9,7 @@ Program Headers:
705 * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
706 * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW * 0x.*
707 * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
708 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
709 * NULL * .*
710
711 *Section to Segment mapping:
712 @@ -18,3 +19,4 @@ Program Headers:
713 *0*2 * \.data \.got *
714 *0*3 * \.dynamic *
715 *0*4 *
716 + *0*5 *
717 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
718 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
719 @@ -1,7 +1,7 @@
720
721 Elf file type is EXEC \(Executable file\)
722 Entry point 0x44000
723 -There are 8 program headers, starting at offset .*
724 +There are [0-9] program headers, starting at offset .*
725
726 Program Headers:
727 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
728 @@ -13,6 +13,7 @@ Program Headers:
729 * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
730 * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
731 * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
732 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
733 * NULL * .*
734
735 *Section to Segment mapping:
736 @@ -25,3 +26,4 @@ Program Headers:
737 *0*5 *\.got \.data *
738 *0*6 *\.dynamic *
739 *0*7 *
740 + *0*8 *
741 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
742 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
743 @@ -1,7 +1,7 @@
744
745 Elf file type is EXEC \(Executable file\)
746 Entry point 0x44000
747 -There are 8 program headers, starting at offset .*
748 +There are [0-9] program headers, starting at offset .*
749
750 Program Headers:
751 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
752 @@ -13,6 +13,7 @@ Program Headers:
753 * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
754 * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
755 * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
756 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
757 * NULL * .*
758
759 *Section to Segment mapping:
760 @@ -25,3 +26,4 @@ Program Headers:
761 *0*5 * \.got \.data \.bss *
762 *0*6 * \.dynamic *
763 *0*7 *
764 + *0*8 *
765 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
766 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
767 @@ -1,7 +1,7 @@
768
769 Elf file type is EXEC \(Executable file\)
770 Entry point 0x44000
771 -There are 8 program headers, starting at offset .*
772 +There are [0-9] program headers, starting at offset .*
773
774 Program Headers:
775 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
776 @@ -13,6 +13,7 @@ Program Headers:
777 * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
778 * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
779 * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
780 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
781 * NULL * .*
782
783 *Section to Segment mapping:
784 @@ -25,3 +26,4 @@ Program Headers:
785 *0*5 * \.got \.data \.bss *
786 *0*6 * \.dynamic *
787 *0*7 *
788 + *0*8 *
789 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
790 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
791 @@ -1,7 +1,7 @@
792
793 Elf file type is EXEC \(Executable file\)
794 Entry point 0x44000
795 -There are 8 program headers, starting at offset .*
796 +There are [0-9] program headers, starting at offset .*
797
798 Program Headers:
799 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
800 @@ -13,6 +13,7 @@ Program Headers:
801 * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
802 * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
803 * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
804 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
805 * NULL * .*
806
807 *Section to Segment mapping:
808 @@ -25,3 +26,4 @@ Program Headers:
809 *0*5 * \.got \.data \.bss *
810 *0*6 * \.dynamic *
811 *0*7 *
812 + *0*8 *
813 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
814 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
815 @@ -1,7 +1,7 @@
816
817 Elf file type is EXEC \(Executable file\)
818 Entry point 0x44000
819 -There are 7 program headers, starting at offset .*
820 +There are [0-9] program headers, starting at offset .*
821
822 Program Headers:
823 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
824 @@ -12,6 +12,7 @@ Program Headers:
825 * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
826 * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
827 * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
828 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
829 * NULL * .*
830
831 *Section to Segment mapping:
832 @@ -23,3 +24,4 @@ Program Headers:
833 *0*4 * \.got \.data \.bss *
834 *0*5 * \.dynamic *
835 *0*6 *
836 + *0*7 *
837 --- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
838 +++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
839 @@ -1,7 +1,7 @@
840
841 Elf file type is EXEC \(Executable file\)
842 Entry point 0x44000
843 -There are 8 program headers, starting at offset .*
844 +There are [0-9] program headers, starting at offset .*
845
846 Program Headers:
847 * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
848 @@ -13,6 +13,7 @@ Program Headers:
849 * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.*
850 * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.*
851 * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
852 + * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
853 * NULL * .*
854
855 *Section to Segment mapping:
856 @@ -25,3 +26,4 @@ Program Headers:
857 *0*5 * \.got \.data \.bss *
858 *0*6 * \.dynamic *
859 *0*7 *
860 + *0*8 *
861 --- binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d
862 +++ binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d
863 @@ -2,42 +2,42 @@
864
865 Disassembly of section .text:
866
867 -004000d0 <__start>:
868 - 4000d0: 3c1c0fc0 lui gp,0xfc0
869 - 4000d4: 279c7f30 addiu gp,gp,32560
870 - 4000d8: 0399e021 addu gp,gp,t9
871 - 4000dc: 27bdfff0 addiu sp,sp,-16
872 - 4000e0: afbe0008 sw s8,8\(sp\)
873 - 4000e4: 03a0f021 move s8,sp
874 - 4000e8: afbc0000 sw gp,0\(sp\)
875 - 4000ec: 8f998018 lw t9,-32744\(gp\)
876 - 4000f0: 27848028 addiu a0,gp,-32728
877 - 4000f4: 0320f809 jalr t9
878 - 4000f8: 00000000 nop
879 - 4000fc: 8fdc0000 lw gp,0\(s8\)
880 - 400100: 00000000 nop
881 - 400104: 8f998018 lw t9,-32744\(gp\)
882 - 400108: 27848020 addiu a0,gp,-32736
883 - 40010c: 0320f809 jalr t9
884 - 400110: 00000000 nop
885 - 400114: 8fdc0000 lw gp,0\(s8\)
886 - 400118: 00401021 move v0,v0
887 - 40011c: 3c030000 lui v1,0x0
888 - 400120: 24638000 addiu v1,v1,-32768
889 - 400124: 00621821 addu v1,v1,v0
890 - 400128: 7c02283b rdhwr v0,\$5
891 - 40012c: 8f83801c lw v1,-32740\(gp\)
892 - 400130: 00000000 nop
893 - 400134: 00621821 addu v1,v1,v0
894 - 400138: 7c02283b rdhwr v0,\$5
895 - 40013c: 3c030000 lui v1,0x0
896 - 400140: 24639004 addiu v1,v1,-28668
897 - 400144: 00621821 addu v1,v1,v0
898 - 400148: 03c0e821 move sp,s8
899 - 40014c: 8fbe0008 lw s8,8\(sp\)
900 - 400150: 03e00008 jr ra
901 - 400154: 27bd0010 addiu sp,sp,16
902 +00400[0-9a-f]{3} <__start>:
903 + 400[0-9a-f]{3}: 3c1c0fc0 lui gp,0xfc0
904 + 400[0-9a-f]{3}: 279c7f30 addiu gp,gp,32560
905 + 400[0-9a-f]{3}: 0399e021 addu gp,gp,t9
906 + 400[0-9a-f]{3}: 27bdfff0 addiu sp,sp,-16
907 + 400[0-9a-f]{3}: afbe0008 sw s8,8\(sp\)
908 + 400[0-9a-f]{3}: 03a0f021 move s8,sp
909 + 400[0-9a-f]{3}: afbc0000 sw gp,0\(sp\)
910 + 400[0-9a-f]{3}: 8f998018 lw t9,-32744\(gp\)
911 + 400[0-9a-f]{3}: 27848028 addiu a0,gp,-32728
912 + 400[0-9a-f]{3}: 0320f809 jalr t9
913 + 400[0-9a-f]{3}: 00000000 nop
914 + 400[0-9a-f]{3}: 8fdc0000 lw gp,0\(s8\)
915 + 400[0-9a-f]{3}: 00000000 nop
916 + 400[0-9a-f]{3}: 8f998018 lw t9,-32744\(gp\)
917 + 400[0-9a-f]{3}: 27848020 addiu a0,gp,-32736
918 + 400[0-9a-f]{3}: 0320f809 jalr t9
919 + 400[0-9a-f]{3}: 00000000 nop
920 + 400[0-9a-f]{3}: 8fdc0000 lw gp,0\(s8\)
921 + 400[0-9a-f]{3}: 00401021 move v0,v0
922 + 400[0-9a-f]{3}: 3c030000 lui v1,0x0
923 + 400[0-9a-f]{3}: 24638000 addiu v1,v1,-32768
924 + 400[0-9a-f]{3}: 00621821 addu v1,v1,v0
925 + 400[0-9a-f]{3}: 7c02283b rdhwr v0,\$5
926 + 400[0-9a-f]{3}: 8f83801c lw v1,-32740\(gp\)
927 + 400[0-9a-f]{3}: 00000000 nop
928 + 400[0-9a-f]{3}: 00621821 addu v1,v1,v0
929 + 400[0-9a-f]{3}: 7c02283b rdhwr v0,\$5
930 + 400[0-9a-f]{3}: 3c030000 lui v1,0x0
931 + 400[0-9a-f]{3}: 24639004 addiu v1,v1,-28668
932 + 400[0-9a-f]{3}: 00621821 addu v1,v1,v0
933 + 400[0-9a-f]{3}: 03c0e821 move sp,s8
934 + 400[0-9a-f]{3}: 8fbe0008 lw s8,8\(sp\)
935 + 400[0-9a-f]{3}: 03e00008 jr ra
936 + 400[0-9a-f]{3}: 27bd0010 addiu sp,sp,16
937
938 -00400158 <__tls_get_addr>:
939 - 400158: 03e00008 jr ra
940 - 40015c: 00000000 nop
941 +00400[0-9a-f]{3} <__tls_get_addr>:
942 + 400[0-9a-f]{3}: 03e00008 jr ra
943 + 400[0-9a-f]{3}: 00000000 nop
944 --- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r
945 +++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r
946 @@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
947
948 Program Headers:
949 +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
950 - +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4
951 - +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1
952 + +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4
953 + +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1
954 +\[Requesting program interpreter: .*\]
955 +LOAD .* R E 0x10000
956 +LOAD .* RWE 0x10000
957 +DYNAMIC .* RW +0x4
958 +TLS .* 0x0001c 0x00038 R +0x4
959 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
960
961 Section to Segment mapping:
962 +Segment Sections\.\.\.
963 @@ -49,6 +50,7 @@ Program Headers:
964 +03 +\.tdata \.dynamic \.got \.plt
965 +04 +\.dynamic
966 +05 +\.tdata \.tbss
967 + +06 +
968
969 Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
970 Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
971 --- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r
972 +++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r
973 @@ -35,6 +35,7 @@ Program Headers:
974 +LOAD .* RWE 0x10000
975 +DYNAMIC .* RW +0x4
976 +TLS .* 0x0+1c 0x0+38 R +0x4
977 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
978
979 Section to Segment mapping:
980 +Segment Sections\.\.\.
981 @@ -42,6 +43,7 @@ Program Headers:
982 +01 +\.tdata \.dynamic \.got \.plt
983 +02 +\.dynamic
984 +03 +\.tdata \.tbss
985 + +04 +
986
987 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
988 Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
989 @@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
990 [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
991 [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
992 [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
993 -[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
994 -[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
995 -[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
996 +[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
997 +[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
998 +[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
999 [0-9a-f ]+R_PPC_DTPMOD32 +0
1000 [0-9a-f ]+R_PPC_DTPREL32 +0
1001 [0-9a-f ]+R_PPC_DTPMOD32 +0
1002 --- binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd
1003 +++ binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd
1004 @@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
1005 +LOAD .* RW +0x1000
1006 +DYNAMIC .* RW +0x4
1007 +TLS .* 0x0+60 0x0+a0 R +0x20
1008 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1009
1010 Section to Segment mapping:
1011 +Segment Sections...
1012 @@ -52,6 +53,7 @@ Program Headers:
1013 +03 +.tdata .dynamic .got *
1014 +04 +.dynamic *
1015 +05 +.tdata .tbss *
1016 + +06 +
1017
1018 Relocation section '.rela.dyn' at offset .* contains 4 entries:
1019 Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
1020 --- binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd
1021 +++ binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd
1022 @@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
1023 +LOAD .* RW +0x1000
1024 +DYNAMIC .* RW +0x8
1025 +TLS .* 0x0+60 0x0+a0 R +0x20
1026 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1027
1028 Section to Segment mapping:
1029 +Segment Sections...
1030 @@ -52,6 +53,7 @@ Program Headers:
1031 +03 +.tdata .dynamic .got *
1032 +04 +.dynamic *
1033 +05 +.tdata .tbss *
1034 + +06 +
1035
1036 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
1037 +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
1038 --- binutils-2.23/ld/testsuite/ld-s390/tlspic.rd
1039 +++ binutils-2.23/ld/testsuite/ld-s390/tlspic.rd
1040 @@ -39,6 +39,7 @@ Program Headers:
1041 +LOAD .* RW +0x1000
1042 +DYNAMIC .* RW +0x4
1043 +TLS .* 0x0+60 0x0+80 R +0x20
1044 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1045
1046 Section to Segment mapping:
1047 +Segment Sections...
1048 @@ -46,6 +47,7 @@ Program Headers:
1049 +01 +.tdata .dynamic .got
1050 +02 +.dynamic
1051 +03 +.tdata .tbss
1052 + +04 +
1053
1054 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
1055 Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
1056 --- binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd
1057 +++ binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd
1058 @@ -39,6 +39,7 @@ Program Headers:
1059 +LOAD .* RW +0x1000
1060 +DYNAMIC .* RW +0x8
1061 +TLS .* 0x0+60 0x0+80 R +0x20
1062 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1063
1064 Section to Segment mapping:
1065 +Segment Sections...
1066 @@ -46,6 +47,7 @@ Program Headers:
1067 +01 +.tdata .dynamic .got *
1068 +02 +.dynamic *
1069 +03 +.tdata .tbss *
1070 + +04 +
1071
1072 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
1073 +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
1074 --- binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d
1075 +++ binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d
1076 @@ -8,7 +8,9 @@
1077 Program Headers:
1078 +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
1079 +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+
1080 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1081
1082 Section to Segment mapping:
1083 +Segment Sections\.\.\.
1084 +00 +.text
1085 + +01 +
1086 --- binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d
1087 +++ binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d
1088 @@ -44,6 +44,7 @@ Program Headers:
1089 +LOAD.*
1090 +DYNAMIC.*
1091 +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
1092 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1093
1094 Section to Segment mapping:
1095 +Segment Sections\.\.\.
1096 @@ -53,6 +54,7 @@ Program Headers:
1097 +03 +\.tdata \.dynamic \.got *
1098 +04 +\.dynamic *
1099 +05 +\.tdata \.tbss *
1100 + +06 +
1101
1102 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
1103 Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
1104 --- binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d
1105 +++ binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d
1106 @@ -32,7 +32,7 @@ Key to Flags:
1107
1108 Elf file type is DYN \(Shared object file\)
1109 Entry point 0x[0-9a-f]+
1110 -There are 4 program headers, starting at offset [0-9]+
1111 +There are [0-9] program headers, starting at offset [0-9]+
1112
1113 Program Headers:
1114 +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
1115 @@ -40,6 +40,7 @@ Program Headers:
1116 +LOAD.*
1117 +DYNAMIC.*
1118 +TLS .* 0x0+18 0x0+20 R +0x4
1119 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1120
1121 Section to Segment mapping:
1122 +Segment Sections\.\.\.
1123 @@ -47,6 +48,7 @@ Program Headers:
1124 +01 +\.tdata \.dynamic \.got *
1125 +02 +\.dynamic *
1126 +03 +\.tdata \.tbss *
1127 + +04 +
1128
1129 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
1130 Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
1131 --- binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd
1132 +++ binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd
1133 @@ -31,6 +31,7 @@ Program Headers:
1134 +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
1135 +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
1136 +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
1137 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1138 #...
1139
1140 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
1141 --- binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd
1142 +++ binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd
1143 @@ -31,6 +31,7 @@ Program Headers:
1144 +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
1145 +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
1146 +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
1147 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1148 #...
1149
1150 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
1151 --- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd
1152 +++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd
1153 @@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
1154
1155 Program Headers:
1156 +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
1157 - +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4
1158 - +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1
1159 + +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4
1160 + +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1
1161 .*Requesting program interpreter.*
1162 +LOAD .* R E 0x10000
1163 +LOAD .* RW +0x10000
1164 +DYNAMIC .* RW +0x4
1165 +TLS .* 0x0+1060 0x0+10a0 R +0x4
1166 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1167 #...
1168
1169 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
1170 --- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd
1171 +++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd
1172 @@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
1173
1174 Program Headers:
1175 +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
1176 - +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8
1177 - +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1
1178 + +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8
1179 + +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1
1180 .*Requesting program interpreter.*
1181 +LOAD .* R E 0x100000
1182 +LOAD .* RW +0x100000
1183 +DYNAMIC .* RW +0x8
1184 +TLS .* 0x0+60 0x0+a0 R +0x4
1185 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1186 #...
1187
1188 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
1189 --- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd
1190 +++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd
1191 @@ -32,6 +32,7 @@ Program Headers:
1192 +LOAD .* RW +0x10000
1193 +DYNAMIC .* RW +0x4
1194 +TLS .* 0x0+ 0x0+24 R +0x4
1195 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1196 #...
1197
1198 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
1199 --- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd
1200 +++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd
1201 @@ -32,6 +32,7 @@ Program Headers:
1202 +LOAD .* RW +0x100000
1203 +DYNAMIC .* RW +0x8
1204 +TLS .* 0x0+ 0x0+24 R +0x4
1205 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1206 #...
1207
1208 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
1209 --- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd
1210 +++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd
1211 @@ -36,6 +36,7 @@ Program Headers:
1212 +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
1213 +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
1214 +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
1215 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1216 #...
1217
1218 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
1219 --- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd
1220 +++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd
1221 @@ -36,6 +36,7 @@ Program Headers:
1222 +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
1223 +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
1224 +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4
1225 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1226 #...
1227
1228 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
1229 --- binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd
1230 +++ binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd
1231 @@ -36,12 +36,14 @@ Program Headers:
1232 +LOAD.*
1233 +LOAD.*
1234 +DYNAMIC.*
1235 + +PAX_FLAGS.*
1236
1237 Section to Segment mapping:
1238 +Segment Sections...
1239 +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
1240 +01 +.dynamic .got .got.plt *
1241 +02 +.dynamic *
1242 + +03 +
1243
1244 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
1245 +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
1246 --- binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd
1247 +++ binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd
1248 @@ -40,6 +40,7 @@ Program Headers:
1249 +LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000
1250 +DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8
1251 +TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1
1252 + +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
1253
1254 Section to Segment mapping:
1255 +Segment Sections...
1256 @@ -47,6 +48,7 @@ Program Headers:
1257 +01 +.tdata .dynamic .got .got.plt *
1258 +02 +.dynamic *
1259 +03 +.tdata .tbss *
1260 + +04 +
1261
1262 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
1263 +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
1264
1265
1266
1267 1.1 src/patchsets/binutils/2.23.2/65_all_binutils-2.22.90-amd64-32bit-path.patch
1268
1269 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/65_all_binutils-2.22.90-amd64-32bit-path.patch?rev=1.1&view=markup
1270 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/65_all_binutils-2.22.90-amd64-32bit-path.patch?rev=1.1&content-type=text/plain
1271
1272 Index: 65_all_binutils-2.22.90-amd64-32bit-path.patch
1273 ===================================================================
1274 --- binutils/ld/emulparams/elf_i386.sh
1275 +++ binutils/ld/emulparams/elf_i386.sh
1276 @@ -13,3 +13,13 @@
1277 NO_SMALL_DATA=yes
1278 SEPARATE_GOTPLT=12
1279 IREL_IN_PLT=
1280 +
1281 +# In Gentoo, we install 32bit libs into /lib32 in an
1282 +# ABI setup with amd64/x86
1283 +case "$target" in
1284 + x86_64*-linux*)
1285 + case "$EMULATION_NAME" in
1286 + *i386*) LIBPATH_SUFFIX=32 ;;
1287 + esac
1288 + ;;
1289 +esac
1290
1291
1292
1293 1.1 src/patchsets/binutils/2.23.2/66_all_binutils-2.22.52.0.1-warn-textrel.patch
1294
1295 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/66_all_binutils-2.22.52.0.1-warn-textrel.patch?rev=1.1&view=markup
1296 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/66_all_binutils-2.22.52.0.1-warn-textrel.patch?rev=1.1&content-type=text/plain
1297
1298 Index: 66_all_binutils-2.22.52.0.1-warn-textrel.patch
1299 ===================================================================
1300 textrels are bad for forcing copy-on-write (this affects everyone),
1301 and for security/runtime code generation, this affects security ppl.
1302 But in either case, it doesn't matter who needs textrels, it's
1303 the very fact that they're needed at all.
1304
1305 2006-06-10 Ned Ludd <solar@g.o>, Mike Frysinger <vapier@g.o>
1306
1307 * bfd/elflink.c (bfd_elf_final_link): Check all objects for TEXTRELs.
1308 * ld/ldmain.c (main): Change textrel warning default to true.
1309 * ld/testsuite/lib/ld-lib.exp (default_ld_simple_link): Scrub TEXTREL
1310 warnings from ld output.
1311
1312 --- a/bfd/elflink.c
1313 +++ b/bfd/elflink.c
1314 @@ -8652,7 +8652,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
1315 goto error_return;
1316
1317 /* Check for DT_TEXTREL (late, in case the backend removes it). */
1318 - if (((info->warn_shared_textrel && info->shared)
1319 + if ((info->warn_shared_textrel
1320 || info->error_textrel)
1321 && (o = bfd_get_section_by_name (dynobj, ".dynamic")) != NULL)
1322 {
1323 @@ -8702,7 +8702,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
1324 (_("%P%X: read-only segment has dynamic relocations.\n"));
1325 else
1326 info->callbacks->einfo
1327 - (_("%P: warning: creating a DT_TEXTREL in a shared object.\n"));
1328 + (_("%P: warning: creating a DT_TEXTREL in object.\n"));
1329 break;
1330 }
1331 }
1332 --- a/ld/ldmain.c
1333 +++ b/ld/ldmain.c
1334 @@ -282,2 +282,3 @@ main (int argc, char **argv)
1335 link_info.spare_dynamic_tags = 5;
1336 + link_info.warn_shared_textrel = TRUE;
1337 link_info.sharable_sections = FALSE;
1338 --- a/ld/testsuite/lib/ld-lib.exp
1339 +++ b/ld/testsuite/lib/ld-lib.exp
1340 @@ -181,6 +181,10 @@ proc default_ld_simple_link { ld target
1341 # symbol, since the default linker script might use ENTRY.
1342 regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
1343
1344 + # Gentoo tweak:
1345 + # We want to ignore TEXTREL warnings since we force enable them by default
1346 + regsub -all "^lt-ld-new: warning: creating a DT_TEXTREL in object\." $exec_output "\\1" exec_output
1347 +
1348 if [string match "" $exec_output] then {
1349 return 1
1350 } else {
1351
1352
1353
1354 1.1 src/patchsets/binutils/2.23.2/75_all_binutils-default-test-flags.patch
1355
1356 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/75_all_binutils-default-test-flags.patch?rev=1.1&view=markup
1357 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/75_all_binutils-default-test-flags.patch?rev=1.1&content-type=text/plain
1358
1359 Index: 75_all_binutils-default-test-flags.patch
1360 ===================================================================
1361 many tests rely on order of symbols and the gnu hash style/relro options
1362 change that. so to avoid having to constantly thrash in the test files,
1363 use the normal options that everyone tests against.
1364
1365 --- binutils/ld/testsuite/lib/ld-lib.exp
1366 +++ binutils/ld/testsuite/lib/ld-lib.exp
1367 @@ -84,7 +84,7 @@
1368 global HOSTING_EMU
1369
1370 remote_file host delete $target
1371 - return [run_host_cmd_yesno "$ld" "$HOSTING_EMU -o $target -r $objects"]
1372 + return [run_host_cmd_yesno "$ld" "$HOSTING_EMU --hash-style=sysv -z norelro -o $target -r $objects"]
1373 }
1374
1375 # Check to see if ld is being invoked with a non-endian output format
1376 @@ -158,7 +158,7 @@
1377
1378 remote_file host delete $target
1379
1380 - return [run_host_cmd_yesno "$ld" "$HOSTING_EMU $flags -o $target $objs $libs"]
1381 + return [run_host_cmd_yesno "$ld" "$HOSTING_EMU --hash-style=sysv -z norelro $flags -o $target $objs $libs"]
1382 }
1383
1384 # Link a program using ld, without including any libraries.
1385 @@ -189,7 +189,9 @@
1386 }
1387 set ldexe [string replace $ldexe 0 [string last "/" $ldexe] ""]
1388 if {[string match "*gcc*" $ldexe] || [string match "*++*" $ldexe]} then {
1389 - set ldflags "$gcc_ld_flag $ldflags"
1390 + set ldflags "$gcc_ld_flag -Wl,--hash-style=sysv -Wl,-z,norelro $ldflags"
1391 + } else {
1392 + set ldflags "--hash-style=sysv -z norelro $ldflags"
1393 }
1394
1395 remote_file host delete $target
1396
1397
1398
1399 1.1 src/patchsets/binutils/2.23.2/76_all_use-new-ld-dtags.patch
1400
1401 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/76_all_use-new-ld-dtags.patch?rev=1.1&view=markup
1402 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/76_all_use-new-ld-dtags.patch?rev=1.1&content-type=text/plain
1403
1404 Index: 76_all_use-new-ld-dtags.patch
1405 ===================================================================
1406 --- binutils/ld/ldmain.c
1407 +++ binutils/ld/ldmain.c
1408 @@ -296,6 +296,7 @@ main (int argc, char **argv)
1409
1410 link_info.allow_undefined_version = TRUE;
1411 link_info.keep_memory = TRUE;
1412 + link_info.new_dtags = TRUE;
1413 link_info.combreloc = TRUE;
1414 link_info.strip_discarded = TRUE;
1415 link_info.callbacks = &link_callbacks;
1416 --- binutils/ld/ld.texinfo
1417 +++ binutils/ld/ld.texinfo
1418 @@ -2036,8 +2036,9 @@
1419 systems may not understand them. If you specify
1420 @option{--enable-new-dtags}, the dynamic tags will be created as needed.
1421 If you specify @option{--disable-new-dtags}, no new dynamic tags will be
1422 -created. By default, the new dynamic tags are not created. Note that
1423 -those options are only available for ELF systems.
1424 +created. On Gentoo, by default, the new dynamic tags are created (this
1425 +differs from upstream behaviour). Note that those options are only
1426 +available for ELF systems.
1427
1428 @kindex --hash-size=@var{number}
1429 @item --hash-size=@var{number}
1430
1431
1432
1433 1.1 src/patchsets/binutils/2.23.2/77_all_generate-gnu-hash.patch
1434
1435 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/77_all_generate-gnu-hash.patch?rev=1.1&view=markup
1436 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/77_all_generate-gnu-hash.patch?rev=1.1&content-type=text/plain
1437
1438 Index: 77_all_generate-gnu-hash.patch
1439 ===================================================================
1440 --- binutils/ld/ldmain.c
1441 +++ binutils/ld/ldmain.c
1442 @@ -273,2 +273,5 @@ main (int argc, char **argv)
1443 link_info.emit_hash = TRUE;
1444 +#ifndef __mips__
1445 + link_info.emit_gnu_hash = TRUE;
1446 +#endif
1447 link_info.callbacks = &link_callbacks;
1448
1449
1450
1451 1.1 src/patchsets/binutils/2.23.2/78_all_use-relro.patch
1452
1453 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/78_all_use-relro.patch?rev=1.1&view=markup
1454 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/78_all_use-relro.patch?rev=1.1&content-type=text/plain
1455
1456 Index: 78_all_use-relro.patch
1457 ===================================================================
1458 background:
1459 http://www.airs.com/blog/archives/189
1460
1461 --- binutils/ld/ldmain.c
1462 +++ binutils/ld/ldmain.c
1463 @@ -293,2 +293,3 @@ main (int argc, char **argv)
1464 link_info.combreloc = TRUE;
1465 + link_info.relro = TRUE;
1466 link_info.strip_discarded = TRUE;
1467
1468
1469
1470 1.1 src/patchsets/binutils/2.23.2/91_all_libiberty-pic.patch
1471
1472 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/91_all_libiberty-pic.patch?rev=1.1&view=markup
1473 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/91_all_libiberty-pic.patch?rev=1.1&content-type=text/plain
1474
1475 Index: 91_all_libiberty-pic.patch
1476 ===================================================================
1477 this will install a pic version of libiberty.a by overwriting the non-pic
1478 version of libiberty.a while compiling. we do this because there is no
1479 shared version of libiberty for random apps to link against which means if
1480 someone wants to use this in a shared library or PIE, they're out of luck.
1481 it's arguable whether people should be able to use this in a shared lib,
1482 but usage in PIE should be fine. you could argue that this penalizes the
1483 non-PIE users, but the counter point is that people using this library in
1484 general are fairly low, and we'd rather have things work for all of them.
1485
1486 --- libiberty/Makefile.in
1487 +++ libiberty/Makefile.in
1488 @@ -224,6 +224,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA
1489 $(AR) $(AR_FLAGS) $(TARGETLIB) \
1490 $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
1491 $(RANLIB) $(TARGETLIB); \
1492 + cp $(TARGETLIB) ../ ; \
1493 cd ..; \
1494 else true; fi
1495
1496
1497
1498
1499 1.1 src/patchsets/binutils/2.23.2/README.history
1500
1501 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/README.history?rev=1.1&view=markup
1502 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.23.2/README.history?rev=1.1&content-type=text/plain
1503
1504 Index: README.history
1505 ===================================================================
1506 1.0 26 Mar 2013
1507 + 12_all_sh-targets.patch
1508 + 30_all_binutils-2.22.52.0.2-flexible-tests.patch
1509 + 62_all_binutils-2.22-hardened-crtbegin.patch
1510 + 63_all_binutils-2.23-pt-pax-flags-20121023.patch
1511 + 65_all_binutils-2.22.90-amd64-32bit-path.patch
1512 + 66_all_binutils-2.22.52.0.1-warn-textrel.patch
1513 + 75_all_binutils-default-test-flags.patch
1514 + 76_all_use-new-ld-dtags.patch
1515 + 77_all_generate-gnu-hash.patch
1516 + 78_all_use-relro.patch
1517 + 91_all_libiberty-pic.patch