diff options
author | Peng Fan <van.freenix@gmail.com> | 2013-07-24 15:49:29 +0800 |
---|---|---|
committer | Peng Fan <van.freenix@gmail.com> | 2013-09-05 13:47:39 +0800 |
commit | 400bce45a8532b2377c5692da80666196ce09c64 (patch) | |
tree | 950266e0af9ba23ed722bc8ba2996ff71d9a2b08 /libbsd | |
parent | 42d16f6d37130a3550b537d35698977f06908234 (diff) |
LM32 Support
Signed-off-by: Peng Fan <van.freenix@gmail.com>
Diffstat (limited to 'libbsd')
-rw-r--r-- | libbsd/include/arch/lm32/machine/ansi.h | 0 | ||||
-rw-r--r-- | libbsd/include/arch/lm32/machine/asm.h | 2 | ||||
-rw-r--r-- | libbsd/include/arch/lm32/machine/cdefs.h | 0 | ||||
-rw-r--r-- | libbsd/include/arch/lm32/machine/elf_machdep.h | 34 | ||||
-rw-r--r-- | libbsd/include/arch/lm32/machine/int_types.h | 0 | ||||
-rw-r--r-- | libbsd/include/sys/exec_elf.h | 2 |
6 files changed, 38 insertions, 0 deletions
diff --git a/libbsd/include/arch/lm32/machine/ansi.h b/libbsd/include/arch/lm32/machine/ansi.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libbsd/include/arch/lm32/machine/ansi.h diff --git a/libbsd/include/arch/lm32/machine/asm.h b/libbsd/include/arch/lm32/machine/asm.h new file mode 100644 index 0000000..b3a7a95 --- /dev/null +++ b/libbsd/include/arch/lm32/machine/asm.h @@ -0,0 +1,2 @@ + +#define __CONCAT(x,y) x ## y diff --git a/libbsd/include/arch/lm32/machine/cdefs.h b/libbsd/include/arch/lm32/machine/cdefs.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libbsd/include/arch/lm32/machine/cdefs.h diff --git a/libbsd/include/arch/lm32/machine/elf_machdep.h b/libbsd/include/arch/lm32/machine/elf_machdep.h new file mode 100644 index 0000000..29c75b8 --- /dev/null +++ b/libbsd/include/arch/lm32/machine/elf_machdep.h @@ -0,0 +1,34 @@ +#define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB + +#define ELF32_MACHDEP_ID_CASES \ + case EM_LATTICEMICO32: \ + break; + +#define ELF32_MACHDEP_ID EM_LATTICEMICO32 + +#define EF_MACH32_MACH 0x00000001 + +//#define EF_BLACKFIN + +#define ARCH_ELFSIZE 32 + +#define R_LM32_NONE 0 +#define R_LM32_8 1 +#define R_LM32_16 2 +#define R_LM32_32 3 +#define R_LM32_HI16 4 +#define R_LM32_LO16 5 +#define R_LM32_GPREL16 6 +#define R_LM32_CALL 7 +#define R_LM32_BRANCH 8 +#define R_LM32_GNU_VTINHERIT 9 +#define R_LM32_GNU_VTENTRY 10 +#define R_LM32_16_GOT 11 +#define R_LM32_GOTOFF_HI16 12 +#define R_LM32_GOTOFF_LO16 13 +#define R_LM32_COPY 14 +#define R_LM32_GLOT_DAT 15 +#define R_LM32_JMP_SLOT 16 +#define R_LM32_RELATIVE 17 + +#define R_TYPE(name) __CONCAT(R_LM32_,name) diff --git a/libbsd/include/arch/lm32/machine/int_types.h b/libbsd/include/arch/lm32/machine/int_types.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libbsd/include/arch/lm32/machine/int_types.h diff --git a/libbsd/include/sys/exec_elf.h b/libbsd/include/sys/exec_elf.h index 392cd33..19ca7f5 100644 --- a/libbsd/include/sys/exec_elf.h +++ b/libbsd/include/sys/exec_elf.h @@ -326,6 +326,8 @@ typedef struct { #define EM_CE 119 /* Freescale Communication Engine RISC core */ #define EM_M32C 120 /* Renesas M32C series microprocessors */ +#define EM_LATTICEMICO32 138 /* RICS processor for Lattice FPGA architecture */ + #define EM_MICROBLAZE 189 /* Xilinx MicroBlaze 32-bit RISC soft processor core */ /* Unofficial machine types follow */ |