* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
authorVladimir Prus <vladimir@codesourcery.com>
Mon, 6 Nov 2006 10:39:17 +0000 (10:39 +0000)
committerVladimir Prus <vladimir@codesourcery.com>
Mon, 6 Nov 2006 10:39:17 +0000 (10:39 +0000)
Don't prepend "warning" to the message.
* testsuite/ld-elf/warn2.d: New.
* testsuite/ld-elf/symbol2w.s: New.
* testsuite/ld-elf/symbol2ref.s: New.

ld/ChangeLog
ld/emultempl/elf32.em
ld/testsuite/ChangeLog
ld/testsuite/ld-elf/symbol2ref.s [new file with mode: 0644]
ld/testsuite/ld-elf/symbol2w.s [new file with mode: 0644]
ld/testsuite/ld-elf/warn2.d [new file with mode: 0644]

index 239a7f1f0a097f99c944af8f4332ed3ecb1fa4f8..f3e1383834213c2c6c1d099689d32f465f402c97 100644 (file)
@@ -1,3 +1,8 @@
+2006-11-06  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+       Don't prepend "warning" to the message.
+
 2006-10-31  Pedro Alves  <pedro_alves@portugalmail.pt>
 
        * pe-dll.c (autofilter_entry_type): Change name to const.
index 99fb8ab880e91078756bfcf366980c4aea5e9c58..ff48c56687061fbf3a53297a0f8335cdfd44f509 100644 (file)
@@ -1180,10 +1180,8 @@ ${ELF_INTERPRETER_SET_DEFAULT}
       {
        asection *s;
        bfd_size_type sz;
-       bfd_size_type prefix_len;
        char *msg;
        bfd_boolean ret;
-       const char * gnu_warning_prefix = _("warning: ");
 
        if (is->just_syms_flag)
          continue;
@@ -1193,14 +1191,12 @@ ${ELF_INTERPRETER_SET_DEFAULT}
          continue;
 
        sz = s->size;
-       prefix_len = strlen (gnu_warning_prefix);
-       msg = xmalloc ((size_t) (prefix_len + sz + 1));
-       strcpy (msg, gnu_warning_prefix);
-       if (! bfd_get_section_contents (is->the_bfd, s, msg + prefix_len,
+       msg = xmalloc ((size_t) (sz + 1));
+       if (! bfd_get_section_contents (is->the_bfd, s, msg,
                                        (file_ptr) 0, sz))
          einfo ("%F%B: Can't read contents of section .gnu.warning: %E\n",
                 is->the_bfd);
-       msg[prefix_len + sz] = '\0';
+       msg[sz] = '\0';
        ret = link_info.callbacks->warning (&link_info, msg,
                                            (const char *) NULL,
                                            is->the_bfd, (asection *) NULL,
index b4b866ce93be371ad36c3bc14f7aede823cfffd7..0d0cb715c6e40cdf7a6c0e019cedca72c9118fd4 100644 (file)
@@ -1,3 +1,9 @@
+2006-11-06  Vladimir Prus  <vladimir@codesourcery.com>  
+
+       * testsuite/ld-elf/warn2.d: New.
+       * testsuite/ld-elf/symbol2w.s: New.
+       * testsuite/ld-elf/symbol2ref.s: New.   
+
 2006-11-05  Hans-Peter Nilsson  <hp@axis.com>
 
        * ld-cris/ldsym1.d: Adjust for semi-recent ld changes.
diff --git a/ld/testsuite/ld-elf/symbol2ref.s b/ld/testsuite/ld-elf/symbol2ref.s
new file mode 100644 (file)
index 0000000..d2710f9
--- /dev/null
@@ -0,0 +1,3 @@
+       .text
+       .dc.a Foo
+
diff --git a/ld/testsuite/ld-elf/symbol2w.s b/ld/testsuite/ld-elf/symbol2w.s
new file mode 100644 (file)
index 0000000..2452b2b
--- /dev/null
@@ -0,0 +1,6 @@
+        .section        .gnu.warning,"a",@progbits
+       .global Foo
+        .type   Foo, @object
+        .size   Foo, 20
+Foo:
+        .string "function 'Foo' used"
diff --git a/ld/testsuite/ld-elf/warn2.d b/ld/testsuite/ld-elf/warn2.d
new file mode 100644 (file)
index 0000000..864db83
--- /dev/null
@@ -0,0 +1,15 @@
+#source: start.s
+#source: symbol2ref.s
+#source: symbol2w.s
+#ld: -T group.ld
+#warning: ^[^\\n]*\.[obj]+: warning: function 'Foo' used$
+#readelf: -s
+#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
+#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "i960-*-*" "or32-*-*" "pj-*-*"
+
+# Check that warnings are generated for the symbols in .gnu.warning
+# construct and that the symbol still appears as expected.
+
+#...
+[      ]+[0-9]+:[      ]+[0-9a-f]+[    ]+20[   ]+OBJECT[        ]+GLOBAL DEFAULT[      ]+1 Foo
+#pass