Subversion Repositories Kolibri OS

Rev

Rev 5197 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5197 Rev 6324
Line 1... Line 1...
1
/* BFD support for handling relocation entries.
1
/* BFD support for handling relocation entries.
2
   Copyright 1990-2013 Free Software Foundation, Inc.
2
   Copyright (C) 1990-2015 Free Software Foundation, Inc.
3
   Written by Cygnus Support.
3
   Written by Cygnus Support.
Line 4... Line 4...
4
 
4
 
Line 5... Line 5...
5
   This file is part of BFD, the Binary File Descriptor library.
5
   This file is part of BFD, the Binary File Descriptor library.
Line 435... Line 435...
435
    case 1: return 2;
435
    case 1: return 2;
436
    case 2: return 4;
436
    case 2: return 4;
437
    case 3: return 0;
437
    case 3: return 0;
438
    case 4: return 8;
438
    case 4: return 8;
439
    case 8: return 16;
439
    case 8: return 16;
-
 
440
    case -1: return 2;
440
    case -2: return 4;
441
    case -2: return 4;
441
    default: abort ();
442
    default: abort ();
442
    }
443
    }
443
}
444
}
Line 576... Line 577...
576
			bfd *output_bfd,
577
			bfd *output_bfd,
577
			char **error_message)
578
			char **error_message)
578
{
579
{
579
  bfd_vma relocation;
580
  bfd_vma relocation;
580
  bfd_reloc_status_type flag = bfd_reloc_ok;
581
  bfd_reloc_status_type flag = bfd_reloc_ok;
581
  bfd_size_type octets = reloc_entry->address * bfd_octets_per_byte (abfd);
582
  bfd_size_type octets;
582
  bfd_vma output_base = 0;
583
  bfd_vma output_base = 0;
583
  reloc_howto_type *howto = reloc_entry->howto;
584
  reloc_howto_type *howto = reloc_entry->howto;
584
  asection *reloc_target_output_section;
585
  asection *reloc_target_output_section;
585
  asymbol *symbol;
586
  asymbol *symbol;
Line 590... Line 591...
590
    {
591
    {
591
      reloc_entry->address += input_section->output_offset;
592
      reloc_entry->address += input_section->output_offset;
592
      return bfd_reloc_ok;
593
      return bfd_reloc_ok;
593
    }
594
    }
Line -... Line 595...
-
 
595
 
-
 
596
  /* PR 17512: file: 0f67f69d.  */
-
 
597
  if (howto == NULL)
-
 
598
    return bfd_reloc_undefined;
594
 
599
 
595
  /* If we are not producing relocatable output, return an error if
600
  /* If we are not producing relocatable output, return an error if
596
     the symbol is not defined.  An undefined weak symbol is
601
     the symbol is not defined.  An undefined weak symbol is
597
     considered to have a value of zero (SVR4 ABI, p. 4-27).  */
602
     considered to have a value of zero (SVR4 ABI, p. 4-27).  */
598
  if (bfd_is_und_section (symbol->section)
603
  if (bfd_is_und_section (symbol->section)
Line 611... Line 616...
611
				      error_message);
616
				      error_message);
612
      if (cont != bfd_reloc_continue)
617
      if (cont != bfd_reloc_continue)
613
	return cont;
618
	return cont;
614
    }
619
    }
Line 615... Line 620...
615
 
620
 
-
 
621
  /* Is the address of the relocation really within the section?
-
 
622
     Include the size of the reloc in the test for out of range addresses.
-
 
623
     PR 17512: file: c146ab8b, 46dff27f, 38e53ebf.  */
-
 
624
  octets = reloc_entry->address * bfd_octets_per_byte (abfd);
616
  /* Is the address of the relocation really within the section?  */
625
  if (octets + bfd_get_reloc_size (howto)
617
  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
626
      > bfd_get_section_limit_octets (abfd, input_section))
Line 618... Line 627...
618
    return bfd_reloc_outofrange;
627
    return bfd_reloc_outofrange;
619
 
628
 
Line 782... Line 791...
782
	    {
791
	    {
783
	      reloc_entry->addend = relocation;
792
	      reloc_entry->addend = relocation;
784
	    }
793
	    }
785
	}
794
	}
786
    }
795
    }
787
  else
-
 
788
    {
-
 
789
      reloc_entry->addend = 0;
-
 
790
    }
-
 
Line 791... Line 796...
791
 
796
 
792
  /* FIXME: This overflow checking is incomplete, because the value
797
  /* FIXME: This overflow checking is incomplete, because the value
793
     might have overflowed before we get here.  For a correct check we
798
     might have overflowed before we get here.  For a correct check we
794
     need to compute the value in a size larger than bitsize, but we
799
     need to compute the value in a size larger than bitsize, but we
Line 966... Line 971...
966
			asection *input_section,
971
			asection *input_section,
967
			char **error_message)
972
			char **error_message)
968
{
973
{
969
  bfd_vma relocation;
974
  bfd_vma relocation;
970
  bfd_reloc_status_type flag = bfd_reloc_ok;
975
  bfd_reloc_status_type flag = bfd_reloc_ok;
971
  bfd_size_type octets = reloc_entry->address * bfd_octets_per_byte (abfd);
976
  bfd_size_type octets;
972
  bfd_vma output_base = 0;
977
  bfd_vma output_base = 0;
973
  reloc_howto_type *howto = reloc_entry->howto;
978
  reloc_howto_type *howto = reloc_entry->howto;
974
  asection *reloc_target_output_section;
979
  asection *reloc_target_output_section;
975
  asymbol *symbol;
980
  asymbol *symbol;
976
  bfd_byte *data;
981
  bfd_byte *data;
Line 999... Line 1004...
999
      if (cont != bfd_reloc_continue)
1004
      if (cont != bfd_reloc_continue)
1000
	return cont;
1005
	return cont;
1001
    }
1006
    }
Line 1002... Line 1007...
1002
 
1007
 
-
 
1008
  /* Is the address of the relocation really within the section?  */
-
 
1009
  octets = reloc_entry->address * bfd_octets_per_byte (abfd);
1003
  /* Is the address of the relocation really within the section?  */
1010
  if (octets + bfd_get_reloc_size (howto)
1004
  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
1011
      > bfd_get_section_limit_octets (abfd, input_section))
Line 1005... Line 1012...
1005
    return bfd_reloc_outofrange;
1012
    return bfd_reloc_outofrange;
1006
 
1013
 
Line 1334... Line 1341...
1334
			  bfd_vma address,
1341
			  bfd_vma address,
1335
			  bfd_vma value,
1342
			  bfd_vma value,
1336
			  bfd_vma addend)
1343
			  bfd_vma addend)
