OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [include/] [elf/] [bfin.h] - Diff between revs 157 and 225

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 157 Rev 225
Line 1... Line 1...
/* Blackfin ELF support for BFD.
/* 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.
This file is part of BFD, the Binary File Descriptor library.
 
 
This program is free software; you can redistribute it and/or modify
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
it under the terms of the GNU General Public License as published by
Line 21... Line 21...
#define _ELF_BFIN_H
#define _ELF_BFIN_H
 
 
#include "elf/reloc-macros.h"
#include "elf/reloc-macros.h"
 
 
START_RELOC_NUMBERS (elf_bfin_reloc_type)
START_RELOC_NUMBERS (elf_bfin_reloc_type)
  RELOC_NUMBER (R_unused0, 0x00) /* relocation type 0 is not defined*/
  RELOC_NUMBER (R_BFIN_UNUSED0, 0x00)          /* relocation type 0 is not defined */
  RELOC_NUMBER (R_pcrel5m2, 0x01) /*LSETUP part a*/
  RELOC_NUMBER (R_BFIN_PCREL5M2, 0x01)         /* LSETUP part a */
  RELOC_NUMBER (R_unused1, 0x02) /* relocation type 2 is not defined*/
  RELOC_NUMBER (R_BFIN_UNUSED1, 0x02)          /* relocation type 2 is not defined */
  RELOC_NUMBER (R_pcrel10, 0x03) /* type 3, 0x00) if cc jump <target>  */
  RELOC_NUMBER (R_BFIN_PCREL10, 0x03)          /* type 3, 0x00) if cc jump <target> */
  RELOC_NUMBER (R_pcrel12_jump, 0x04) /* type 4, 0x00) jump <target> */
  RELOC_NUMBER (R_BFIN_PCREL12_JUMP, 0x04)     /* type 4, 0x00) jump <target> */
  RELOC_NUMBER (R_rimm16, 0x05)    /* type 0x5, 0x00) rN = <target> */
  RELOC_NUMBER (R_BFIN_RIMM16, 0x05)           /* type 0x5, 0x00) rN = <target> */
  RELOC_NUMBER (R_luimm16, 0x06)  /* # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half */
  RELOC_NUMBER (R_BFIN_LUIMM16, 0x06)          /* # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half */
  RELOC_NUMBER (R_huimm16, 0x07)  /* # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half*/
  RELOC_NUMBER (R_BFIN_HUIMM16, 0x07)          /* # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half */
  RELOC_NUMBER (R_pcrel12_jump_s, 0x08) /* # 0x8 jump.s <target> */
  RELOC_NUMBER (R_BFIN_PCREL12_JUMP_S, 0x08)   /* # 0x8 jump.s <target> */
  RELOC_NUMBER (R_pcrel24_jump_x, 0x09) /* # 0x9 jump.x <target> */
  RELOC_NUMBER (R_BFIN_PCREL24_JUMP_X, 0x09)   /* # 0x9 jump.x <target> */
  RELOC_NUMBER (R_pcrel24, 0x0a)        /* # 0xa call <target> , 0x00) not expandable*/
  RELOC_NUMBER (R_BFIN_PCREL24, 0x0a)          /* # 0xa call <target> , 0x00) not expandable */
  RELOC_NUMBER (R_unusedb, 0x0b)         /* # 0xb not generated */
  RELOC_NUMBER (R_BFIN_UNUSEDB, 0x0b)          /* # 0xb not generated */
  RELOC_NUMBER (R_unusedc, 0x0c)       /* # 0xc  not used */
  RELOC_NUMBER (R_BFIN_UNUSEDC, 0x0c)          /* # 0xc  not used */
  RELOC_NUMBER (R_pcrel24_jump_l, 0x0d) /*0xd jump.l <target>*/
  RELOC_NUMBER (R_BFIN_PCREL24_JUMP_L, 0x0d)   /* 0xd jump.l <target> */
  RELOC_NUMBER (R_pcrel24_call_x, 0x0e) /* 0xE, 0x00) call.x <target> if <target> is above 24 bit limit call through P1 */
  RELOC_NUMBER (R_BFIN_PCREL24_CALL_X, 0x0e)   /* 0xE, 0x00) call.x <target> if <target> 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_BFIN_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_BFIN_BYTE_DATA, 0x10)        /* 0x10, 0x00) .byte var = symbol */
  RELOC_NUMBER (R_byte2_data, 0x11)     /* 0x11, 0x00) .byte2 var = symbol */
  RELOC_NUMBER (R_BFIN_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_BFIN_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_PCREL11, 0x13)          /* 0x13, 0x00) lsetup part b */
  RELOC_NUMBER (R_BFIN_GOT17M4, 0x14)
  RELOC_NUMBER (R_BFIN_GOT17M4, 0x14)
  RELOC_NUMBER (R_BFIN_GOTHI, 0x15)
  RELOC_NUMBER (R_BFIN_GOTHI, 0x15)
  RELOC_NUMBER (R_BFIN_GOTLO, 0x16)
  RELOC_NUMBER (R_BFIN_GOTLO, 0x16)
  RELOC_NUMBER (R_BFIN_FUNCDESC, 0x17)
  RELOC_NUMBER (R_BFIN_FUNCDESC, 0x17)
  RELOC_NUMBER (R_BFIN_FUNCDESC_GOT17M4, 0x18)
  RELOC_NUMBER (R_BFIN_FUNCDESC_GOT17M4, 0x18)
