various ld testsuite fixes

Alan Modra amodra@bigpond.net.au
Thu Apr 8 00:51:00 GMT 2004


On Thu, Apr 08, 2004 at 02:32:52AM +0930, Alan Modra wrote:
> Fixes lots of failures on non-ELF targets.  These are all problems
> with relatively new tests.  I'll commit tomorrow with a suitable
> changelog.

Overnight run showed a few more tweaks needed to size-2 test.

	* 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.

Index: ld/testsuite/ld-scripts/align.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/align.exp,v
retrieving revision 1.1
diff -u -p -r1.1 align.exp
--- ld/testsuite/ld-scripts/align.exp	20 Feb 2004 15:31:10 -0000	1.1
+++ ld/testsuite/ld-scripts/align.exp	8 Apr 2004 00:28:32 -0000
@@ -17,6 +17,11 @@
 # along with this program; if not, write to the Free Software
 # 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"
 
 if ![ld_assemble $as $srcdir/$subdir/align.s tmpdir/align.o] {
Index: ld/testsuite/ld-scripts/assert.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/assert.s,v
retrieving revision 1.1
diff -u -p -r1.1 assert.s
--- ld/testsuite/ld-scripts/assert.s	18 Feb 2004 16:37:21 -0000	1.1
+++ ld/testsuite/ld-scripts/assert.s	8 Apr 2004 00:28:32 -0000
@@ -1 +0,0 @@
-#nothing here
Index: ld/testsuite/ld-scripts/data.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/data.d,v
retrieving revision 1.2
diff -u -p -r1.2 data.d
--- ld/testsuite/ld-scripts/data.d	23 Feb 2004 09:24:46 -0000	1.2
+++ ld/testsuite/ld-scripts/data.d	8 Apr 2004 00:28:32 -0000
@@ -5,5 +5,5 @@
 .*:     file format .*
 
 Contents of section .text:
- 1000 (0410)?0000(1004)? (0020)?0000(2000)? .*
+ [0-9a-f]* (04)?000000(04)? (0020)?0000(2000)? .*
 #pass
Index: ld/testsuite/ld-scripts/data.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/data.s,v
retrieving revision 1.1
diff -u -p -r1.1 data.s
--- ld/testsuite/ld-scripts/data.s	19 Feb 2004 14:08:31 -0000	1.1
+++ ld/testsuite/ld-scripts/data.s	8 Apr 2004 00:28:32 -0000
@@ -1 +0,0 @@
-#nothing here
Index: ld/testsuite/ld-scripts/data.t
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/data.t,v
retrieving revision 1.2
diff -u -p -r1.2 data.t
--- ld/testsuite/ld-scripts/data.t	23 Feb 2004 09:24:46 -0000	1.2
+++ ld/testsuite/ld-scripts/data.t	8 Apr 2004 00:28:32 -0000
@@ -1,8 +1,9 @@
 SECTIONS
 {
-  .text 0x1000 :
+  . = 0x1000 + SIZEOF_HEADERS;
+  .text ALIGN (0x20) :
    {
-     LONG (label)
+     LONG (label - .)
      label = .;
      LONG (ADDR (.other))
    }
Index: ld/testsuite/ld-scripts/defined2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/defined2.d,v
retrieving revision 1.1
diff -u -p -r1.1 defined2.d
--- ld/testsuite/ld-scripts/defined2.d	8 Oct 2003 12:35:18 -0000	1.1
+++ ld/testsuite/ld-scripts/defined2.d	8 Apr 2004 00:28:32 -0000
@@ -10,8 +10,11 @@
 
 #...
 0+1 [AT] defined1
+#...
 0+11 A defined2
+#...
 0+100 A defined3
+#...
 0+1ff A defined4
 #...
 0+3 T sym1
Index: ld/testsuite/ld-scripts/defined3.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/defined3.d,v
retrieving revision 1.1
diff -u -p -r1.1 defined3.d
--- ld/testsuite/ld-scripts/defined3.d	11 Oct 2003 09:18:58 -0000	1.1
+++ ld/testsuite/ld-scripts/defined3.d	8 Apr 2004 00:28:32 -0000
@@ -11,15 +11,24 @@
 
 #...
 0+1 [AT] defined
+#...
 0+200 A defined1
+#...
 0+201 A defined2
+#...
 0+100 A defined3
+#...
 0+ [AT] defined4
+#...
 0+2a A defined5
+#...
 0+ [AT] defined6
+#...
 0+1 [AT] defined7
+#...
 0+1 [AT] defined8
 #...
 0+2a A sym1
+#...
 [0-9a-f]+ T sym2
 #pass
Index: ld/testsuite/ld-scripts/provide-1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-1.d,v
retrieving revision 1.1
diff -u -p -r1.1 provide-1.d
--- ld/testsuite/ld-scripts/provide-1.d	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide-1.d	8 Apr 2004 00:28:32 -0000
@@ -5,4 +5,5 @@
 .*:     file format .*
 
 Contents of section .data:
- 0000 (08)?000000(08)? (0c)?000000(0c)? 00000000           ............    
+ [0-9a-f]* (1020)?0000(2010)? (2020)?0000(2020)? 00000000 .*
+#pass
Index: ld/testsuite/ld-scripts/provide-1.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-1.s,v
retrieving revision 1.1
diff -u -p -r1.1 provide-1.s
--- ld/testsuite/ld-scripts/provide-1.s	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide-1.s	8 Apr 2004 00:28:32 -0000
@@ -1,3 +1,4 @@
 	.data
 	.globl foo
 foo:	.long 0
+	.p2align 4
Index: ld/testsuite/ld-scripts/provide-1.t
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-1.t,v
retrieving revision 1.1
diff -u -p -r1.1 provide-1.t
--- ld/testsuite/ld-scripts/provide-1.t	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide-1.t	8 Apr 2004 00:28:32 -0000
@@ -1,9 +1,10 @@
 SECTIONS 
 {
-  .data :
+  .data 0x2000 :
   {
     LONG (foo)
     LONG (bar)
+    . = ALIGN (0x10);
     *(.data)
   }
   PROVIDE (foo = .);
Index: ld/testsuite/ld-scripts/provide-2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-2.d,v
retrieving revision 1.2
diff -u -p -r1.2 provide-2.d
--- ld/testsuite/ld-scripts/provide-2.d	19 Mar 2004 07:14:44 -0000	1.2
+++ ld/testsuite/ld-scripts/provide-2.d	8 Apr 2004 00:28:32 -0000
@@ -4,4 +4,4 @@
 #...
 0+3 A baz
 0+0 D foo
-
+#pass
Index: ld/testsuite/ld-scripts/provide-2.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-2.s,v
retrieving revision 1.1
diff -u -p -r1.1 provide-2.s
--- ld/testsuite/ld-scripts/provide-2.s	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide-2.s	8 Apr 2004 00:28:32 -0000
@@ -4,3 +4,5 @@ foo:	.long 0
 
 	.globl baz
 	.long baz
+
+	.p2align 4
Index: ld/testsuite/ld-scripts/provide-3.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-3.d,v
retrieving revision 1.1
diff -u -p -r1.1 provide-3.d
--- ld/testsuite/ld-scripts/provide-3.d	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide-3.d	8 Apr 2004 00:28:32 -0000
@@ -1,3 +1,3 @@
-#source: provide-2.s
-#ld: -T provide-2.t
+#source: provide-3.s
+#ld: -T provide-3.t
 #error: symbol defined in linker script and object file
Index: ld/testsuite/ld-scripts/provide-3.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide-3.s,v
retrieving revision 1.1
diff -u -p -r1.1 provide-3.s
--- ld/testsuite/ld-scripts/provide-3.s	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide-3.s	8 Apr 2004 00:28:32 -0000
@@ -1,3 +1,4 @@
 	.data
 	.globl foo
 foo:	.long 0
+	.p2align 4
Index: ld/testsuite/ld-scripts/provide.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/provide.exp,v
retrieving revision 1.1
diff -u -p -r1.1 provide.exp
--- ld/testsuite/ld-scripts/provide.exp	23 Feb 2004 10:10:02 -0000	1.1
+++ ld/testsuite/ld-scripts/provide.exp	8 Apr 2004 00:28:32 -0000
@@ -17,6 +17,11 @@
 # along with this program; if not, write to the Free Software
 # 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"
 
 run_dump_test provide-1
Index: ld/testsuite/ld-scripts/size-1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size-1.d,v
retrieving revision 1.2
diff -u -p -r1.2 size-1.d
--- ld/testsuite/ld-scripts/size-1.d	5 Mar 2004 19:27:34 -0000	1.2
+++ ld/testsuite/ld-scripts/size-1.d	8 Apr 2004 00:28:32 -0000
@@ -6,16 +6,9 @@
 
 #...
 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:
- 0+08 (03)?000000(03)? (04)?000000(04)? (05)?000000(05)?           ............    
-#...
-Contents of section \.tdata:
- 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)?                             ....            
-#...
+ [0-9a-f]* (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? 00000000 .*
+ [0-9a-f]* (20)?000000(20)? (18)?000000(18)? .*
+#pass
Index: ld/testsuite/ld-scripts/size-1.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size-1.s,v
retrieving revision 1.1
diff -u -p -r1.1 size-1.s
--- ld/testsuite/ld-scripts/size-1.s	5 Mar 2004 11:26:05 -0000	1.1
+++ ld/testsuite/ld-scripts/size-1.s	8 Apr 2004 00:28:32 -0000
@@ -1,15 +1,7 @@
-	.section .text,"ax",@progbits
+	.text
 	.long 1,2
+	.p2align 5
 
-	.section .data,"aw",@progbits
+	.data
 	.long 3,4,5
-
-	.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
+	.p2align 4
Index: ld/testsuite/ld-scripts/size-1.t
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size-1.t,v
retrieving revision 1.1
diff -u -p -r1.1 size-1.t
--- ld/testsuite/ld-scripts/size-1.t	5 Mar 2004 11:26:05 -0000	1.1
+++ ld/testsuite/ld-scripts/size-1.t	8 Apr 2004 00:28:32 -0000
@@ -1,15 +1,10 @@
 SECTIONS
 {
-  .text : { *(.text) }
-  .data : { *(.data) }
-  .bss : { *(.bss) }
-  .tdata : { *(.tdata) }
-  .tbss : { *(.tbss) }
-  .map : {
+  . = 0x1000 + SIZEOF_HEADERS;
+  .text ALIGN (0x20) : { *(.text) }
+  .data 0x2000 : {
+    *(.data)
     LONG (SIZEOF (.text))
     LONG (SIZEOF (.data))
-    LONG (SIZEOF (.bss))
-    LONG (SIZEOF (.tdata))
-    LONG (SIZEOF (.tbss))
   }
 }
Index: ld/testsuite/ld-scripts/size-2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size-2.d,v
retrieving revision 1.2
diff -u -p -r1.2 size-2.d
--- ld/testsuite/ld-scripts/size-2.d	5 Mar 2004 19:27:34 -0000	1.2
+++ ld/testsuite/ld-scripts/size-2.d	8 Apr 2004 00:28:32 -0000
@@ -4,13 +4,14 @@
 
 #...
 Program Headers:
-  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]+
-  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]+
+ +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]+
+#...
+ +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:
-  Segment Sections...
-   00     \.text \.tdata \.tbss \.map 
-   01     \.text \.tdata \.map 
-   02     \.tdata \.tbss \.map 
+ +Segment Sections\.\.\.
+ +00 .*
+ +01 +\.text \.tdata \.map 
+ +02 +\.tdata \.tbss \.map 
Index: ld/testsuite/ld-scripts/size-2.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size-2.s,v
retrieving revision 1.1
diff -u -p -r1.1 size-2.s
--- ld/testsuite/ld-scripts/size-2.s	5 Mar 2004 11:26:05 -0000	1.1
+++ ld/testsuite/ld-scripts/size-2.s	8 Apr 2004 00:28:32 -0000
@@ -1,9 +1,8 @@
-	.section .text,"ax",@progbits
+	.text
 	.long 1,2
 
-	# thread local storage sections
-	.section .tdata,"awT",@progbits
+	.section .tdata
 	.long 6,7,8,9,10
 	
-	.section .tbss,"awT",@nobits
+	.section .tbss
 	.long 0,0,0,0,0,0
Index: ld/testsuite/ld-scripts/size-2.t
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size-2.t,v
retrieving revision 1.1
diff -u -p -r1.1 size-2.t
--- ld/testsuite/ld-scripts/size-2.t	5 Mar 2004 11:26:05 -0000	1.1
+++ ld/testsuite/ld-scripts/size-2.t	8 Apr 2004 00:28:32 -0000
@@ -2,13 +2,13 @@ PHDRS
 {
   header PT_PHDR FILEHDR PHDRS ;
 	 
-  image PT_LOAD FLAGS (4);
+  image PT_LOAD FLAGS (5);
   tls PT_TLS FLAGS (4);
   
 }
 SECTIONS
 {
-  .text : { *(.text) } :image
+  .text 0x100 : { *(.text) } :image
   .tdata : { *(.tdata) } :image :tls
   .tbss : { *(.tbss) } :image : tls
   .map : {
Index: ld/testsuite/ld-scripts/size.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/size.exp,v
retrieving revision 1.1
diff -u -p -r1.1 size.exp
--- ld/testsuite/ld-scripts/size.exp	5 Mar 2004 11:26:05 -0000	1.1
+++ ld/testsuite/ld-scripts/size.exp	8 Apr 2004 00:28:32 -0000
@@ -16,8 +16,20 @@
 # 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
 
-if { [istarget "*-*-elf*"] } {
-    run_dump_test size-2
+if ![is_elf_format] {
+    return
 }
+
+if [istarget "mips*-*-*"] {
+    # MIPS inserts a REGINFO PHDR
+    return
+}
+
+run_dump_test size-2


-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Binutils mailing list