xref: /netbsd-src/external/gpl3/binutils/dist/include/elf/lm32.h (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
145548106Schristos /* Lattice Mico32 ELF support for BFD.
2*cb63e24eSchristos    Copyright (C) 2008-2024 Free Software Foundation, Inc.
345548106Schristos    Contributed by Jon Beniston <jon@beniston.com>
445548106Schristos 
545548106Schristos    This file is part of BFD, the Binary File Descriptor library.
645548106Schristos 
745548106Schristos    This program is free software; you can redistribute it and/or modify
845548106Schristos    it under the terms of the GNU General Public License as published by
945548106Schristos    the Free Software Foundation; either version 3 of the License, or
1045548106Schristos    (at your option) any later version.
1145548106Schristos 
1245548106Schristos    This program is distributed in the hope that it will be useful,
1345548106Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
1445548106Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1545548106Schristos    GNU General Public License for more details.
1645548106Schristos 
1745548106Schristos    You should have received a copy of the GNU General Public License
1845548106Schristos    along with this program; if not, write to the Free Software Foundation,
1945548106Schristos    Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
2045548106Schristos 
2145548106Schristos #ifndef _ELF_LM32_H
2245548106Schristos #define _ELF_LM32_H
2345548106Schristos 
2445548106Schristos #include "elf/reloc-macros.h"
2545548106Schristos 
2645548106Schristos /* Relocations.  */
2745548106Schristos START_RELOC_NUMBERS (elf_lm32_reloc_type)
2845548106Schristos      RELOC_NUMBER (R_LM32_NONE,                      0)
2945548106Schristos      RELOC_NUMBER (R_LM32_8,                         1)
3045548106Schristos      RELOC_NUMBER (R_LM32_16,                        2)
3145548106Schristos      RELOC_NUMBER (R_LM32_32,                        3)
3245548106Schristos      RELOC_NUMBER (R_LM32_HI16,                      4)
3345548106Schristos      RELOC_NUMBER (R_LM32_LO16,                      5)
3445548106Schristos      RELOC_NUMBER (R_LM32_GPREL16,                   6)
3545548106Schristos      RELOC_NUMBER (R_LM32_CALL,                      7)
3645548106Schristos      RELOC_NUMBER (R_LM32_BRANCH,                    8)
3745548106Schristos      RELOC_NUMBER (R_LM32_GNU_VTINHERIT,             9)
3845548106Schristos      RELOC_NUMBER (R_LM32_GNU_VTENTRY,               10)
3945548106Schristos      RELOC_NUMBER (R_LM32_16_GOT,                    11)
4045548106Schristos      RELOC_NUMBER (R_LM32_GOTOFF_HI16,               12)
4145548106Schristos      RELOC_NUMBER (R_LM32_GOTOFF_LO16,               13)
4245548106Schristos      RELOC_NUMBER (R_LM32_COPY,                      14)
4345548106Schristos      RELOC_NUMBER (R_LM32_GLOB_DAT,                  15)
4445548106Schristos      RELOC_NUMBER (R_LM32_JMP_SLOT,                  16)
4545548106Schristos      RELOC_NUMBER (R_LM32_RELATIVE,                  17)
4645548106Schristos END_RELOC_NUMBERS (R_LM32_max)
4745548106Schristos 
4845548106Schristos /* Processor specific flags for the ELF header e_flags field.  */
4945548106Schristos 
5045548106Schristos #define EF_LM32_MACH                 0x00000001
5145548106Schristos 
5245548106Schristos /* Various CPU types.  */
5345548106Schristos 
5445548106Schristos #define E_LM32_MACH                  0x1
5545548106Schristos 
5645548106Schristos #endif /* _ELF_LM32_H */
57