bfd/ChangeLog:

* 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.
This commit is contained in:
Alexandre Oliva 2005-02-17 17:11:01 +00:00
parent 26c41df326
commit 68320ddb7e
30 changed files with 62 additions and 93 deletions

View 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.

View 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;

View 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>

View 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.*

View 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.*

View 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

View 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

View 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.*

View 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.*

View 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.*

View 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.*

View 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

View 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.*

View 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.*

View 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.*

View 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.*

View 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

View 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.*

View 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.*

View 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)

View 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.*

View 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.*

View 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.*

View 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.*

View 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.*

View 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

View 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_>:
\.\.\.

View 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.*

View 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.*

View 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