1*7304104dSAndroid Build Coastguard Worker/* List the relocation types for ppc64. -*- C -*- 2*7304104dSAndroid Build Coastguard Worker Copyright (C) 2005, 2015 Red Hat, Inc. 3*7304104dSAndroid Build Coastguard Worker This file is part of elfutils. 4*7304104dSAndroid Build Coastguard Worker 5*7304104dSAndroid Build Coastguard Worker This file is free software; you can redistribute it and/or modify 6*7304104dSAndroid Build Coastguard Worker it under the terms of either 7*7304104dSAndroid Build Coastguard Worker 8*7304104dSAndroid Build Coastguard Worker * the GNU Lesser General Public License as published by the Free 9*7304104dSAndroid Build Coastguard Worker Software Foundation; either version 3 of the License, or (at 10*7304104dSAndroid Build Coastguard Worker your option) any later version 11*7304104dSAndroid Build Coastguard Worker 12*7304104dSAndroid Build Coastguard Worker or 13*7304104dSAndroid Build Coastguard Worker 14*7304104dSAndroid Build Coastguard Worker * the GNU General Public License as published by the Free 15*7304104dSAndroid Build Coastguard Worker Software Foundation; either version 2 of the License, or (at 16*7304104dSAndroid Build Coastguard Worker your option) any later version 17*7304104dSAndroid Build Coastguard Worker 18*7304104dSAndroid Build Coastguard Worker or both in parallel, as here. 19*7304104dSAndroid Build Coastguard Worker 20*7304104dSAndroid Build Coastguard Worker elfutils is distributed in the hope that it will be useful, but 21*7304104dSAndroid Build Coastguard Worker WITHOUT ANY WARRANTY; without even the implied warranty of 22*7304104dSAndroid Build Coastguard Worker MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 23*7304104dSAndroid Build Coastguard Worker General Public License for more details. 24*7304104dSAndroid Build Coastguard Worker 25*7304104dSAndroid Build Coastguard Worker You should have received copies of the GNU General Public License and 26*7304104dSAndroid Build Coastguard Worker the GNU Lesser General Public License along with this program. If 27*7304104dSAndroid Build Coastguard Worker not, see <http://www.gnu.org/licenses/>. */ 28*7304104dSAndroid Build Coastguard Worker 29*7304104dSAndroid Build Coastguard Worker/* NAME, REL|EXEC|DYN */ 30*7304104dSAndroid Build Coastguard Worker 31*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (NONE, 0) 32*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR32, REL|EXEC|DYN) 33*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR24, REL) 34*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16, REL) /* note 1 */ 35*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_LO, REL) /* note 1 */ 36*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HI, REL) /* note 1 */ 37*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HA, REL) /* note 1 */ 38*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR14, REL) /* note 1 */ 39*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR14_BRTAKEN, REL) /* note 1 */ 40*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR14_BRNTAKEN, REL) /* note 1 */ 41*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL24, REL) 42*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL14, REL) 43*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL14_BRTAKEN, REL) 44*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL14_BRNTAKEN, REL) 45*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT16, REL) 46*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT16_LO, REL) 47*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT16_HI, REL) 48*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT16_HA, REL) 49*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (COPY, EXEC|DYN) 50*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GLOB_DAT, EXEC|DYN) 51*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (JMP_SLOT, EXEC|DYN) 52*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (RELATIVE, EXEC|DYN) 53*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (UADDR32, REL|EXEC|DYN) 54*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (UADDR16, REL) 55*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL32, REL|EXEC|DYN) 56*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLT32, REL) 57*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTREL32, REL) 58*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLT16_LO, REL) 59*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLT16_HI, REL) 60*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLT16_HA, REL) 61*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (SECTOFF, REL) 62*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (SECTOFF_LO, REL) 63*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (SECTOFF_HI, REL) 64*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (SECTOFF_HA, REL) 65*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR30, REL) /* note 1 */ 66*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR64, REL|EXEC|DYN) 67*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HIGHER, REL) /* note 1 */ 68*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HIGHERA, REL) /* note 1 */ 69*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HIGHEST, REL) /* note 1 */ 70*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HIGHESTA, REL) /* note 1 */ 71*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (UADDR64, REL|EXEC|DYN) 72*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL64, REL|EXEC|DYN) 73*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLT64, REL) 74*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTREL64, REL) 75*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC16, REL) 76*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC16_LO, REL) 77*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC16_HI, REL) 78*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC16_HA, REL) 79*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC, REL) 80*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTGOT16, REL) 81*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTGOT16_LO, REL) 82*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTGOT16_HI, REL) 83*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTGOT16_HA, REL) 84*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_DS, REL) /* note 1 */ 85*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_LO_DS, REL) /* note 1 */ 86*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT16_DS, REL) 87*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT16_LO_DS, REL) 88*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLT16_LO_DS, REL) 89*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (SECTOFF_DS, REL) 90*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (SECTOFF_LO_DS, REL) 91*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC16_DS, REL) 92*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOC16_LO_DS, REL) 93*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTGOT16_DS, REL) 94*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PLTGOT16_LO_DS, REL) 95*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLS, REL) 96*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPMOD64, REL|EXEC|DYN) /* note 3 */ 97*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16, REL) /* note 2 */ 98*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_LO, REL) /* note 2 */ 99*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HI, REL) /* note 2 */ 100*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HA, REL) /* note 2 */ 101*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL64, REL|EXEC|DYN) /* note 3 */ 102*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16, REL) 103*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_LO, REL) 104*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HI, REL) 105*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HA, REL) 106*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL64, REL|EXEC|DYN) /* note 3 */ 107*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSGD16, REL) 108*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSGD16_LO, REL) 109*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSGD16_HI, REL) 110*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSGD16_HA, REL) 111*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSLD16, REL) 112*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSLD16_LO, REL) 113*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSLD16_HI, REL) 114*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TLSLD16_HA, REL) 115*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TPREL16_DS, REL) 116*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TPREL16_LO_DS, REL) 117*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TPREL16_HI, REL) 118*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_TPREL16_HA, REL) 119*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_DTPREL16_DS, REL) 120*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_DTPREL16_LO_DS, REL) 121*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_DTPREL16_HI, REL) 122*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_DTPREL16_HA, REL) 123*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_DS, REL) /* note 2 */ 124*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_LO_DS, REL) /* note 2 */ 125*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HIGHER, REL) /* note 2 */ 126*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HIGHERA, REL) /* note 2 */ 127*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HIGHEST, REL) /* note 2 */ 128*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HIGHESTA, REL) /* note 2 */ 129*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_DS, REL) 130*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_LO_DS, REL) 131*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HIGHER, REL) 132*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HIGHERA, REL) 133*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HIGHEST, REL) 134*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HIGHESTA, REL) 135*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSGD, REL) 136*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD, REL) 137*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TOCSAVE, REL) 138*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HIGH, REL) 139*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADDR16_HIGHA, REL) 140*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HIGH, REL) 141*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TPREL16_HIGHA, REL) 142*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HIGH, REL) 143*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (DTPREL16_HIGHA, REL) 144*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (JMP_IREL, REL) 145*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (IRELATIVE, REL) 146*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL16, REL) 147*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL16_LO, REL) 148*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL16_HI, REL) 149*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (REL16_HA, REL) 150*7304104dSAndroid Build Coastguard Worker 151*7304104dSAndroid Build Coastguard Worker/* Notes from Alan Modra: 152*7304104dSAndroid Build Coastguard Worker 153*7304104dSAndroid Build Coastguard Worker 1) These can appear in DYN and EXEC with improper assembly, but they 154*7304104dSAndroid Build Coastguard Worker aren't really kosher. 155*7304104dSAndroid Build Coastguard Worker 156*7304104dSAndroid Build Coastguard Worker 2) These can appear in DYN with improper assembly (or silly gcc 157*7304104dSAndroid Build Coastguard Worker attributes, I think). Again, not kosher. 158*7304104dSAndroid Build Coastguard Worker 159*7304104dSAndroid Build Coastguard Worker 3) These are legal in REL for PowerOpen compatible assembler syntax, 160*7304104dSAndroid Build Coastguard Worker ie. TOC managed by compiler. 161*7304104dSAndroid Build Coastguard Worker*/ 162