1337
{
1344
{
1338
  bfd_vma relocation;
1345
  bfd_vma relocation;
-
 
1346
  bfd_size_type octets = address * bfd_octets_per_byte (input_bfd);
Line 1339... Line 1347...
1339
 
1347
 
-
 
1348
  /* Sanity check the address.  */
1340
  /* Sanity check the address.  */
1349
  if (octets + bfd_get_reloc_size (howto)
1341
  if (address > bfd_get_section_limit (input_bfd, input_section))
1350
      > bfd_get_section_limit_octets (input_bfd, input_section))
Line 1342... Line 1351...
1342
    return bfd_reloc_outofrange;
1351
    return bfd_reloc_outofrange;
1343
 
1352
 
1344
  /* This function assumes that we are dealing with a basic relocation
1353
  /* This function assumes that we are dealing with a basic relocation
Line 1391... Line 1400...
1391
  /* Get the value we are going to relocate.  */
1400
  /* Get the value we are going to relocate.  */
1392
  size = bfd_get_reloc_size (howto);
1401
  size = bfd_get_reloc_size (howto);
1393
  switch (size)
1402
  switch (size)
1394
    {
1403
    {
1395
    default:
1404
    default:
1396
    case 0:
-
 
1397
      abort ();
1405
      abort ();
-
 
1406
    case 0:
-
 
1407
      return bfd_reloc_ok;
1398
    case 1:
1408
    case 1:
1399
      x = bfd_get_8 (input_bfd, location);
1409
      x = bfd_get_8 (input_bfd, location);
1400
      break;
1410
      break;
1401
    case 2:
1411
    case 2:
1402
      x = bfd_get_16 (input_bfd, location);
1412
      x = bfd_get_16 (input_bfd, location);
Line 1559... Line 1569...
1559
  /* Get the value we are going to relocate.  */
1569
  /* Get the value we are going to relocate.  */
1560
  size = bfd_get_reloc_size (howto);
1570
  size = bfd_get_reloc_size (howto);
1561
  switch (size)
1571
  switch (size)
1562
    {
1572
    {
1563
    default:
1573
    default:
1564
    case 0:
-
 
1565
      abort ();
1574
      abort ();
-
 
1575
    case 0:
-
 
1576
      return;
1566
    case 1:
1577
    case 1:
1567
      x = bfd_get_8 (input_bfd, location);
1578
      x = bfd_get_8 (input_bfd, location);
1568
      break;
1579
      break;
1569
    case 2:
1580
    case 2:
1570
      x = bfd_get_16 (input_bfd, location);
1581
      x = bfd_get_16 (input_bfd, location);
Line 2291... Line 2302...
2291
  BFD_RELOC_MICROMIPS_16_PCREL_S1
2302
  BFD_RELOC_MICROMIPS_16_PCREL_S1
2292
ENUMDOC
2303
ENUMDOC
2293
  microMIPS PC-relative relocations.
2304
  microMIPS PC-relative relocations.
Line 2294... Line 2305...
2294
 
2305
 
-
 
2306
ENUM
-
 
2307
  BFD_RELOC_MIPS_21_PCREL_S2
-
 
2308
ENUMX
-
 
2309
  BFD_RELOC_MIPS_26_PCREL_S2
-
 
2310
ENUMX
-
 
2311
  BFD_RELOC_MIPS_18_PCREL_S3
-
 
2312
ENUMX
-
 
2313
  BFD_RELOC_MIPS_19_PCREL_S2
-
 
2314
ENUMDOC
-
 
2315
  MIPS PC-relative relocations.
-
 
2316
 
2295
ENUM
2317
ENUM
2296
  BFD_RELOC_MICROMIPS_GPREL16
2318
  BFD_RELOC_MICROMIPS_GPREL16
2297
ENUMX
2319
ENUMX
2298
  BFD_RELOC_MICROMIPS_HI16
2320
  BFD_RELOC_MICROMIPS_HI16
2299
ENUMX
2321
ENUMX
Line 2432... Line 2454...
2432
ENUMDOC
2454
ENUMDOC
2433
  Moxie ELF relocations.
2455
  Moxie ELF relocations.
2434
COMMENT
2456
COMMENT
Line 2435... Line 2457...
2435
 
2457
 
-
 
2458
ENUM
-
 
2459
  BFD_RELOC_FT32_10
-
 
2460
ENUMX
-
 
2461
  BFD_RELOC_FT32_20
-
 
2462
ENUMX
-
 
2463
  BFD_RELOC_FT32_17
-
 
2464
ENUMX
-
 
2465
  BFD_RELOC_FT32_18
-
 
2466
ENUMDOC
-
 
2467
  FT32 ELF relocations.
-
 
2468
COMMENT
-
 
2469
 
2436
ENUM
2470
ENUM
2437
  BFD_RELOC_FRV_LABEL16
2471
  BFD_RELOC_FRV_LABEL16
2438
ENUMX
2472
ENUMX
2439
  BFD_RELOC_FRV_LABEL24
2473
  BFD_RELOC_FRV_LABEL24
2440
ENUMX
2474
ENUMX
Line 2640... Line 2674...
2640
  BFD_RELOC_386_TLS_DESC_CALL
2674
  BFD_RELOC_386_TLS_DESC_CALL
2641
ENUMX
2675
ENUMX
2642
  BFD_RELOC_386_TLS_DESC
2676
  BFD_RELOC_386_TLS_DESC
2643
ENUMX
2677
ENUMX
2644
  BFD_RELOC_386_IRELATIVE
2678
  BFD_RELOC_386_IRELATIVE
-
 
2679
ENUMX
-
 
2680
  BFD_RELOC_386_GOT32X
2645
ENUMDOC
2681
ENUMDOC
2646
  i386/elf relocations
2682
  i386/elf relocations
Line 2647... Line 2683...
2647
 
2683
 
2648
ENUM
2684
ENUM
Line 2701... Line 2737...
2701
  BFD_RELOC_X86_64_IRELATIVE
2737
  BFD_RELOC_X86_64_IRELATIVE
2702
ENUMX
2738
ENUMX
2703
  BFD_RELOC_X86_64_PC32_BND
2739
  BFD_RELOC_X86_64_PC32_BND
2704
ENUMX
2740
ENUMX
2705
  BFD_RELOC_X86_64_PLT32_BND
2741
  BFD_RELOC_X86_64_PLT32_BND
-
 
2742
ENUMX
-
 
2743
  BFD_RELOC_X86_64_GOTPCRELX
-
 
2744
ENUMX
-
 
2745
  BFD_RELOC_X86_64_REX_GOTPCRELX
2706
ENUMDOC
2746
ENUMDOC
2707
  x86-64/elf relocations
2747
  x86-64/elf relocations
Line 2708... Line 2748...
2708
 
2748
 
2709
ENUM
2749
ENUM
Line 2848... Line 2888...
2848
ENUMX
2888
ENUMX
2849
  BFD_RELOC_PPC_VLE_SDAREL_HA16A
2889
  BFD_RELOC_PPC_VLE_SDAREL_HA16A
2850
ENUMX
2890
ENUMX
2851
  BFD_RELOC_PPC_VLE_SDAREL_HA16D
2891
  BFD_RELOC_PPC_VLE_SDAREL_HA16D
2852
ENUMX
2892
ENUMX
-
 
2893
  BFD_RELOC_PPC_REL16DX_HA
-
 
2894
ENUMX
2853
  BFD_RELOC_PPC64_HIGHER
2895
  BFD_RELOC_PPC64_HIGHER
2854
ENUMX
2896
ENUMX
2855
  BFD_RELOC_PPC64_HIGHER_S
2897
  BFD_RELOC_PPC64_HIGHER_S
2856
ENUMX
2898
ENUMX
2857
  BFD_RELOC_PPC64_HIGHEST
2899
  BFD_RELOC_PPC64_HIGHEST
Line 2897... Line 2939...
2897
  BFD_RELOC_PPC64_PLTGOT16_LO_DS
2939
  BFD_RELOC_PPC64_PLTGOT16_LO_DS
2898
ENUMX
2940
ENUMX
2899
  BFD_RELOC_PPC64_ADDR16_HIGH
2941
  BFD_RELOC_PPC64_ADDR16_HIGH
2900
ENUMX
2942
ENUMX
2901
  BFD_RELOC_PPC64_ADDR16_HIGHA
2943
  BFD_RELOC_PPC64_ADDR16_HIGHA
-
 
2944
ENUMX
-
 
2945
  BFD_RELOC_PPC64_ADDR64_LOCAL
-
 
2946
ENUMX
-
 
2947
  BFD_RELOC_PPC64_ENTRY
2902
ENUMDOC
2948
ENUMDOC
2903
  Power(rs6000) and PowerPC relocations.
2949
  Power(rs6000) and PowerPC relocations.
Line 2904... Line 2950...
2904
 
2950
 
2905
ENUM
2951
ENUM
Line 3477... Line 3523...
3477
  BFD_RELOC_SH_FUNCDESC
3523
  BFD_RELOC_SH_FUNCDESC
3478
ENUMDOC
3524
ENUMDOC
3479
  Renesas / SuperH SH relocs.  Not all of these appear in object files.
3525
  Renesas / SuperH SH relocs.  Not all of these appear in object files.
Line 3480... Line 3526...
3480
 
3526
 
-
 
3527
ENUM
-
 
3528
  BFD_RELOC_ARC_NONE
-
 
3529
ENUMX
-
 
3530
  BFD_RELOC_ARC_8
-
 
3531
ENUMX
-
 
3532
  BFD_RELOC_ARC_16
-
 
3533
ENUMX
-
 
3534
  BFD_RELOC_ARC_24
-
 
3535
ENUMX
-
 
3536
  BFD_RELOC_ARC_32
-
 
3537
ENUMX
-
 
3538
  BFD_RELOC_ARC_N8
-
 
3539
ENUMX
-
 
3540
  BFD_RELOC_ARC_N16
-
 
3541
ENUMX
-
 
3542
  BFD_RELOC_ARC_N24
-
 
3543
ENUMX
-
 
3544
  BFD_RELOC_ARC_N32
-
 
3545
ENUMX
-
 
3546
  BFD_RELOC_ARC_SDA
-
 
3547
ENUMX
-
 
3548
  BFD_RELOC_ARC_SECTOFF
-
 
3549
ENUMX
-
 
3550
  BFD_RELOC_ARC_S21H_PCREL
-
 
3551
ENUMX
-
 
3552
  BFD_RELOC_ARC_S21W_PCREL
-
 
3553
ENUMX
-
 
3554
  BFD_RELOC_ARC_S25H_PCREL
-
 
3555
ENUMX
-
 
3556
  BFD_RELOC_ARC_S25W_PCREL
-
 
3557
ENUMX
-
 
3558
  BFD_RELOC_ARC_SDA32
-
 
3559
ENUMX
-
 
3560
  BFD_RELOC_ARC_SDA_LDST
-
 
3561
ENUMX
-
 
3562
  BFD_RELOC_ARC_SDA_LDST1
-
 
3563
ENUMX
-
 
3564
  BFD_RELOC_ARC_SDA_LDST2
-
 
3565
ENUMX
-
 
3566
  BFD_RELOC_ARC_SDA16_LD
-
 
3567
ENUMX
-
 
3568
  BFD_RELOC_ARC_SDA16_LD1
-
 
3569
ENUMX
-
 
3570
  BFD_RELOC_ARC_SDA16_LD2
-
 
3571
ENUMX
-
 
3572
  BFD_RELOC_ARC_S13_PCREL
-
 
3573
ENUMX
-
 
3574
  BFD_RELOC_ARC_W
-
 
3575
ENUMX
-
 
3576
  BFD_RELOC_ARC_32_ME
-
 
3577
ENUMX
-
 
3578
  BFD_RELOC_ARC_32_ME_S
-
 
3579
ENUMX
-
 
3580
  BFD_RELOC_ARC_N32_ME
-
 
3581
ENUMX
-
 
3582
  BFD_RELOC_ARC_SECTOFF_ME
-
 
3583
ENUMX
-
 
3584
  BFD_RELOC_ARC_SDA32_ME
-
 
3585
ENUMX
-
 
3586
  BFD_RELOC_ARC_W_ME
-
 
3587
ENUMX
-
 
3588
  BFD_RELOC_AC_SECTOFF_U8
-
 
3589
ENUMX
-
 
3590
  BFD_RELOC_AC_SECTOFF_U8_1
-
 
3591
ENUMX
-
 
3592
  BFD_RELOC_AC_SECTOFF_U8_2
-
 
3593
ENUMX
-
 
3594
  BFD_RELOC_AC_SECTFOFF_S9
-
 
3595
ENUMX
-
 
3596
  BFD_RELOC_AC_SECTFOFF_S9_1
-
 
3597
ENUMX
-
 
3598
  BFD_RELOC_AC_SECTFOFF_S9_2
-
 
3599
ENUMX
-
 
3600
  BFD_RELOC_ARC_SECTOFF_ME_1
-
 
3601
ENUMX
-
 
3602
  BFD_RELOC_ARC_SECTOFF_ME_2
-
 
3603
ENUMX
-
 
3604
  BFD_RELOC_ARC_SECTOFF_1
-
 
3605
ENUMX
-
 
3606
  BFD_RELOC_ARC_SECTOFF_2
-
 
3607
ENUMX
-
 
3608
  BFD_RELOC_ARC_SDA16_ST2
3481
ENUM
3609
ENUMX
-
 
3610
  BFD_RELOC_ARC_32_PCREL
-
 
3611
ENUMX
-
 
3612
  BFD_RELOC_ARC_PC32
-
 
3613
ENUMX
-
 
3614
  BFD_RELOC_ARC_GOT32
-
 
3615
ENUMX
-
 
3616
  BFD_RELOC_ARC_GOTPC32
-
 
3617
ENUMX
-
 
3618
  BFD_RELOC_ARC_PLT32
-
 
3619
ENUMX
-
 
3620
  BFD_RELOC_ARC_COPY
-
 
3621
ENUMX
-
 
3622
  BFD_RELOC_ARC_GLOB_DAT
-
 
3623
ENUMX
-
 
3624
  BFD_RELOC_ARC_JMP_SLOT
-
 
3625
ENUMX
-
 
3626
  BFD_RELOC_ARC_RELATIVE
-
 
3627
ENUMX
-
 
3628
  BFD_RELOC_ARC_GOTOFF
-
 
3629
ENUMX
-
 
3630
  BFD_RELOC_ARC_GOTPC
-
 
3631
ENUMX
-
 
3632
  BFD_RELOC_ARC_S21W_PCREL_PLT
-
 
3633
ENUMX
-
 
3634
  BFD_RELOC_ARC_S25H_PCREL_PLT
-
 
3635
ENUMX
-
 
3636
  BFD_RELOC_ARC_TLS_DTPMOD
-
 
3637
ENUMX
-
 
3638
  BFD_RELOC_ARC_TLS_TPOFF
-
 
3639
ENUMX
-
 
3640
  BFD_RELOC_ARC_TLS_GD_GOT
-
 
3641
ENUMX
-
 
3642
  BFD_RELOC_ARC_TLS_GD_LD
-
 
3643
ENUMX
-
 
3644
  BFD_RELOC_ARC_TLS_GD_CALL
-
 
3645
ENUMX
-
 
3646
  BFD_RELOC_ARC_TLS_IE_GOT
-
 
3647
ENUMX
-
 
3648
  BFD_RELOC_ARC_TLS_DTPOFF
-
 
3649
ENUMX
-
 
3650
  BFD_RELOC_ARC_TLS_DTPOFF_S9
-
 
3651
ENUMX
-
 
3652
  BFD_RELOC_ARC_TLS_LE_S9
-
 
3653
ENUMX
-
 
3654
  BFD_RELOC_ARC_TLS_LE_32
-
 
3655
ENUMX
-
 
3656
  BFD_RELOC_ARC_S25W_PCREL_PLT
-
 
3657
ENUMX
3482
  BFD_RELOC_ARC_B22_PCREL
3658
  BFD_RELOC_ARC_S21H_PCREL_PLT
3483
ENUMDOC
3659
ENUMDOC
3484
  ARC Cores relocs.
-
 
3485
  ARC 22 bit pc-relative branch.  The lowest two bits must be zero and are
-
 
3486
  not stored in the instruction.  The high 20 bits are installed in bits 26
-
 
3487
  through 7 of the instruction.
-
 
3488
ENUM
-
 
3489
  BFD_RELOC_ARC_B26
-
 
3490
ENUMDOC
-
 
3491
  ARC 26 bit absolute branch.  The lowest two bits must be zero and are not
-
 
3492
  stored in the instruction.  The high 24 bits are installed in bits 23
-
 
Line 3493... Line 3660...
3493
  through 0.
3660
  ARC relocs.
3494
 
3661
 
3495
ENUM
3662
ENUM
3496
  BFD_RELOC_BFIN_16_IMM
3663
  BFD_RELOC_BFIN_16_IMM
Line 3837... Line 4004...
3837
ENUMDOC
4004
ENUMDOC
3838
  For PIC.
4005
  For PIC.
Line 3839... Line 4006...
3839
 
4006
 
-
 
4007
 
-
 
4008
ENUM
-
 
4009
  BFD_RELOC_NDS32_20
-
 
4010
ENUMDOC
-
 
4011
  NDS32 relocs.
-
 
4012
  This is a 20 bit absolute address.
-
 
4013
ENUM
-
 
4014
  BFD_RELOC_NDS32_9_PCREL
-
 
4015
ENUMDOC
-
 
4016
  This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0.
-
 
4017
ENUM
-
 
4018
  BFD_RELOC_NDS32_WORD_9_PCREL
-
 
4019
ENUMDOC
-
 
4020
  This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0.
-
 
4021
ENUM
-
 
4022
  BFD_RELOC_NDS32_15_PCREL
-
 
4023
ENUMDOC
-
 
4024
  This is an 15-bit reloc with the right 1 bit assumed to be 0.
-
 
4025
ENUM
-
 
4026
  BFD_RELOC_NDS32_17_PCREL
-
 
4027
ENUMDOC
-
 
4028
  This is an 17-bit reloc with the right 1 bit assumed to be 0.
-
 
4029
ENUM
-
 
4030
  BFD_RELOC_NDS32_25_PCREL
-
 
4031
ENUMDOC
-
 
4032
  This is a 25-bit reloc with the right 1 bit assumed to be 0.
-
 
4033
ENUM
-
 
4034
  BFD_RELOC_NDS32_HI20
-
 
4035
ENUMDOC
-
 
4036
  This is a 20-bit reloc containing the high 20 bits of an address
-
 
4037
  used with the lower 12 bits
-
 
4038
ENUM
-
 
4039
  BFD_RELOC_NDS32_LO12S3
-
 
4040
ENUMDOC
-
 
4041
  This is a 12-bit reloc containing the lower 12 bits of an address
-
 
4042
  then shift right by 3. This is used with ldi,sdi...
-
 
4043
ENUM
-
 
4044
  BFD_RELOC_NDS32_LO12S2
-
 
4045
ENUMDOC
-
 
4046
  This is a 12-bit reloc containing the lower 12 bits of an address
-
 
4047
  then shift left by 2. This is used with lwi,swi...
-
 
4048
ENUM
-
 
4049
  BFD_RELOC_NDS32_LO12S1
-
 
4050
ENUMDOC
-
 
4051
  This is a 12-bit reloc containing the lower 12 bits of an address
-
 
4052
  then shift left by 1. This is used with lhi,shi...
-
 
4053
ENUM
-
 
4054
  BFD_RELOC_NDS32_LO12S0
-
 
4055
ENUMDOC
-
 
4056
  This is a 12-bit reloc containing the lower 12 bits of an address
-
 
4057
  then shift left by 0. This is used with lbisbi...
-
 
4058
ENUM
-
 
4059
  BFD_RELOC_NDS32_LO12S0_ORI
-
 
4060
ENUMDOC
-
 
4061
  This is a 12-bit reloc containing the lower 12 bits of an address
-
 
4062
  then shift left by 0. This is only used with branch relaxations
-
 
4063
ENUM
-
 
4064
  BFD_RELOC_NDS32_SDA15S3
-
 
4065
ENUMDOC
-
 
4066
  This is a 15-bit reloc containing the small data area 18-bit signed offset
-
 
4067
  and shift left by 3 for use in ldi, sdi...
-
 
4068
ENUM
-
 
4069
  BFD_RELOC_NDS32_SDA15S2
-
 
4070
ENUMDOC
-
 
4071
  This is a 15-bit reloc containing the small data area 17-bit signed offset
-
 
4072
  and shift left by 2 for use in lwi, swi...
-
 
4073
ENUM
-
 
4074
  BFD_RELOC_NDS32_SDA15S1
-
 
4075
ENUMDOC
-
 
4076
  This is a 15-bit reloc containing the small data area 16-bit signed offset
-
 
4077
  and shift left by 1 for use in lhi, shi...
-
 
4078
ENUM
-
 
4079
  BFD_RELOC_NDS32_SDA15S0
-
 
4080
ENUMDOC
-
 
4081
  This is a 15-bit reloc containing the small data area 15-bit signed offset
-
 
4082
  and shift left by 0 for use in lbi, sbi...
-
 
4083
ENUM
-
 
4084
  BFD_RELOC_NDS32_SDA16S3
-
 
4085
ENUMDOC
-
 
4086
  This is a 16-bit reloc containing the small data area 16-bit signed offset
-
 
4087
  and shift left by 3
-
 
4088
ENUM
-
 
4089
  BFD_RELOC_NDS32_SDA17S2
-
 
4090
ENUMDOC
-
 
4091
  This is a 17-bit reloc containing the small data area 17-bit signed offset
-
 
4092
  and shift left by 2 for use in lwi.gp, swi.gp...
-
 
4093
ENUM
-
 
4094
  BFD_RELOC_NDS32_SDA18S1
-
 
4095
ENUMDOC
-
 
4096
  This is a 18-bit reloc containing the small data area 18-bit signed offset
-
 
4097
  and shift left by 1 for use in lhi.gp, shi.gp...
-
 
4098
ENUM
-
 
4099
  BFD_RELOC_NDS32_SDA19S0
-
 
4100
ENUMDOC
-
 
4101
  This is a 19-bit reloc containing the small data area 19-bit signed offset
-
 
4102
  and shift left by 0 for use in lbi.gp, sbi.gp...
-
 
4103
ENUM
-
 
4104
  BFD_RELOC_NDS32_GOT20
-
 
4105
ENUMX
-
 
4106
  BFD_RELOC_NDS32_9_PLTREL
-
 
4107
ENUMX
-
 
4108
  BFD_RELOC_NDS32_25_PLTREL
-
 
4109
ENUMX
-
 
4110
  BFD_RELOC_NDS32_COPY
-
 
4111
ENUMX
-
 
4112
  BFD_RELOC_NDS32_GLOB_DAT
-
 
4113
ENUMX
-
 
4114
  BFD_RELOC_NDS32_JMP_SLOT
-
 
4115
ENUMX
-
 
4116
  BFD_RELOC_NDS32_RELATIVE
-
 
4117
ENUMX
-
 
4118
  BFD_RELOC_NDS32_GOTOFF
-
 
4119
ENUMX
-
 
4120
  BFD_RELOC_NDS32_GOTOFF_HI20
-
 
4121
ENUMX
-
 
4122
  BFD_RELOC_NDS32_GOTOFF_LO12
-
 
4123
ENUMX
-
 
4124
  BFD_RELOC_NDS32_GOTPC20
-
 
4125
ENUMX
-
 
4126
  BFD_RELOC_NDS32_GOT_HI20
-
 
4127
ENUMX
-
 
4128
  BFD_RELOC_NDS32_GOT_LO12
-
 
4129
ENUMX
-
 
4130
  BFD_RELOC_NDS32_GOTPC_HI20
-
 
4131
ENUMX
-
 
4132
  BFD_RELOC_NDS32_GOTPC_LO12
-
 
4133
ENUMDOC
-
 
4134
  for PIC
-
 
4135
ENUM
-
 
4136
  BFD_RELOC_NDS32_INSN16
-
 
4137
ENUMX
-
 
4138
  BFD_RELOC_NDS32_LABEL
-
 
4139
ENUMX
-
 
4140
  BFD_RELOC_NDS32_LONGCALL1
-
 
4141
ENUMX
-
 
4142
  BFD_RELOC_NDS32_LONGCALL2
-
 
4143
ENUMX
-
 
4144
  BFD_RELOC_NDS32_LONGCALL3
-
 
4145
ENUMX
-
 
4146
  BFD_RELOC_NDS32_LONGJUMP1
-
 
4147
ENUMX
-
 
4148
  BFD_RELOC_NDS32_LONGJUMP2
-
 
4149
ENUMX
-
 
4150
  BFD_RELOC_NDS32_LONGJUMP3
-
 
4151
ENUMX
-
 
4152
  BFD_RELOC_NDS32_LOADSTORE
-
 
4153
ENUMX
-
 
4154
  BFD_RELOC_NDS32_9_FIXED
-
 
4155
ENUMX
-
 
4156
  BFD_RELOC_NDS32_15_FIXED
-
 
4157
ENUMX
-
 
4158
  BFD_RELOC_NDS32_17_FIXED
-
 
4159
ENUMX
-
 
4160
  BFD_RELOC_NDS32_25_FIXED
-
 
4161
ENUMX
-
 
4162
  BFD_RELOC_NDS32_LONGCALL4
-
 
4163
ENUMX
-
 
4164
  BFD_RELOC_NDS32_LONGCALL5
-
 
4165
ENUMX
-
 
4166
  BFD_RELOC_NDS32_LONGCALL6
-
 
4167
ENUMX
-
 
4168
  BFD_RELOC_NDS32_LONGJUMP4
-
 
4169
ENUMX
-
 
4170
  BFD_RELOC_NDS32_LONGJUMP5
-
 
4171
ENUMX
-
 
4172
  BFD_RELOC_NDS32_LONGJUMP6
-
 
4173
ENUMX
-
 
4174
  BFD_RELOC_NDS32_LONGJUMP7
-
 
4175
ENUMDOC
-
 
4176
  for relax
-
 
4177
ENUM
-
 
4178
  BFD_RELOC_NDS32_PLTREL_HI20
-
 
4179
ENUMX
-
 
4180
  BFD_RELOC_NDS32_PLTREL_LO12
-
 
4181
ENUMX
-
 
4182
  BFD_RELOC_NDS32_PLT_GOTREL_HI20
-
 
4183
ENUMX
-
 
4184
  BFD_RELOC_NDS32_PLT_GOTREL_LO12
-
 
4185
ENUMDOC
-
 
4186
  for PIC
-
 
4187
ENUM
-
 
4188
  BFD_RELOC_NDS32_SDA12S2_DP
-
 
4189
ENUMX
-
 
4190
  BFD_RELOC_NDS32_SDA12S2_SP
-
 
4191
ENUMX
-
 
4192
  BFD_RELOC_NDS32_LO12S2_DP
-
 
4193
ENUMX
-
 
4194
  BFD_RELOC_NDS32_LO12S2_SP
-
 
4195
ENUMDOC
-
 
4196
  for floating point
-
 
4197
ENUM
-
 
4198
  BFD_RELOC_NDS32_DWARF2_OP1
-
 
4199
ENUMX
-
 
4200
  BFD_RELOC_NDS32_DWARF2_OP2
-
 
4201
ENUMX
-
 
4202
  BFD_RELOC_NDS32_DWARF2_LEB
-
 
4203
ENUMDOC
-
 
4204
  for dwarf2 debug_line.
-
 
4205
ENUM
-
 
4206
  BFD_RELOC_NDS32_UPDATE_TA
-
 
4207
ENUMDOC
-
 
4208
  for eliminate 16-bit instructions
-
 
4209
ENUM
-
 
4210
  BFD_RELOC_NDS32_PLT_GOTREL_LO20
-
 
4211
ENUMX
-
 
4212
  BFD_RELOC_NDS32_PLT_GOTREL_LO15
-
 
4213
ENUMX
-
 
4214
  BFD_RELOC_NDS32_PLT_GOTREL_LO19
-
 
4215
ENUMX
-
 
4216
  BFD_RELOC_NDS32_GOT_LO15
-
 
4217
ENUMX
-
 
4218
  BFD_RELOC_NDS32_GOT_LO19
-
 
4219
ENUMX
-
 
4220
  BFD_RELOC_NDS32_GOTOFF_LO15
-
 
4221
ENUMX
-
 
4222
  BFD_RELOC_NDS32_GOTOFF_LO19
-
 
4223
ENUMX
-
 
4224
  BFD_RELOC_NDS32_GOT15S2
-
 
4225
ENUMX
-
 
4226
  BFD_RELOC_NDS32_GOT17S2
-
 
4227
ENUMDOC
-
 
4228
  for PIC object relaxation
-
 
4229
ENUM
-
 
4230
  BFD_RELOC_NDS32_5
-
 
4231
ENUMDOC
-
 
4232
  NDS32 relocs.
-
 
4233
  This is a 5 bit absolute address.
-
 
4234
ENUM
-
 
4235
  BFD_RELOC_NDS32_10_UPCREL
-
 
4236
ENUMDOC
-
 
4237
  This is a 10-bit unsigned pc-relative reloc with the right 1 bit assumed to be 0.
-
 
4238
ENUM
-
 
4239
  BFD_RELOC_NDS32_SDA_FP7U2_RELA
-
 
4240
ENUMDOC
-
 
4241
  If fp were omitted, fp can used as another gp.
-
 
4242
ENUM
-
 
4243
  BFD_RELOC_NDS32_RELAX_ENTRY
-
 
4244
ENUMX
-
 
4245
  BFD_RELOC_NDS32_GOT_SUFF
-
 
4246
ENUMX
-
 
4247
  BFD_RELOC_NDS32_GOTOFF_SUFF
-
 
4248
ENUMX
-
 
4249
  BFD_RELOC_NDS32_PLT_GOT_SUFF
-
 
4250
ENUMX
-
 
4251
  BFD_RELOC_NDS32_MULCALL_SUFF
-
 
4252
ENUMX
-
 
4253
  BFD_RELOC_NDS32_PTR
-
 
4254
ENUMX
-
 
4255
  BFD_RELOC_NDS32_PTR_COUNT
-
 
4256
ENUMX
-
 
4257
  BFD_RELOC_NDS32_PTR_RESOLVED
-
 
4258
ENUMX
-
 
4259
  BFD_RELOC_NDS32_PLTBLOCK
-
 
4260
ENUMX
-
 
4261
  BFD_RELOC_NDS32_RELAX_REGION_BEGIN
-
 
4262
ENUMX
-
 
4263
  BFD_RELOC_NDS32_RELAX_REGION_END
-
 
4264
ENUMX
-
 
4265
  BFD_RELOC_NDS32_MINUEND
-
 
4266
ENUMX
-
 
4267
  BFD_RELOC_NDS32_SUBTRAHEND
-
 
4268
ENUMX
-
 
4269
  BFD_RELOC_NDS32_DIFF8
-
 
4270
ENUMX
-
 
4271
  BFD_RELOC_NDS32_DIFF16
-
 
4272
ENUMX
-
 
4273
  BFD_RELOC_NDS32_DIFF32
-
 
4274
ENUMX
-
 
4275
  BFD_RELOC_NDS32_DIFF_ULEB128
-
 
4276
ENUMX
-
 
4277
  BFD_RELOC_NDS32_EMPTY
-
 
4278
ENUMDOC
-
 
4279
  relaxation relative relocation types
-
 
4280
ENUM
-
 
4281
  BFD_RELOC_NDS32_25_ABS
-
 
4282
ENUMDOC
-
 
4283
  This is a 25 bit absolute address.
-
 
4284
ENUM
-
 
4285
  BFD_RELOC_NDS32_DATA
-
 
4286
ENUMX
-
 
4287
  BFD_RELOC_NDS32_TRAN
-
 
4288
ENUMX
-
 
4289
  BFD_RELOC_NDS32_17IFC_PCREL
-
 
4290
ENUMX
-
 
4291
  BFD_RELOC_NDS32_10IFCU_PCREL
-
 
4292
ENUMDOC
-
 
4293
  For ex9 and ifc using.
-
 
4294
ENUM
-
 
4295
  BFD_RELOC_NDS32_TPOFF
-
 
4296
ENUMX
-
 
4297
  BFD_RELOC_NDS32_TLS_LE_HI20
-
 
4298
ENUMX
-
 
4299
  BFD_RELOC_NDS32_TLS_LE_LO12
-
 
4300
ENUMX
-
 
4301
  BFD_RELOC_NDS32_TLS_LE_ADD
-
 
4302
ENUMX
-
 
4303
  BFD_RELOC_NDS32_TLS_LE_LS
-
 
4304
ENUMX
-
 
4305
  BFD_RELOC_NDS32_GOTTPOFF
-
 
4306
ENUMX
-
 
4307
  BFD_RELOC_NDS32_TLS_IE_HI20
-
 
4308
ENUMX
-
 
4309
  BFD_RELOC_NDS32_TLS_IE_LO12S2
-
 
4310
ENUMX
-
 
4311
  BFD_RELOC_NDS32_TLS_TPOFF
-
 
4312
ENUMX
-
 
4313
  BFD_RELOC_NDS32_TLS_LE_20
-
 
4314
ENUMX
-
 
4315
  BFD_RELOC_NDS32_TLS_LE_15S0
-
 
4316
ENUMX
-
 
4317
  BFD_RELOC_NDS32_TLS_LE_15S1
-
 
4318
ENUMX
-
 
4319
  BFD_RELOC_NDS32_TLS_LE_15S2
-
 
4320
ENUMDOC
-
 
4321
  For TLS.
-
 
4322
 
3840
 
4323
 
3841
ENUM
4324
ENUM
3842
  BFD_RELOC_V850_9_PCREL
4325
  BFD_RELOC_V850_9_PCREL
3843
ENUMDOC
4326
ENUMDOC
3844
  This is a 9-bit reloc
4327
  This is a 9-bit reloc
Line 4508... Line 4991...
4508
ENUM
4991
ENUM
4509
  BFD_RELOC_AVR_8_HLO
4992
  BFD_RELOC_AVR_8_HLO
4510
ENUMDOC
4993
ENUMDOC
4511
  This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol
4994
  This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol
4512
  in .byte hlo8(symbol)
4995
  in .byte hlo8(symbol)
4513
 
4996
ENUM
-
 
4997
  BFD_RELOC_AVR_DIFF8
-
 
4998
ENUMX
-
 
4999
  BFD_RELOC_AVR_DIFF16
-
 
5000
ENUMX
-
 
5001
  BFD_RELOC_AVR_DIFF32
-
 
5002
ENUMDOC
-
 
5003
  AVR relocations to mark the difference of two local symbols.
-
 
5004
  These are only needed to support linker relaxation and can be ignored
-
 
5005
  when not relaxing.  The field is set to the value of the difference
-
 
5006
  assuming no relaxation.  The relocation encodes the position of the
-
 
5007
  second symbol so the linker can determine whether to adjust the field
-
 
5008
  value.
-
 
5009
ENUM
-
 
5010
  BFD_RELOC_AVR_LDS_STS_16
-
 
5011
ENUMDOC
-
 
5012
  This is a 7 bit reloc for the AVR that stores SRAM address for 16bit
-
 
5013
  lds and sts instructions supported only tiny core.
-
 
5014
ENUM
-
 
5015
  BFD_RELOC_AVR_PORT6
-
 
5016
ENUMDOC
-
 
5017
  This is a 6 bit reloc for the AVR that stores an I/O register
-
 
5018
  number for the IN and OUT instructions
-
 
5019
ENUM
-
 
5020
  BFD_RELOC_AVR_PORT5
-
 
5021
ENUMDOC
-
 
5022
  This is a 5 bit reloc for the AVR that stores an I/O register
-
 
5023
  number for the SBIC, SBIS, SBI and CBI instructions
4514
ENUM
5024
ENUM
4515
  BFD_RELOC_RL78_NEG8
5025
  BFD_RELOC_RL78_NEG8
4516
ENUMX
5026
ENUMX
4517
  BFD_RELOC_RL78_NEG16
5027
  BFD_RELOC_RL78_NEG16
4518
ENUMX
5028
ENUMX
Line 4575... Line 5085...
4575
  BFD_RELOC_RL78_HI8
5085
  BFD_RELOC_RL78_HI8
4576
ENUMX
5086
ENUMX
4577
  BFD_RELOC_RL78_LO16
5087
  BFD_RELOC_RL78_LO16
4578
ENUMX
5088
ENUMX
4579
  BFD_RELOC_RL78_CODE
5089
  BFD_RELOC_RL78_CODE
-
 
5090
ENUMX
-
 
5091
  BFD_RELOC_RL78_SADDR
4580
ENUMDOC
5092
ENUMDOC
4581
  Renesas RL78 Relocations.
5093
  Renesas RL78 Relocations.
Line 4582... Line 5094...
4582
 
5094
 
4583
ENUM
5095
ENUM
Line 5597... Line 6109...
5597
  BFD_RELOC_860_HIGOTOFF
6109
  BFD_RELOC_860_HIGOTOFF
5598
ENUMDOC
6110
ENUMDOC
5599
  Intel i860 Relocations.
6111
  Intel i860 Relocations.
Line 5600... Line 6112...
5600
 
6112
 
5601
ENUM
6113
ENUM
-
 
6114
  BFD_RELOC_OR1K_REL_26
-
 
6115
ENUMX
-
 
6116
  BFD_RELOC_OR1K_GOTPC_HI16
-
 
6117
ENUMX
-
 
6118
  BFD_RELOC_OR1K_GOTPC_LO16
-
 
6119
ENUMX
-
 
6120
  BFD_RELOC_OR1K_GOT16
-
 
6121
ENUMX
-
 
6122
  BFD_RELOC_OR1K_PLT26
-
 
6123
ENUMX
-
 
6124
  BFD_RELOC_OR1K_GOTOFF_HI16
-
 
6125
ENUMX
-
 
6126
  BFD_RELOC_OR1K_GOTOFF_LO16
-
 
6127
ENUMX
-
 
6128
  BFD_RELOC_OR1K_COPY
-
 
6129
ENUMX
5602
  BFD_RELOC_OPENRISC_ABS_26
6130
  BFD_RELOC_OR1K_GLOB_DAT
-
 
6131
ENUMX
-
 
6132
  BFD_RELOC_OR1K_JMP_SLOT
-
 
6133
ENUMX
-
 
6134
  BFD_RELOC_OR1K_RELATIVE
-
 
6135
ENUMX
-
 
6136
  BFD_RELOC_OR1K_TLS_GD_HI16
-
 
6137
ENUMX
-
 
6138
  BFD_RELOC_OR1K_TLS_GD_LO16
-
 
6139
ENUMX
-
 
6140
  BFD_RELOC_OR1K_TLS_LDM_HI16
-
 
6141
ENUMX
-
 
6142
  BFD_RELOC_OR1K_TLS_LDM_LO16
-
 
6143
ENUMX
-
 
6144
  BFD_RELOC_OR1K_TLS_LDO_HI16
-
 
6145
ENUMX
-
 
6146
  BFD_RELOC_OR1K_TLS_LDO_LO16
-
 
6147
ENUMX
-
 
6148
  BFD_RELOC_OR1K_TLS_IE_HI16
5603
ENUMX
6149
ENUMX
-
 
6150
  BFD_RELOC_OR1K_TLS_IE_LO16
-
 
6151
ENUMX
-
 
6152
  BFD_RELOC_OR1K_TLS_LE_HI16
-
 
6153
ENUMX
-
 
6154
  BFD_RELOC_OR1K_TLS_LE_LO16
-
 
6155
ENUMX
-
 
6156
  BFD_RELOC_OR1K_TLS_TPOFF
-
 
6157
ENUMX
-
 
6158
  BFD_RELOC_OR1K_TLS_DTPOFF
-
 
6159
ENUMX
5604
  BFD_RELOC_OPENRISC_REL_26
6160
  BFD_RELOC_OR1K_TLS_DTPMOD
5605
ENUMDOC
6161
ENUMDOC
Line 5606... Line 6162...
5606
  OpenRISC Relocations.
6162
  OpenRISC 1000 Relocations.
5607
 
6163
 
5608
ENUM
6164
ENUM
5609
  BFD_RELOC_H8_DIR16A8
6165
  BFD_RELOC_H8_DIR16A8
Line 5795... Line 6351...
5795
  BFD_RELOC_NIOS2_JUMP_SLOT
6351
  BFD_RELOC_NIOS2_JUMP_SLOT
5796
ENUMX
6352
ENUMX
5797
  BFD_RELOC_NIOS2_RELATIVE
6353
  BFD_RELOC_NIOS2_RELATIVE
5798
ENUMX
6354
ENUMX
5799
  BFD_RELOC_NIOS2_GOTOFF
6355
  BFD_RELOC_NIOS2_GOTOFF
-
 
6356
ENUMX
-
 
6357
  BFD_RELOC_NIOS2_CALL26_NOAT
-
 
6358
ENUMX
-
 
6359
  BFD_RELOC_NIOS2_GOT_LO
-
 
6360
ENUMX
-
 
6361
  BFD_RELOC_NIOS2_GOT_HA
-
 
6362
ENUMX
-
 
6363
  BFD_RELOC_NIOS2_CALL_LO
-
 
6364
ENUMX
-
 
6365
  BFD_RELOC_NIOS2_CALL_HA
-
 
6366
ENUMX
-
 
6367
  BFD_RELOC_NIOS2_R2_S12
-
 
6368
ENUMX
-
 
6369
  BFD_RELOC_NIOS2_R2_I10_1_PCREL
-
 
6370
ENUMX
-
 
6371
  BFD_RELOC_NIOS2_R2_T1I7_1_PCREL
-
 
6372
ENUMX
-
 
6373
  BFD_RELOC_NIOS2_R2_T1I7_2
-
 
6374
ENUMX
-
 
6375
  BFD_RELOC_NIOS2_R2_T2I4
-
 
6376
ENUMX
-
 
6377
  BFD_RELOC_NIOS2_R2_T2I4_1
-
 
6378
ENUMX
-
 
6379
  BFD_RELOC_NIOS2_R2_T2I4_2
-
 
6380
ENUMX
-
 
6381
  BFD_RELOC_NIOS2_R2_X1I7_2
-
 
6382
ENUMX
-
 
6383
  BFD_RELOC_NIOS2_R2_X2L5
-
 
6384
ENUMX
-
 
6385
  BFD_RELOC_NIOS2_R2_F1I5_2
-
 
6386
ENUMX
-
 
6387
  BFD_RELOC_NIOS2_R2_L5I4X1
-
 
6388
ENUMX
-
 
6389
  BFD_RELOC_NIOS2_R2_T1X1I6
-
 
6390
ENUMX
-
 
6391
  BFD_RELOC_NIOS2_R2_T1X1I6_2
5800
ENUMDOC
6392
ENUMDOC
5801
  Relocations used by the Altera Nios II core.
6393
  Relocations used by the Altera Nios II core.
Line 5802... Line 6394...
5802
 
6394
 
5803
ENUM
6395
ENUM
Line 6327... Line 6919...
6327
ENUMDOC
6919
ENUMDOC
6328
  Unsigned 12 bit byte offset for 32 bit load/store from the page of
6920
  Unsigned 12 bit byte offset for 32 bit load/store from the page of
6329
  the GOT entry for this symbol.  Used in conjunction with
6921
  the GOT entry for this symbol.  Used in conjunction with
6330
  BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in ILP32 ABI only.
6922
  BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in ILP32 ABI only.
6331
ENUM
6923
 ENUM
-
 
6924
  BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC
-
 
6925
ENUMDOC
-
 
6926
  Unsigned 16 bit byte offset for 64 bit load/store from the GOT entry
-
 
6927
  for this symbol.  Valid in LP64 ABI only.
-
 
6928
ENUM
-
 
6929
  BFD_RELOC_AARCH64_MOVW_GOTOFF_G1
-
 
6930
ENUMDOC
-
 
6931
  Unsigned 16 bit byte higher offset for 64 bit load/store from the GOT entry
-
 
6932
  for this symbol.  Valid in LP64 ABI only.
-
 
6933
ENUM
-
 
6934
  BFD_RELOC_AARCH64_LD64_GOTOFF_LO15
-
 
6935
ENUMDOC
-
 
6936
  Unsigned 15 bit byte offset for 64 bit load/store from the page of
-
 
6937
  the GOT entry for this symbol.  Valid in LP64 ABI only.
-
 
6938
ENUM
-
 
6939
  BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14
-
 
6940
ENUMDOC
-
 
6941
  Scaled 14 bit byte offset to the page base of the global offset table.
-
 
6942
ENUM
-
 
6943
  BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
-
 
6944
ENUMDOC
-
 
6945
  Scaled 15 bit byte offset to the page base of the global offset table.
-
 
6946
ENUM
6332
  BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21
6947
  BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21
6333
ENUMDOC
6948
ENUMDOC
6334
  Get to the page base of the global offset table entry for a symbols
6949
  Get to the page base of the global offset table entry for a symbols
6335
  tls_index structure as part of an adrp instruction using a 21 bit PC
6950
  tls_index structure as part of an adrp instruction using a 21 bit PC
6336
  relative value.  Used in conjunction with
6951
  relative value.  Used in conjunction with
6337
  BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC.
6952
  BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC.
6338
ENUM
6953
ENUM
-
 
6954
  BFD_RELOC_AARCH64_TLSGD_ADR_PREL21
-
 
6955
ENUMDOC
-
 
6956
  AArch64 TLS General Dynamic
-
 
6957
ENUM
6339
  BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC
6958
  BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC
6340
ENUMDOC
6959
ENUMDOC
6341
  Unsigned 12 bit byte offset to global offset table entry for a symbols
6960
  Unsigned 12 bit byte offset to global offset table entry for a symbols
6342
  tls_index structure.  Used in conjunction with
6961
  tls_index structure.  Used in conjunction with
6343
  BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21.
6962
  BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21.
6344
ENUM
6963
ENUM
6345
  BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1
6964
  BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC
6346
ENUMDOC
6965
ENUMDOC
6347
  AArch64 TLS INITIAL EXEC relocation.
6966
  AArch64 TLS General Dynamic relocation.
6348
ENUM
6967
ENUM
6349
  BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
6968
  BFD_RELOC_AARCH64_TLSGD_MOVW_G1
6350
ENUMDOC
6969
ENUMDOC
6351
  AArch64 TLS INITIAL EXEC relocation.
6970
  AArch64 TLS General Dynamic relocation.
6352
ENUM
6971
ENUM
6353
  BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
6972
  BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
6354
ENUMDOC
6973
ENUMDOC
6355
  AArch64 TLS INITIAL EXEC relocation.
6974
  AArch64 TLS INITIAL EXEC relocation.
6356
ENUM
6975
ENUM
Line 6364... Line 6983...
6364
ENUM
6983
ENUM
6365
  BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19
6984
  BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19
6366
ENUMDOC
6985
ENUMDOC
6367
  AArch64 TLS INITIAL EXEC relocation.
6986
  AArch64 TLS INITIAL EXEC relocation.
6368
ENUM
6987
ENUM
-
 
6988
  BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
-
 
6989
ENUMDOC
-
 
6990
  AArch64 TLS INITIAL EXEC relocation.
-
 
6991
ENUM
-
 
6992
  BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1
-
 
6993
ENUMDOC
-
 
6994
  AArch64 TLS INITIAL EXEC relocation.
-
 
6995
ENUM
-
 
6996
  BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12
-
 
6997
ENUMDOC
-
 
6998
  bit[23:12] of byte offset to module TLS base address.
-
 
6999
ENUM
-
 
7000
  BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12
-
 
7001
ENUMDOC
-
 
7002
  Unsigned 12 bit byte offset to module TLS base address.
-
 
7003
ENUM
-
 
7004
  BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
-
 
7005
ENUMDOC
-
 
7006
  No overflow check version of BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
-
 
7007
ENUM
-
 
7008
  BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC
-
 
7009
ENUMDOC
-
 
7010
  Unsigned 12 bit byte offset to global offset table entry for a symbols
-
 
7011
  tls_index structure.  Used in conjunction with
-
 
7012
  BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
-
 
7013
ENUM
-
 
7014
  BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21
-
 
7015
ENUMDOC
-
 
7016
  GOT entry page address for AArch64 TLS Local Dynamic, used with ADRP
-
 
7017
  instruction.
-
 
7018
ENUM
-
 
7019
  BFD_RELOC_AARCH64_TLSLD_ADR_PREL21
-
 
7020
ENUMDOC
-
 
7021
  GOT entry address for AArch64 TLS Local Dynamic, used with ADR instruction.
-
 
7022
ENUM
-
 
7023
  BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12
-
 
7024
ENUMDOC
-
 
7025
  bit[11:1] of byte offset to module TLS base address, encoded in ldst
-
 
7026
  instructions.
-
 
7027
ENUM
-
 
7028
  BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC
-
 
7029
ENUMDOC
-
 
7030
  Similar as BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12, but no overflow check.
-
 
7031
ENUM
-
 
7032
  BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12
-
 
7033
ENUMDOC
-
 
7034
  bit[11:2] of byte offset to module TLS base address, encoded in ldst
-
 
7035
  instructions.
-
 
7036
ENUM
-
 
7037
  BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC
-
 
7038
ENUMDOC
-
 
7039
  Similar as BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12, but no overflow check.
-
 
7040
ENUM
-
 
7041
  BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12
-
 
7042
ENUMDOC
-
 
7043
  bit[11:3] of byte offset to module TLS base address, encoded in ldst
-
 
7044
  instructions.
-
 
7045
ENUM
-
 
7046
  BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC
-
 
7047
ENUMDOC
-
 
7048
  Similar as BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12, but no overflow check.
-
 
7049
ENUM
-
 
7050
  BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12
-
 
7051
ENUMDOC
-
 
7052
  bit[11:0] of byte offset to module TLS base address, encoded in ldst
-
 
7053
  instructions.
-
 
7054
ENUM
-
 
7055
  BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC
-
 
7056
ENUMDOC
-
 
7057
  Similar as BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12, but no overflow check.
-
 
7058
ENUM
-
 
7059
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0
-
 
7060
ENUMDOC
-
 
7061
  bit[15:0] of byte offset to module TLS base address.
-
 
7062
ENUM
-
 
7063
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC
-
 
7064
ENUMDOC
-
 
7065
  No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0
-
 
7066
ENUM
-
 
7067
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1
-
 
7068
ENUMDOC
-
 
7069
  bit[31:16] of byte offset to module TLS base address.
-
 
7070
ENUM
-
 
7071
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC
-
 
7072
ENUMDOC
-
 
7073
  No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1
-
 
7074
ENUM
-
 
7075
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2
-
 
7076
ENUMDOC
-
 
7077
  bit[47:32] of byte offset to module TLS base address.
-
 
7078
ENUM
6369
  BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2
7079
  BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2
6370
ENUMDOC
7080
ENUMDOC
6371
  AArch64 TLS LOCAL EXEC relocation.
7081
  AArch64 TLS LOCAL EXEC relocation.
6372
ENUM
7082
ENUM
6373
  BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
7083
  BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
Line 6494... Line 7204...
6494
  BFD_RELOC_AARCH64_LDST_LO12
7204
  BFD_RELOC_AARCH64_LDST_LO12
6495
ENUMDOC
7205
ENUMDOC
6496
  AArch64 unspecified load/store instruction, holding bits 0 to 11 of the
7206
  AArch64 unspecified load/store instruction, holding bits 0 to 11 of the
6497
  address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
7207
  address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
6498
ENUM
7208
ENUM
-
 
7209
  BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12
-
 
7210
ENUMDOC
-
 
7211
  AArch64 pseudo relocation code for TLS local dynamic mode.  It's to be
-
 
7212
  used internally by the AArch64 assembler and not (currently) written to
-
 
7213
  any object files.
-
 
7214
ENUM
-
 
7215
  BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC
-
 
7216
ENUMDOC
-
 
7217
  Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check.
-
 
7218
ENUM
6499
  BFD_RELOC_AARCH64_LD_GOT_LO12_NC
7219
  BFD_RELOC_AARCH64_LD_GOT_LO12_NC
6500
ENUMDOC
7220
ENUMDOC
6501
  AArch64 pseudo relocation code to be used internally by the AArch64
7221
  AArch64 pseudo relocation code to be used internally by the AArch64
6502
  assembler and not (currently) written to any object files.
7222
  assembler and not (currently) written to any object files.
6503
ENUM
7223
ENUM
Line 6508... Line 7228...
6508
ENUM
7228
ENUM
6509
  BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC
7229
  BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC
6510
ENUMDOC
7230
ENUMDOC
6511
  AArch64 pseudo relocation code to be used internally by the AArch64
7231
  AArch64 pseudo relocation code to be used internally by the AArch64
6512
  assembler and not (currently) written to any object files.
7232
  assembler and not (currently) written to any object files.
6513
 
-
 
6514
ENUM
7233
ENUM
6515
  BFD_RELOC_TILEPRO_COPY
7234
  BFD_RELOC_TILEPRO_COPY
6516
ENUMX
7235
ENUMX
6517
  BFD_RELOC_TILEPRO_GLOB_DAT
7236
  BFD_RELOC_TILEPRO_GLOB_DAT
6518
ENUMX
7237
ENUMX
Line 6889... Line 7608...
6889
  BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD
7608
  BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD
6890
ENUMX
7609
ENUMX
6891
  BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD
7610
  BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD
6892
ENUMDOC
7611
ENUMDOC
6893
  Tilera TILE-Gx Relocations.
7612
  Tilera TILE-Gx Relocations.
-
 
7613
 
6894
ENUM
7614
ENUM
6895
  BFD_RELOC_EPIPHANY_SIMM8
7615
  BFD_RELOC_EPIPHANY_SIMM8
6896
ENUMDOC
7616
ENUMDOC
6897
  Adapteva EPIPHANY - 8 bit signed pc-relative displacement
7617
  Adapteva EPIPHANY - 8 bit signed pc-relative displacement
6898
ENUM
7618
ENUM
Line 6918... Line 7638...
6918
ENUM
7638
ENUM
6919
  BFD_RELOC_EPIPHANY_IMM8
7639
  BFD_RELOC_EPIPHANY_IMM8
6920
ENUMDOC
7640
ENUMDOC
6921
  Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
7641
  Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
Line -... Line 7642...
-
 
7642
 
-
 
7643
ENUM
-
 
7644
  BFD_RELOC_VISIUM_HI16
-
 
7645
ENUMX
-
 
7646
  BFD_RELOC_VISIUM_LO16
-
 
7647
ENUMX
-
 
7648
  BFD_RELOC_VISIUM_IM16
-
 
7649
ENUMX
-
 
7650
  BFD_RELOC_VISIUM_REL16
-
 
7651
ENUMX
-
 
7652
  BFD_RELOC_VISIUM_HI16_PCREL
-
 
7653
ENUMX
-
 
7654
  BFD_RELOC_VISIUM_LO16_PCREL
-
 
7655
ENUMX
-
 
7656
  BFD_RELOC_VISIUM_IM16_PCREL
-
 
7657
ENUMDOC
Line 6922... Line 7658...
6922
 
7658
  Visium Relocations.
6923
 
7659
 
6924
ENDSENUM
7660
ENDSENUM
6925
  BFD_RELOC_UNUSED
7661
  BFD_RELOC_UNUSED
Line 7039... Line 7775...
7039
bfd_generic_relax_section (bfd *abfd ATTRIBUTE_UNUSED,
7775
bfd_generic_relax_section (bfd *abfd ATTRIBUTE_UNUSED,
7040
			   asection *section ATTRIBUTE_UNUSED,
7776
			   asection *section ATTRIBUTE_UNUSED,
7041
			   struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
7777
			   struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
7042
			   bfd_boolean *again)
7778
			   bfd_boolean *again)
7043
{
7779
{
7044
  if (link_info->relocatable)
7780
  if (bfd_link_relocatable (link_info))
7045
    (*link_info->callbacks->einfo)
7781
    (*link_info->callbacks->einfo)
7046
      (_("%P%F: --relax and -r may not be used together\n"));
7782
      (_("%P%F: --relax and -r may not be used together\n"));
Line 7047... Line 7783...
7047
 
7783
 
7048
  *again = FALSE;
7784
  *again = FALSE;
Line 7247... Line 7983...
7247
		  link_info->callbacks->einfo
7983
		  link_info->callbacks->einfo
7248
		    (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
7984
		    (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
7249
		     abfd, input_section, * parent);
7985
		     abfd, input_section, * parent);
7250
		  goto error_return;
7986
		  goto error_return;
Line -... Line 7987...
-
 
7987
 
-
 
7988
		case bfd_reloc_notsupported:
-
 
7989
		  /* PR ld/17512
-
 
7990
		     This error can result when processing a corrupt binary.
-
 
7991
		     Do not abort.  Issue an error message instead.  */
-
 
7992
		  link_info->callbacks->einfo
-
 
7993
		    (_("%X%P: %B(%A): relocation \"%R\" is not supported\n"),
-
 
7994
		     abfd, input_section, * parent);
-
 
7995
		  goto error_return;
7251
 
7996
 
-
 
7997
		default:
-
 
7998
		  /* PR 17512; file: 90c2a92e.
-
 
7999
		     Report unexpected results, without aborting.  */
-
 
8000
		  link_info->callbacks->einfo
7252
		default:
8001
		    (_("%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"),
7253
		  abort ();
8002
		     abfd, input_section, * parent, r);
7254
		  break;
8003
		  break;
Line 7255... Line 8004...
7255
		}
8004
		}
7256
 
8005