mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
4609ada49f
So, here's my suggestion for making _init .. __etext cover .text + .rodata (including things like the read-only exception tables) for elf64mmix. A quick web search gives that __etext (and friends) isn't well defined, so each target can interpret the "end of text segment" to their own liking. It seems likely this change is also a better fit than the default for other ports, at least those with .rodata after .text in the same segment. The presence of a separate rodata-segment is optional (and not true for elf64mmix). This is reflected in the name as SEPARATE_TEXT / SEPARATE_CODE isn't considered, to keep it simple; each target has to make sure their settings of variables make sense. ld: * scripttempl/elf.sc (ETEXT_LAST_IN_RODATA_SEGMENT): New variable. * emulparams/elf64mmix.sh (ETEXT_LAST_IN_RODATA_SEGMENT): Define. * testsuite/ld-mmix/sec-1.d: Adjust.
45 lines
1.5 KiB
Makefile
45 lines
1.5 KiB
Makefile
#source: sec-1.s
|
|
#source: start.s
|
|
#ld: -m elf64mmix -u _etext -u _edata -u _end
|
|
#objcopy_linked_file: -O mmo
|
|
#objdump: -sht
|
|
|
|
# Test conversion from ELF to mmo with non-mmo-sections present,
|
|
# testing that support.
|
|
|
|
.*: file format mmo
|
|
|
|
Sections:
|
|
Idx Name Size VMA LMA File off Algn
|
|
0 \.text 0+4 0+ 0+ 0+ 2\*\*2
|
|
CONTENTS, ALLOC, LOAD, CODE
|
|
1 secname 0+19 0+4 0+4 0+ 2\*\*2
|
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
|
2 \.a\.fourth\.section 0+10 0+20 0+20 0+ 2\*\*2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
3 anothersec 0+13 2000000000000000 2000000000000000 0+ 2\*\*2
|
|
CONTENTS, ALLOC, LOAD, DATA
|
|
4 thirdsec 0+a 0+ 0+ 0+ 2\*\*2
|
|
CONTENTS, READONLY
|
|
|
|
SYMBOL TABLE:
|
|
#...
|
|
0+30 g +\*ABS\* _etext
|
|
#...
|
|
2000000000000013 g +\*ABS\* __bss_start
|
|
2000000000000013 g +\*ABS\* _edata
|
|
2000000000000018 g +\*ABS\* _end
|
|
|
|
Contents of section \.text:
|
|
0000 e3fd0001 .*
|
|
Contents of section secname:
|
|
0004 00000001 00000002 00000003 00000004 .*
|
|
0014 ffffffff fffff827 50 .*
|
|
Contents of section \.a\.fourth\.section:
|
|
0020 00000000 0087a238 00000000 302a55a8 .*
|
|
Contents of section anothersec:
|
|
2000000000000000 0000000a 00000009 00000008 00000007 .*
|
|
2000000000000010 252729 .*
|
|
Contents of section thirdsec:
|
|
0000 00030d41 000186a2 2628 .*
|