* ld-scripts/align.exp: Don't run on aix.

* ld-scripts/assert.s: Remove comment.
	* ld-scripts/data.s: Likewise.
	* ld-scripts/data.t: Set start address to allow for aout headers.
	Make first LONG pc-relative.
	* ld-scripts/data.d: Update.
	* ld-scripts/defined2.d: Allow other random syms.
	* ld-scripts/defined3.d: Likewise.
	* ld-scripts/provide-1.s: Pad section.
	* ld-scripts/provide-1.t: Set .data address and align.
	* ld-scripts/provide-1.d: Update.
	* ld-scripts/provide-2.s: Pad section.
	* ld-scripts/provide-2.d: Allow random trailing syms.
	* ld-scripts/provide-3.s: Pad section.
	* ld-scripts/provide-3.d: Fix typos.
	* ld-scripts/provide.exp: Don't run on aix.
	* ld-scripts/size-1.s: Simplify test.
	* ld-scripts/size-1.t: Rewrite.
	* ld-scripts/size-1.d: Update.
	* ld-scripts/size-2.s: Simplify.
	* ld-scripts/size-2.t: Set start address.  Set exe flag on image.
	* ld-scripts/size-2.d: Update.
	* ld-scripts/size.exp: Don't run on aix.  Run size-2 on all elf
	targets except mips.
This commit is contained in:
Alan Modra 2004-04-08 00:51:37 +00:00
parent 343d4b76f9
commit 76cb62b003
23 changed files with 104 additions and 58 deletions

View file

@ -1,3 +1,30 @@
2004-04-08 Alan Modra <amodra@bigpond.net.au>
* ld-scripts/align.exp: Don't run on aix.
* ld-scripts/assert.s: Remove comment.
* ld-scripts/data.s: Likewise.
* ld-scripts/data.t: Set start address to allow for aout headers.
Make first LONG pc-relative.
* ld-scripts/data.d: Update.
* ld-scripts/defined2.d: Allow other random syms.
* ld-scripts/defined3.d: Likewise.
* ld-scripts/provide-1.s: Pad section.
* ld-scripts/provide-1.t: Set .data address and align.
* ld-scripts/provide-1.d: Update.
* ld-scripts/provide-2.s: Pad section.
* ld-scripts/provide-2.d: Allow random trailing syms.
* ld-scripts/provide-3.s: Pad section.
* ld-scripts/provide-3.d: Fix typos.
* ld-scripts/provide.exp: Don't run on aix.
* ld-scripts/size-1.s: Simplify test.
* ld-scripts/size-1.t: Rewrite.
* ld-scripts/size-1.d: Update.
* ld-scripts/size-2.s: Simplify.
* ld-scripts/size-2.t: Set start address. Set exe flag on image.
* ld-scripts/size-2.d: Update.
* ld-scripts/size.exp: Don't run on aix. Run size-2 on all elf
targets except mips.
2004-03-27 Alexandre Oliva <aoliva@redhat.com> 2004-03-27 Alexandre Oliva <aoliva@redhat.com>
* ld-frv/fdpic*.d: Adjust to compensate for page size change. * ld-frv/fdpic*.d: Adjust to compensate for page size change.

View file

