bfd/ChangeLog:
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 17 Feb 2005 17:11:01 +0000 (17:11 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Thu, 17 Feb 2005 17:11:01 +0000 (17:11 +0000)
* elf32-frv.c (elf32_frv_relocate_section): Remove warning from
uninitialized check_segment[1] in TLSMOFF case.
Reported by Alan Modra.
(elf32_frv_relocate_section): Improve errors and warnings.
ld/testsuite/ChangeLog:
* ld-frv/fdpic-static-6.d: Update.
* ld-frv/fdpic*.d: Remove explicit -mfdpic from #as.  Update
spelling of errors and warnings.

30 files changed:
bfd/ChangeLog
bfd/elf32-frv.c
ld/testsuite/ChangeLog
ld/testsuite/ld-frv/fdpic-pie-1.d
ld/testsuite/ld-frv/fdpic-pie-2.d
ld/testsuite/ld-frv/fdpic-pie-5.d
ld/testsuite/ld-frv/fdpic-pie-6-fail.d
ld/testsuite/ld-frv/fdpic-pie-6.d
ld/testsuite/ld-frv/fdpic-pie-7.d
ld/testsuite/ld-frv/fdpic-pie-8.d
ld/testsuite/ld-frv/fdpic-shared-1.d
ld/testsuite/ld-frv/fdpic-shared-2-fail.d
ld/testsuite/ld-frv/fdpic-shared-2.d
ld/testsuite/ld-frv/fdpic-shared-3.d
ld/testsuite/ld-frv/fdpic-shared-4.d
ld/testsuite/ld-frv/fdpic-shared-5.d
ld/testsuite/ld-frv/fdpic-shared-6-fail.d
ld/testsuite/ld-frv/fdpic-shared-6.d
ld/testsuite/ld-frv/fdpic-shared-7.d
ld/testsuite/ld-frv/fdpic-shared-8-fail.d
ld/testsuite/ld-frv/fdpic-shared-8.d
ld/testsuite/ld-frv/fdpic-shared-local-2.d
ld/testsuite/ld-frv/fdpic-shared-local-8.d
ld/testsuite/ld-frv/fdpic-static-1.d
ld/testsuite/ld-frv/fdpic-static-2.d
ld/testsuite/ld-frv/fdpic-static-5.d
ld/testsuite/ld-frv/fdpic-static-6.d
ld/testsuite/ld-frv/fdpic-static-7.d
ld/testsuite/ld-frv/fdpic-static-8.d
ld/testsuite/ld-frv/tls-shared-1-fail.d

index 072cdeda2539e4b022b4aedd34eb1f5ac441e667..0b2e704ca2206b160cae3853ec3fadea0639b496 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-frv.c (elf32_frv_relocate_section): Remove warning from
+       uninitialized check_segment[1] in TLSMOFF case.  
+       Reported by Alan Modra.
+       (elf32_frv_relocate_section): Improve errors and warnings.
+
 2005-02-17  Alan Modra  <amodra@bigpond.net.au>
 
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning.
index 15f469e2849a8f5d148a4a24f9426e1551d79df9..9a92c2954aa2548a80a5b1f224f2e14b76019409 100644 (file)
@@ -3905,6 +3905,8 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
              check_segment[1] =
                _frvfdpic_osec_to_segment (output_bfd, sec->output_section);
            }
+         else
+           check_segment[1] = -1;
          break;
 
        case R_FRV_GOTTLSOFF12:
@@ -3962,12 +3964,18 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
                 symbols.  */
              && !(picrel && picrel->symndx == -1
                   && picrel->d.h->root.type == bfd_link_hash_undefined))
