bind locally.
* ld-frv/fdpic-pie-8.d: Likewise.
* ld-frv/fdpic-shared-4.d: Likewise.
* ld-frv/fdpic-pie-6-fail.d: Renamed from...
* ld-frv/fdpic-pie-6.d: New test.
* ld-frv/fdpic-shared-6-fail.d: Renamed from...
* ld-frv/fdpic-shared-6.d: New test.
* ld-frv/fdpic6.ldv: New.
* ld-frv/fdpic-static-6.d: Adjust test name.
* ld-frv/fdpic-pie-8-fail.d: Removed.
* ld-frv/fdpic.exp: Run new tests.
+2004-02-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * ld-frv/fdpic-pie-2.d: Adjust for decay of FUNCDESC relocs that
+ bind locally.
+ * ld-frv/fdpic-pie-8.d: Likewise.
+ * ld-frv/fdpic-shared-4.d: Likewise.
+ * ld-frv/fdpic-pie-6-fail.d: Renamed from...
+ * ld-frv/fdpic-pie-6.d: New test.
+ * ld-frv/fdpic-shared-6-fail.d: Renamed from...
+ * ld-frv/fdpic-shared-6.d: New test.
+ * ld-frv/fdpic6.ldv: New.
+ * ld-frv/fdpic-static-6.d: Adjust test name.
+ * ld-frv/fdpic-pie-8-fail.d: Removed.
+ * ld-frv/fdpic.exp: Run new tests.
+
2004-02-23 Nathan Sidwell <nathan@codesourcery.com>
* ld-scripts/provide.exp: New.
10630: R_FRV_32 \.data
00010634 <GD0>:
- 10634: 00 00 00 00 add\.p gr0,gr0,gr0
- 10634: R_FRV_FUNCDESC GFb
+ 10634: 00 00 00 04 add\.p gr0,gr4,gr0
+ 10634: R_FRV_FUNCDESC \.text
10638: 00 00 00 04 add\.p gr0,gr4,gr0
10638: R_FRV_32 \.text
Disassembly of section \.got:
000106d0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 106dc: R_FRV_FUNCDESC GF4
+ 106dc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106dc: R_FRV_FUNCDESC \.text
106e0: 00 00 00 04 add\.p gr0,gr4,gr0
106e0: R_FRV_32 \.text
- \.\.\.
- 106e4: R_FRV_FUNCDESC GF6
- 106e8: R_FRV_FUNCDESC GF5
+ 106e4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106e4: R_FRV_FUNCDESC \.text
+ 106e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106e8: R_FRV_FUNCDESC \.text
106ec: 00 00 00 04 add\.p gr0,gr4,gr0
106ec: R_FRV_32 \.data
106f0: 00 00 00 04 add\.p gr0,gr4,gr0
--- /dev/null
+#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
-#name: FRV uClinux PIC relocs to undefined symbols, pie linking
+#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
-#error: different segments
+#ld: -pie --defsym WD1=D6
+
+.*: file format elf.*frv.*
+
+Disassembly of section \.plt:
+
+000005a8 <\.plt>:
+ 5a8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 5ac: c0 1a 00 06 bra 5c4 <F6-0x10>
+ 5b0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 5b4: c0 1a 00 04 bra 5c4 <F6-0x10>
+ 5b8: 00 00 00 10 add\.p gr0,gr16,gr0
+ 5bc: c0 1a 00 02 bra 5c4 <F6-0x10>
+ 5c0: 00 00 00 18 add\.p gr0,gr24,gr0
+ 5c4: 88 08 f1 40 ldd @\(gr15,gr0\),gr4
+ 5c8: 80 30 40 00 jmpl @\(gr4,gr0\)
+ 5cc: 9c cc ff f0 lddi @\(gr15,-16\),gr14
+ 5d0: 80 30 e0 00 jmpl @\(gr14,gr0\)
+Disassembly of section \.text:
+
+000005d4 <F6>:
+ 5d4: fe 3f ff fe call 5cc <F6-0x8>
+ 5d8: 80 40 f0 0c addi gr15,12,gr0
+ 5dc: 80 fc 00 24 setlos 0x24,gr0
+ 5e0: 80 f4 00 20 setlo 0x20,gr0
+ 5e4: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5e8: 80 40 f0 10 addi gr15,16,gr0
+ 5ec: 80 fc 00 18 setlos 0x18,gr0
+ 5f0: 80 f4 00 1c setlo 0x1c,gr0
+ 5f4: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5f8: 80 40 ff f8 addi gr15,-8,gr0
+ 5fc: 80 fc ff e8 setlos 0xffffffe8,gr0
+ 600: 80 f4 ff e0 setlo 0xffe0,gr0
+ 604: 80 f8 ff ff sethi 0xffff,gr0
+ 608: 80 f4 ff 44 setlo 0xff44,gr0
+ 60c: 80 f8 ff ff sethi 0xffff,gr0
+ 610: 80 f4 00 14 setlo 0x14,gr0
+ 614: 80 f8 00 00 sethi hi\(0x0\),gr0
+Disassembly of section \.data:
+
+0001062c <D6>:
+ \.\.\.
+ 1062c: R_FRV_32 WD0
+ 10630: R_FRV_FUNCDESC WFb
+ 10634: R_FRV_32 WFb
+Disassembly of section \.got:
+
+000106c8 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 106c8: 00 00 05 c4 subxcc\.p gr0,gr4,gr0,icc1
+ 106c8: R_FRV_FUNCDESC_VALUE WF9
+ 106cc: 00 00 00 02 add\.p gr0,fp,gr0
+ 106d0: 00 00 05 bc subx\.p gr0,gr60,gr0,icc1
+ 106d0: R_FRV_FUNCDESC_VALUE WF8
+ 106d4: 00 00 00 02 add\.p gr0,fp,gr0
+ 106d8: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
+ 106d8: R_FRV_FUNCDESC_VALUE WF0
+ 106dc: 00 00 00 02 add\.p gr0,fp,gr0
+ 106e0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
+ 106e0: R_FRV_FUNCDESC_VALUE WF7
+ 106e4: 00 00 00 02 add\.p gr0,fp,gr0
+
+000106e8 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 106f4: R_FRV_32 WF1
+ 106f8: R_FRV_FUNCDESC WF4
+ 106fc: R_FRV_32 WD2
+ 10700: R_FRV_FUNCDESC WF5
+ 10704: R_FRV_FUNCDESC WF6
+ 10708: R_FRV_32 WF3
+ 1070c: R_FRV_32 WF2
+++ /dev/null
-#name: FRV uClinux PIC relocs to global symbols with addends, failing pie linking
-#source: fdpic8.s
-#objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
-#ld: -pie
-#error: nonzero addend
#source: fdpic8.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -pie --version-script fdpic8min.ldv
+#ld: -pie
.*: file format elf.*frv.*
Disassembly of section \.text:
-00000498 <F8>:
- 498: 80 3c 00 02 call 4a0 <GF1\+0x4>
+000005d0 <F8>:
+ 5d0: 80 3c 00 02 call 5d8 <GF0\+0x4>
-0000049c <GF1>:
- 49c: 80 40 f0 10 addi gr15,16,gr0
- 4a0: 80 fc 00 14 setlos 0x14,gr0
- 4a4: 80 f4 00 24 setlo 0x24,gr0
- 4a8: 80 f8 00 00 sethi hi\(0x0\),gr0
- 4ac: 80 40 f0 0c addi gr15,12,gr0
- 4b0: 80 fc 00 1c setlos 0x1c,gr0
- 4b4: 80 f4 00 18 setlo 0x18,gr0
- 4b8: 80 f8 00 00 sethi hi\(0x0\),gr0
- 4bc: 80 40 ff f8 addi gr15,-8,gr0
- 4c0: 80 fc ff f0 setlos 0xfffffff0,gr0
- 4c4: 80 f4 ff c8 setlo 0xffc8,gr0
- 4c8: 80 f8 ff ff sethi 0xffff,gr0
- 4cc: 80 40 ff 48 addi gr15,-184,gr0
- 4d0: 80 fc ff 48 setlos 0xffffff48,gr0
- 4d4: 80 f4 ff 48 setlo 0xff48,gr0
- 4d8: 80 f8 ff ff sethi 0xffff,gr0
- 4dc: 80 f4 00 20 setlo 0x20,gr0
- 4e0: 80 f8 00 00 sethi hi\(0x0\),gr0
+000005d4 <GF0>:
+ 5d4: 80 40 f0 10 addi gr15,16,gr0
+ 5d8: 80 fc 00 14 setlos 0x14,gr0
+ 5dc: 80 f4 00 24 setlo 0x24,gr0
+ 5e0: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5e4: 80 40 f0 0c addi gr15,12,gr0
+ 5e8: 80 fc 00 1c setlos 0x1c,gr0
+ 5ec: 80 f4 00 18 setlo 0x18,gr0
+ 5f0: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5f4: 80 40 ff f8 addi gr15,-8,gr0
+ 5f8: 80 fc ff f0 setlos 0xfffffff0,gr0
+ 5fc: 80 f4 ff e8 setlo 0xffe8,gr0
+ 600: 80 f8 ff ff sethi 0xffff,gr0
+ 604: 80 40 ff 68 addi gr15,-152,gr0
+ 608: 80 fc ff 68 setlos 0xffffff68,gr0
+ 60c: 80 f4 ff 68 setlo 0xff68,gr0
+ 610: 80 f8 ff ff sethi 0xffff,gr0
+ 614: 80 f4 00 20 setlo 0x20,gr0
+ 618: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-000104f8 <D8>:
- 104f8: 00 00 00 08 add\.p gr0,gr8,gr0
- 104f8: R_FRV_32 \.data
+00010630 <D8>:
+ 10630: 00 00 00 08 add\.p gr0,gr8,gr0
+ 10630: R_FRV_32 \.data
-000104fc <GD0>:
- 104fc: 00 00 00 10 add\.p gr0,gr16,gr0
- 104fc: R_FRV_32 \.got
- 10500: 00 00 00 08 add\.p gr0,gr8,gr0
- 10500: R_FRV_32 \.text
+00010634 <GD0>:
+ 10634: 00 00 00 08 add\.p gr0,gr8,gr0
+ 10634: R_FRV_FUNCDESC \.text
+ 10638: 00 00 00 08 add\.p gr0,gr8,gr0
+ 10638: R_FRV_32 \.text
Disassembly of section \.got:
-00010580 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 10580: 00 00 00 08 add\.p gr0,gr8,gr0
- 10580: R_FRV_FUNCDESC_VALUE \.text
- 10584: 00 00 00 02 add\.p gr0,fp,gr0
- 10588: 00 00 00 08 add\.p gr0,gr8,gr0
- 10588: R_FRV_FUNCDESC_VALUE \.text
- 1058c: 00 00 00 02 add\.p gr0,fp,gr0
- 10590: 00 00 00 08 add\.p gr0,gr8,gr0
- 10590: R_FRV_FUNCDESC_VALUE \.text
- 10594: 00 00 00 02 add\.p gr0,fp,gr0
- 10598: 00 00 00 08 add\.p gr0,gr8,gr0
- 10598: R_FRV_FUNCDESC_VALUE \.text
- 1059c: 00 00 00 02 add\.p gr0,fp,gr0
- 105a0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a0: R_FRV_FUNCDESC_VALUE \.text
- 105a4: 00 00 00 02 add\.p gr0,fp,gr0
- 105a8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a8: R_FRV_FUNCDESC_VALUE \.text
- 105ac: 00 00 00 02 add\.p gr0,fp,gr0
- 105b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b0: R_FRV_FUNCDESC_VALUE \.text
- 105b4: 00 00 00 02 add\.p gr0,fp,gr0
+000106b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 106b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106b8: R_FRV_FUNCDESC_VALUE \.text
+ 106bc: 00 00 00 02 add\.p gr0,fp,gr0
+ 106c0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106c0: R_FRV_FUNCDESC_VALUE \.text
+ 106c4: 00 00 00 02 add\.p gr0,fp,gr0
+ 106c8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106c8: R_FRV_FUNCDESC_VALUE \.text
+ 106cc: 00 00 00 02 add\.p gr0,fp,gr0
-000105b8 <_GLOBAL_OFFSET_TABLE_>:
+000106d0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 105c4: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c4: R_FRV_32 \.got
- 105c8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c8: R_FRV_32 \.text
- 105cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 105cc: R_FRV_32 \.text
- 105d0: 00 00 00 20 add\.p gr0,gr32,gr0
- 105d0: R_FRV_32 \.got
- 105d4: 00 00 00 18 add\.p gr0,gr24,gr0
- 105d4: R_FRV_32 \.got
- 105d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d8: R_FRV_32 \.data
- 105dc: 00 00 00 08 add\.p gr0,gr8,gr0
- 105dc: R_FRV_32 \.text
+ 106dc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106dc: R_FRV_FUNCDESC \.text
+ 106e0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106e0: R_FRV_32 \.text
+ 106e4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106e4: R_FRV_32 \.text
+ 106e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106e8: R_FRV_FUNCDESC \.text
+ 106ec: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106ec: R_FRV_FUNCDESC \.text
+ 106f0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106f0: R_FRV_32 \.data
+ 106f4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 106f4: R_FRV_32 \.text
10654: R_FRV_32 \.data
00010658 <PD0>:
- 10658: 00 00 00 00 add\.p gr0,gr0,gr0
- 10658: R_FRV_FUNCDESC PFb
+ 10658: 00 00 00 04 add\.p gr0,gr4,gr0
+ 10658: R_FRV_FUNCDESC \.text
1065c: 00 00 00 04 add\.p gr0,gr4,gr0
1065c: R_FRV_32 \.text
Disassembly of section \.got:
000106f0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 106fc: R_FRV_FUNCDESC PF4
+ 106fc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 106fc: R_FRV_FUNCDESC \.text
10700: 00 00 00 04 add\.p gr0,gr4,gr0
10700: R_FRV_32 \.text
10704: 00 00 00 04 add\.p gr0,gr4,gr0
10704: R_FRV_32 \.data
- 10708: 00 00 00 00 add\.p gr0,gr0,gr0
- 10708: R_FRV_FUNCDESC PF6
+ 10708: 00 00 00 04 add\.p gr0,gr4,gr0
+ 10708: R_FRV_FUNCDESC \.text
1070c: 00 00 00 04 add\.p gr0,gr4,gr0
1070c: R_FRV_32 \.text
10710: 00 00 00 04 add\.p gr0,gr4,gr0
10710: R_FRV_32 \.text
- 10714: 00 00 00 00 add\.p gr0,gr0,gr0
- 10714: R_FRV_FUNCDESC PF5
+ 10714: 00 00 00 04 add\.p gr0,gr4,gr0
+ 10714: R_FRV_FUNCDESC \.text
--- /dev/null
+#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
-#name: FRV uClinux PIC relocs to undefined symbols, shared linking
+#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
-#error: different segments
+#ld: -shared --defsym WD1=D6 --version-script fdpic6.ldv
+
+.*: file format elf.*frv.*
+
+Disassembly of section \.plt:
+
+0000041c <\.plt>:
+ 41c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 420: c0 1a 00 06 bra 438 <F6-0x10>
+ 424: 00 00 00 00 add\.p gr0,gr0,gr0
+ 428: c0 1a 00 04 bra 438 <F6-0x10>
+ 42c: 00 00 00 10 add\.p gr0,gr16,gr0
+ 430: c0 1a 00 02 bra 438 <F6-0x10>
+ 434: 00 00 00 18 add\.p gr0,gr24,gr0
+ 438: 88 08 f1 40 ldd @\(gr15,gr0\),gr4
+ 43c: 80 30 40 00 jmpl @\(gr4,gr0\)
+ 440: 9c cc ff f0 lddi @\(gr15,-16\),gr14
+ 444: 80 30 e0 00 jmpl @\(gr14,gr0\)
+Disassembly of section \.text:
+
+00000448 <F6>:
+ 448: fe 3f ff fe call 440 <F6-0x8>
+ 44c: 80 40 f0 0c addi gr15,12,gr0
+ 450: 80 fc 00 24 setlos 0x24,gr0
+ 454: 80 f4 00 20 setlo 0x20,gr0
+ 458: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 45c: 80 40 f0 10 addi gr15,16,gr0
+ 460: 80 fc 00 18 setlos 0x18,gr0
+ 464: 80 f4 00 1c setlo 0x1c,gr0
+ 468: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 46c: 80 40 ff f8 addi gr15,-8,gr0
+ 470: 80 fc ff e8 setlos 0xffffffe8,gr0
+ 474: 80 f4 ff e0 setlo 0xffe0,gr0
+ 478: 80 f8 ff ff sethi 0xffff,gr0
+ 47c: 80 f4 ff 40 setlo 0xff40,gr0
+ 480: 80 f8 ff ff sethi 0xffff,gr0
+ 484: 80 f4 00 14 setlo 0x14,gr0
+ 488: 80 f8 00 00 sethi hi\(0x0\),gr0
+Disassembly of section \.data:
+
+00010490 <D6>:
+ \.\.\.
+ 10490: R_FRV_32 WD0
+ 10494: R_FRV_FUNCDESC WFb
+ 10498: R_FRV_32 WFb
+Disassembly of section \.got:
+
+00010530 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 10530: 00 00 04 38 \*unknown\*
+ 10530: R_FRV_FUNCDESC_VALUE WF9
+ 10534: 00 00 00 00 add\.p gr0,gr0,gr0
+ 10538: 00 00 04 30 \*unknown\*
+ 10538: R_FRV_FUNCDESC_VALUE WF8
+ 1053c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 10540: 00 00 04 28 \*unknown\*
+ 10540: R_FRV_FUNCDESC_VALUE WF0
+ 10544: 00 00 00 00 add\.p gr0,gr0,gr0
+ 10548: 00 00 04 20 \*unknown\*
+ 10548: R_FRV_FUNCDESC_VALUE WF7
+ 1054c: 00 00 00 00 add\.p gr0,gr0,gr0
+
+00010550 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 1055c: R_FRV_32 WF1
+ 10560: R_FRV_FUNCDESC WF4
+ 10564: R_FRV_32 WD2
+ 10568: R_FRV_FUNCDESC WF5
+ 1056c: R_FRV_FUNCDESC WF6
+ 10570: R_FRV_32 WF3
+ 10574: R_FRV_32 WF2
-#name: FRV uClinux PIC relocs to undefined symbols, static linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, static linking
#source: fdpic6.s
#objdump: -D
#as: -mfdpic
run_dump_test "fdpic-shared-5"
run_dump_test "fdpic-static-6"
+run_dump_test "fdpic-pie-6-fail"
run_dump_test "fdpic-pie-6"
+run_dump_test "fdpic-shared-6-fail"
run_dump_test "fdpic-shared-6"
run_dump_test "fdpic-static-7"
run_dump_test "fdpic-shared-7"
run_dump_test "fdpic-static-8"
-run_dump_test "fdpic-pie-8-fail"
run_dump_test "fdpic-pie-8"
run_dump_test "fdpic-shared-8-fail"
run_dump_test "fdpic-shared-8"
--- /dev/null
+{ global: _start; F6; D6; WF*; local: *; };