Merge arm-oabi.h into arm.h
This commit is contained in:
		| @@ -1,3 +1,9 @@ | |||||||
|  | 2000-04-07  Nick Clifton  <nickc@cygnus.com> | ||||||
|  |  | ||||||
|  | 	* arm-oabi.h: Delete. | ||||||
|  | 	* arm.h: Merge in definitions of old reloc numbers from | ||||||
|  | 	arm-oabi.h. | ||||||
|  |  | ||||||
| 2000-04-06  Nick Clifton  <nickc@cygnus.com> | 2000-04-06  Nick Clifton  <nickc@cygnus.com> | ||||||
|  |  | ||||||
| 	* arm.h (EF_ARM_SYMSARESORTED): Define. | 	* arm.h (EF_ARM_SYMSARESORTED): Define. | ||||||
|   | |||||||
| @@ -1,88 +0,0 @@ | |||||||
| /* ARM ELF support for BFD. |  | ||||||
|    Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. |  | ||||||
|  |  | ||||||
|    This file is part of BFD, the Binary File Descriptor library. |  | ||||||
|  |  | ||||||
|    This program is free software; you can redistribute it and/or modify |  | ||||||
|    it under the terms of the GNU General Public License as published by |  | ||||||
|    the Free Software Foundation; either version 2 of the License, or |  | ||||||
|    (at your option) any later version. |  | ||||||
|  |  | ||||||
|    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 General Public License for more details. |  | ||||||
|  |  | ||||||
|    You should have received a copy of the GNU General Public License |  | ||||||
|    along with this program; if not, write to the Free Software Foundation, |  | ||||||
|    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */ |  | ||||||
|  |  | ||||||
| #ifndef _ELF_ARM_H |  | ||||||
| #define _ELF_ARM_H |  | ||||||
|  |  | ||||||
| #include "elf/reloc-macros.h" |  | ||||||
|  |  | ||||||
| /* Processor specific flags for the ELF header e_flags field.  */ |  | ||||||
| #define EF_ARM_RELEXEC     0x01 |  | ||||||
| #define EF_ARM_HASENTRY    0x02 |  | ||||||
| #define EF_INTERWORK       0x04 |  | ||||||
| #define EF_APCS_26         0x08 |  | ||||||
| #define EF_APCS_FLOAT      0x10 |  | ||||||
| #define EF_PIC             0x20 |  | ||||||
| #define EF_ALIGN8	   0x40		/* 8-bit structure alignment is in use.  */ |  | ||||||
| #define EF_NEW_ABI         0x80 |  | ||||||
| #define EF_OLD_ABI         0x100 |  | ||||||
|  |  | ||||||
| /* Local aliases for some flags to match names used by COFF port.  */ |  | ||||||
| #define F_INTERWORK	   EF_INTERWORK |  | ||||||
| #define F_APCS26	   EF_APCS_26 |  | ||||||
| #define F_APCS_FLOAT	   EF_APCS_FLOAT |  | ||||||
| #define F_PIC              EF_PIC |  | ||||||
|  |  | ||||||
| /* Additional symbol types for Thumb.  */ |  | ||||||
| #define STT_ARM_TFUNC      STT_LOPROC   /* A Thumb function.  */ |  | ||||||
| #define STT_ARM_16BIT      STT_HIPROC   /* A Thumb label.  */ |  | ||||||
|  |  | ||||||
| /* ARM-specific values for sh_flags.  */ |  | ||||||
| #define SHF_ENTRYSECT      0x10000000   /* Section contains an entry point.  */ |  | ||||||
| #define SHF_COMDEF         0x80000000   /* Section may be multiply defined in the input to a link step.  */ |  | ||||||
|  |  | ||||||
| /* ARM-specific program header flags.  */ |  | ||||||
| #define PF_ARM_SB          0x10000000   /* Segment contains the location addressed by the static base.  */ |  | ||||||
|  |  | ||||||
| /* Relocation types.  */ |  | ||||||
| START_RELOC_NUMBERS (elf_arm_reloc_type) |  | ||||||
|   RELOC_NUMBER (R_ARM_NONE,         0) |  | ||||||
|   RELOC_NUMBER (R_ARM_PC24,         1) |  | ||||||
|   RELOC_NUMBER (R_ARM_ABS32,        2) |  | ||||||
|   RELOC_NUMBER (R_ARM_REL32,        3) |  | ||||||
|   RELOC_NUMBER (R_ARM_ABS8,         4) |  | ||||||
|   RELOC_NUMBER (R_ARM_ABS16,        5) |  | ||||||
|   RELOC_NUMBER (R_ARM_ABS12,        6) |  | ||||||
|   RELOC_NUMBER (R_ARM_THM_ABS5,     7) |  | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC22,     8) |  | ||||||
|   RELOC_NUMBER (R_ARM_SBREL32,      9) |  | ||||||
|   RELOC_NUMBER (R_ARM_AMP_VCALL9,  10) |  | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC11,    11)       /* Cygnus extension to abi: Thumb unconditional branch.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC9,     12)       /* Cygnus extension to abi: Thumb conditional branch.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 13) |  | ||||||
|   RELOC_NUMBER (R_ARM_GNU_VTENTRY, 14) |  | ||||||
|   RELOC_NUMBER (R_ARM_COPY,        20)       /* Copy symbol at runtime.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_GLOB_DAT,    21)       /* Create GOT entry.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_JUMP_SLOT,   22)       /* Create PLT entry.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_RELATIVE,    23)       /* Adjust by program base.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_GOTOFF,      24)       /* 32 bit offset to GOT.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_GOTPC,       25)       /* 32 bit PC relative offset to GOT.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_GOT32,       26)       /* 32 bit GOT entry.  */ |  | ||||||
|   RELOC_NUMBER (R_ARM_PLT32,       27)       /* 32 bit PLT address.  */ |  | ||||||
|   FAKE_RELOC   (FIRST_INVALID_RELOC, 28) |  | ||||||
|   FAKE_RELOC   (LAST_INVALID_RELOC,  249) |  | ||||||
|   RELOC_NUMBER (R_ARM_RSBREL32,   250) |  | ||||||
|   RELOC_NUMBER (R_ARM_THM_RPC22,  251) |  | ||||||
|   RELOC_NUMBER (R_ARM_RREL32,     252) |  | ||||||
|   RELOC_NUMBER (R_ARM_RABS32,     253) |  | ||||||
|   RELOC_NUMBER (R_ARM_RPC24,      254) |  | ||||||
|   RELOC_NUMBER (R_ARM_RBASE,      255) |  | ||||||
| END_RELOC_NUMBERS |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
| @@ -63,47 +63,67 @@ | |||||||
| #define PF_ARM_ABS         0x40000000   /* Segment must be loaded at its base address.  */ | #define PF_ARM_ABS         0x40000000   /* Segment must be loaded at its base address.  */ | ||||||
|  |  | ||||||
| /* Relocation types.  */ | /* Relocation types.  */ | ||||||
|  |  | ||||||
| START_RELOC_NUMBERS (elf_arm_reloc_type) | START_RELOC_NUMBERS (elf_arm_reloc_type) | ||||||
|   RELOC_NUMBER (R_ARM_NONE,         0) |   RELOC_NUMBER (R_ARM_NONE,             0) | ||||||
|   RELOC_NUMBER (R_ARM_PC24,         1) |   RELOC_NUMBER (R_ARM_PC24,             1) | ||||||
|   RELOC_NUMBER (R_ARM_ABS32,        2) |   RELOC_NUMBER (R_ARM_ABS32,            2) | ||||||
|   RELOC_NUMBER (R_ARM_REL32,        3) |   RELOC_NUMBER (R_ARM_REL32,            3) | ||||||
|   RELOC_NUMBER (R_ARM_PC13,         4) | #ifdef OLD_ARM_ABI | ||||||
|   RELOC_NUMBER (R_ARM_ABS16,        5) |   RELOC_NUMBER (R_ARM_ABS8,             4) | ||||||
|   RELOC_NUMBER (R_ARM_ABS12,        6) |   RELOC_NUMBER (R_ARM_ABS16,            5) | ||||||
|   RELOC_NUMBER (R_ARM_THM_ABS5,     7) |   RELOC_NUMBER (R_ARM_ABS12,            6) | ||||||
|   RELOC_NUMBER (R_ARM_ABS8,         8) |   RELOC_NUMBER (R_ARM_THM_ABS5,         7) | ||||||
|   RELOC_NUMBER (R_ARM_SBREL32,      9) |   RELOC_NUMBER (R_ARM_THM_PC22,         8) | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC22,    10) |   RELOC_NUMBER (R_ARM_SBREL32,          9) | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC8,     11) |   RELOC_NUMBER (R_ARM_AMP_VCALL9,      10) | ||||||
|   RELOC_NUMBER (R_ARM_AMP_VCALL9,  12) |   RELOC_NUMBER (R_ARM_THM_PC11,        11)   /* Cygnus extension to abi: Thumb unconditional branch.  */ | ||||||
|   RELOC_NUMBER (R_ARM_SWI24,       13) |   RELOC_NUMBER (R_ARM_THM_PC9,         12)   /* Cygnus extension to abi: Thumb conditional branch.  */ | ||||||
|   RELOC_NUMBER (R_ARM_THM_SWI8,    14) |   RELOC_NUMBER (R_ARM_GNU_VTINHERIT,   13)   | ||||||
|   RELOC_NUMBER (R_ARM_XPC25,       15) |   RELOC_NUMBER (R_ARM_GNU_VTENTRY,     14)   | ||||||
|   RELOC_NUMBER (R_ARM_THM_XPC22,   16) | #else /* not OLD_ARM_ABI */ | ||||||
|   RELOC_NUMBER (R_ARM_COPY,        20)       /* copy symbol at runtime */ |   RELOC_NUMBER (R_ARM_PC13,             4) | ||||||
|   RELOC_NUMBER (R_ARM_GLOB_DAT,    21)       /* create GOT entry */ |   RELOC_NUMBER (R_ARM_ABS16,            5) | ||||||
|   RELOC_NUMBER (R_ARM_JUMP_SLOT,   22)       /* create PLT entry */ |   RELOC_NUMBER (R_ARM_ABS12,            6) | ||||||
|   RELOC_NUMBER (R_ARM_RELATIVE,    23)       /* adjust by program base */ |   RELOC_NUMBER (R_ARM_THM_ABS5,         7) | ||||||
|   RELOC_NUMBER (R_ARM_GOTOFF,      24)       /* 32 bit offset to GOT */ |   RELOC_NUMBER (R_ARM_ABS8,             8) | ||||||
|   RELOC_NUMBER (R_ARM_GOTPC,       25)       /* 32 bit PC relative offset to GOT */ |   RELOC_NUMBER (R_ARM_SBREL32,          9) | ||||||
|   RELOC_NUMBER (R_ARM_GOT32,       26)       /* 32 bit GOT entry */ |   RELOC_NUMBER (R_ARM_THM_PC22,        10) | ||||||
|   RELOC_NUMBER (R_ARM_PLT32,       27)       /* 32 bit PLT address */ |   RELOC_NUMBER (R_ARM_THM_PC8,         11) | ||||||
|   FAKE_RELOC   (FIRST_INVALID_RELOC1, 28) |   RELOC_NUMBER (R_ARM_AMP_VCALL9,      12) | ||||||
|   FAKE_RELOC   (LAST_INVALID_RELOC1,  99) |   RELOC_NUMBER (R_ARM_SWI24,           13) | ||||||
|   RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100) |   RELOC_NUMBER (R_ARM_THM_SWI8,        14) | ||||||
|   RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101) |   RELOC_NUMBER (R_ARM_XPC25,           15) | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC11,    102)       /* Cygnus extension to abi: Thumb unconditional branch */ |   RELOC_NUMBER (R_ARM_THM_XPC22,       16) | ||||||
|   RELOC_NUMBER (R_ARM_THM_PC9,     103)       /* Cygnus extension to abi: Thumb conditional branch */ | #endif /* not OLD_ARM_ABI */ | ||||||
|  |   RELOC_NUMBER (R_ARM_COPY,            20)   /* Copy symbol at runtime.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_GLOB_DAT,        21)   /* Create GOT entry.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_JUMP_SLOT,       22)   /* Create PLT entry.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_RELATIVE,        23)   /* Adjust by program base.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_GOTOFF,          24)   /* 32 bit offset to GOT.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_GOTPC,           25)   /* 32 bit PC relative offset to GOT.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_GOT32,           26)   /* 32 bit GOT entry.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_PLT32,           27)   /* 32 bit PLT address.  */ | ||||||
|  | #ifdef OLD_ARM_ABI | ||||||
|  |   FAKE_RELOC   (FIRST_INVALID_RELOC,   28) | ||||||
|  |   FAKE_RELOC   (LAST_INVALID_RELOC,   249) | ||||||
|  | #else /* not OLD_ARM_ABI */ | ||||||
|  |   FAKE_RELOC   (FIRST_INVALID_RELOC1,  28) | ||||||
|  |   FAKE_RELOC   (LAST_INVALID_RELOC1,   99) | ||||||
|  |   RELOC_NUMBER (R_ARM_GNU_VTENTRY,    100) | ||||||
|  |   RELOC_NUMBER (R_ARM_GNU_VTINHERIT,  101) | ||||||
|  |   RELOC_NUMBER (R_ARM_THM_PC11,       102)   /* Cygnus extension to abi: Thumb unconditional branch.  */ | ||||||
|  |   RELOC_NUMBER (R_ARM_THM_PC9,        103)   /* Cygnus extension to abi: Thumb conditional branch.  */ | ||||||
|   FAKE_RELOC   (FIRST_INVALID_RELOC2, 104) |   FAKE_RELOC   (FIRST_INVALID_RELOC2, 104) | ||||||
|   FAKE_RELOC   (LAST_INVALID_RELOC2,  248) |   FAKE_RELOC   (LAST_INVALID_RELOC2,  248) | ||||||
|   RELOC_NUMBER (R_ARM_RXPC25,     249) |   RELOC_NUMBER (R_ARM_RXPC25,         249) | ||||||
|   RELOC_NUMBER (R_ARM_RSBREL32,   250) | #endif /* not OLD_ARM_ABI */ | ||||||
|   RELOC_NUMBER (R_ARM_THM_RPC22,  251) |   RELOC_NUMBER (R_ARM_RSBREL32,       250) | ||||||
|   RELOC_NUMBER (R_ARM_RREL32,     252) |   RELOC_NUMBER (R_ARM_THM_RPC22,      251) | ||||||
|   RELOC_NUMBER (R_ARM_RABS32,     253) |   RELOC_NUMBER (R_ARM_RREL32,         252) | ||||||
|   RELOC_NUMBER (R_ARM_RPC24,      254) |   RELOC_NUMBER (R_ARM_RABS32,         253) | ||||||
|   RELOC_NUMBER (R_ARM_RBASE,      255) |   RELOC_NUMBER (R_ARM_RPC24,          254) | ||||||
|  |   RELOC_NUMBER (R_ARM_RBASE,          255) | ||||||
| END_RELOC_NUMBERS | END_RELOC_NUMBERS | ||||||
|  |  | ||||||
| #endif | #endif /* _ELF_ARM_H */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user