-           info->callbacks->warning
-             (info,
-              (info->shared || info->pie)
-              ? _("relocations between different segments are not supported")
-              : _("warning: relocation references a different segment"),
-              name, input_bfd, input_section, rel->r_offset);
+           {
+             if (info->shared || info->pie)
+               (*_bfd_error_handler)
+                 (_("%B(%A+0x%lx): reloc against `%s': %s"),
+                  input_bfd, input_section, (long)rel->r_offset, name,
+                  _("relocation references a different segment"));
+             else
+               info->callbacks->warning
+                 (info,
+                  _("relocation references a different segment"),
+                  name, input_bfd, input_section, rel->r_offset);
+           }
          if (!silence_segment_error && (info->shared || info->pie))
            return FALSE;
          elf_elfheader (output_bfd)->e_flags |= EF_FRV_PIC;
@@ -4113,8 +4121,12 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
            }
 
          if (msg)
-           r = info->callbacks->warning
-             (info, msg, name, input_bfd, input_section, rel->r_offset);
+           {
+             (*_bfd_error_handler)
+               (_("%B(%A+0x%lx): reloc against `%s': %s"),
+                input_bfd, input_section, (long)rel->r_offset, name, msg);
+             return FALSE;
+           }
 
          if (! r)
            return FALSE;
index 23a06ea77b404c13398d409032644a3d6c48406e..376e44dc8e307b3ca71a347f0c759a2a3c7d2cb4 100644 (file)
@@ -1,3 +1,9 @@
+2005-02-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * ld-frv/fdpic-static-6.d: Update.
+       * ld-frv/fdpic*.d: Remove explicit -mfdpic from #as.  Update
+       spelling of errors and warnings.
+
 2005-02-15  Nigel Stephens  <nigel@mips.com>
             Maciej W. Rozycki  <macro@mips.com>
 
index 70d2ccadfb1b3de9e57812c43164e7f3b5cdb72d..0e5b23695c1721cf6de8a76d58b35a5a13b5560a 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to local symbols, pie linking
 #source: fdpic1.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie
 
 .*:     file format elf.*frv.*
index a6a5f8baaebec1ff76d5377d7423d82d880edbac..2af0debad15a6424a991e3698401af83b4223e3b 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to global symbols, pie linking
 #source: fdpic2.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie
 
 .*:     file format elf.*frv.*
index b2678e1c538d4f8d586b3964809baa9c889cfe63..8565024c2e6409d3a01d36ff93cfcec9878d31c8 100644 (file)
@@ -1,6 +1,5 @@
 #name: FRV uClinux PIC relocs to undefined symbols, pie linking
 #source: fdpic5.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie
 #error: undefined reference
index eaca671cd987b2eb9986aca52cd5a1e3fb00d000..b7e93ae616472c4498946cd983f074774f12f9ef 100644 (file)
@@ -1,6 +1,5 @@
 #name: FRV uClinux PIC relocs to undefined symbols, pie linking
 #source: fdpic6.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie
-#error: different segments
+#error: different segment
index 9c39cc5489379fc3523dc0c724fa48a00cc665c7..3ddcb34f533d5274520115b9406f96f47c6f2476 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to weak undefined symbols, pie linking
 #source: fdpic6.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie --defsym WD1=D6
 
 .*:     file format elf.*frv.*
index c22c5de3ba3d5b2963f0454fe590a399354ca575..8a6cea0bb693135a070979ae9fc9bec33ea3ea0c 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to local symbols with addends, pie linking
 #source: fdpic7.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie
 
 .*:     file format elf.*frv.*
index f504016c2bea18014e7e0c7b77eced24c3fd0e71..b20a1ac6cf101cb57a51f1f695abef2524eac1a3 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to global symbols with addends, pie linking
 #source: fdpic8.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -pie
 
 .*:     file format elf.*frv.*
index 7d6d03df84ab4c92b151fd562cd4a999c8b1d447..098febd3a6a824d79dd288dde0b17eb391056526 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to local symbols, shared linking
 #source: fdpic1.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
 
 .*:     file format elf.*frv.*
index 5840d4bd0923b15d0012b04d039e336a828cd136..0cec4f6cb2755ac2e649079f55792a19ab0ea008 100644 (file)
@@ -1,5 +1,4 @@
 #name: FRV uClinux PIC relocs to global symbols, failing shared linking
 #source: fdpic2.s
-#as: -mfdpic
 #ld: -shared
