|  | // tilegx.h -- ELF definitions specific to EM_TILEGX  -*- C++ -*- | 
|  |  | 
|  | // Copyright (C) 2012-2022 Free Software Foundation, Inc. | 
|  | // Written by Jiong Wang (jiwang@tilera.com) | 
|  |  | 
|  | // This file is part of elfcpp. | 
|  |  | 
|  | // This program is free software; you can redistribute it and/or | 
|  | // modify it under the terms of the GNU Library General Public License | 
|  | // as published by the Free Software Foundation; either version 2, or | 
|  | // (at your option) any later version. | 
|  |  | 
|  | // In addition to the permissions in the GNU Library General Public | 
|  | // License, the Free Software Foundation gives you unlimited | 
|  | // permission to link the compiled version of this file into | 
|  | // combinations with other programs, and to distribute those | 
|  | // combinations without any restriction coming from the use of this | 
|  | // file.  (The Library Public License restrictions do apply in other | 
|  | // respects; for example, they cover modification of the file, and | 
|  | /// distribution when not linked into a combined executable.) | 
|  |  | 
|  | // This program is distributed in the hope that it will be useful, but | 
|  | // WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | // Library General Public License for more details. | 
|  |  | 
|  | // You should have received a copy of the GNU Library General Public | 
|  | // License along with this program; if not, write to the Free Software | 
|  | // Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | 
|  | // 02110-1301, USA. | 
|  |  | 
|  | #ifndef ELFCPP_TILEGX_H | 
|  | #define ELFCPP_TILEGX_H | 
|  |  | 
|  | namespace elfcpp | 
|  | { | 
|  |  | 
|  | // Documentation is taken from | 
|  | //   http://www.tilera.com/scm/docs/index.html | 
|  |  | 
|  | enum | 
|  | { | 
|  | R_TILEGX_NONE = 0, | 
|  | R_TILEGX_64 = 1, | 
|  | R_TILEGX_32 = 2, | 
|  | R_TILEGX_16 = 3, | 
|  | R_TILEGX_8 = 4, | 
|  | R_TILEGX_64_PCREL = 5, | 
|  | R_TILEGX_32_PCREL = 6, | 
|  | R_TILEGX_16_PCREL = 7, | 
|  | R_TILEGX_8_PCREL = 8, | 
|  | R_TILEGX_HW0 = 9, | 
|  | R_TILEGX_HW1 = 10, | 
|  | R_TILEGX_HW2 = 11, | 
|  | R_TILEGX_HW3 = 12, | 
|  | R_TILEGX_HW0_LAST = 13, | 
|  | R_TILEGX_HW1_LAST = 14, | 
|  | R_TILEGX_HW2_LAST = 15, | 
|  | R_TILEGX_COPY = 16, | 
|  | R_TILEGX_GLOB_DAT = 17, | 
|  | R_TILEGX_JMP_SLOT = 18, | 
|  | R_TILEGX_RELATIVE = 19, | 
|  | R_TILEGX_BROFF_X1 = 20, | 
|  | R_TILEGX_JUMPOFF_X1 = 21, | 
|  | R_TILEGX_JUMPOFF_X1_PLT = 22, | 
|  | R_TILEGX_IMM8_X0 = 23, | 
|  | R_TILEGX_IMM8_Y0 = 24, | 
|  | R_TILEGX_IMM8_X1 = 25, | 
|  | R_TILEGX_IMM8_Y1 = 26, | 
|  | R_TILEGX_DEST_IMM8_X1 = 27, | 
|  | R_TILEGX_MT_IMM14_X1 = 28, | 
|  | R_TILEGX_MF_IMM14_X1 = 29, | 
|  | R_TILEGX_MMSTART_X0 = 30, | 
|  | R_TILEGX_MMEND_X0 = 31, | 
|  | R_TILEGX_SHAMT_X0 = 32, | 
|  | R_TILEGX_SHAMT_X1 = 33, | 
|  | R_TILEGX_SHAMT_Y0 = 34, | 
|  | R_TILEGX_SHAMT_Y1 = 35, | 
|  | R_TILEGX_IMM16_X0_HW0 = 36, | 
|  | R_TILEGX_IMM16_X1_HW0 = 37, | 
|  | R_TILEGX_IMM16_X0_HW1 = 38, | 
|  | R_TILEGX_IMM16_X1_HW1 = 39, | 
|  | R_TILEGX_IMM16_X0_HW2 = 40, | 
|  | R_TILEGX_IMM16_X1_HW2 = 41, | 
|  | R_TILEGX_IMM16_X0_HW3 = 42, | 
|  | R_TILEGX_IMM16_X1_HW3 = 43, | 
|  | R_TILEGX_IMM16_X0_HW0_LAST = 44, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST = 45, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST = 46, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST = 47, | 
|  | R_TILEGX_IMM16_X0_HW2_LAST = 48, | 
|  | R_TILEGX_IMM16_X1_HW2_LAST = 49, | 
|  | R_TILEGX_IMM16_X0_HW0_PCREL = 50, | 
|  | R_TILEGX_IMM16_X1_HW0_PCREL = 51, | 
|  | R_TILEGX_IMM16_X0_HW1_PCREL = 52, | 
|  | R_TILEGX_IMM16_X1_HW1_PCREL = 53, | 
|  | R_TILEGX_IMM16_X0_HW2_PCREL = 54, | 
|  | R_TILEGX_IMM16_X1_HW2_PCREL = 55, | 
|  | R_TILEGX_IMM16_X0_HW3_PCREL = 56, | 
|  | R_TILEGX_IMM16_X1_HW3_PCREL = 57, | 
|  | R_TILEGX_IMM16_X0_HW0_LAST_PCREL = 58, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST_PCREL = 59, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST_PCREL = 60, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST_PCREL = 61, | 
|  | R_TILEGX_IMM16_X0_HW2_LAST_PCREL = 62, | 
|  | R_TILEGX_IMM16_X1_HW2_LAST_PCREL = 63, | 
|  | R_TILEGX_IMM16_X0_HW0_GOT = 64, | 
|  | R_TILEGX_IMM16_X1_HW0_GOT = 65, | 
|  |  | 
|  | R_TILEGX_IMM16_X0_HW0_PLT_PCREL = 66, | 
|  | R_TILEGX_IMM16_X1_HW0_PLT_PCREL = 67, | 
|  | R_TILEGX_IMM16_X0_HW1_PLT_PCREL = 68, | 
|  | R_TILEGX_IMM16_X1_HW1_PLT_PCREL = 69, | 
|  | R_TILEGX_IMM16_X0_HW2_PLT_PCREL = 70, | 
|  | R_TILEGX_IMM16_X1_HW2_PLT_PCREL = 71, | 
|  |  | 
|  | R_TILEGX_IMM16_X0_HW0_LAST_GOT = 72, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST_GOT = 73, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST_GOT = 74, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST_GOT = 75, | 
|  | R_TILEGX_IMM16_X0_HW0_TLS_GD = 78, | 
|  | R_TILEGX_IMM16_X1_HW0_TLS_GD = 79, | 
|  | R_TILEGX_IMM16_X0_HW0_TLS_LE = 80, | 
|  | R_TILEGX_IMM16_X1_HW0_TLS_LE = 81, | 
|  | R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE = 82, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE = 83, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE = 84, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE = 85, | 
|  | R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD = 86, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD = 87, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD = 88, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD = 89, | 
|  | R_TILEGX_IRELATIVE = 90, | 
|  | R_TILEGX_IMM16_X0_HW0_TLS_IE = 92, | 
|  | R_TILEGX_IMM16_X1_HW0_TLS_IE = 93, | 
|  |  | 
|  | R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL = 94, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL = 95, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL = 96, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL = 97, | 
|  | R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL = 98, | 
|  | R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL = 99, | 
|  |  | 
|  | R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE = 100, | 
|  | R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE = 101, | 
|  | R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE = 102, | 
|  | R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE = 103, | 
|  | R_TILEGX_TLS_DTPMOD64 = 106, | 
|  | R_TILEGX_TLS_DTPOFF64 = 107, | 
|  | R_TILEGX_TLS_TPOFF64 = 108, | 
|  | R_TILEGX_TLS_DTPMOD32 = 109, | 
|  | R_TILEGX_TLS_DTPOFF32 = 110, | 
|  | R_TILEGX_TLS_TPOFF32 = 111, | 
|  | R_TILEGX_TLS_GD_CALL = 112, | 
|  | R_TILEGX_IMM8_X0_TLS_GD_ADD = 113, | 
|  | R_TILEGX_IMM8_X1_TLS_GD_ADD = 114, | 
|  | R_TILEGX_IMM8_Y0_TLS_GD_ADD = 115, | 
|  | R_TILEGX_IMM8_Y1_TLS_GD_ADD = 116, | 
|  | R_TILEGX_TLS_IE_LOAD = 117, | 
|  | R_TILEGX_IMM8_X0_TLS_ADD = 118, | 
|  | R_TILEGX_IMM8_X1_TLS_ADD = 119, | 
|  | R_TILEGX_IMM8_Y0_TLS_ADD = 120, | 
|  | R_TILEGX_IMM8_Y1_TLS_ADD = 121, | 
|  | R_TILEGX_GNU_VTINHERIT = 128, | 
|  | R_TILEGX_GNU_VTENTRY = 129, | 
|  | R_TILEGX_NUM = 130 | 
|  | }; | 
|  |  | 
|  | } // End namespace elfcpp. | 
|  |  | 
|  | #endif // !defined(ELFCPP_TILEGX_H) |