This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

patch, d10v reloc overflow checking


This patch fixes how overflows are checked in d10v.
complain_overflow_signed does not check relocations outside of the valid

address range.

This patch also adds a d10v testsuite to the linker to check these
relocations.

Ok to commit?
Tom

--
Tom Rix
GCC Engineer
trix@redhat.com


bfd

2002-05-23  Tom Rix  <trix@redhat.com>

	* elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
	R_D10V_10_PCREL_L and R_D10V_18_PCREL to use 
	complain_overflow_bitfield.

ld/testsuite

2002-05-23  Tom Rix  <trix@redhat.com>

	* ld-d10v/d10v.exp: New driver for d10v.
	* ld-d10v/reloc-001.d - reloc-016.d: New tests. 

diff -rupN -x *~ -x *.rej src-old/bfd/elf32-d10v.c src/bfd/elf32-d10v.c
--- src-old/bfd/elf32-d10v.c	Fri May 24 00:16:17 2002
+++ src/bfd/elf32-d10v.c	Fri May 24 00:22:32 2002
@@ -67,10 +67,10 @@ static reloc_howto_type elf_d10v_howto_t
     HOWTO (R_D10V_10_PCREL_R,	/* type */
 	   2,	                /* rightshift */
 	   2,	                /* size (0 = byte, 1 = short, 2 = long) */
-	   8,	                /* bitsize */
+	   7,	                /* bitsize */
 	   true,	        /* pc_relative */
 	   0,	                /* bitpos */
-	   complain_overflow_signed, /* complain_on_overflow */
+	   complain_overflow_bitfield, /* complain_on_overflow */
 	   bfd_elf_generic_reloc, /* special_function */
 	   "R_D10V_10_PCREL_R",	/* name */
 	   false,	        /* partial_inplace */
@@ -83,10 +83,10 @@ static reloc_howto_type elf_d10v_howto_t
     HOWTO (R_D10V_10_PCREL_L,	/* type */
 	   2,	                /* rightshift */
 	   2,	                /* size (0 = byte, 1 = short, 2 = long) */
-	   8,	                /* bitsize */
+	   7,	                /* bitsize */
 	   true,	        /* pc_relative */
 	   15,	                /* bitpos */
-	   complain_overflow_signed, /* complain_on_overflow */
+	   complain_overflow_bitfield, /* complain_on_overflow */
 	   bfd_elf_generic_reloc, /* special_function */
 	   "R_D10V_10_PCREL_L",	/* name */
 	   false,	        /* partial_inplace */
@@ -128,10 +128,10 @@ static reloc_howto_type elf_d10v_howto_t
     HOWTO (R_D10V_18_PCREL,	/* type */
 	   2,			/* rightshift */
 	   2,			/* size (0 = byte, 1 = short, 2 = long) */
-	   16,			/* bitsize */
+	   15,			/* bitsize */
 	   true,		/* pc_relative */
 	   0,			/* bitpos */
-	   complain_overflow_signed, /* complain_on_overflow */
+	   complain_overflow_bitfield, /* complain_on_overflow */
 	   bfd_elf_generic_reloc, /* special_function */
 	   "R_D10V_18_PCREL",	/* name */
 	   false,		/* partial_inplace */
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/d10v.exp src/ld/testsuite/ld-d10v/d10v.exp
--- src-old/ld/testsuite/ld-d10v/d10v.exp	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/d10v.exp	Fri May 24 00:23:12 2002
@@ -0,0 +1,32 @@
+# Expect script for ld-d10v tests
+#   Copyright 2002 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Written by Tom Rix, trix@redhat.com
+#
+
+# Test d10v 
+
+if ![istarget d10v-*-*] {
+    return
+}
+
+set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+foreach test $test_list {
+    # We need to strip the ".d", but can leave the dirname.
+    verbose [file rootname $test]
+    run_dump_test [file rootname $test]
+}
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-001.d src/ld/testsuite/ld-d10v/reloc-001.d
--- src-old/ld/testsuite/ld-d10v/reloc-001.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-001.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,14 @@
+#source: reloc-001.s
+#ld: -T $srcdir/$subdir/reloc-001.ld
+#objdump: -D
+
+# Test 10 bit pc rel reloc normal case
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <_start>:
+ 1014000:	65 20 cc 1a 	brf0f.s	1014104 <foo>	->	jmp	r13
+Disassembly of section .data:
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-001.ld src/ld/testsuite/ld-d10v/reloc-001.ld
--- src-old/ld/testsuite/ld-d10v/reloc-001.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-001.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,10 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x100);
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-001.s src/ld/testsuite/ld-d10v/reloc-001.s
--- src-old/ld/testsuite/ld-d10v/reloc-001.s	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-001.s	Fri May 24 00:23:12 2002
@@ -0,0 +1,11 @@
+	;; Test pc relative relocation
+
+	.text	
+	.global _start
+_start:
+	 brf0f.s foo 
+	jmp r13	
+
+
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-002.d src/ld/testsuite/ld-d10v/reloc-002.d
--- src-old/ld/testsuite/ld-d10v/reloc-002.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-002.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,13 @@
+#source: reloc-001.s
+#ld: -T $srcdir/$subdir/reloc-002.ld
+#objdump: -D
+
+# Test 10 bit pc rel reloc good boundary.
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <_start>:
+ 1014000:	65 3f cc 1a 	brf0f.s	10141fc <foo>	->	jmp	r13
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-002.ld src/ld/testsuite/ld-d10v/reloc-002.ld
--- src-old/ld/testsuite/ld-d10v/reloc-002.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-002.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,10 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x1F8);
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-003.d src/ld/testsuite/ld-d10v/reloc-003.d
--- src-old/ld/testsuite/ld-d10v/reloc-003.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-003.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,5 @@
+#source: reloc-001.s
+#ld: -T $srcdir/$subdir/reloc-003.ld
+#error: relocation truncated to fit: R_D10V_10_PCREL_L foo$
+
+# Test 10 bit pc rel reloc bad boundary.
\ No newline at end of file
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-003.ld src/ld/testsuite/ld-d10v/reloc-003.ld
--- src-old/ld/testsuite/ld-d10v/reloc-003.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-003.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,10 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x1FC);
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-004.d src/ld/testsuite/ld-d10v/reloc-004.d
--- src-old/ld/testsuite/ld-d10v/reloc-004.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-004.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,5 @@
+#source: reloc-001.s
+#ld: -T $srcdir/$subdir/reloc-004.ld
+#error: relocation truncated to fit: R_D10V_10_PCREL_L foo$
+
+# Test 10 bit pc rel reloc normal bad.
\ No newline at end of file
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-004.ld src/ld/testsuite/ld-d10v/reloc-004.ld
--- src-old/ld/testsuite/ld-d10v/reloc-004.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-004.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,10 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x400);
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-005.d src/ld/testsuite/ld-d10v/reloc-005.d
--- src-old/ld/testsuite/ld-d10v/reloc-005.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-005.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,14 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-005.ld
+#objdump: -D
+
+# Test 18 bit pc rel reloc normal case
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <_start>:
+ 1014000:	e4 00 10 02 	bra.l	1018008 <foo>
+ 1014004:	26 0d 5e 00 	jmp	r13	||	nop	
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-005.ld src/ld/testsuite/ld-d10v/reloc-005.ld
--- src-old/ld/testsuite/ld-d10v/reloc-005.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-005.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,10 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x4000);
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-005.s src/ld/testsuite/ld-d10v/reloc-005.s
--- src-old/ld/testsuite/ld-d10v/reloc-005.s	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-005.s	Fri May 24 00:23:12 2002
@@ -0,0 +1,11 @@
+	;; Test 18 bit pc rel relocation
+
+	.text	
+	.global _start
+_start:
+	bra.l foo 
+	jmp r13	
+
+
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-006.d src/ld/testsuite/ld-d10v/reloc-006.d
--- src-old/ld/testsuite/ld-d10v/reloc-006.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-006.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,14 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-006.ld
+#objdump: -D
+
+# Test 18 bit pc rel reloc good boundary
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <_start>:
+ 1014000:	e4 00 7f ff 	bra.l	1033ffc <foo>
+ 1014004:	26 0d 5e 00 	jmp	r13	||	nop	
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-006.ld src/ld/testsuite/ld-d10v/reloc-006.ld
--- src-old/ld/testsuite/ld-d10v/reloc-006.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-006.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,8 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x1fff4);
+  }
+}
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-007.d src/ld/testsuite/ld-d10v/reloc-007.d
--- src-old/ld/testsuite/ld-d10v/reloc-007.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-007.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,7 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-007.ld
+#objdump: -D
+#error: relocation truncated to fit: R_D10V_18_PCREL foo$
+
+# Test 18 bit pc rel reloc bad boundary
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-007.ld src/ld/testsuite/ld-d10v/reloc-007.ld
--- src-old/ld/testsuite/ld-d10v/reloc-007.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-007.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,8 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x1fff8);
+  }
+}
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-008.d src/ld/testsuite/ld-d10v/reloc-008.d
--- src-old/ld/testsuite/ld-d10v/reloc-008.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-008.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,7 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-008.ld
+#objdump: -D
+#error: relocation truncated to fit: R_D10V_18_PCREL foo$
+
+# Test 18 bit pc rel reloc normal bad
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-008.ld src/ld/testsuite/ld-d10v/reloc-008.ld
--- src-old/ld/testsuite/ld-d10v/reloc-008.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-008.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,8 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	*(.text)   
+	foo = (. + 0x41fff8);
+  }
+}
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-009.d src/ld/testsuite/ld-d10v/reloc-009.d
--- src-old/ld/testsuite/ld-d10v/reloc-009.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-009.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,16 @@
+#source: reloc-009.s
+#ld: -T $srcdir/$subdir/reloc-009.ld
+#objdump: -D
+
+# Test 10 bit pc rel reloc negative normal case
+
+.*:     file format elf32-d10v
+Disassembly of section .text:
+
+01014000 <foo>:
+	...
+
+01014100 <_start>:
+ 1014100:	6f 00 4a c0 	nop		->	brf0f.s	1014000 <foo>
+ 1014104:	26 0d 5e 00 	jmp	r13	||	nop	
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-009.ld src/ld/testsuite/ld-d10v/reloc-009.ld
--- src-old/ld/testsuite/ld-d10v/reloc-009.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-009.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,11 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x100);
+	*(.text)   
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-009.s src/ld/testsuite/ld-d10v/reloc-009.s
--- src-old/ld/testsuite/ld-d10v/reloc-009.s	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-009.s	Fri May 24 00:23:12 2002
@@ -0,0 +1,12 @@
+	;; Test pc relative relocation
+
+	.text	
+	.global _start
+_start:
+	nop
+	brf0f.s foo 
+	jmp r13	
+
+
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-010.d src/ld/testsuite/ld-d10v/reloc-010.d
--- src-old/ld/testsuite/ld-d10v/reloc-010.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-010.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,17 @@
+#source: reloc-009.s
+#ld: -T $srcdir/$subdir/reloc-010.ld
+#objdump: -D
+
+# Test 10 bit pc rel reloc negative good boundary case
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <foo>:
+	...
+
+01014200 <_start>:
+ 1014200:	6f 00 4a 80 	nop		->	brf0f.s	1014000 <foo>
+ 1014204:	26 0d 5e 00 	jmp	r13	||	nop	
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-010.ld src/ld/testsuite/ld-d10v/reloc-010.ld
--- src-old/ld/testsuite/ld-d10v/reloc-010.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-010.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,11 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x200);
+	*(.text)   
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-011.d src/ld/testsuite/ld-d10v/reloc-011.d
--- src-old/ld/testsuite/ld-d10v/reloc-011.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-011.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,6 @@
+#source: reloc-009.s
+#ld: -T $srcdir/$subdir/reloc-011.ld
+#error: relocation truncated to fit: R_D10V_10_PCREL_R foo$
+
+# Test 10 bit pc rel reloc negative bad boundary.
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-011.ld src/ld/testsuite/ld-d10v/reloc-011.ld
--- src-old/ld/testsuite/ld-d10v/reloc-011.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-011.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,11 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x204);
+	*(.text)   
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-012.d src/ld/testsuite/ld-d10v/reloc-012.d
--- src-old/ld/testsuite/ld-d10v/reloc-012.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-012.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,6 @@
+#source: reloc-009.s
+#ld: -T $srcdir/$subdir/reloc-012.ld
+#error: relocation truncated to fit: R_D10V_10_PCREL_R foo$
+
+# Test 10 bit pc rel reloc negative normal bad.
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-012.ld src/ld/testsuite/ld-d10v/reloc-012.ld
--- src-old/ld/testsuite/ld-d10v/reloc-012.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-012.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,11 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x80004);
+	*(.text)   
+  }
+}
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-013.d src/ld/testsuite/ld-d10v/reloc-013.d
--- src-old/ld/testsuite/ld-d10v/reloc-013.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-013.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,17 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-013.ld
+#objdump: -D
+
+# Test 18 bit pc rel reloc negative normal case
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <foo>:
+	...
+
+01014400 <_start>:
+ 1014400:	e4 00 ff 00 	bra.l	1014000 <foo>
+ 1014404:	26 0d 5e 00 	jmp	r13	||	nop	
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-013.ld src/ld/testsuite/ld-d10v/reloc-013.ld
--- src-old/ld/testsuite/ld-d10v/reloc-013.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-013.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,12 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x400);
+	*(.text)   
+  }
+}
+
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-014.d src/ld/testsuite/ld-d10v/reloc-014.d
--- src-old/ld/testsuite/ld-d10v/reloc-014.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-014.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,17 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-014.ld
+#objdump: -D
+
+# Test 18 bit pc rel reloc negative good boundary case
+
+.*:     file format elf32-d10v
+
+Disassembly of section .text:
+
+01014000 <foo>:
+	...
+
+01034000 <_start>:
+ 1034000:	e4 00 80 00 	bra.l	1014000 <foo>
+ 1034004:	26 0d 5e 00 	jmp	r13	||	nop	
+Disassembly of section .data:
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-014.ld src/ld/testsuite/ld-d10v/reloc-014.ld
--- src-old/ld/testsuite/ld-d10v/reloc-014.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-014.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,12 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x20000);
+	*(.text)   
+  }
+}
+
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-015.d src/ld/testsuite/ld-d10v/reloc-015.d
--- src-old/ld/testsuite/ld-d10v/reloc-015.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-015.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,7 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-015.ld
+#objdump: -D
+#error: relocation truncated to fit: R_D10V_18_PCREL foo$
+
+# Test 18 bit pc rel negative reloc bad boundary
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-015.ld src/ld/testsuite/ld-d10v/reloc-015.ld
--- src-old/ld/testsuite/ld-d10v/reloc-015.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-015.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,12 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x20004);
+	*(.text)   
+  }
+}
+
+
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-016.d src/ld/testsuite/ld-d10v/reloc-016.d
--- src-old/ld/testsuite/ld-d10v/reloc-016.d	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-016.d	Fri May 24 00:23:12 2002
@@ -0,0 +1,7 @@
+#source: reloc-005.s
+#ld: -T $srcdir/$subdir/reloc-016.ld
+#objdump: -D
+#error: relocation truncated to fit: R_D10V_18_PCREL foo$
+
+# Test 18 bit pc rel negative reloc normal bad
+
diff -rupN -x *~ -x *.rej src-old/ld/testsuite/ld-d10v/reloc-016.ld src/ld/testsuite/ld-d10v/reloc-016.ld
--- src-old/ld/testsuite/ld-d10v/reloc-016.ld	Wed Dec 31 18:00:00 1969
+++ src/ld/testsuite/ld-d10v/reloc-016.ld	Fri May 24 00:23:12 2002
@@ -0,0 +1,12 @@
+SECTIONS
+{
+  .text 0x01014000 :
+  { 
+	foo = .;
+	. = (. + 0x800004);
+	*(.text)   
+  }
+}
+
+
+

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]