-#error: relocations between different segments are not supported
+#error: different segment
index b517d7ba53aa57aa501178287fd0903c2d08ab3e..f6179c529a6afc2e5a088f47ea05fc97b4a862d5 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to (mostly) global symbols, shared linking
 #source: fdpic2.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared --version-script fdpic2min.ldv
 
 .*:     file format elf.*frv.*
index 3c39d2c0b9e951bc68b161621271fa2c1ef2863b..1197fa63f43b638a7333f9fd61d7ac6775d10ab3 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to hidden symbols, shared linking
 #source: fdpic3.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
 
 .*:     file format elf.*frv.*
index fa3a3c2e20a3bf9fdde7bbc26130de07588e4451..3be724a7ab216a071a7404dc7a54ad84bd483bb9 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to protected symbols, shared linking
 #source: fdpic4.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
 
 .*:     file format elf.*frv.*
index 33cbde3cd51b08a4231e5f1115cc91336afe9637..b5ca50e27987dd9376652540007abdbd5f2300e0 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to undefined symbols, shared linking
 #source: fdpic5.s
 #objdump: -DRz -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
 
 .*:     file format elf.*frv.*
index 492fe1c013e036ef8383e38501f46d68b1f867ef..23a245b20d0a572c2c1d89412cf542adf9fe85f6 100644 (file)
@@ -1,6 +1,5 @@
 #name: FRV uClinux PIC relocs to undefined symbols, shared linking
 #source: fdpic6.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
-#error: different segments
+#error: different segment
index 03abbe7095aa78db2dc74adccc1528d3b1326188..4d1789a730b9c789a776a4fed7897f5fb02d38b9 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to weak undefined symbols, shared linking
 #source: fdpic6.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared --defsym WD1=D6 --version-script fdpic6.ldv
 
 .*:     file format elf.*frv.*
index 82218c3292b5b06809a5b8c2e72c11a04c2e6d3c..59d50e8ef83fc35e1be6bd8344843cd17831f70e 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to local symbols with addends, shared linking
 #source: fdpic7.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
 
 .*:     file format elf.*frv.*
index 08472cd15569b5158770e37b3d11a5ab7d946bac..5634040bb7bbc6744566d74167baa6b1ec1fb283 100644 (file)
@@ -1,6 +1,5 @@
 #name: FRV uClinux PIC relocs to (mostly) global symbols with addends, failing shared linking
 #source: fdpic8.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared
 #error: (nonzero addend|may have caused)
index 292bba5ccdfbe02c2fcc429121bd702c6383eb3a..c36bcada2af3e71cbd616020c64bf409515a3873 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to (mostly) global symbols with addends, shared linking
 #source: fdpic8.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared --version-script fdpic8min.ldv
 
 .*:     file format elf.*frv.*
index e18ced01a68434bbf3d54ca4ae9658294e527d81..eaa93aa6498f3ef71f751002d39859e1e6d56f51 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to forced-local symbols, shared linking
 #source: fdpic2.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared --version-script fdpic2.ldv
 
 .*:     file format elf.*frv.*
index 4c92b07986f42e2f5f0d0bb98f3860e3fa33da1a..5b4995f612c03e48124a9d5a8d5b807ef2a532f2 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to forced-local symbols with addends, shared linking
 #source: fdpic8.s
 #objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
 #ld: -shared --version-script fdpic8.ldv
 
 .*:     file format elf.*frv.*
index 75121444cce116133469c328be8680aa14e19428..1973f5e0199f0610ed20b785c735b4670bd4dd74 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to local symbols, static linking
 #source: fdpic1.s
 #objdump: -D
-#as: -mfdpic
 #ld: -static
 
 .*:     file format elf.*frv.*
index 9b5a9c2d6f3479f4d7032a3a97ba896f7cadff87..e01cdfda52ed507affbb546ff6db7955ffd09bbb 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to global symbols, static linking
 #source: fdpic2.s
 #objdump: -D
-#as: -mfdpic
 #ld: -static
 
 .*:     file format elf.*frv.*
