bfd/
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 5 Apr 2007 16:16:28 +0000 (16:16 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 5 Apr 2007 16:16:28 +0000 (16:16 +0000)
2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/4304
* elflink.c (bfd_elf_final_link): Call einfo callback in
bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
warning.

ld/testsuite/

2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/4304
* ld-i386/i386.exp: Run "warn1".

* ld-i386/warn1.d: New file.
* ld-i386/warn1.s: Likewise.

bfd/ChangeLog
bfd/elflink.c
ld/testsuite/ChangeLog
ld/testsuite/ld-i386/i386.exp
ld/testsuite/ld-i386/warn1.d [new file with mode: 0644]
ld/testsuite/ld-i386/warn1.s [new file with mode: 0644]

index ab00026..813c13d 100644 (file)
@@ -1,3 +1,10 @@
+2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/4304
+       * elflink.c (bfd_elf_final_link): Call einfo callback in
+       bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
+       warning.
+
 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-spu.c (spu_elf_output_symbol_hook): New function.
index 360ac69..228debb 100644 (file)
@@ -9944,8 +9944,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
 
              if (dyn.d_tag == DT_TEXTREL)
                {
-                 _bfd_error_handler
-                   (_("warning: creating a DT_TEXTREL in a shared object."));
+                info->callbacks->einfo 
+                   (_("%P: warning: creating a DT_TEXTREL in a shared object.\n"));
                  break;
                }
            }
index d15e797..bea757e 100644 (file)
@@ -1,5 +1,13 @@
 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
 
+       PR ld/4304
+       * ld-i386/i386.exp: Run "warn1".
+
+       * ld-i386/warn1.d: New file.
+       * ld-i386/warn1.s: Likewise.
+
+2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
        * ld-i386/combreloc.d: Remove #target: i?86-*-*.
        * ld-i386/reloc.d: Likewise.
 
index f008829..1032e8e 100644 (file)
@@ -115,3 +115,4 @@ run_dump_test "pcrel8"
 run_dump_test "pcrel16"
 run_dump_test "pcrel16abs"
 run_dump_test "alloc"
+run_dump_test "warn1"
diff --git a/ld/testsuite/ld-i386/warn1.d b/ld/testsuite/ld-i386/warn1.d
new file mode 100644 (file)
index 0000000..dd541f2
--- /dev/null
@@ -0,0 +1,4 @@
+#name: --warn-shared-textrel --fatal-warnings
+#as: --32
+#ld: -shared -melf_i386 --warn-shared-textrel --fatal-warnings
+#error: .*warning: creating a DT_TEXTREL in a shared object.
diff --git a/ld/testsuite/ld-i386/warn1.s b/ld/testsuite/ld-i386/warn1.s
new file mode 100644 (file)
index 0000000..ca3481a
--- /dev/null
@@ -0,0 +1,5 @@
+       .text
+       .globl foo
+       .type   foo, @function
+foo:
+       movl    bar, %eax