old-cross-binutils/ld/testsuite/ld-sh/tlsbin-2.d
H.J. Lu 57316bff0a bfd/
2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_mark_used_section): New.
	(bfd_elf_gc_sections): Call elf_gc_mark_section for
	non-relocatable link if we don't do GC.

include/

2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_link_info): Add gc_sections.

ld/

2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Remove
	unused empty output sections for non-relocatable link.

	* ld.h (args_type): Remove gc_sections.

	* ldlang.c (lang_mark_used_section): New.
	(lang_gc_sections): Use link_info.gc_sections instead of
	command_line.gc_sections.
	* ldmain.c (main): Likewise.
	* lexsup.c (parse_args): Likewise.
	* ldlang.c (lang_process): Call lang_mark_used_section.

	* ldmain.c (main): Initialize link_info.gc_sections to FALSE.

ld/testsuite/

2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-alpha/tlsbin.rd: Updated for empty section removal.
	* ld-alpha/tlsbinr.rd: Likewise.
	* ld-alpha/tlspic.rd: Likewise.
	* ld-arm/mixed-lib.sym: Likewise.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlspic.rd: Likewise.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-powerpc/apuinfo.rd: Likewise.
	* ld-powerpc/powerpc.exp: Likewise.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-s390/tlsbin.rd: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlspic.rd: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
	* ld-sh/tlsbin-2.d: Likewise.
	* ld-sh/tlspic-2.d: Likewise.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunpic32.rd: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
2005-03-16 21:52:48 +00:00

80 lines
2.3 KiB
Makefile

#source: tlsbinpic.s
#source: tlsbin.s
#as: -little
#ld: -EL tmpdir/tlsbin-0-dso.so
#readelf: -Ssrl
#target: sh*-*-linux* sh*-*-netbsd*
There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+:
Section Headers:
\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
\[ 1\] \.interp +.*
\[ 2\] \.hash +.*
\[ 3\] \.dynsym +.*
\[ 4\] \.dynstr +.*
\[ 5\] \.rela\.dyn +.*
\[ 6\] \.rela\.plt +.*
\[ 7\] \.plt +.*
\[ 8\] \.text +PROGBITS +0+401000 .*
\[ 9\] \.tdata +PROGBITS +0+413000 [0-9a-f]+ 0+018 00 WAT 0 0 4
\[10\] \.tbss +NOBITS +0+413018 [0-9a-f]+ 0+010 00 WAT 0 0 1
#...
\[[0-9a-f]+\] \.got +PROGBITS +0+414000 .*
#...
\[[0-9a-f]+\] \.shstrtab +.*
\[[0-9a-f]+\] \.symtab +.*
\[[0-9a-f]+\] \.strtab +.*
Key to Flags:
.*
.*
.*
Elf file type is EXEC \(Executable file\)
Entry point 0x402000
There are [0-9]+ program headers, starting at offset [0-9]+
Program Headers:
Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
PHDR.*
INTERP.*
.*Requesting program interpreter.*
LOAD.*
LOAD.*
DYNAMIC.*
TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
Section to Segment mapping:
Segment Sections\.\.\.
00 +
01 +\.interp *
02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.plt \.text *
03 +\.tdata \.dynamic \.got *
04 +\.dynamic *
05 +\.tdata \.tbss *
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
0+414010 00000197 R_SH_TLS_TPOFF32 +0+ +sG3 \+ 0
0+414014 00000397 R_SH_TLS_TPOFF32 +0+ +sG2 \+ 0
0+414018 00000497 R_SH_TLS_TPOFF32 +0+ +sG4 \+ 0
0+41401c 0000[0-9a-f]+97 R_SH_TLS_TPOFF32 +0+ +sG1 \+ 0
Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
0+41400c 000005a4 R_SH_JMP_SLOT +[0-9a-f]+ +__tls_get_addr \+ [0-9a-f]+
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
+0: 0+ +0 NOTYPE +LOCAL +DEFAULT UND *
+1: 0+ +0 TLS +GLOBAL DEFAULT UND sG3
+2: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
+3: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
+4: 0+ +0 TLS +GLOBAL DEFAULT UND sG4
+5: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_addr
#...
+[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG1
#...
#pass