old-cross-binutils/ld/testsuite/ld-sh/tlspic-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

86 lines
2.7 KiB
Makefile

#source: tlspic1.s
#source: tlspic2.s
#as: -little
#ld: -shared -EL
#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\] \.hash +.*
\[ 2\] \.dynsym +.*
\[ 3\] \.dynstr +.*
\[ 4\] \.rela\.dyn +.*
\[ 5\] \.rela\.plt +.*
\[ 6\] \.plt +.*
\[ 7\] \.text +PROGBITS +0+[0-9a-f]+ .*
\[ 8\] \.tdata +PROGBITS +0+[0-9a-f]+ [0-9a-f]+ 0+018 00 WAT 0 0 4
\[ 9\] \.tbss +NOBITS +0+[0-9a-f]+ [0-9a-f]+ 0+008 00 WAT 0 0 1
#...
\[[0-9a-f]+\] \.got +PROGBITS +0+[0-9a-f]+ .*
#...
\[[0-9a-f]+\] \.shstrtab +.*
\[[0-9a-f]+\] \.symtab +.*
\[[0-9a-f]+\] \.strtab +.*
Key to Flags:
.*
.*
.*
Elf file type is DYN \(Shared object file\)
Entry point 0x[0-9a-f]+
There are 4 program headers, starting at offset [0-9]+
Program Headers:
Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
LOAD.*
LOAD.*
DYNAMIC.*
TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+20 R +0x4
Section to Segment mapping:
Segment Sections\.\.\.
00 +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.plt \.text *
01 +\.tdata \.dynamic \.got *
02 +\.dynamic *
03 +\.tdata \.tbss *
Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
0+[0-9a-f]+ 00000095 R_SH_TLS_DTPMOD32 +0+00
0+[0-9a-f]+ 00000097 R_SH_TLS_TPOFF32 +0+0c
0+[0-9a-f]+ 00000095 R_SH_TLS_DTPMOD32 +0+00
0+[0-9a-f]+ 00000095 R_SH_TLS_DTPMOD32 +0+00
0+[0-9a-f]+ 00000097 R_SH_TLS_TPOFF32 +0+1c
0+[0-9a-f]+ 00000095 R_SH_TLS_DTPMOD32 +0+00
0+[0-9a-f]+ 00000097 R_SH_TLS_TPOFF32 +0+14
0+[0-9a-f]+ 0000[0-9a-f]+95 R_SH_TLS_DTPMOD32 +0+ +sg1 \+ 0
0+[0-9a-f]+ 0000[0-9a-f]+96 R_SH_TLS_DTPOFF32 +0+ +sg1 \+ 0
0+[0-9a-f]+ 0000[0-9a-f]+97 R_SH_TLS_TPOFF32 +0+04 +sg2 \+ 0
Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
0+[0-9a-f]+ 0000[0-9a-f]+a4 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-9a-f]+ +0 SECTION LOCAL DEFAULT +7 *
+2: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 *
+3: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 *
+4: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +[0-9]+ *
+5: 0+ +0 NOTYPE +LOCAL +DEFAULT UND *
+6: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+[0-9a-f]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_addr
+[0-9a-f]+: 0+00 +0 TLS +GLOBAL DEFAULT +8 sg1
#...
+[0-9a-f]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
#...
+[0-9a-f]+: 0+04 +0 TLS +GLOBAL DEFAULT +8 sg2
#...
#pass