summaryrefslogtreecommitdiff
path: root/libbsd
diff options
context:
space:
mode:
authorPeng Fan <van.freenix@gmail.com>2013-07-22 10:56:13 +0800
committerPeng Fan <van.freenix@gmail.com>2013-09-05 13:47:39 +0800
commit42d16f6d37130a3550b537d35698977f06908234 (patch)
tree8d8bf5b713308aaa52916fe98810670f1f47a02b /libbsd
parent43044399b0507b4357edeae9350751276c3b9ceb (diff)
H8300 Support
Signed-off-by: Peng Fan <van.freenix@gmail.com>
Diffstat (limited to 'libbsd')
-rw-r--r--libbsd/include/arch/h8300/machine/ansi.h0
-rw-r--r--libbsd/include/arch/h8300/machine/asm.h2
-rw-r--r--libbsd/include/arch/h8300/machine/cdefs.h0
-rw-r--r--libbsd/include/arch/h8300/machine/elf_machdep.h59
-rw-r--r--libbsd/include/arch/h8300/machine/int_types.h0
5 files changed, 61 insertions, 0 deletions
diff --git a/libbsd/include/arch/h8300/machine/ansi.h b/libbsd/include/arch/h8300/machine/ansi.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libbsd/include/arch/h8300/machine/ansi.h
diff --git a/libbsd/include/arch/h8300/machine/asm.h b/libbsd/include/arch/h8300/machine/asm.h
new file mode 100644
index 0000000..b3a7a95
--- /dev/null
+++ b/libbsd/include/arch/h8300/machine/asm.h
@@ -0,0 +1,2 @@
+
+#define __CONCAT(x,y) x ## y
diff --git a/libbsd/include/arch/h8300/machine/cdefs.h b/libbsd/include/arch/h8300/machine/cdefs.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libbsd/include/arch/h8300/machine/cdefs.h
diff --git a/libbsd/include/arch/h8300/machine/elf_machdep.h b/libbsd/include/arch/h8300/machine/elf_machdep.h
new file mode 100644
index 0000000..3d04915
--- /dev/null
+++ b/libbsd/include/arch/h8300/machine/elf_machdep.h
@@ -0,0 +1,59 @@
+
+#define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB
+
+#define ELF32_MACHDEP_ID_CASES \
+ case EM_H8_300: \
+ case EM_H8_300H: \
+ case EM_H8S: \
+ case EM_H8_500: \
+ break;
+
+#define ELF32_MACHDEP_ID EM_H8_300
+#define ARCH_ELFSIZE 32
+
+#define R_H8_NONE 0
+#define R_H8_DIR32 1
+#define R_H8_DIR32_28 2
+#define R_H8_DIR32_24 3
+#define R_H8_DIR32_16 4
+#define R_H8_DIR32U 6
+#define R_H8_DIR32U_28 7
+#define R_H8_DIR32U_24 8
+#define R_H8_DIR32U_20 9
+#define R_H8_DIR32U_16 10
+#define R_H8_DIR24 11
+#define R_H8_DIR24_20 12
+#define R_H8_DIR24_16 13
+#define R_H8_DIR24U 14
+#define R_H8_DIR24U_20 15
+#define R_H8_DIR24U_16 16
+#define R_H8_DIR16 17
+#define R_H8_DIR16U 18
+#define R_H8_DIR16S_32 19
+#define R_H8_DIR16S_28 20
+#define R_H8_DIR16S_24 21
+#define R_H8_DIR16S_20 22
+#define R_H8_DIR16S 23
+#define R_H8_DIR8 24
+#define R_H8_DIR8U 25
+#define R_H8_DIR8Z_32 26
+#define R_H8_DIR8Z_28 27
+#define R_H8_DIR8Z_24 28
+#define R_H8_DIR8Z_20 29
+#define R_H8_DIR8Z_16 30
+#define R_H8_PCREL16 31
+#define R_H8_PCREL8 32
+#define R_H8_BPOS 33
+#define R_H8_PCREL32 34
+#define R_H8_GOT32O 35
+#define R_H8_GOT16O 36
+#define R_H8_DIR16A8 59
+#define R_H8_DIR16R8 60
+#define R_H8_DIR24A8 61
+#define R_H8_DIR24R8 62
+#define R_H8_DIR32A16 63
+#define R_H8_ABS32 65
+#define R_H8_ABS32A16 127
+
+
+#define R_TYPE(name) __CONCAT(R_H8_,name)
diff --git a/libbsd/include/arch/h8300/machine/int_types.h b/libbsd/include/arch/h8300/machine/int_types.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libbsd/include/arch/h8300/machine/int_types.h