old-cross-binutils/ld/testsuite/ld-tic6x/static-app-1r.rd
Nathan Sidwell 04c3a75556 bfd/
* bfd-in.h (bfd_elf_stack_segment_size): Declare.
	* bfd-in2.h: Rebuilt.
	* elfxx-target.h (elf_backend_stack_align): New.
	(elfNN_bed): Add it.
	* elf-bfd.h (struct elf_backend_data): Add stack_align field.
	* elf.c (bfd_elf_map_sections_to_segments): Pay attention to
	stack_align and stacksize for PT_GNU_STACK segment.
	(assign_file_positions_for_non_load_sections): Set p_memsz for
	PT_GNU_STACK segment.
	(copy_elf_program_header): Copy PT_GNU_STACK size.
	* elflink.c (bfd_elf_stack_segment_size): New function, taken from
	uclinux backends.
	(bfd_elf_size_dynamic_sections): Determine
	PT_GNU_STACK requirements after calling backend.  Pay attention to
	stacksize.
	* elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Call
	bfd_elf_stack_segment_size.
	(elf32_bfinfdpic_modify_program_headers): Delete.
	(elf32_bfingfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK
	here.
	(elf_backend_stack_align): Override.
	(elf_backend_modify_program_headers): Don't override.
	* elf32-frv.c (frvfdpic_always_size_sections): Call
	bfd_elf_stack_segment_size.
	(elf32_frvfdpic_modify_program_headers): Delete.
	(elf32_frvfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK
	here.
	(elf_backend_stack_align): Override.
	(elf_backend_modify_program_headers): Don't override.
	* elf32-lm32.c (lm32_elf_always_size_sections): Leave
	PT_GNU_STACK creation to underlying elf support.  Check
	__stacksize here for backwards compatibility, and set it if
	needed.
	(lm32_elf_modify_segment_map): Delete.
	(lm32_elf_modify_program_headers): Delete.
	(elf_backend_stack_align): Override.
	(elf_backend_modify_segment_map): Don't override.
	(elf_backend_modify_program_headers): Don't override.
	* elf32-sh.c (sh_elf_always_size_sections): Call
	bfd_elf_stack_segment_size.
	(sh_elf_modify_program_headers): Delete.
	(sh_elf_copy_private_data): Don't copy PT_GNU_STACK
	here.
	(elf_backend_stack_align): Override.
	(elf_backend_modify_program_headers): Don't override.
	* elf32-tic6x.c (elf32_tic6x_always_size_sections): Call
	bfd_elf_stack_segment_size.
	(elf32_tic6x_modify_program_headers): Delete.
	(elf32_tic6x_copy_private_data): Delete.
	(elf_backend_stack_align): Override.
	(bfd_elf32_bfd_copy_private_bfd_data): Don't override.
	(elf_backend_modify_program_headers): Don't override.

	include/
	* bfdlink.h (struct bfd_link_info): Add stacksize option.

	ld/
	* ld.texinfo (stack-size): New option.
	* emultempl/elf32.em: Add stack-size option.

	ld/testsuite/
	* ld-elf/binutils.exp: Add -z stack-size=0.
	* ld-elf/elf.exp: Add stack-exec and stack-size tests.
	* ld-elf/orphan-region.d: Add stack-size option. Remove xfail.
	* ld-elf/stack-exec.rd: New.
	* ld-elf/stack-size.rd: New.
	* ld-elf/stack.s: New.
	* ld-scripts/empty-aligned.d: Add stack-size option.
	* ld-sh/fdpic-stack-set.d: New.
	* ld-tic6x/shlib-1.rd: Remove __stacksize symbol.
	* ld-tic6x/shlib-1b.rd: Likewise.
	* ld-tic6x/shlib-1r.rd: Likewise.
	* ld-tic6x/shlib-1rb.rd: Likewise.
	* ld-tic6x/shlib-app-1.rd: Likewise.
	* ld-tic6x/shlib-app-1b.rd: Likewise.
	* ld-tic6x/shlib-app-1r.rd: Likewise.
	* ld-tic6x/shlib-app-1rb.rd: Likewise.
	* ld-tic6x/shlib-noindex.rd: Likewise.
	* ld-tic6x/static-app-1.rd: Likewise.
	* ld-tic6x/static-app-1b.rd: Likewise.
	* ld-tic6x/static-app-1r.rd: Likewise.
	* ld-tic6x/static-app-1rb.rd: Likewise.
2012-10-23 09:33:56 +00:00

111 lines
5.7 KiB
R

There are 15 section headers, starting at offset 0x2178:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 0\] NULL 00000000 000000 000000 00 0 0 0
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1
\[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4
\[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c A 2 9 4
\[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4
\[ 9\] \.neardata PROGBITS 100000e0 0020e0 00000c 00 WA 0 0 4
\[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4
\[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1
\[12\] \.shstrtab STRTAB 00000000 002105 000071 00 0 0 1
\[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4
\[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
Elf file type is EXEC \(Executable file\)
Entry point 0x10000000
There are 4 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x001000 0x00008000 0x00008000 0x001c8 0x001c8 RW 0x1000
LOAD 0x002000 0x10000000 0x10000000 0x000ec 0x000f0 RWE 0x1000
DYNAMIC 0x001138 0x00008138 0x00008138 0x00090 0x00090 RW 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8
Section to Segment mapping:
Segment Sections\.\.\.
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic
01 \.text \.got \.neardata \.bss
02 \.dynamic
03
Dynamic section at offset 0x1138 contains 13 entries:
Tag Type Name/Value
0x00000004 \(HASH\) 0x8000
0x00000005 \(STRTAB\) 0x80dc
0x00000006 \(SYMTAB\) 0x803c
0x0000000a \(STRSZ\) 29 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
0x00000015 \(DEBUG\) 0x0
0x70000000 \(C6000_DSBT_BASE\) 0x100000c0
0x70000001 \(C6000_DSBT_SIZE\) 0x3
0x70000003 \(C6000_DSBT_INDEX\) 0x0
0x00000007 \(RELA\) 0x80fc
0x00000008 \(RELASZ\) 60 \(bytes\)
0x00000009 \(RELAENT\) 12 \(bytes\)
0x00000000 \(NULL\) 0x0
Relocation section '\.rela\.got' at offset 0x10fc contains 3 entries:
Offset Info Type Sym\. Value Symbol's Name \+ Addend
100000d8 00000401 R_C6000_ABS32 100000ec \.bss \+ 0
100000d4 00000701 R_C6000_ABS32 100000e8 b \+ 0
100000dc 00000901 R_C6000_ABS32 100000e0 a \+ 0
Relocation section '\.rela\.neardata' at offset 0x1120 contains 2 entries:
Offset Info Type Sym\. Value Symbol's Name \+ Addend
100000e0 00000101 R_C6000_ABS32 10000000 \.text \+ 8
100000e4 00000801 R_C6000_ABS32 00000000 g1 \+ 0
Symbol table '\.dynsym' contains 10 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 10000000 0 SECTION LOCAL DEFAULT 7
2: 100000c0 0 SECTION LOCAL DEFAULT 8
3: 100000e0 0 SECTION LOCAL DEFAULT 9
4: 100000ec 0 SECTION LOCAL DEFAULT 10
5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c
6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE
7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1
9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a
Symbol table '\.symtab' contains [0-9]+ entries:
Num: Value Size Type Bind Vis Ndx Name
.* 00000000 0 NOTYPE LOCAL DEFAULT UND
.* 00008000 0 SECTION LOCAL DEFAULT 1
.* 0000803c 0 SECTION LOCAL DEFAULT 2
.* 000080dc 0 SECTION LOCAL DEFAULT 3
.* 000080fc 0 SECTION LOCAL DEFAULT 4
.* 00008120 0 SECTION LOCAL DEFAULT 5
.* 00008138 0 SECTION LOCAL DEFAULT 6
.* 10000000 0 SECTION LOCAL DEFAULT 7
.* 100000c0 0 SECTION LOCAL DEFAULT 8
.* 100000e0 0 SECTION LOCAL DEFAULT 9
.* 100000ec 0 SECTION LOCAL DEFAULT 10
.* 00000000 0 SECTION LOCAL DEFAULT 11
.* 00000000 0 FILE LOCAL DEFAULT ABS .*
.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1
.* 00000000 0 FILE LOCAL DEFAULT ABS .*
.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish
.* 00000000 0 FILE LOCAL DEFAULT ABS .*
.* 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC
.* 100000ec 4 OBJECT LOCAL DEFAULT 10 c
.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_
.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE
.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b
.* 00000000 0 NOTYPE WEAK DEFAULT UND g1
.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2
.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0
.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a
.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub