1cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov/* 2cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * Copyright (C) 2015 The Android Open Source Project 3cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * 4cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * Licensed under the Apache License, Version 2.0 (the "License"); 5cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * you may not use this file except in compliance with the License. 6cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * You may obtain a copy of the License at 7cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * 8cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * http://www.apache.org/licenses/LICENSE-2.0 9cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * 10cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * Unless required by applicable law or agreed to in writing, software 11cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * distributed under the License is distributed on an "AS IS" BASIS, 12cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * See the License for the specific language governing permissions and 14cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov * limitations under the License. 15cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov */ 16cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 17cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#ifndef __LINKER_RELOCS_H 18cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define __LINKER_RELOCS_H 19cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 20cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#include <elf.h> 21cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 22cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_NONE 0 // R_*_NONE is always 0 23cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 24cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#if defined (__aarch64__) 25cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 26cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_JUMP_SLOT R_AARCH64_JUMP_SLOT 27cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_GLOB_DAT R_AARCH64_GLOB_DAT 28cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_RELATIVE R_AARCH64_RELATIVE 29cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_IRELATIVE R_AARCH64_IRELATIVE 30cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 31cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#elif defined (__arm__) 32cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 33cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_JUMP_SLOT R_ARM_JUMP_SLOT 34cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_GLOB_DAT R_ARM_GLOB_DAT 35cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_RELATIVE R_ARM_RELATIVE 36cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_IRELATIVE R_ARM_IRELATIVE 37cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 38cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#elif defined (__i386__) 39cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 40cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_JUMP_SLOT R_386_JMP_SLOT 41cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_GLOB_DAT R_386_GLOB_DAT 42cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_RELATIVE R_386_RELATIVE 43cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_IRELATIVE R_386_IRELATIVE 44cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 45cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#elif defined (__x86_64__) 46cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 47cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_JUMP_SLOT R_X86_64_JUMP_SLOT 48cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_GLOB_DAT R_X86_64_GLOB_DAT 49cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_RELATIVE R_X86_64_RELATIVE 50cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#define R_GENERIC_IRELATIVE R_X86_64_IRELATIVE 51cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 52cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#endif 53cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov 54cefef7dab67472d59d45ef1d002a20edf8edde75Dmitriy Ivanov#endif // __LINKER_RELOCS_H 55