index a14e19a05ec2ed67171c64e543d68ace9b502895..ce687b8ff3555b7c7a487c7c440dfdb038895d20 100644 (file)
@@ -1,6 +1,5 @@
 #name: FRV uClinux PIC relocs to undefined symbols, static linking
 #source: fdpic5.s
 #objdump: -D
-#as: -mfdpic
 #ld: -static
 #error: undefined reference
index 9615876ada663ce78f4b05168a77f7b600ff7aa3..fd570dbc09257a9551ff81742387c0492c9b59a1 100644 (file)
@@ -1,74 +1,43 @@
 #name: FRV uClinux PIC relocs to weak undefined symbols, static linking
 #source: fdpic6.s
 #objdump: -D
-#as: -mfdpic
 #ld: -static
-#error: warn.*different segment
+#warning: different segment
 
 .*:     file format elf.*frv.*
 
 Disassembly of section \.text:
 
-00010000 <F6>:
-   10000:      fe 3f c0 00     call 0 <F6-0x10000>
-   10004:      80 40 f0 0c     addi gr15,12,gr0
-   10008:      80 fc 00 24     setlos 0x24,gr0
-   1000c:      80 f4 00 20     setlo 0x20,gr0
-   10010:      80 f8 00 00     sethi hi\(0x0\),gr0
-   10014:      80 40 f0 10     addi gr15,16,gr0
-   10018:      80 fc 00 18     setlos 0x18,gr0
-   1001c:      80 f4 00 1c     setlo 0x1c,gr0
-   10020:      80 f8 00 00     sethi hi\(0x0\),gr0
-   10024:      80 40 ff f8     addi gr15,-8,gr0
-   10028:      80 fc ff f0     setlos 0xf*fffffff0,gr0
-   1002c:      80 f4 ff e8     setlo 0xffe8,gr0
-   10030:      80 f8 ff ff     sethi 0xffff,gr0
-   10034:      80 f4 ff 18     setlo 0xff18,gr0
-   10038:      80 f8 ff fa     sethi 0xfffa,gr0
-   1003c:      80 f4 00 14     setlo 0x14,gr0
-   10040:      80 f8 00 00     sethi hi\(0x0\),gr0
+00010094 <F6>:
+   10094:      fe 3f bf db     call 0 <_gp-0xf8d8>
+   10098:      80 40 f0 0c     addi gr15,12,gr0
+   1009c:      80 fc 00 24     setlos 0x24,gr0
+   100a0:      80 f4 00 20     setlo 0x20,gr0
+   100a4:      80 f8 00 00     sethi hi\(0x0\),gr0
+   100a8:      80 40 f0 10     addi gr15,16,gr0
+   100ac:      80 fc 00 18     setlos 0x18,gr0
+   100b0:      80 f4 00 1c     setlo 0x1c,gr0
+   100b4:      80 f8 00 00     sethi hi\(0x0\),gr0
+   100b8:      80 40 ff f8     addi gr15,-8,gr0
+   100bc:      80 fc ff f0     setlos 0xf*fffffff0,gr0
+   100c0:      80 f4 ff e8     setlo 0xffe8,gr0
+   100c4:      80 f8 ff ff     sethi 0xffff,gr0
+   100c8:      80 f4 be e0     setlo 0xbee0,gr0
+   100cc:      80 f8 ff fe     sethi 0xfffe,gr0
+   100d0:      80 f4 00 14     setlo 0x14,gr0
+   100d4:      80 f8 00 00     sethi hi\(0x0\),gr0
 Disassembly of section \.rofixup:
 
