aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 cf9c453..1b4b2cc 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 39fb14c..5417865 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 5ce50c4..fb5c4a1 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 0000000..12175ca
--- /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 0000000..eda4804
--- /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 0000000..1846a6b
--- /dev/null
+++ b/ld/testsuite/ld-sh/textrel2.s
@@ -0,0 +1,7 @@
+ .text
+ .align 5
+ .globl g
+ .hidden g
+g:
+ rts
+ nop