Blame include/elf/microblaze.h

Packit Service 72eb06
/* Xilinx MicroBlaze support for BFD.
Packit Service 72eb06
 
Packit Service 72eb06
   Copyright (C) 2009-2018 Free Software Foundation, Inc.
Packit Service 72eb06
Packit Service 72eb06
   This file is part of BFD, the Binary File Descriptor library.
Packit Service 72eb06
Packit Service 72eb06
   This program is free software; you can redistribute it and/or modify
Packit Service 72eb06
   it under the terms of the GNU General Public License as published by
Packit Service 72eb06
   the Free Software Foundation; either version 3 of the License, or
Packit Service 72eb06
   (at your option) any later version.
Packit Service 72eb06
   
Packit Service 72eb06
   This program is distributed in the hope that it will be useful,
Packit Service 72eb06
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 72eb06
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 72eb06
   GNU General Public License for more details.
Packit Service 72eb06
Packit Service 72eb06
   You should have received a copy of the GNU General Public License
Packit Service 72eb06
   along with this program; if not, write to the Free Software
Packit Service 72eb06
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 
Packit Service 72eb06
   02110-1301, USA.  */
Packit Service 72eb06
Packit Service 72eb06
/* This file holds definitions specific to the MICROBLAZE ELF ABI.  */
Packit Service 72eb06
Packit Service 72eb06
#ifndef _ELF_MICROBLAZE_H
Packit Service 72eb06
#define _ELF_MICROBLAZE_H
Packit Service 72eb06
Packit Service 72eb06
#include "elf/reloc-macros.h"
Packit Service 72eb06
Packit Service 72eb06
/* Relocations.  */
Packit Service 72eb06
START_RELOC_NUMBERS (elf_microblaze_reloc_type)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_NONE, 0)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_32, 1)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_32_PCREL, 2)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_64_PCREL, 3)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_32_PCREL_LO, 4)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_64, 5)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_32_LO, 6)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_SRO32, 7)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_SRW32, 8)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_64_NONE, 9)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_32_SYM_OP_SYM, 10)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GNU_VTINHERIT, 11)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GNU_VTENTRY, 12)
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GOTPC_64, 13)  /* PC-relative GOT offset.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GOT_64, 14)    /* GOT entry offset.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_PLT_64, 15)    /* PLT offset (PC-relative).  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_REL, 16)       /* Adjust by program base.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_JUMP_SLOT, 17) /* Create PLT entry.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GLOB_DAT, 18)  /* Create GOT entry.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GOTOFF_64, 19) /* Offset relative to GOT.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_GOTOFF_32, 20) /* Offset relative to GOT.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_COPY, 21)      /* Runtime copy.  */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLS, 22)           /* TLS Reloc */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSGD, 23)         /* TLS General Dynamic */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSLD, 24)         /* TLS Local Dynamic */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSDTPMOD32, 25)   /* TLS Module ID */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL32, 26)   /* TLS Offset Within TLS Block */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27)   /* TLS Offset Within TLS Block */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */
Packit Service 72eb06
  RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29)    /* TLS Offset From Thread Pointer */
Packit Service 72eb06
   
Packit Service 72eb06
END_RELOC_NUMBERS (R_MICROBLAZE_max)
Packit Service 72eb06
Packit Service 72eb06
/* Global base address names.  */
Packit Service 72eb06
#define RO_SDA_ANCHOR_NAME "_SDA2_BASE_"
Packit Service 72eb06
#define RW_SDA_ANCHOR_NAME "_SDA_BASE_"
Packit Service 72eb06
Packit Service 72eb06
/* Section Attributes.  */
Packit Service 72eb06
#define SHF_MICROBLAZE_NOREAD	0x80000000
Packit Service 72eb06
Packit Service 72eb06
#endif /* _ELF_MICROBLAZE_H */