-00010044 <_gp\+0x800>:
-   10044:      00 05 00 f4     orcc\.p gr16,gr52,gr0,icc0
-   10048:      00 05 01 0c     xor\.p gr16,gr12,gr0
-   1004c:      00 05 01 08     xor\.p gr16,gr8,gr0
-   10050:      00 05 00 f8     orcc\.p gr16,gr56,gr0,icc0
-   10054:      00 05 00 c0     orcc\.p gr16,gr0,gr0,icc0
-   10058:      00 05 00 c4     orcc\.p gr16,gr4,gr0,icc0
-   1005c:      00 05 01 00     xor\.p gr16,gr0,gr0
-   10060:      00 05 00 c8     orcc\.p gr16,gr8,gr0,icc0
-   10064:      00 05 00 cc     orcc\.p gr16,gr12,gr0,icc0
-   10068:      00 05 01 04     xor\.p gr16,gr4,gr0
-   1006c:      00 05 00 b8     or\.p gr16,gr56,gr0
-   10070:      00 05 00 bc     or\.p gr16,gr60,gr0
-   10074:      00 05 00 e0     orcc\.p gr16,gr32,gr0,icc0
-   10078:      00 05 00 e4     orcc\.p gr16,gr36,gr0,icc0
-   1007c:      00 05 00 d8     orcc\.p gr16,gr24,gr0,icc0
-   10080:      00 05 00 dc     orcc\.p gr16,gr28,gr0,icc0
-   10084:      00 05 00 d0     orcc\.p gr16,gr16,gr0,icc0
-   10088:      00 05 00 d4     orcc\.p gr16,gr20,gr0,icc0
-   1008c:      00 05 00 fc     orcc\.p gr16,gr60,gr0,icc0
-   10090:      00 05 00 a4     or\.p gr16,gr36,gr0
-   10094:      00 05 00 b0     or\.p gr16,gr48,gr0
-   10098:      00 05 00 b4     or\.p gr16,gr52,gr0
-   1009c:      00 05 00 a8     or\.p gr16,gr40,gr0
-   100a0:      00 05 00 ac     or\.p gr16,gr44,gr0
+000100d8 <__ROFIXUP_LIST__>:
+   100d8:      00 01 41 20     sub\.p gr20,gr32,gr0
 Disassembly of section \.data:
 
-000500a4 <D6>:
-   500a4:      00 00 00 00     add\.p gr0,gr0,gr0
-   500a8:      00 05 00 b0     or\.p gr16,gr48,gr0
-   500ac:      00 00 00 00     add\.p gr0,gr0,gr0
+000140dc <D6>:
+       \.\.\.
 Disassembly of section \.got:
 
-000500b0 <_GLOBAL_OFFSET_TABLE_-0x38>:
+000140e8 <_GLOBAL_OFFSET_TABLE_-0x38>:
        \.\.\.
 
-000500e8 <_GLOBAL_OFFSET_TABLE_>:
-       \.\.\.
-   500f8:      00 05 00 c0     orcc\.p gr16,gr0,gr0,icc0
-   500fc:      00 00 00 00     add\.p gr0,gr0,gr0
-   50100:      00 05 00 c8     orcc\.p gr16,gr8,gr0,icc0
-   50104:      00 05 00 b8     or\.p gr16,gr56,gr0
+00014120 <_GLOBAL_OFFSET_TABLE_>:
        \.\.\.
index 1f882c5d8a66c3c4d09304adaf60ce20864a1769..1fa338e6a05d05e007dc827da3306541880cf6eb 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to local symbols with addends, static linking
 #source: fdpic7.s
 #objdump: -D
-#as: -mfdpic
 #ld: -static
 
 .*:     file format elf.*frv.*
index 4f0deaeea06564c2444c351f11c29c33aecb09a0..10a5e4f0c797729788a4999a71ef78ecb653b188 100644 (file)
@@ -1,7 +1,6 @@
 #name: FRV uClinux PIC relocs to global symbols with addends, static linking
 #source: fdpic8.s
 #objdump: -D
-#as: -mfdpic
 #ld: -static
 
 .*:     file format elf.*frv.*
index 511d09493c027b23229c452f7872800be08bdd6f..8cb220dc0b5832bf57127acfe9cc32a64949ff1b 100644 (file)
@@ -1,4 +1,4 @@
 #name: FRV TLS relocs, shared linking
 #source: tls-1.s
 #ld: -shared tmpdir/tls-1-dep.so
-#error: different segments
+#error: different segment