binutils-gdb/ld/testsuite/ld-tic6x/static-app-1.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

115 lines
5.9 KiB
R

There are 15 section headers, starting at offset 0x2180:
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 000030 0c A 2 9 4
\[ 6\] \.dynamic DYNAMIC 00008150 001150 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 000014 00 WA 0 0 4
\[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4
\[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1
\[12\] \.shstrtab STRTAB 00000000 00210d 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 0x001e0 0x001e0 RW 0x1000
LOAD 0x002000 0x10000000 0x10000000 0x000f4 0x000f8 RWE 0x1000
DYNAMIC 0x001150 0x00008150 0x00008150 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 0x1150 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\) 84 \(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 100000f4 \.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 4 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
100000ec 00000801 R_C6000_ABS32 00000000 g1 \+ 0
100000f0 00000301 R_C6000_ABS32 100000e0 \.neardata \+ 4
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: 100000f4 0 SECTION LOCAL DEFAULT 10
5: 100000f4 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
.* 00008150 0 SECTION LOCAL DEFAULT 6
.* 10000000 0 SECTION LOCAL DEFAULT 7
.* 100000c0 0 SECTION LOCAL DEFAULT 8
.* 100000e0 0 SECTION LOCAL DEFAULT 9
.* 100000f4 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
.* 100000ec 8 OBJECT LOCAL DEFAULT 9 w
.* 00000000 0 FILE LOCAL DEFAULT ABS .*
.* 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC
.* 100000f4 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