Line 56... Line 56...
  RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFLO, 0x1e)
  RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFLO, 0x1e)
  RELOC_NUMBER (R_BFIN_GOTOFF17M4, 0x1f)
  RELOC_NUMBER (R_BFIN_GOTOFF17M4, 0x1f)
  RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20)
  RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20)
  RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21)
  RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21)
 
 
  RELOC_NUMBER (R_push, 0xE0)
  RELOC_NUMBER (R_BFIN_PUSH, 0xE0)
  RELOC_NUMBER (R_const, 0xE1)
  RELOC_NUMBER (R_BFIN_CONST, 0xE1)
  RELOC_NUMBER (R_add, 0xE2)
  RELOC_NUMBER (R_BFIN_ADD, 0xE2)
  RELOC_NUMBER (R_sub, 0xE3)
  RELOC_NUMBER (R_BFIN_SUB, 0xE3)
  RELOC_NUMBER (R_mult, 0xE4)
  RELOC_NUMBER (R_BFIN_MULT, 0xE4)
  RELOC_NUMBER (R_div, 0xE5)
  RELOC_NUMBER (R_BFIN_DIV, 0xE5)
  RELOC_NUMBER (R_mod, 0xE6)
  RELOC_NUMBER (R_BFIN_MOD, 0xE6)
  RELOC_NUMBER (R_lshift, 0xE7)
  RELOC_NUMBER (R_BFIN_LSHIFT, 0xE7)
  RELOC_NUMBER (R_rshift, 0xE8)
  RELOC_NUMBER (R_BFIN_RSHIFT, 0xE8)
  RELOC_NUMBER (R_and, 0xE9)
  RELOC_NUMBER (R_BFIN_AND, 0xE9)
  RELOC_NUMBER (R_or, 0xEA)
  RELOC_NUMBER (R_BFIN_OR, 0xEA)
  RELOC_NUMBER (R_xor, 0xEB)
  RELOC_NUMBER (R_BFIN_XOR, 0xEB)
  RELOC_NUMBER (R_land, 0xEC)
  RELOC_NUMBER (R_BFIN_LAND, 0xEC)
  RELOC_NUMBER (R_lor, 0xED)
  RELOC_NUMBER (R_BFIN_LOR, 0xED)
  RELOC_NUMBER (R_len, 0xEE)
  RELOC_NUMBER (R_BFIN_LEN, 0xEE)
  RELOC_NUMBER (R_neg, 0xEF)
  RELOC_NUMBER (R_BFIN_NEG, 0xEF)
  RELOC_NUMBER (R_comp, 0xF0)
  RELOC_NUMBER (R_BFIN_COMP, 0xF0)
  RELOC_NUMBER (R_page, 0xF1)
  RELOC_NUMBER (R_BFIN_PAGE, 0xF1)
  RELOC_NUMBER (R_hwpage, 0xF2)
  RELOC_NUMBER (R_BFIN_HWPAGE, 0xF2)
  RELOC_NUMBER (R_addr, 0xF3)
  RELOC_NUMBER (R_BFIN_ADDR, 0xF3)
  RELOC_NUMBER (R_pltpc, 0x40)          /* PLT gnu only relocation */
  RELOC_NUMBER (R_BFIN_PLTPC, 0x40)         /* PLT gnu only relocation */
  RELOC_NUMBER (R_got, 0x41)            /* GOT 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_VTINHERIT, 0x42) /* C++, gnu only */
  RELOC_NUMBER (R_BFIN_GNU_VTENTRY, 0x43) /* 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.  */
/* Processor specific flags for the ELF header e_flags field.  */
#define EF_BFIN_PIC             0x00000001      /* -fpic */
#define EF_BFIN_PIC             0x00000001      /* -fpic */
#define EF_BFIN_FDPIC           0x00000002      /* -mfdpic */
#define EF_BFIN_FDPIC           0x00000002      /* -mfdpic */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.