020d725158
* elfxx-mips.c (mips_got_entry): Adjust commentary. (mips_elf_create_local_got_entry): If given a symbol, check that it has been assigned to the local part of the GOT. (mips_elf_count_got_symbols): Take the bfd_link_info as argument instead of the master GOT. Put all locally-binding symbols in the local area. (mips_elf_make_got_per_bfd): Use global_got_area to decide whether a symbol lives in the local or global area. (mips_elf_local_relocation_p): Remove check_forced argument and retain only the !check_forced behavior. (mips_elf_calculate_relocation): Adjust call accordingly. Use global_got_area to decide whether an output relocation should be local or global. Explicitly decay R_MIPS_GOT_PAGE into R_MIPS_GOT_DISP where appropriate. Fix selection of local vs. global semantics for R_MIPS*_26. Remove redundant reevaluation of what is stored in was_local_p. (mips_elf_create_dynamic_relocation): Use global_got_area to decide whether the relocation should be against a global or local symbol. (mips_elf_lay_out_got): Update the GOT traversal after the above change to mips_elf_count_got_symbols. (mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p. (_bfd_mips_elf_relocate_section): Likewise. (_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide whether the symbol has a global got entry. (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. ld/testsuite/ * ld-mips-elf/elf-rel-got-n32.d: Swap two local GOT entries and remove some duplication between the global and local GOT entries. Adjust GP offsets accordingly. * ld-mips-elf/elf-rel-got-n64-linux.d: Likewise. * ld-mips-elf/elf-rel-xgot-n32.d: Reorder GOT entries and update GP offsets accordingly. * ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise. * ld-mips-elf/mips16-pic-1.gd: Move all global GOT entries to the local GOT. * ld-mips-elf/mips16-pic-1.dd: Update GP offsets accordingly. * ld-mips-elf/multi-got-no-shared.d: Adjust GP setup for smaller GOT sizes.
326 lines
12 KiB
Makefile
326 lines
12 KiB
Makefile
#name: MIPS ELF got reloc n64
|
|
#as: -EB -64 -KPIC
|
|
#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
|
|
#ld: -melf64btsmip
|
|
#objdump: -D --show-raw-insn
|
|
|
|
.*: +file format elf64-.*mips.*
|
|
|
|
Disassembly of section \.MIPS\.options:
|
|
|
|
00000001200000b0 <\.MIPS\.options>:
|
|
1200000b0: 01280000 .*
|
|
1200000b4: 00000000 .*
|
|
1200000b8: 92020022 .*
|
|
\.\.\.
|
|
1200000d0: 00000001 .*
|
|
1200000d4: 200185d0 .*
|
|
Disassembly of section \.text:
|
|
|
|
00000001200000e0 <fn>:
|
|
1200000e0: df858020 ld a1,-32736\(gp\)
|
|
1200000e4: df858020 ld a1,-32736\(gp\)
|
|
1200000e8: 64a5000c daddiu a1,a1,12
|
|
1200000ec: df858020 ld a1,-32736\(gp\)
|
|
1200000f0: 3c010001 lui at,0x1
|
|
1200000f4: 3421e240 ori at,at,0xe240
|
|
1200000f8: 00a1282d daddu a1,a1,at
|
|
1200000fc: df858020 ld a1,-32736\(gp\)
|
|
120000100: 00b1282d daddu a1,a1,s1
|
|
120000104: df858020 ld a1,-32736\(gp\)
|
|
120000108: 64a5000c daddiu a1,a1,12
|
|
12000010c: 00b1282d daddu a1,a1,s1
|
|
120000110: df858020 ld a1,-32736\(gp\)
|
|
120000114: 3c010001 lui at,0x1
|
|
120000118: 3421e240 ori at,at,0xe240
|
|
12000011c: 00a1282d daddu a1,a1,at
|
|
120000120: 00b1282d daddu a1,a1,s1
|
|
120000124: df858028 ld a1,-32728\(gp\)
|
|
120000128: dca5052c ld a1,1324\(a1\)
|
|
12000012c: df858028 ld a1,-32728\(gp\)
|
|
120000130: dca50538 ld a1,1336\(a1\)
|
|
120000134: df858028 ld a1,-32728\(gp\)
|
|
120000138: 00b1282d daddu a1,a1,s1
|
|
12000013c: dca5052c ld a1,1324\(a1\)
|
|
120000140: df858028 ld a1,-32728\(gp\)
|
|
120000144: 00b1282d daddu a1,a1,s1
|
|
120000148: dca50538 ld a1,1336\(a1\)
|
|
12000014c: df818028 ld at,-32728\(gp\)
|
|
120000150: 0025082d daddu at,at,a1
|
|
120000154: dc25054e ld a1,1358\(at\)
|
|
120000158: df818028 ld at,-32728\(gp\)
|
|
12000015c: 0025082d daddu at,at,a1
|
|
120000160: fc250564 sd a1,1380\(at\)
|
|
120000164: df818020 ld at,-32736\(gp\)
|
|
120000168: 88250000 lwl a1,0\(at\)
|
|
12000016c: 98250003 lwr a1,3\(at\)
|
|
120000170: df818020 ld at,-32736\(gp\)
|
|
120000174: 6421000c daddiu at,at,12
|
|
120000178: 88250000 lwl a1,0\(at\)
|
|
12000017c: 98250003 lwr a1,3\(at\)
|
|
120000180: df818020 ld at,-32736\(gp\)
|
|
120000184: 0031082d daddu at,at,s1
|
|
120000188: 88250000 lwl a1,0\(at\)
|
|
12000018c: 98250003 lwr a1,3\(at\)
|
|
120000190: df818020 ld at,-32736\(gp\)
|
|
120000194: 6421000c daddiu at,at,12
|
|
120000198: 0031082d daddu at,at,s1
|
|
12000019c: 88250000 lwl a1,0\(at\)
|
|
1200001a0: 98250003 lwr a1,3\(at\)
|
|
1200001a4: df818020 ld at,-32736\(gp\)
|
|
1200001a8: 64210022 daddiu at,at,34
|
|
1200001ac: 0025082d daddu at,at,a1
|
|
1200001b0: 88250000 lwl a1,0\(at\)
|
|
1200001b4: 98250003 lwr a1,3\(at\)
|
|
1200001b8: df818020 ld at,-32736\(gp\)
|
|
1200001bc: 64210038 daddiu at,at,56
|
|
1200001c0: 0025082d daddu at,at,a1
|
|
1200001c4: a8250000 swl a1,0\(at\)
|
|
1200001c8: b8250003 swr a1,3\(at\)
|
|
1200001cc: df858020 ld a1,-32736\(gp\)
|
|
1200001d0: df858030 ld a1,-32720\(gp\)
|
|
1200001d4: df858038 ld a1,-32712\(gp\)
|
|
1200001d8: df858020 ld a1,-32736\(gp\)
|
|
1200001dc: 00b1282d daddu a1,a1,s1
|
|
1200001e0: df858030 ld a1,-32720\(gp\)
|
|
1200001e4: 00b1282d daddu a1,a1,s1
|
|
1200001e8: df858038 ld a1,-32712\(gp\)
|
|
1200001ec: 00b1282d daddu a1,a1,s1
|
|
1200001f0: df858028 ld a1,-32728\(gp\)
|
|
1200001f4: dca5052c ld a1,1324\(a1\)
|
|
1200001f8: df858028 ld a1,-32728\(gp\)
|
|
1200001fc: dca50538 ld a1,1336\(a1\)
|
|
120000200: df858028 ld a1,-32728\(gp\)
|
|
120000204: 00b1282d daddu a1,a1,s1
|
|
120000208: dca5052c ld a1,1324\(a1\)
|
|
12000020c: df858028 ld a1,-32728\(gp\)
|
|
120000210: 00b1282d daddu a1,a1,s1
|
|
120000214: dca50538 ld a1,1336\(a1\)
|
|
120000218: df818028 ld at,-32728\(gp\)
|
|
12000021c: 0025082d daddu at,at,a1
|
|
120000220: dc25054e ld a1,1358\(at\)
|
|
120000224: df818028 ld at,-32728\(gp\)
|
|
120000228: 0025082d daddu at,at,a1
|
|
12000022c: fc250564 sd a1,1380\(at\)
|
|
120000230: df818020 ld at,-32736\(gp\)
|
|
120000234: 88250000 lwl a1,0\(at\)
|
|
120000238: 98250003 lwr a1,3\(at\)
|
|
12000023c: df818030 ld at,-32720\(gp\)
|
|
120000240: 88250000 lwl a1,0\(at\)
|
|
120000244: 98250003 lwr a1,3\(at\)
|
|
120000248: df818020 ld at,-32736\(gp\)
|
|
12000024c: 0031082d daddu at,at,s1
|
|
120000250: 88250000 lwl a1,0\(at\)
|
|
120000254: 98250003 lwr a1,3\(at\)
|
|
120000258: df818030 ld at,-32720\(gp\)
|
|
12000025c: 0031082d daddu at,at,s1
|
|
120000260: 88250000 lwl a1,0\(at\)
|
|
120000264: 98250003 lwr a1,3\(at\)
|
|
120000268: df818040 ld at,-32704\(gp\)
|
|
12000026c: 0025082d daddu at,at,a1
|
|
120000270: 88250000 lwl a1,0\(at\)
|
|
120000274: 98250003 lwr a1,3\(at\)
|
|
120000278: df818048 ld at,-32696\(gp\)
|
|
12000027c: 0025082d daddu at,at,a1
|
|
120000280: a8250000 swl a1,0\(at\)
|
|
120000284: b8250003 swr a1,3\(at\)
|
|
120000288: df858050 ld a1,-32688\(gp\)
|
|
12000028c: df858050 ld a1,-32688\(gp\)
|
|
120000290: df998050 ld t9,-32688\(gp\)
|
|
120000294: df998050 ld t9,-32688\(gp\)
|
|
120000298: df998050 ld t9,-32688\(gp\)
|
|
12000029c: 0411ff90 bal 1200000e0 <fn>
|
|
1200002a0: 00000000 nop
|
|
1200002a4: df998050 ld t9,-32688\(gp\)
|
|
1200002a8: 0411ff8d bal 1200000e0 <fn>
|
|
1200002ac: 00000000 nop
|
|
1200002b0: df858058 ld a1,-32680\(gp\)
|
|
1200002b4: df858058 ld a1,-32680\(gp\)
|
|
1200002b8: 64a5000c daddiu a1,a1,12
|
|
1200002bc: df858058 ld a1,-32680\(gp\)
|
|
1200002c0: 3c010001 lui at,0x1
|
|
1200002c4: 3421e240 ori at,at,0xe240
|
|
1200002c8: 00a1282d daddu a1,a1,at
|
|
1200002cc: df858058 ld a1,-32680\(gp\)
|
|
1200002d0: 00b1282d daddu a1,a1,s1
|
|
1200002d4: df858058 ld a1,-32680\(gp\)
|
|
1200002d8: 64a5000c daddiu a1,a1,12
|
|
1200002dc: 00b1282d daddu a1,a1,s1
|
|
1200002e0: df858058 ld a1,-32680\(gp\)
|
|
1200002e4: 3c010001 lui at,0x1
|
|
1200002e8: 3421e240 ori at,at,0xe240
|
|
1200002ec: 00a1282d daddu a1,a1,at
|
|
1200002f0: 00b1282d daddu a1,a1,s1
|
|
1200002f4: df858028 ld a1,-32728\(gp\)
|
|
1200002f8: dca505a4 ld a1,1444\(a1\)
|
|
1200002fc: df858028 ld a1,-32728\(gp\)
|
|
120000300: dca505b0 ld a1,1456\(a1\)
|
|
120000304: df858028 ld a1,-32728\(gp\)
|
|
120000308: 00b1282d daddu a1,a1,s1
|
|
12000030c: dca505a4 ld a1,1444\(a1\)
|
|
120000310: df858028 ld a1,-32728\(gp\)
|
|
120000314: 00b1282d daddu a1,a1,s1
|
|
120000318: dca505b0 ld a1,1456\(a1\)
|
|
12000031c: df818028 ld at,-32728\(gp\)
|
|
120000320: 0025082d daddu at,at,a1
|
|
120000324: dc2505c6 ld a1,1478\(at\)
|
|
120000328: df818028 ld at,-32728\(gp\)
|
|
12000032c: 0025082d daddu at,at,a1
|
|
120000330: fc2505dc sd a1,1500\(at\)
|
|
120000334: df818058 ld at,-32680\(gp\)
|
|
120000338: 88250000 lwl a1,0\(at\)
|
|
12000033c: 98250003 lwr a1,3\(at\)
|
|
120000340: df818058 ld at,-32680\(gp\)
|
|
120000344: 6421000c daddiu at,at,12
|
|
120000348: 88250000 lwl a1,0\(at\)
|
|
12000034c: 98250003 lwr a1,3\(at\)
|
|
120000350: df818058 ld at,-32680\(gp\)
|
|
120000354: 0031082d daddu at,at,s1
|
|
120000358: 88250000 lwl a1,0\(at\)
|
|
12000035c: 98250003 lwr a1,3\(at\)
|
|
120000360: df818058 ld at,-32680\(gp\)
|
|
120000364: 6421000c daddiu at,at,12
|
|
120000368: 0031082d daddu at,at,s1
|
|
12000036c: 88250000 lwl a1,0\(at\)
|
|
120000370: 98250003 lwr a1,3\(at\)
|
|
120000374: df818058 ld at,-32680\(gp\)
|
|
120000378: 64210022 daddiu at,at,34
|
|
12000037c: 0025082d daddu at,at,a1
|
|
120000380: 88250000 lwl a1,0\(at\)
|
|
120000384: 98250003 lwr a1,3\(at\)
|
|
120000388: df818058 ld at,-32680\(gp\)
|
|
12000038c: 64210038 daddiu at,at,56
|
|
120000390: 0025082d daddu at,at,a1
|
|
120000394: a8250000 swl a1,0\(at\)
|
|
120000398: b8250003 swr a1,3\(at\)
|
|
12000039c: df858058 ld a1,-32680\(gp\)
|
|
1200003a0: df858060 ld a1,-32672\(gp\)
|
|
1200003a4: df858068 ld a1,-32664\(gp\)
|
|
1200003a8: df858058 ld a1,-32680\(gp\)
|
|
1200003ac: 00b1282d daddu a1,a1,s1
|
|
1200003b0: df858060 ld a1,-32672\(gp\)
|
|
1200003b4: 00b1282d daddu a1,a1,s1
|
|
1200003b8: df858068 ld a1,-32664\(gp\)
|
|
1200003bc: 00b1282d daddu a1,a1,s1
|
|
1200003c0: df858028 ld a1,-32728\(gp\)
|
|
1200003c4: dca505a4 ld a1,1444\(a1\)
|
|
1200003c8: df858028 ld a1,-32728\(gp\)
|
|
1200003cc: dca505b0 ld a1,1456\(a1\)
|
|
1200003d0: df858028 ld a1,-32728\(gp\)
|
|
1200003d4: 00b1282d daddu a1,a1,s1
|
|
1200003d8: dca505a4 ld a1,1444\(a1\)
|
|
1200003dc: df858028 ld a1,-32728\(gp\)
|
|
1200003e0: 00b1282d daddu a1,a1,s1
|
|
1200003e4: dca505b0 ld a1,1456\(a1\)
|
|
1200003e8: df818028 ld at,-32728\(gp\)
|
|
1200003ec: 0025082d daddu at,at,a1
|
|
1200003f0: dc2505c6 ld a1,1478\(at\)
|
|
1200003f4: df818028 ld at,-32728\(gp\)
|
|
1200003f8: 0025082d daddu at,at,a1
|
|
1200003fc: fc2505dc sd a1,1500\(at\)
|
|
120000400: df818058 ld at,-32680\(gp\)
|
|
120000404: 88250000 lwl a1,0\(at\)
|
|
120000408: 98250003 lwr a1,3\(at\)
|
|
12000040c: df818060 ld at,-32672\(gp\)
|
|
120000410: 88250000 lwl a1,0\(at\)
|
|
120000414: 98250003 lwr a1,3\(at\)
|
|
120000418: df818058 ld at,-32680\(gp\)
|
|
12000041c: 0031082d daddu at,at,s1
|
|
120000420: 88250000 lwl a1,0\(at\)
|
|
120000424: 98250003 lwr a1,3\(at\)
|
|
120000428: df818060 ld at,-32672\(gp\)
|
|
12000042c: 0031082d daddu at,at,s1
|
|
120000430: 88250000 lwl a1,0\(at\)
|
|
120000434: 98250003 lwr a1,3\(at\)
|
|
120000438: df818070 ld at,-32656\(gp\)
|
|
12000043c: 0025082d daddu at,at,a1
|
|
120000440: 88250000 lwl a1,0\(at\)
|
|
120000444: 98250003 lwr a1,3\(at\)
|
|
120000448: df818078 ld at,-32648\(gp\)
|
|
12000044c: 0025082d daddu at,at,a1
|
|
120000450: a8250000 swl a1,0\(at\)
|
|
120000454: b8250003 swr a1,3\(at\)
|
|
120000458: df858080 ld a1,-32640\(gp\)
|
|
12000045c: df858080 ld a1,-32640\(gp\)
|
|
120000460: df998080 ld t9,-32640\(gp\)
|
|
120000464: df998080 ld t9,-32640\(gp\)
|
|
120000468: df998080 ld t9,-32640\(gp\)
|
|
12000046c: 0411001d bal 1200004e4 <fn2>
|
|
120000470: 00000000 nop
|
|
120000474: df998080 ld t9,-32640\(gp\)
|
|
120000478: 0411001a bal 1200004e4 <fn2>
|
|
12000047c: 00000000 nop
|
|
120000480: 1000ff17 b 1200000e0 <fn>
|
|
120000484: df858020 ld a1,-32736\(gp\)
|
|
120000488: df858028 ld a1,-32728\(gp\)
|
|
12000048c: 10000015 b 1200004e4 <fn2>
|
|
120000490: dca505a4 ld a1,1444\(a1\)
|
|
120000494: 1000ff12 b 1200000e0 <fn>
|
|
120000498: df858020 ld a1,-32736\(gp\)
|
|
12000049c: df858060 ld a1,-32672\(gp\)
|
|
1200004a0: 10000010 b 1200004e4 <fn2>
|
|
1200004a4: 00000000 nop
|
|
1200004a8: df858038 ld a1,-32712\(gp\)
|
|
1200004ac: 1000ff0c b 1200000e0 <fn>
|
|
1200004b0: 00000000 nop
|
|
1200004b4: df858028 ld a1,-32728\(gp\)
|
|
1200004b8: 1000000a b 1200004e4 <fn2>
|
|
1200004bc: dca505a4 ld a1,1444\(a1\)
|
|
1200004c0: df858028 ld a1,-32728\(gp\)
|
|
1200004c4: 1000ff06 b 1200000e0 <fn>
|
|
1200004c8: dca50538 ld a1,1336\(a1\)
|
|
1200004cc: df818028 ld at,-32728\(gp\)
|
|
1200004d0: 0025082d daddu at,at,a1
|
|
1200004d4: 10000003 b 1200004e4 <fn2>
|
|
1200004d8: dc2505c6 ld a1,1478\(at\)
|
|
\.\.\.
|
|
|
|
00000001200004e4 <fn2>:
|
|
\.\.\.
|
|
Disassembly of section \.data:
|
|
|
|
00000001200104f0 <_fdata>:
|
|
\.\.\.
|
|
|
|
000000012001052c <dg1>:
|
|
\.\.\.
|
|
|
|
0000000120010568 <sp2>:
|
|
\.\.\.
|
|
|
|
00000001200105a4 <dg2>:
|
|
\.\.\.
|
|
Disassembly of section \.got:
|
|
|
|
00000001200105e0 <_GLOBAL_OFFSET_TABLE_>:
|
|
\.\.\.
|
|
1200105e8: 80000000 .*
|
|
1200105ec: 00000000 .*
|
|
1200105f0: 00000001 .*
|
|
1200105f4: 2001052c .*
|
|
1200105f8: 00000001 .*
|
|
1200105fc: 20010000 .*
|
|
120010600: 00000001 .*
|
|
120010604: 20010538 .*
|
|
120010608: 00000001 .*
|
|
12001060c: 2002e76c .*
|
|
120010610: 00000001 .*
|
|
120010614: 2001054e .*
|
|
120010618: 00000001 .*
|
|
12001061c: 20010564 .*
|
|
120010620: 00000001 .*
|
|
120010624: 200000e0 .*
|
|
120010628: 00000001 .*
|
|
12001062c: 200105a4 .*
|
|
120010630: 00000001 .*
|
|
120010634: 200105b0 .*
|
|
120010638: 00000001 .*
|
|
12001063c: 2002e7e4 .*
|
|
120010640: 00000001 .*
|
|
120010644: 200105c6 .*
|
|
120010648: 00000001 .*
|
|
12001064c: 200105dc .*
|
|
120010650: 00000001 .*
|
|
120010654: 200004e4 .*
|
|
\.\.\.
|
|
#pass
|