X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=include%2Felf%2Fbfin.h;h=59af3ce60459a106299e2017bf9e79cdc04b64ad;hp=3c07cd166c88f395f221fd8117f2e0081a081da4;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/include/elf/bfin.h b/include/elf/bfin.h index 3c07cd1..59af3ce 100644 --- a/include/elf/bfin.h +++ b/include/elf/bfin.h @@ -1,5 +1,5 @@ /* Blackfin ELF support for BFD. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -19,30 +19,30 @@ along with this program; if not, write to the Free Software Foundation, Inc., #ifndef _ELF_BFIN_H #define _ELF_BFIN_H - + #include "elf/reloc-macros.h" START_RELOC_NUMBERS (elf_bfin_reloc_type) - RELOC_NUMBER (R_unused0, 0x00) /* relocation type 0 is not defined*/ - RELOC_NUMBER (R_pcrel5m2, 0x01) /*LSETUP part a*/ - RELOC_NUMBER (R_unused1, 0x02) /* relocation type 2 is not defined*/ - RELOC_NUMBER (R_pcrel10, 0x03) /* type 3, 0x00) if cc jump */ - RELOC_NUMBER (R_pcrel12_jump, 0x04) /* type 4, 0x00) jump */ - RELOC_NUMBER (R_rimm16, 0x05) /* type 0x5, 0x00) rN = */ - RELOC_NUMBER (R_luimm16, 0x06) /* # 0x6, 0x00) preg.l= Load imm 16 to lower half */ - RELOC_NUMBER (R_huimm16, 0x07) /* # 0x7, 0x00) preg.h= Load imm 16 to upper half*/ - RELOC_NUMBER (R_pcrel12_jump_s, 0x08) /* # 0x8 jump.s */ - RELOC_NUMBER (R_pcrel24_jump_x, 0x09) /* # 0x9 jump.x */ - RELOC_NUMBER (R_pcrel24, 0x0a) /* # 0xa call , 0x00) not expandable*/ - RELOC_NUMBER (R_unusedb, 0x0b) /* # 0xb not generated */ - RELOC_NUMBER (R_unusedc, 0x0c) /* # 0xc not used */ - RELOC_NUMBER (R_pcrel24_jump_l, 0x0d) /*0xd jump.l */ - RELOC_NUMBER (R_pcrel24_call_x, 0x0e) /* 0xE, 0x00) call.x if is above 24 bit limit call through P1 */ - RELOC_NUMBER (R_var_eq_symb, 0x0f) /* 0xf, 0x00) linker should treat it same as 0x12 */ - RELOC_NUMBER (R_byte_data, 0x10) /* 0x10, 0x00) .byte var = symbol */ - RELOC_NUMBER (R_byte2_data, 0x11) /* 0x11, 0x00) .byte2 var = symbol */ - RELOC_NUMBER (R_byte4_data, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */ - RELOC_NUMBER (R_pcrel11, 0x13) /* 0x13, 0x00) lsetup part b */ + RELOC_NUMBER (R_BFIN_UNUSED0, 0x00) /* relocation type 0 is not defined */ + RELOC_NUMBER (R_BFIN_PCREL5M2, 0x01) /* LSETUP part a */ + RELOC_NUMBER (R_BFIN_UNUSED1, 0x02) /* relocation type 2 is not defined */ + RELOC_NUMBER (R_BFIN_PCREL10, 0x03) /* type 3, 0x00) if cc jump */ + RELOC_NUMBER (R_BFIN_PCREL12_JUMP, 0x04) /* type 4, 0x00) jump */ + RELOC_NUMBER (R_BFIN_RIMM16, 0x05) /* type 0x5, 0x00) rN = */ + RELOC_NUMBER (R_BFIN_LUIMM16, 0x06) /* # 0x6, 0x00) preg.l= Load imm 16 to lower half */ + RELOC_NUMBER (R_BFIN_HUIMM16, 0x07) /* # 0x7, 0x00) preg.h= Load imm 16 to upper half */ + RELOC_NUMBER (R_BFIN_PCREL12_JUMP_S, 0x08) /* # 0x8 jump.s */ + RELOC_NUMBER (R_BFIN_PCREL24_JUMP_X, 0x09) /* # 0x9 jump.x */ + RELOC_NUMBER (R_BFIN_PCREL24, 0x0a) /* # 0xa call , 0x00) not expandable */ + RELOC_NUMBER (R_BFIN_UNUSEDB, 0x0b) /* # 0xb not generated */ + RELOC_NUMBER (R_BFIN_UNUSEDC, 0x0c) /* # 0xc not used */ + RELOC_NUMBER (R_BFIN_PCREL24_JUMP_L, 0x0d) /* 0xd jump.l */ + RELOC_NUMBER (R_BFIN_PCREL24_CALL_X, 0x0e) /* 0xE, 0x00) call.x if is above 24 bit limit call through P1 */ + RELOC_NUMBER (R_BFIN_VAR_EQ_SYMB, 0x0f) /* 0xf, 0x00) linker should treat it same as 0x12 */ + RELOC_NUMBER (R_BFIN_BYTE_DATA, 0x10) /* 0x10, 0x00) .byte var = symbol */ + RELOC_NUMBER (R_BFIN_BYTE2_DATA, 0x11) /* 0x11, 0x00) .byte2 var = symbol */ + RELOC_NUMBER (R_BFIN_BYTE4_DATA, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */ + RELOC_NUMBER (R_BFIN_PCREL11, 0x13) /* 0x13, 0x00) lsetup part b */ RELOC_NUMBER (R_BFIN_GOT17M4, 0x14) RELOC_NUMBER (R_BFIN_GOTHI, 0x15) RELOC_NUMBER (R_BFIN_GOTLO, 0x16) @@ -58,31 +58,31 @@ START_RELOC_NUMBERS (elf_bfin_reloc_type) RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20) RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21) - RELOC_NUMBER (R_push, 0xE0) - RELOC_NUMBER (R_const, 0xE1) - RELOC_NUMBER (R_add, 0xE2) - RELOC_NUMBER (R_sub, 0xE3) - RELOC_NUMBER (R_mult, 0xE4) - RELOC_NUMBER (R_div, 0xE5) - RELOC_NUMBER (R_mod, 0xE6) - RELOC_NUMBER (R_lshift, 0xE7) - RELOC_NUMBER (R_rshift, 0xE8) - RELOC_NUMBER (R_and, 0xE9) - RELOC_NUMBER (R_or, 0xEA) - RELOC_NUMBER (R_xor, 0xEB) - RELOC_NUMBER (R_land, 0xEC) - RELOC_NUMBER (R_lor, 0xED) - RELOC_NUMBER (R_len, 0xEE) - RELOC_NUMBER (R_neg, 0xEF) - RELOC_NUMBER (R_comp, 0xF0) - RELOC_NUMBER (R_page, 0xF1) - RELOC_NUMBER (R_hwpage, 0xF2) - RELOC_NUMBER (R_addr, 0xF3) - RELOC_NUMBER (R_pltpc, 0x40) /* PLT gnu only relocation */ - RELOC_NUMBER (R_got, 0x41) /* GOT gnu only relocation */ + RELOC_NUMBER (R_BFIN_PUSH, 0xE0) + RELOC_NUMBER (R_BFIN_CONST, 0xE1) + RELOC_NUMBER (R_BFIN_ADD, 0xE2) + RELOC_NUMBER (R_BFIN_SUB, 0xE3) + RELOC_NUMBER (R_BFIN_MULT, 0xE4) + RELOC_NUMBER (R_BFIN_DIV, 0xE5) + RELOC_NUMBER (R_BFIN_MOD, 0xE6) + RELOC_NUMBER (R_BFIN_LSHIFT, 0xE7) + RELOC_NUMBER (R_BFIN_RSHIFT, 0xE8) + RELOC_NUMBER (R_BFIN_AND, 0xE9) + RELOC_NUMBER (R_BFIN_OR, 0xEA) + RELOC_NUMBER (R_BFIN_XOR, 0xEB) + RELOC_NUMBER (R_BFIN_LAND, 0xEC) + RELOC_NUMBER (R_BFIN_LOR, 0xED) + RELOC_NUMBER (R_BFIN_LEN, 0xEE) + RELOC_NUMBER (R_BFIN_NEG, 0xEF) + RELOC_NUMBER (R_BFIN_COMP, 0xF0) + RELOC_NUMBER (R_BFIN_PAGE, 0xF1) + RELOC_NUMBER (R_BFIN_HWPAGE, 0xF2) + RELOC_NUMBER (R_BFIN_ADDR, 0xF3) + RELOC_NUMBER (R_BFIN_PLTPC, 0x40) /* PLT gnu only relocation */ + RELOC_NUMBER (R_BFIN_GOT, 0x41) /* GOT gnu only relocation */ RELOC_NUMBER (R_BFIN_GNU_VTINHERIT, 0x42) /* C++, gnu only */ RELOC_NUMBER (R_BFIN_GNU_VTENTRY, 0x43) /* C++, gnu only */ -END_RELOC_NUMBERS (R_max) +END_RELOC_NUMBERS (R_BFIN_max) /* Processor specific flags for the ELF header e_flags field. */ #define EF_BFIN_PIC 0x00000001 /* -fpic */