Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:24

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /*
0004  * Copyright (C) 2023 On-Line Applications Research Corporation (OAR)
0005  *
0006  * Redistribution and use in source and binary forms, with or without
0007  * modification, are permitted provided that the following conditions
0008  * are met:
0009  * 1. Redistributions of source code must retain the above copyright
0010  *    notice, this list of conditions and the following disclaimer.
0011  * 2. Redistributions in binary form must reproduce the above copyright
0012  *    notice, this list of conditions and the following disclaimer in the
0013  *    documentation and/or other materials provided with the distribution.
0014  *
0015  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0016  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0017  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0018  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0019  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0020  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0021  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0022  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0023  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0024  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0025  * POSSIBILITY OF SUCH DAMAGE.
0026  */
0027 
0028 #ifndef _MICROBLAZE_ELF_MACHDEP_H_
0029 #define _MICROBLAZE_ELF_MACHDEP_H_
0030 
0031 #define ELF64_MACHDEP_ID EM_MICROBLAZE
0032 #define ELF32_MACHDEP_ID EM_MICROBLAZE
0033 
0034 #define ELF64_MACHDEP_ENDIANNESS ELFDATA2LSB
0035 #define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB
0036 
0037 #define ELF32_MACHDEP_ID_CASES \
0038   case EM_MICROBLAZE:          \
0039     break;
0040 
0041 #define ELF64_MACHDEP_ID_CASES \
0042   case EM_MICROBLAZE:          \
0043     break;
0044 
0045 #define KERN_ELFSIZE 32
0046 #define ARCH_ELFSIZE 32 /* MD native binary size */
0047 
0048 /* Processor specific relocation types */
0049 
0050 #define R_MICROBLAZE_NONE 0
0051 #define R_MICROBLAZE_32 1
0052 #define R_MICROBLAZE_32_PCREL 2
0053 #define R_MICROBLAZE_64_PCREL 3
0054 #define R_MICROBLAZE_32_PCREL_LO 4
0055 #define R_MICROBLAZE_64 5
0056 #define R_MICROBLAZE_32_LO 6
0057 #define R_MICROBLAZE_SRO32 7
0058 #define R_MICROBLAZE_SRW32 8
0059 #define R_MICROBLAZE_64_NONE 9
0060 #define R_MICROBLAZE_32_SYM_OP_SYM 10
0061 #define R_MICROBLAZE_GNU_VTINHERIT 11
0062 #define R_MICROBLAZE_GNU_VTENTRY 12
0063 #define R_MICROBLAZE_GOTPC_64 13
0064 #define R_MICROBLAZE_GOT_64 14
0065 #define R_MICROBLAZE_PLT_64 15
0066 #define R_MICROBLAZE_REL 16
0067 #define R_MICROBLAZE_JUMP_SLOT 17
0068 #define R_MICROBLAZE_GLOB_DAT 18
0069 #define R_MICROBLAZE_GOTOFF_64 19
0070 #define R_MICROBLAZE_GOTOFF_32 20
0071 #define R_MICROBLAZE_COPY 21
0072 #define R_MICROBLAZE_TLS 22
0073 #define R_MICROBLAZE_TLSGD 23
0074 #define R_MICROBLAZE_TLSLD 24
0075 #define R_MICROBLAZE_TLSDTPMOD32 25
0076 #define R_MICROBLAZE_TLSDTPREL32 26
0077 #define R_MICROBLAZE_TLSDTPREL64 27
0078 #define R_MICROBLAZE_TLSGOTTPREL32 28
0079 #define R_MICROBLAZE_TLSTPREL32 29
0080 
0081 #define R_TYPE( name ) R_MICROBLAZE_##name
0082 
0083 #endif /* _MICROBLAZE_ELF_MACHDEP_H_ */