@ -17,6 +17,11 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
if [istarget "rs6000-*-aix*"] {
# Target maps .text and .data to other sections.
return
}
set testname "ALIGN" set testname "ALIGN"
if ![ld_assemble $as $srcdir/$subdir/align.s tmpdir/align.o] { if ![ld_assemble $as $srcdir/$subdir/align.s tmpdir/align.o] {

View file

@ -1 +0,0 @@
#nothing here

View file

@ -5,5 +5,5 @@
.*: file format .* .*: file format .*
Contents of section .text: Contents of section .text:
1000 (0410)?0000(1004)? (0020)?0000(2000)? .* [0-9a-f]* (04)?000000(04)? (0020)?0000(2000)? .*
#pass #pass

View file

@ -1 +0,0 @@
#nothing here

View file

@ -1,8 +1,9 @@
SECTIONS SECTIONS
{ {
.text 0x1000 : . = 0x1000 + SIZEOF_HEADERS;
.text ALIGN (0x20) :
{ {
LONG (label) LONG (label - .)
label = .; label = .;
LONG (ADDR (.other)) LONG (ADDR (.other))
} }

View file

@ -10,8 +10,11 @@
#... #...
0+1 [AT] defined1 0+1 [AT] defined1
#...
0+11 A defined2 0+11 A defined2
#...
0+100 A defined3 0+100 A defined3
#...
0+1ff A defined4 0+1ff A defined4
#... #...
0+3 T sym1 0+3 T sym1

View file

@ -11,15 +11,24 @@
#... #...
0+1 [AT] defined 0+1 [AT] defined
#...
0+200 A defined1 0+200 A defined1
#...
0+201 A defined2 0+201 A defined2
#...
0+100 A defined3 0+100 A defined3
#...
0+ [AT] defined4 0+ [AT] defined4
#...
0+2a A defined5 0+2a A defined5
#...
0+ [AT] defined6 0+ [AT] defined6
#...
0+1 [AT] defined7 0+1 [AT] defined7
#...
0+1 [AT] defined8 0+1 [AT] defined8
#... #...
0+2a A sym1 0+2a A sym1
#...
[0-9a-f]+ T sym2 [0-9a-f]+ T sym2
#pass #pass

View file

@ -5,4 +5,5 @@
.*: file format .* .*: file format .*
Contents of section .data: Contents of section .data:
0000 (08)?000000(08)? (0c)?000000(0c)? 00000000 ............ [0-9a-f]* (1020)?0000(2010)? (2020)?0000(2020)? 00000000 .*
#pass

View file

@ -1,3 +1,4 @@
.data .data
.globl foo .globl foo
foo: .long 0 foo: .long 0
.p2align 4

View file

@ -1,9 +1,10 @@
SECTIONS SECTIONS
{ {
.data : .data 0x2000 :
{ {
LONG (foo) LONG (foo)
LONG (bar) LONG (bar)
. = ALIGN (0x10);
*(.data) *(.data)
} }
PROVIDE (foo = .); PROVIDE (foo = .);

View file

@ -4,4 +4,4 @@
#... #...
0+3 A baz 0+3 A baz
0+0 D foo 0+0 D foo
#pass

View file

@ -4,3 +4,5 @@ foo: .long 0
.globl baz .globl baz
.long baz .long baz
.p2align 4

View file

@ -1,3 +1,3 @@
#source: provide-2.s #source: provide-3.s
#ld: -T provide-2.t #ld: -T provide-3.t
#error: symbol defined in linker script and object file #error: symbol defined in linker script and object file

View file

@ -1,3 +1,4 @@
.data .data
.globl foo .globl foo
foo: .long 0 foo: .long 0
.p2align 4

View file

@ -17,6 +17,11 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
if [istarget "rs6000-*-aix*"] {
# Target maps .text and .data to other sections.
return
}
set testname "provide" set testname "provide"
run_dump_test provide-1 run_dump_test provide-1

View file

@ -6,16 +6,9 @@
#... #...
Contents of section \.text: Contents of section \.text:
0+00 (01)?000000(01)? (02)?000000(02)? ........ [0-9a-f]* (01)?000000(01)? (02)?000000(02)? .*
#... #...
Contents of section \.data: Contents of section \.data:
0+08 (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? ............ [0-9a-f]* (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? 00000000 .*
#... [0-9a-f]* (20)?000000(20)? (18)?000000(18)? .*
Contents of section \.tdata: #pass
0+24 (06)?000000(06)? (07)?000000(07)? (08)?000000(08)? (09)?000000(09)? ................
0+34 (0a)?000000(0a)? ....
#...
Contents of section \.map:
0+38 (08)?000000(08)? (0c)?000000(0c)? (10)?000000(10)? (14)?000000(14)? ................
0+48 (18)?000000(18)? ....
#...

View file

@ -1,15 +1,7 @@
.section .text,"ax",@progbits .text
.long 1,2 .long 1,2
.p2align 5
.section .data,"aw",@progbits .data
.long 3,4,5 .long 3,4,5
.p2align 4
.section .bss,"aw",@nobits
.long 0,0,0,0
# thread local storage sections
.section .tdata,"awT",@progbits
.long 6,7,8,9,10
.section .tbss,"awT",@nobits
.long 0,0,0,0,0,0

View file

@ -1,15 +1,10 @@
SECTIONS SECTIONS
{ {
.text : { *(.text) } . = 0x1000 + SIZEOF_HEADERS;
.data : { *(.data) } .text ALIGN (0x20) : { *(.text) }
.bss : { *(.bss) } .data 0x2000 : {
.tdata : { *(.tdata) } *(.data)
.tbss : { *(.tbss) }
.map : {
LONG (SIZEOF (.text)) LONG (SIZEOF (.text))
LONG (SIZEOF (.data)) LONG (SIZEOF (.data))
LONG (SIZEOF (.bss))
LONG (SIZEOF (.tdata))
LONG (SIZEOF (.tbss))
} }
} }

View file

@ -4,13 +4,14 @@
#... #...
Program Headers: Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
PHDR 0x[0-9a-f]+ 0x0+0000 0x0+0000 0x[0-9a-f]+ 0x[0-9a-f]+ R 0x[0-9a-f]+ +PHDR +0x[0-9a-f]+ 0x0+0000 0x0+0000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x[0-9a-f]+
LOAD 0x[0-9a-f]+ 0x0+0000 0x0+0000 0x0+0030 0x0+0030 R 0x[0-9a-f]+ #...
TLS 0x[0-9a-f]+ 0x0+0008 0x0+0008 0x0+0014 0x0+002c R 0x[0-9a-f]+ +LOAD +0x[0-9a-f]+ 0x0+0100 0x0+0100 0x0+0030 0x0+0030 R E +0x[0-9a-f]+
+TLS +0x[0-9a-f]+ 0x0+0108 0x0+0108 0x0+0014 0x0+002c R +0x[0-9a-f]+
Section to Segment mapping: Section to Segment mapping:
Segment Sections... +Segment Sections\.\.\.
00 \.text \.tdata \.tbss \.map +00 .*
01 \.text \.tdata \.map +01 +\.text \.tdata \.map
02 \.tdata \.tbss \.map +02 +\.tdata \.tbss \.map

View file

@ -1,9 +1,8 @@
.section .text,"ax",@progbits .text
.long 1,2 .long 1,2
# thread local storage sections .section .tdata
.section .tdata,"awT",@progbits
.long 6,7,8,9,10 .long 6,7,8,9,10
.section .tbss,"awT",@nobits .section .tbss
.long 0,0,0,0,0,0 .long 0,0,0,0,0,0

View file

@ -2,13 +2,13 @@ PHDRS
{ {
header PT_PHDR FILEHDR PHDRS ; header PT_PHDR FILEHDR PHDRS ;
image PT_LOAD FLAGS (4); image PT_LOAD FLAGS (5);
tls PT_TLS FLAGS (4); tls PT_TLS FLAGS (4);
} }
SECTIONS SECTIONS
{ {
.text : { *(.text) } :image .text 0x100 : { *(.text) } :image
.tdata : { *(.tdata) } :image :tls .tdata : { *(.tdata) } :image :tls
.tbss : { *(.tbss) } :image : tls .tbss : { *(.tbss) } :image : tls
.map : { .map : {

View file

@ -16,8 +16,20 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# #
if [istarget "rs6000-*-aix*"] {
# Target maps .text and .data to other sections.
return
}
run_dump_test size-1 run_dump_test size-1
if { [istarget "*-*-elf*"] } { if ![is_elf_format] {
run_dump_test size-2 return
} }
if [istarget "mips*-*-*"] {
# MIPS inserts a REGINFO PHDR
return
}
run_dump_test size-2