summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2003-08-02 13:46:44 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2003-08-02 13:46:44 +0000
commit866f48b717574d0bcf220751e0626e60432eb207 (patch)
treedb11ff4d401f4e8c8627d178079d457b96b820f1
parentedf6a2322f3685e9e4ad54c5682e377553ef9c86 (diff)
downloadbinutils-gdb-866f48b717574d0bcf220751e0626e60432eb207.tar.gz
* elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
* ld-sh/shared-2.d, ld-sh/textrel1.s, ld-sh/textrel2.s: New test.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-sh.c2
-rw-r--r--ld/testsuite/ChangeLog4
-rw-r--r--ld/testsuite/ld-sh/shared-2.d20
-rw-r--r--ld/testsuite/ld-sh/textrel1.s11
-rw-r--r--ld/testsuite/ld-sh/textrel2.s7
6 files changed, 46 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index cf9c4536838..1b4b2ccc733 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
+
2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 39fb14c6a1a..541786581d6 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -6497,8 +6497,6 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
sreloc, 2))
return FALSE;
}
- if (sec->flags & SEC_READONLY)
- info->flags |= DF_TEXTREL;
elf_section_data (sec)->sreloc = sreloc;
}
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 5ce50c4110d..fb5c4a1d9cd 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * ld-sh/shared-2.d, ld-sh/textrel1.s, ld-sh/textrel2.s: New test.
+
2003-08-02 Alan Modra <amodra@bigpond.net.au>
* ld-d10v/reloc-001.d: Adjust for objdump -d change.
diff --git a/ld/testsuite/ld-sh/shared-2.d b/ld/testsuite/ld-sh/shared-2.d
new file mode 100644
index 00000000000..12175caecb2
--- /dev/null
+++ b/ld/testsuite/ld-sh/shared-2.d
@@ -0,0 +1,20 @@
+#source: textrel1.s
+#source: textrel2.s
+#as: -little
+#ld: -shared -EL
+#readelf: -d
+#target: sh*-*-elf sh*-*-linux* sh*-*-netbsd*
+
+# Make sure that there is no unnecessary DT_TEXTREL entry.
+
+Dynamic segment at offset 0x[0-9a-f]+ contains 9 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000007 \(RELA\) 0x[0-9a-f]+
+ 0x00000008 \(RELASZ\) 12 \(bytes\)
+ 0x00000009 \(RELAENT\) 12 \(bytes\)
+ 0x00000000 \(NULL\) 0x0
diff --git a/ld/testsuite/ld-sh/textrel1.s b/ld/testsuite/ld-sh/textrel1.s
new file mode 100644
index 00000000000..eda4804bc5e
--- /dev/null
+++ b/ld/testsuite/ld-sh/textrel1.s
@@ -0,0 +1,11 @@
+ .text
+ .align 5
+ .globl f
+f:
+ mov.l .L1,r0
+ rts
+ nop
+ .align 2
+.L1: .long g - f
+ .long foo@GOT
+
diff --git a/ld/testsuite/ld-sh/textrel2.s b/ld/testsuite/ld-sh/textrel2.s
new file mode 100644
index 00000000000..1846a6b7211
--- /dev/null
+++ b/ld/testsuite/ld-sh/textrel2.s
@@ -0,0 +1,7 @@
+ .text
+ .align 5
+ .globl g
+ .hidden g
+g:
+ rts
+ nop