1*7304104dSAndroid Build Coastguard Worker /* BPF specific symbolic name handling. 2*7304104dSAndroid Build Coastguard Worker This file is part of elfutils. 3*7304104dSAndroid Build Coastguard Worker 4*7304104dSAndroid Build Coastguard Worker This file is free software; you can redistribute it and/or modify 5*7304104dSAndroid Build Coastguard Worker it under the terms of either 6*7304104dSAndroid Build Coastguard Worker 7*7304104dSAndroid Build Coastguard Worker * the GNU Lesser General Public License as published by the Free 8*7304104dSAndroid Build Coastguard Worker Software Foundation; either version 3 of the License, or (at 9*7304104dSAndroid Build Coastguard Worker your option) any later version 10*7304104dSAndroid Build Coastguard Worker 11*7304104dSAndroid Build Coastguard Worker or 12*7304104dSAndroid Build Coastguard Worker 13*7304104dSAndroid Build Coastguard Worker * the GNU General Public License as published by the Free 14*7304104dSAndroid Build Coastguard Worker Software Foundation; either version 2 of the License, or (at 15*7304104dSAndroid Build Coastguard Worker your option) any later version 16*7304104dSAndroid Build Coastguard Worker 17*7304104dSAndroid Build Coastguard Worker or both in parallel, as here. 18*7304104dSAndroid Build Coastguard Worker 19*7304104dSAndroid Build Coastguard Worker elfutils is distributed in the hope that it will be useful, but 20*7304104dSAndroid Build Coastguard Worker WITHOUT ANY WARRANTY; without even the implied warranty of 21*7304104dSAndroid Build Coastguard Worker MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22*7304104dSAndroid Build Coastguard Worker General Public License for more details. 23*7304104dSAndroid Build Coastguard Worker 24*7304104dSAndroid Build Coastguard Worker You should have received copies of the GNU General Public License and 25*7304104dSAndroid Build Coastguard Worker the GNU Lesser General Public License along with this program. If 26*7304104dSAndroid Build Coastguard Worker not, see <http://www.gnu.org/licenses/>. */ 27*7304104dSAndroid Build Coastguard Worker 28*7304104dSAndroid Build Coastguard Worker #ifdef HAVE_CONFIG_H 29*7304104dSAndroid Build Coastguard Worker # include <config.h> 30*7304104dSAndroid Build Coastguard Worker #endif 31*7304104dSAndroid Build Coastguard Worker 32*7304104dSAndroid Build Coastguard Worker #include <assert.h> 33*7304104dSAndroid Build Coastguard Worker #include <elf.h> 34*7304104dSAndroid Build Coastguard Worker #include <stddef.h> 35*7304104dSAndroid Build Coastguard Worker #include <string.h> 36*7304104dSAndroid Build Coastguard Worker 37*7304104dSAndroid Build Coastguard Worker #define BACKEND bpf_ 38*7304104dSAndroid Build Coastguard Worker #include "libebl_CPU.h" 39*7304104dSAndroid Build Coastguard Worker 40*7304104dSAndroid Build Coastguard Worker 41*7304104dSAndroid Build Coastguard Worker /* Check for the simple reloc types. */ 42*7304104dSAndroid Build Coastguard Worker Elf_Type bpf_reloc_simple_type(Ebl * ebl,int type,int * addsub)43*7304104dSAndroid Build Coastguard Workerbpf_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type, 44*7304104dSAndroid Build Coastguard Worker int *addsub __attribute__ ((unused))) 45*7304104dSAndroid Build Coastguard Worker { 46*7304104dSAndroid Build Coastguard Worker switch (type) 47*7304104dSAndroid Build Coastguard Worker { 48*7304104dSAndroid Build Coastguard Worker case R_BPF_64_64: 49*7304104dSAndroid Build Coastguard Worker return ELF_T_XWORD; 50*7304104dSAndroid Build Coastguard Worker case R_BPF_64_32: 51*7304104dSAndroid Build Coastguard Worker return ELF_T_WORD; 52*7304104dSAndroid Build Coastguard Worker default: 53*7304104dSAndroid Build Coastguard Worker return ELF_T_NUM; 54*7304104dSAndroid Build Coastguard Worker } 55*7304104dSAndroid Build Coastguard Worker } 56