Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(208)

Side by Side Diff: bfd/reloc.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « bfd/ptrace-core.c ('k') | bfd/reloc16.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* BFD support for handling relocation entries. 1 /* BFD support for handling relocation entries.
2 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 3 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
4 2012
4 Free Software Foundation, Inc. 5 Free Software Foundation, Inc.
5 Written by Cygnus Support. 6 Written by Cygnus Support.
6 7
7 This file is part of BFD, the Binary File Descriptor library. 8 This file is part of BFD, the Binary File Descriptor library.
8 9
9 This program is free software; you can redistribute it and/or modify 10 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by 11 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or 12 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version. 13 (at your option) any later version.
13 14
(...skipping 1921 matching lines...) Expand 10 before | Expand all | Expand 10 after
1935 ENUMX 1936 ENUMX
1936 BFD_RELOC_SPARC_LOX10 1937 BFD_RELOC_SPARC_LOX10
1937 ENUMX 1938 ENUMX
1938 BFD_RELOC_SPARC_H44 1939 BFD_RELOC_SPARC_H44
1939 ENUMX 1940 ENUMX
1940 BFD_RELOC_SPARC_M44 1941 BFD_RELOC_SPARC_M44
1941 ENUMX 1942 ENUMX
1942 BFD_RELOC_SPARC_L44 1943 BFD_RELOC_SPARC_L44
1943 ENUMX 1944 ENUMX
1944 BFD_RELOC_SPARC_REGISTER 1945 BFD_RELOC_SPARC_REGISTER
1946 ENUMX
1947 BFD_RELOC_SPARC_H34
1948 ENUMX
1949 BFD_RELOC_SPARC_SIZE32
1950 ENUMX
1951 BFD_RELOC_SPARC_SIZE64
1952 ENUMX
1953 BFD_RELOC_SPARC_WDISP10
1945 ENUMDOC 1954 ENUMDOC
1946 SPARC64 relocations 1955 SPARC64 relocations
1947 1956
1948 ENUM 1957 ENUM
1949 BFD_RELOC_SPARC_REV32 1958 BFD_RELOC_SPARC_REV32
1950 ENUMDOC 1959 ENUMDOC
1951 SPARC little endian relocation 1960 SPARC little endian relocation
1952 ENUM 1961 ENUM
1953 BFD_RELOC_SPARC_TLS_GD_HI22 1962 BFD_RELOC_SPARC_TLS_GD_HI22
1954 ENUMX 1963 ENUMX
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
2240 MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign 2249 MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign
2241 extended and added to form the final result. If the low 16 2250 extended and added to form the final result. If the low 16
2242 bits form a negative number, we need to add one to the high value 2251 bits form a negative number, we need to add one to the high value
2243 to compensate for the borrow when the low bits are added. 2252 to compensate for the borrow when the low bits are added.
2244 ENUM 2253 ENUM
2245 BFD_RELOC_MIPS16_LO16 2254 BFD_RELOC_MIPS16_LO16
2246 ENUMDOC 2255 ENUMDOC
2247 MIPS16 low 16 bits. 2256 MIPS16 low 16 bits.
2248 2257
2249 ENUM 2258 ENUM
2259 BFD_RELOC_MIPS16_TLS_GD
2260 ENUMX
2261 BFD_RELOC_MIPS16_TLS_LDM
2262 ENUMX
2263 BFD_RELOC_MIPS16_TLS_DTPREL_HI16
2264 ENUMX
2265 BFD_RELOC_MIPS16_TLS_DTPREL_LO16
2266 ENUMX
2267 BFD_RELOC_MIPS16_TLS_GOTTPREL
2268 ENUMX
2269 BFD_RELOC_MIPS16_TLS_TPREL_HI16
2270 ENUMX
2271 BFD_RELOC_MIPS16_TLS_TPREL_LO16
2272 ENUMDOC
2273 MIPS16 TLS relocations
2274
2275 ENUM
2250 BFD_RELOC_MIPS_LITERAL 2276 BFD_RELOC_MIPS_LITERAL
2251 ENUMX 2277 ENUMX
2252 BFD_RELOC_MICROMIPS_LITERAL 2278 BFD_RELOC_MICROMIPS_LITERAL
2253 ENUMDOC 2279 ENUMDOC
2254 Relocation against a MIPS literal section. 2280 Relocation against a MIPS literal section.
2255 2281
2256 ENUM 2282 ENUM
2257 BFD_RELOC_MICROMIPS_7_PCREL_S1 2283 BFD_RELOC_MICROMIPS_7_PCREL_S1
2258 ENUMX 2284 ENUMX
2259 BFD_RELOC_MICROMIPS_10_PCREL_S1 2285 BFD_RELOC_MICROMIPS_10_PCREL_S1
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
2523 ENUMDOC 2549 ENUMDOC
2524 Together with another reloc targeted at the same location, 2550 Together with another reloc targeted at the same location,
2525 allows for a value that is the difference of two symbols 2551 allows for a value that is the difference of two symbols
2526 in the same section. 2552 in the same section.
2527 ENUM 2553 ENUM
2528 BFD_RELOC_MN10300_ALIGN 2554 BFD_RELOC_MN10300_ALIGN
2529 ENUMDOC 2555 ENUMDOC
2530 The addend of this reloc is an alignment power that must 2556 The addend of this reloc is an alignment power that must
2531 be honoured at the offset's location, regardless of linker 2557 be honoured at the offset's location, regardless of linker
2532 relaxation. 2558 relaxation.
2559 ENUM
2560 BFD_RELOC_MN10300_TLS_GD
2561 ENUMX
2562 BFD_RELOC_MN10300_TLS_LD
2563 ENUMX
2564 BFD_RELOC_MN10300_TLS_LDO
2565 ENUMX
2566 BFD_RELOC_MN10300_TLS_GOTIE
2567 ENUMX
2568 BFD_RELOC_MN10300_TLS_IE
2569 ENUMX
2570 BFD_RELOC_MN10300_TLS_LE
2571 ENUMX
2572 BFD_RELOC_MN10300_TLS_DTPMOD
2573 ENUMX
2574 BFD_RELOC_MN10300_TLS_DTPOFF
2575 ENUMX
2576 BFD_RELOC_MN10300_TLS_TPOFF
2577 ENUMDOC
2578 Various TLS-related relocations.
2579 ENUM
2580 BFD_RELOC_MN10300_32_PCREL
2581 ENUMDOC
2582 This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
2583 instruction.
2584 ENUM
2585 BFD_RELOC_MN10300_16_PCREL
2586 ENUMDOC
2587 This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
2588 instruction.
2533 COMMENT 2589 COMMENT
2534 2590
2535 ENUM 2591 ENUM
2536 BFD_RELOC_386_GOT32 2592 BFD_RELOC_386_GOT32
2537 ENUMX 2593 ENUMX
2538 BFD_RELOC_386_PLT32 2594 BFD_RELOC_386_PLT32
2539 ENUMX 2595 ENUMX
2540 BFD_RELOC_386_COPY 2596 BFD_RELOC_386_COPY
2541 ENUMX 2597 ENUMX
2542 BFD_RELOC_386_GLOB_DAT 2598 BFD_RELOC_386_GLOB_DAT
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
2743 BFD_RELOC_PPC_EMB_RELST_LO 2799 BFD_RELOC_PPC_EMB_RELST_LO
2744 ENUMX 2800 ENUMX
2745 BFD_RELOC_PPC_EMB_RELST_HI 2801 BFD_RELOC_PPC_EMB_RELST_HI
2746 ENUMX 2802 ENUMX
2747 BFD_RELOC_PPC_EMB_RELST_HA 2803 BFD_RELOC_PPC_EMB_RELST_HA
2748 ENUMX 2804 ENUMX
2749 BFD_RELOC_PPC_EMB_BIT_FLD 2805 BFD_RELOC_PPC_EMB_BIT_FLD
2750 ENUMX 2806 ENUMX
2751 BFD_RELOC_PPC_EMB_RELSDA 2807 BFD_RELOC_PPC_EMB_RELSDA
2752 ENUMX 2808 ENUMX
2809 BFD_RELOC_PPC_VLE_REL8
2810 ENUMX
2811 BFD_RELOC_PPC_VLE_REL15
2812 ENUMX
2813 BFD_RELOC_PPC_VLE_REL24
2814 ENUMX
2815 BFD_RELOC_PPC_VLE_LO16A
2816 ENUMX
2817 BFD_RELOC_PPC_VLE_LO16D
2818 ENUMX
2819 BFD_RELOC_PPC_VLE_HI16A
2820 ENUMX
2821 BFD_RELOC_PPC_VLE_HI16D
2822 ENUMX
2823 BFD_RELOC_PPC_VLE_HA16A
2824 ENUMX
2825 BFD_RELOC_PPC_VLE_HA16D
2826 ENUMX
2827 BFD_RELOC_PPC_VLE_SDA21
2828 ENUMX
2829 BFD_RELOC_PPC_VLE_SDA21_LO
2830 ENUMX
2831 BFD_RELOC_PPC_VLE_SDAREL_LO16A
2832 ENUMX
2833 BFD_RELOC_PPC_VLE_SDAREL_LO16D
2834 ENUMX
2835 BFD_RELOC_PPC_VLE_SDAREL_HI16A
2836 ENUMX
2837 BFD_RELOC_PPC_VLE_SDAREL_HI16D
2838 ENUMX
2839 BFD_RELOC_PPC_VLE_SDAREL_HA16A
2840 ENUMX
2841 BFD_RELOC_PPC_VLE_SDAREL_HA16D
2842 ENUMX
2753 BFD_RELOC_PPC64_HIGHER 2843 BFD_RELOC_PPC64_HIGHER
2754 ENUMX 2844 ENUMX
2755 BFD_RELOC_PPC64_HIGHER_S 2845 BFD_RELOC_PPC64_HIGHER_S
2756 ENUMX 2846 ENUMX
2757 BFD_RELOC_PPC64_HIGHEST 2847 BFD_RELOC_PPC64_HIGHEST
2758 ENUMX 2848 ENUMX
2759 BFD_RELOC_PPC64_HIGHEST_S 2849 BFD_RELOC_PPC64_HIGHEST_S
2760 ENUMX 2850 ENUMX
2761 BFD_RELOC_PPC64_TOC16_LO 2851 BFD_RELOC_PPC64_TOC16_LO
2762 ENUMX 2852 ENUMX
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after
3897 ENUMDOC 3987 ENUMDOC
3898 DSO relocations. 3988 DSO relocations.
3899 ENUM 3989 ENUM
3900 BFD_RELOC_V850_CODE 3990 BFD_RELOC_V850_CODE
3901 ENUMDOC 3991 ENUMDOC
3902 start code. 3992 start code.
3903 ENUM 3993 ENUM
3904 BFD_RELOC_V850_DATA 3994 BFD_RELOC_V850_DATA
3905 ENUMDOC 3995 ENUMDOC
3906 start data in text. 3996 start data in text.
3907 ENUM
3908 BFD_RELOC_MN10300_32_PCREL
3909 ENUMDOC
3910 This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
3911 instruction.
3912 ENUM
3913 BFD_RELOC_MN10300_16_PCREL
3914 ENUMDOC
3915 This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
3916 instruction.
3917 3997
3918 ENUM 3998 ENUM
3919 BFD_RELOC_TIC30_LDP 3999 BFD_RELOC_TIC30_LDP
3920 ENUMDOC 4000 ENUMDOC
3921 This is a 8bit DP reloc for the tms320c30, where the most 4001 This is a 8bit DP reloc for the tms320c30, where the most
3922 significant 8 bits of a 24 bit word are placed into the least 4002 significant 8 bits of a 24 bit word are placed into the least
3923 significant 8 bits of the opcode. 4003 significant 8 bits of the opcode.
3924 4004
3925 ENUM 4005 ENUM
3926 BFD_RELOC_TIC54X_PARTLS7 4006 BFD_RELOC_TIC54X_PARTLS7
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
4307 ENUM 4387 ENUM
4308 BFD_RELOC_AVR_6 4388 BFD_RELOC_AVR_6
4309 ENUMDOC 4389 ENUMDOC
4310 This is a 6 bit reloc for the AVR that stores offset for ldd/std 4390 This is a 6 bit reloc for the AVR that stores offset for ldd/std
4311 instructions 4391 instructions
4312 ENUM 4392 ENUM
4313 BFD_RELOC_AVR_6_ADIW 4393 BFD_RELOC_AVR_6_ADIW
4314 ENUMDOC 4394 ENUMDOC
4315 This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw 4395 This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
4316 instructions 4396 instructions
4397 ENUM
4398 BFD_RELOC_AVR_8_LO
4399 ENUMDOC
4400 This is a 8 bit reloc for the AVR that stores bits 0..7 of a symbol
4401 in .byte lo8(symbol)
4402 ENUM
4403 BFD_RELOC_AVR_8_HI
4404 ENUMDOC
4405 This is a 8 bit reloc for the AVR that stores bits 8..15 of a symbol
4406 in .byte hi8(symbol)
4407 ENUM
4408 BFD_RELOC_AVR_8_HLO
4409 ENUMDOC
4410 This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol
4411 in .byte hlo8(symbol)
4317 4412
4318 ENUM 4413 ENUM
4319 BFD_RELOC_RL78_NEG8 4414 BFD_RELOC_RL78_NEG8
4320 ENUMX 4415 ENUMX
4321 BFD_RELOC_RL78_NEG16 4416 BFD_RELOC_RL78_NEG16
4322 ENUMX 4417 ENUMX
4323 BFD_RELOC_RL78_NEG24 4418 BFD_RELOC_RL78_NEG24
4324 ENUMX 4419 ENUMX
4325 BFD_RELOC_RL78_NEG32 4420 BFD_RELOC_RL78_NEG32
4326 ENUMX 4421 ENUMX
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
4592 ENUMX 4687 ENUMX
4593 BFD_RELOC_390_GOT20 4688 BFD_RELOC_390_GOT20
4594 ENUMX 4689 ENUMX
4595 BFD_RELOC_390_GOTPLT20 4690 BFD_RELOC_390_GOTPLT20
4596 ENUMX 4691 ENUMX
4597 BFD_RELOC_390_TLS_GOTIE20 4692 BFD_RELOC_390_TLS_GOTIE20
4598 ENUMDOC 4693 ENUMDOC
4599 Long displacement extension. 4694 Long displacement extension.
4600 4695
4601 ENUM 4696 ENUM
4697 BFD_RELOC_390_IRELATIVE
4698 ENUMDOC
4699 STT_GNU_IFUNC relocation.
4700
4701 ENUM
4602 BFD_RELOC_SCORE_GPREL15 4702 BFD_RELOC_SCORE_GPREL15
4603 ENUMDOC 4703 ENUMDOC
4604 Score relocations 4704 Score relocations
4605 Low 16 bit for load/store 4705 Low 16 bit for load/store
4606 ENUM 4706 ENUM
4607 BFD_RELOC_SCORE_DUMMY2 4707 BFD_RELOC_SCORE_DUMMY2
4608 ENUMX 4708 ENUMX
4609 BFD_RELOC_SCORE_JMP 4709 BFD_RELOC_SCORE_JMP
4610 ENUMDOC 4710 ENUMDOC
4611 This is a 24-bit reloc with the right 1 bit assumed to be 0 4711 This is a 24-bit reloc with the right 1 bit assumed to be 0
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
4926 ENUMDOC 5026 ENUMDOC
4927 Motorola 68HC11 reloc. 5027 Motorola 68HC11 reloc.
4928 This is a 24-bit reloc that represents the address with a 16-bit 5028 This is a 24-bit reloc that represents the address with a 16-bit
4929 value and a 8-bit page number. The symbol address is transformed 5029 value and a 8-bit page number. The symbol address is transformed
4930 to follow the 16K memory bank of 68HC12 (seen as mapped in the window). 5030 to follow the 16K memory bank of 68HC12 (seen as mapped in the window).
4931 ENUM 5031 ENUM
4932 BFD_RELOC_M68HC12_5B 5032 BFD_RELOC_M68HC12_5B
4933 ENUMDOC 5033 ENUMDOC
4934 Motorola 68HC12 reloc. 5034 Motorola 68HC12 reloc.
4935 This is the 5 bits of a value. 5035 This is the 5 bits of a value.
4936 5036 ENUM
5037 BFD_RELOC_XGATE_RL_JUMP
5038 ENUMDOC
5039 Freescale XGATE reloc.
5040 This reloc marks the beginning of a bra/jal instruction.
5041 ENUM
5042 BFD_RELOC_XGATE_RL_GROUP
5043 ENUMDOC
5044 Freescale XGATE reloc.
5045 This reloc marks a group of several instructions that gcc generates
5046 and for which the linker relaxation pass can modify and/or remove
5047 some of them.
5048 ENUM
5049 BFD_RELOC_XGATE_LO16
5050 ENUMDOC
5051 Freescale XGATE reloc.
5052 This is the 16-bit lower part of an address. It is used for the '16-bit'
5053 instructions.
5054 ENUM
5055 BFD_RELOC_XGATE_GPAGE
5056 ENUMDOC
5057 Freescale XGATE reloc.
5058 ENUM
5059 BFD_RELOC_XGATE_24
5060 ENUMDOC
5061 Freescale XGATE reloc.
5062 ENUM
5063 BFD_RELOC_XGATE_PCREL_9
5064 ENUMDOC
5065 Freescale XGATE reloc.
5066 This is a 9-bit pc-relative reloc.
5067 ENUM
5068 BFD_RELOC_XGATE_PCREL_10
5069 ENUMDOC
5070 Freescale XGATE reloc.
5071 This is a 10-bit pc-relative reloc.
5072 ENUM
5073 BFD_RELOC_XGATE_IMM8_LO
5074 ENUMDOC
5075 Freescale XGATE reloc.
5076 This is the 16-bit lower part of an address. It is used for the '16-bit'
5077 instructions.
5078 ENUM
5079 BFD_RELOC_XGATE_IMM8_HI
5080 ENUMDOC
5081 Freescale XGATE reloc.
5082 This is the 16-bit higher part of an address. It is used for the '16-bit'
5083 instructions.
5084 ENUM
5085 BFD_RELOC_XGATE_IMM3
5086 ENUMDOC
5087 Freescale XGATE reloc.
5088 This is a 3-bit pc-relative reloc.
5089 ENUM
5090 BFD_RELOC_XGATE_IMM4
5091 ENUMDOC
5092 Freescale XGATE reloc.
5093 This is a 4-bit pc-relative reloc.
5094 ENUM
5095 BFD_RELOC_XGATE_IMM5
5096 ENUMDOC
5097 Freescale XGATE reloc.
5098 This is a 5-bit pc-relative reloc.
5099 ENUM
5100 BFD_RELOC_M68HC12_9B
5101 ENUMDOC
5102 Motorola 68HC12 reloc.
5103 This is the 9 bits of a value.
5104 ENUM
5105 BFD_RELOC_M68HC12_16B
5106 ENUMDOC
5107 Motorola 68HC12 reloc.
5108 This is the 16 bits of a value.
5109 ENUM
5110 BFD_RELOC_M68HC12_9_PCREL
5111 ENUMDOC
5112 Motorola 68HC12/XGATE reloc.
5113 This is a PCREL9 branch.
5114 ENUM
5115 BFD_RELOC_M68HC12_10_PCREL
5116 ENUMDOC
5117 Motorola 68HC12/XGATE reloc.
5118 This is a PCREL10 branch.
5119 ENUM
5120 BFD_RELOC_M68HC12_LO8XG
5121 ENUMDOC
5122 Motorola 68HC12/XGATE reloc.
5123 This is the 8 bit low part of an absolute address and immediately precedes
5124 a matching HI8XG part.
5125 ENUM
5126 BFD_RELOC_M68HC12_HI8XG
5127 ENUMDOC
5128 Motorola 68HC12/XGATE reloc.
5129 This is the 8 bit high part of an absolute address and immediately follows
5130 a matching LO8XG part.
4937 ENUM 5131 ENUM
4938 BFD_RELOC_16C_NUM08 5132 BFD_RELOC_16C_NUM08
4939 ENUMX 5133 ENUMX
4940 BFD_RELOC_16C_NUM08_C 5134 BFD_RELOC_16C_NUM08_C
4941 ENUMX 5135 ENUMX
4942 BFD_RELOC_16C_NUM16 5136 BFD_RELOC_16C_NUM16
4943 ENUMX 5137 ENUMX
4944 BFD_RELOC_16C_NUM16_C 5138 BFD_RELOC_16C_NUM16_C
4945 ENUMX 5139 ENUMX
4946 BFD_RELOC_16C_NUM32 5140 BFD_RELOC_16C_NUM32
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
5570 BFD_RELOC_LM32_RELATIVE 5764 BFD_RELOC_LM32_RELATIVE
5571 ENUMDOC 5765 ENUMDOC
5572 Lattice Mico32 relocations. 5766 Lattice Mico32 relocations.
5573 5767
5574 ENUM 5768 ENUM
5575 BFD_RELOC_MACH_O_SECTDIFF 5769 BFD_RELOC_MACH_O_SECTDIFF
5576 ENUMDOC 5770 ENUMDOC
5577 Difference between two section addreses. Must be followed by a 5771 Difference between two section addreses. Must be followed by a
5578 BFD_RELOC_MACH_O_PAIR. 5772 BFD_RELOC_MACH_O_PAIR.
5579 ENUM 5773 ENUM
5774 BFD_RELOC_MACH_O_LOCAL_SECTDIFF
5775 ENUMDOC
5776 Like BFD_RELOC_MACH_O_SECTDIFF but with a local symbol.
5777 ENUM
5580 BFD_RELOC_MACH_O_PAIR 5778 BFD_RELOC_MACH_O_PAIR
5581 ENUMDOC 5779 ENUMDOC
5582 Pair of relocation. Contains the first symbol. 5780 Pair of relocation. Contains the first symbol.
5583 5781
5584 ENUM 5782 ENUM
5585 BFD_RELOC_MACH_O_X86_64_BRANCH32 5783 BFD_RELOC_MACH_O_X86_64_BRANCH32
5586 ENUMX 5784 ENUMX
5587 BFD_RELOC_MACH_O_X86_64_BRANCH8 5785 BFD_RELOC_MACH_O_X86_64_BRANCH8
5588 ENUMDOC 5786 ENUMDOC
5589 PCREL relocations. They are marked as branch to create PLT entry if 5787 PCREL relocations. They are marked as branch to create PLT entry if
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
5771 BFD_RELOC_TILEPRO_MMEND_X1 5969 BFD_RELOC_TILEPRO_MMEND_X1
5772 ENUMX 5970 ENUMX
5773 BFD_RELOC_TILEPRO_SHAMT_X0 5971 BFD_RELOC_TILEPRO_SHAMT_X0
5774 ENUMX 5972 ENUMX
5775 BFD_RELOC_TILEPRO_SHAMT_X1 5973 BFD_RELOC_TILEPRO_SHAMT_X1
5776 ENUMX 5974 ENUMX
5777 BFD_RELOC_TILEPRO_SHAMT_Y0 5975 BFD_RELOC_TILEPRO_SHAMT_Y0
5778 ENUMX 5976 ENUMX
5779 BFD_RELOC_TILEPRO_SHAMT_Y1 5977 BFD_RELOC_TILEPRO_SHAMT_Y1
5780 ENUMX 5978 ENUMX
5979 BFD_RELOC_TILEPRO_TLS_GD_CALL
5980 ENUMX
5981 BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD
5982 ENUMX
5983 BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD
5984 ENUMX
5985 BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD
5986 ENUMX
5987 BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD
5988 ENUMX
5989 BFD_RELOC_TILEPRO_TLS_IE_LOAD
5990 ENUMX
5781 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD 5991 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD
5782 ENUMX 5992 ENUMX
5783 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD 5993 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD
5784 ENUMX 5994 ENUMX
5785 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO 5995 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO
5786 ENUMX 5996 ENUMX
5787 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO 5997 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO
5788 ENUMX 5998 ENUMX
5789 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI 5999 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI
5790 ENUMX 6000 ENUMX
(...skipping 17 matching lines...) Expand all
5808 ENUMX 6018 ENUMX
5809 BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA 6019 BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA
5810 ENUMX 6020 ENUMX
5811 BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA 6021 BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA
5812 ENUMX 6022 ENUMX
5813 BFD_RELOC_TILEPRO_TLS_DTPMOD32 6023 BFD_RELOC_TILEPRO_TLS_DTPMOD32
5814 ENUMX 6024 ENUMX
5815 BFD_RELOC_TILEPRO_TLS_DTPOFF32 6025 BFD_RELOC_TILEPRO_TLS_DTPOFF32
5816 ENUMX 6026 ENUMX
5817 BFD_RELOC_TILEPRO_TLS_TPOFF32 6027 BFD_RELOC_TILEPRO_TLS_TPOFF32
6028 ENUMX
6029 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE
6030 ENUMX
6031 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE
6032 ENUMX
6033 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO
6034 ENUMX
6035 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO
6036 ENUMX
6037 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI
6038 ENUMX
6039 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI
6040 ENUMX
6041 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA
6042 ENUMX
6043 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA
5818 ENUMDOC 6044 ENUMDOC
5819 Tilera TILEPro Relocations. 6045 Tilera TILEPro Relocations.
5820 6046
5821 ENUM 6047 ENUM
5822 BFD_RELOC_TILEGX_HW0 6048 BFD_RELOC_TILEGX_HW0
5823 ENUMX 6049 ENUMX
5824 BFD_RELOC_TILEGX_HW1 6050 BFD_RELOC_TILEGX_HW1
5825 ENUMX 6051 ENUMX
5826 BFD_RELOC_TILEGX_HW2 6052 BFD_RELOC_TILEGX_HW2
5827 ENUMX 6053 ENUMX
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
5926 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL 6152 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL
5927 ENUMX 6153 ENUMX
5928 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL 6154 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL
5929 ENUMX 6155 ENUMX
5930 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL 6156 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL
5931 ENUMX 6157 ENUMX
5932 BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT 6158 BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT
5933 ENUMX 6159 ENUMX
5934 BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT 6160 BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT
5935 ENUMX 6161 ENUMX
5936 BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT
5937 ENUMX
5938 BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT
5939 ENUMX
5940 BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT
5941 ENUMX
5942 BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT
5943 ENUMX
5944 BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT
5945 ENUMX
5946 BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT
5947 ENUMX
5948 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT 6162 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT
5949 ENUMX 6163 ENUMX
5950 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT 6164 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT
5951 ENUMX 6165 ENUMX
5952 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT 6166 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT
5953 ENUMX 6167 ENUMX
5954 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT 6168 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT
5955 ENUMX 6169 ENUMX
5956 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT
5957 ENUMX
5958 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT
5959 ENUMX
5960 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD 6170 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD
5961 ENUMX 6171 ENUMX
5962 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD 6172 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD
5963 ENUMX 6173 ENUMX
5964 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD 6174 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE
5965 ENUMX 6175 ENUMX
5966 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD 6176 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE
5967 ENUMX 6177 ENUMX
5968 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD 6178 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE
5969 ENUMX 6179 ENUMX
5970 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD 6180 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE
5971 ENUMX 6181 ENUMX
5972 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD 6182 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE
5973 ENUMX 6183 ENUMX
5974 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD 6184 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE
5975 ENUMX 6185 ENUMX
5976 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD 6186 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD
5977 ENUMX 6187 ENUMX
5978 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD 6188 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD
5979 ENUMX 6189 ENUMX
5980 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD 6190 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD
5981 ENUMX 6191 ENUMX
5982 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD 6192 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD
5983 ENUMX 6193 ENUMX
5984 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD
5985 ENUMX
5986 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD
5987 ENUMX
5988 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE 6194 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE
5989 ENUMX 6195 ENUMX
5990 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE 6196 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE
5991 ENUMX 6197 ENUMX
5992 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE
5993 ENUMX
5994 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE
5995 ENUMX
5996 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE
5997 ENUMX
5998 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE
5999 ENUMX
6000 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE
6001 ENUMX
6002 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE
6003 ENUMX
6004 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE 6198 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE
6005 ENUMX 6199 ENUMX
6006 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE 6200 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE
6007 ENUMX 6201 ENUMX
6008 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE 6202 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE
6009 ENUMX 6203 ENUMX
6010 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE 6204 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE
6011 ENUMX 6205 ENUMX
6012 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE
6013 ENUMX
6014 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE
6015 ENUMX
6016 BFD_RELOC_TILEGX_TLS_DTPMOD64 6206 BFD_RELOC_TILEGX_TLS_DTPMOD64
6017 ENUMX 6207 ENUMX
6018 BFD_RELOC_TILEGX_TLS_DTPOFF64 6208 BFD_RELOC_TILEGX_TLS_DTPOFF64
6019 ENUMX 6209 ENUMX
6020 BFD_RELOC_TILEGX_TLS_TPOFF64 6210 BFD_RELOC_TILEGX_TLS_TPOFF64
6021 ENUMX 6211 ENUMX
6022 BFD_RELOC_TILEGX_TLS_DTPMOD32 6212 BFD_RELOC_TILEGX_TLS_DTPMOD32
6023 ENUMX 6213 ENUMX
6024 BFD_RELOC_TILEGX_TLS_DTPOFF32 6214 BFD_RELOC_TILEGX_TLS_DTPOFF32
6025 ENUMX 6215 ENUMX
6026 BFD_RELOC_TILEGX_TLS_TPOFF32 6216 BFD_RELOC_TILEGX_TLS_TPOFF32
6217 ENUMX
6218 BFD_RELOC_TILEGX_TLS_GD_CALL
6219 ENUMX
6220 BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD
6221 ENUMX
6222 BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD
6223 ENUMX
6224 BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD
6225 ENUMX
6226 BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD
6227 ENUMX
6228 BFD_RELOC_TILEGX_TLS_IE_LOAD
6229 ENUMX
6230 BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD
6231 ENUMX
6232 BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD
6233 ENUMX
6234 BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD
6235 ENUMX
6236 BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD
6027 ENUMDOC 6237 ENUMDOC
6028 Tilera TILE-Gx Relocations. 6238 Tilera TILE-Gx Relocations.
6029 6239
6030 ENUM 6240 ENUM
6031 BFD_RELOC_EPIPHANY_SIMM8 6241 BFD_RELOC_EPIPHANY_SIMM8
6032 ENUMDOC 6242 ENUMDOC
6033 Adapteva EPIPHANY - 8 bit signed pc-relative displacement 6243 Adapteva EPIPHANY - 8 bit signed pc-relative displacement
6034 ENUM 6244 ENUM
6035 BFD_RELOC_EPIPHANY_SIMM24 6245 BFD_RELOC_EPIPHANY_SIMM24
6036 ENUMDOC 6246 ENUMDOC
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
6203 struct bfd_link_info *info ATTRIBUTE_UNUSED) 6413 struct bfd_link_info *info ATTRIBUTE_UNUSED)
6204 { 6414 {
6205 return TRUE; 6415 return TRUE;
6206 } 6416 }
6207 6417
6208 /* 6418 /*
6209 INTERNAL_FUNCTION 6419 INTERNAL_FUNCTION
6210 bfd_generic_lookup_section_flags 6420 bfd_generic_lookup_section_flags
6211 6421
6212 SYNOPSIS 6422 SYNOPSIS
6213 » void bfd_generic_lookup_section_flags 6423 » bfd_boolean bfd_generic_lookup_section_flags
6214 » (struct bfd_link_info *, struct flag_info *); 6424 » (struct bfd_link_info *, struct flag_info *, asection *);
6215 6425
6216 DESCRIPTION 6426 DESCRIPTION
6217 Provides default handling for section flags lookup 6427 Provides default handling for section flags lookup
6218 -- i.e., does nothing. 6428 -- i.e., does nothing.
6429 Returns FALSE if the section should be omitted, otherwise TRUE.
6219 */ 6430 */
6220 6431
6221 void 6432 bfd_boolean
6222 bfd_generic_lookup_section_flags (struct bfd_link_info *info ATTRIBUTE_UNUSED, 6433 bfd_generic_lookup_section_flags (struct bfd_link_info *info ATTRIBUTE_UNUSED,
6223 » » » » struct flag_info *finfo) 6434 » » » » struct flag_info *flaginfo,
6435 » » » » asection *section ATTRIBUTE_UNUSED)
6224 { 6436 {
6225 if (finfo != NULL) 6437 if (flaginfo != NULL)
6226 { 6438 {
6227 (*_bfd_error_handler) (_("INPUT_SECTION_FLAGS are not supported.\n")); 6439 (*_bfd_error_handler) (_("INPUT_SECTION_FLAGS are not supported.\n"));
6228 return; 6440 return FALSE;
6229 } 6441 }
6442 return TRUE;
6230 } 6443 }
6231 6444
6232 /* 6445 /*
6233 INTERNAL_FUNCTION 6446 INTERNAL_FUNCTION
6234 bfd_generic_merge_sections 6447 bfd_generic_merge_sections
6235 6448
6236 SYNOPSIS 6449 SYNOPSIS
6237 bfd_boolean bfd_generic_merge_sections 6450 bfd_boolean bfd_generic_merge_sections
6238 (bfd *, struct bfd_link_info *); 6451 (bfd *, struct bfd_link_info *);
6239 6452
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
6307 if (reloc_count > 0) 6520 if (reloc_count > 0)
6308 { 6521 {
6309 arelent **parent; 6522 arelent **parent;
6310 for (parent = reloc_vector; *parent != NULL; parent++) 6523 for (parent = reloc_vector; *parent != NULL; parent++)
6311 { 6524 {
6312 char *error_message = NULL; 6525 char *error_message = NULL;
6313 asymbol *symbol; 6526 asymbol *symbol;
6314 bfd_reloc_status_type r; 6527 bfd_reloc_status_type r;
6315 6528
6316 symbol = *(*parent)->sym_ptr_ptr; 6529 symbol = *(*parent)->sym_ptr_ptr;
6317 » if (symbol->section && elf_discarded_section (symbol->section)) 6530 » if (symbol->section && discarded_section (symbol->section))
6318 { 6531 {
6319 bfd_byte *p; 6532 bfd_byte *p;
6320 static reloc_howto_type none_howto 6533 static reloc_howto_type none_howto
6321 = HOWTO (0, 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, 6534 = HOWTO (0, 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL,
6322 "unused", FALSE, 0, 0, FALSE); 6535 "unused", FALSE, 0, 0, FALSE);
6323 6536
6324 p = data + (*parent)->address * bfd_octets_per_byte (input_bfd); 6537 p = data + (*parent)->address * bfd_octets_per_byte (input_bfd);
6325 _bfd_clear_contents ((*parent)->howto, input_bfd, input_section, 6538 _bfd_clear_contents ((*parent)->howto, input_bfd, input_section,
6326 p); 6539 p);
6327 » (*parent)->sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr; 6540 » (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
6328 (*parent)->addend = 0; 6541 (*parent)->addend = 0;
6329 (*parent)->howto = &none_howto; 6542 (*parent)->howto = &none_howto;
6330 r = bfd_reloc_ok; 6543 r = bfd_reloc_ok;
6331 } 6544 }
6332 else 6545 else
6333 r = bfd_perform_relocation (input_bfd, 6546 r = bfd_perform_relocation (input_bfd,
6334 *parent, 6547 *parent,
6335 data, 6548 data,
6336 input_section, 6549 input_section,
6337 relocatable ? abfd : NULL, 6550 relocatable ? abfd : NULL,
(...skipping 28 matching lines...) Expand all
6366 break; 6579 break;
6367 case bfd_reloc_overflow: 6580 case bfd_reloc_overflow:
6368 if (!((*link_info->callbacks->reloc_overflow) 6581 if (!((*link_info->callbacks->reloc_overflow)
6369 (link_info, NULL, 6582 (link_info, NULL,
6370 bfd_asymbol_name (*(*parent)->sym_ptr_ptr), 6583 bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
6371 (*parent)->howto->name, (*parent)->addend, 6584 (*parent)->howto->name, (*parent)->addend,
6372 input_bfd, input_section, (*parent)->address))) 6585 input_bfd, input_section, (*parent)->address)))
6373 goto error_return; 6586 goto error_return;
6374 break; 6587 break;
6375 case bfd_reloc_outofrange: 6588 case bfd_reloc_outofrange:
6589 /* PR ld/13730:
6590 This error can result when processing some partially
6591 complete binaries. Do not abort, but issue an error
6592 message instead. */
6593 link_info->callbacks->einfo
6594 (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
6595 abfd, input_section, * parent);
6596 goto error_return;
6597
6376 default: 6598 default:
6377 abort (); 6599 abort ();
6378 break; 6600 break;
6379 } 6601 }
6380 6602
6381 } 6603 }
6382 } 6604 }
6383 } 6605 }
6384 6606
6385 free (reloc_vector); 6607 free (reloc_vector);
6386 return data; 6608 return data;
6387 6609
6388 error_return: 6610 error_return:
6389 free (reloc_vector); 6611 free (reloc_vector);
6390 return NULL; 6612 return NULL;
6391 } 6613 }
OLDNEW
« no previous file with comments | « bfd/ptrace-core.c ('k') | bfd/reloc16.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698