summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUGS1
-rw-r--r--Config.in6
-rw-r--r--mk/kernel-ver.mk6
-rw-r--r--package/openssh/Makefile2
-rw-r--r--package/openssl/patches/patch-Configure2
-rw-r--r--target/linux/config/Config.in.fsnet2
-rw-r--r--target/linux/config/Config.in.input2
-rw-r--r--target/linux/config/Config.in.netfilter.ip44
-rw-r--r--target/linux/patches/3.4.65/bsd-compatibility.patch (renamed from target/linux/patches/3.4.60/bsd-compatibility.patch)0
-rw-r--r--target/linux/patches/3.4.65/cris-etrax.patch (renamed from target/linux/patches/3.4.60/cris-etrax.patch)0
-rw-r--r--target/linux/patches/3.4.65/defaults.patch (renamed from target/linux/patches/3.4.60/defaults.patch)0
-rw-r--r--target/linux/patches/3.4.65/gemalto.patch (renamed from target/linux/patches/3.4.60/gemalto.patch)0
-rw-r--r--target/linux/patches/3.4.65/lemote-rfkill.patch (renamed from target/linux/patches/3.4.60/lemote-rfkill.patch)0
-rw-r--r--target/linux/patches/3.4.65/module-alloc-size-check.patch (renamed from target/linux/patches/3.4.60/module-alloc-size-check.patch)0
-rw-r--r--target/linux/patches/3.4.65/non-static.patch (renamed from target/linux/patches/3.4.60/non-static.patch)0
-rw-r--r--target/linux/patches/3.4.65/sparc-include.patch (renamed from target/linux/patches/3.4.60/sparc-include.patch)0
-rw-r--r--target/linux/patches/3.4.65/startup.patch (renamed from target/linux/patches/3.4.60/startup.patch)0
-rw-r--r--target/linux/patches/3.4.65/usb-defaults-off.patch (renamed from target/linux/patches/3.4.60/usb-defaults-off.patch)0
-rw-r--r--target/linux/patches/3.4.65/uuid.patch (renamed from target/linux/patches/3.4.60/uuid.patch)0
-rw-r--r--target/linux/patches/3.4.65/vga-cons-default-off.patch (renamed from target/linux/patches/3.4.60/vga-cons-default-off.patch)0
-rw-r--r--target/linux/patches/3.4.65/wlan-cf.patch (renamed from target/linux/patches/3.4.60/wlan-cf.patch)0
-rw-r--r--target/linux/patches/3.4.65/zlib-inflate.patch (renamed from target/linux/patches/3.4.60/zlib-inflate.patch)0
-rw-r--r--toolchain/gcc/Makefile2
-rw-r--r--toolchain/kernel-headers/patches/3.11.5/relocs.patch2693
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/aufs2.patch (renamed from toolchain/kernel-headers/patches/3.4.60/aufs2.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/cleankernel.patch (renamed from toolchain/kernel-headers/patches/3.4.60/cleankernel.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/etrax-header.patch (renamed from toolchain/kernel-headers/patches/3.4.60/etrax-header.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/linux-gcc-check.patch (renamed from toolchain/kernel-headers/patches/3.4.60/linux-gcc-check.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/microperl.patch (renamed from toolchain/kernel-headers/patches/3.4.60/microperl.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/mkpiggy.patch (renamed from toolchain/kernel-headers/patches/3.4.60/mkpiggy.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.65/relocs.patch (renamed from toolchain/kernel-headers/patches/3.4.60/relocs.patch)0
31 files changed, 2708 insertions, 12 deletions
diff --git a/BUGS b/BUGS
index f08dabec5..23ef78853 100644
--- a/BUGS
+++ b/BUGS
@@ -1,3 +1,2 @@
-- openssh on amd64 does not work, ssh-keygen endless loop
- uclibc on lemote mips64 target does not work (only uclibc-trunk with patches)
- qemu-mips64* targets does not boot, kernel problem?
diff --git a/Config.in b/Config.in
index e2f4012cf..9f2280ef4 100644
--- a/Config.in
+++ b/Config.in
@@ -114,8 +114,8 @@ config ADK_KERNEL_VERSION_3_9_11
prompt "3.9.11"
boolean
-config ADK_KERNEL_VERSION_3_4_60
- prompt "3.4.60"
+config ADK_KERNEL_VERSION_3_4_65
+ prompt "3.4.65"
boolean
endchoice
@@ -124,7 +124,7 @@ config ADK_KERNEL_VERSION
string
default "3.11.5" if ADK_KERNEL_VERSION_3_11_5
default "3.9.11" if ADK_KERNEL_VERSION_3_9_11
- default "3.4.60" if ADK_KERNEL_VERSION_3_4_60
+ default "3.4.65" if ADK_KERNEL_VERSION_3_4_65
help
config ADK_KERNEL_COMP_GZIP_RASPBERRY_PI
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index 957465ee3..d4587aa7d 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -16,9 +16,9 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
KERNEL_MD5SUM:= edbf88eb7f7d34dbd5d3887726790755
endif
-ifeq ($(ADK_KERNEL_VERSION_3_4_60),y)
-KERNEL_VERSION:= 3.4.60
+ifeq ($(ADK_KERNEL_VERSION_3_4_65),y)
+KERNEL_VERSION:= 3.4.65
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 6173c731d43939c133d0c575e6e0735e
+KERNEL_MD5SUM:= c1d4cbf921a74e0234006d6cd9a3ac2b
endif
diff --git a/package/openssh/Makefile b/package/openssh/Makefile
index b489a8434..284036ece 100644
--- a/package/openssh/Makefile
+++ b/package/openssh/Makefile
@@ -10,7 +10,7 @@ PKG_MD5SUM:= 7b2d9dd75b5cf267ea1737ec75500316
PKG_DESCR:= OpenSSH
PKG_SECTION:= net/security
PKG_BUILDDEP:= zlib openssl
-PKG_DEPENDS:= zlib libopenssl libpthread
+PKG_DEPENDS:= zlib libopenssl libpthread libgcc
PKG_URL:= http://www.openssh.com/
PKG_SITES:= ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
PKG_MULTI:= 1
diff --git a/package/openssl/patches/patch-Configure b/package/openssl/patches/patch-Configure
index 2f1213e0e..5d9f9329f 100644
--- a/package/openssl/patches/patch-Configure
+++ b/package/openssl/patches/patch-Configure
@@ -5,7 +5,7 @@
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+"linux-embedded","gcc:-DTERMIOS \$(OPTIMIZATION_FLAGS) -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-embedded-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIOS -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-embedded-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIOS \$(OPTIMIZATION_FLAGS) -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
# Android: linux-* but without -DTERMIO and pointers to headers and libs.
"android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/target/linux/config/Config.in.fsnet b/target/linux/config/Config.in.fsnet
index 77871f171..c22ae210c 100644
--- a/target/linux/config/Config.in.fsnet
+++ b/target/linux/config/Config.in.fsnet
@@ -3,7 +3,7 @@ config ADK_KERNEL_FS_POSIX_ACL
default y
config ADK_KPACKAGE_KMOD_CIFS
- prompt "kmod-fs-cifs...................... CIFS support"
+ prompt "kmod-cifs......................... CIFS support"
tristate
select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
select ADK_KERNEL_NETWORK_FILESYSTEMS
diff --git a/target/linux/config/Config.in.input b/target/linux/config/Config.in.input
index 587a7f2c9..dda525cda 100644
--- a/target/linux/config/Config.in.input
+++ b/target/linux/config/Config.in.input
@@ -152,12 +152,14 @@ config ADK_KPACKAGE_KMOD_KEYBOARD_ATKBD
tristate
select ADK_KERNEL_INPUT
select ADK_KERNEL_INPUT_KEYBOARD
+ depends on !ADK_KERNEL_KEYBOARD_ATKBD
default n
config ADK_KPACKAGE_KMOD_INPUT_MOUSEDEV
prompt "kmod-input-mouse................. Mouse support (PS/2)"
tristate
select ADK_KERNEL_INPUT
+ depends on !ADK_KERNEL_INPUT_MOUSEDEV
default n
config ADK_KPACKAGE_KMOD_INPUT_EVDEV
diff --git a/target/linux/config/Config.in.netfilter.ip4 b/target/linux/config/Config.in.netfilter.ip4
index 77d24ede7..817000d63 100644
--- a/target/linux/config/Config.in.netfilter.ip4
+++ b/target/linux/config/Config.in.netfilter.ip4
@@ -36,14 +36,14 @@ config ADK_KPACKAGE_KMOD_IP_NF_FILTER
config ADK_KPACKAGE_KMOD_FULL_NAT
tristate "Meta package for Full NAT"
- select ADK_KPACKAGE_KMOD_NF_NAT if ADK_KERNEL_VERSION_3_4_60
+ select ADK_KPACKAGE_KMOD_NF_NAT if ADK_KERNEL_VERSION_3_4_65
select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_9_11
select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_11_5
config ADK_KPACKAGE_KMOD_NF_NAT
tristate 'Full NAT'
depends on ADK_KPACKAGE_KMOD_IP_NF_IPTABLES
- depends on ADK_KERNEL_VERSION_3_4_60
+ depends on ADK_KERNEL_VERSION_3_4_65
help
The Full NAT option allows masquerading, port forwarding and other
forms of full Network Address Port Translation. It is controlled by
diff --git a/target/linux/patches/3.4.60/bsd-compatibility.patch b/target/linux/patches/3.4.65/bsd-compatibility.patch
index 9e91a62de..9e91a62de 100644
--- a/target/linux/patches/3.4.60/bsd-compatibility.patch
+++ b/target/linux/patches/3.4.65/bsd-compatibility.patch
diff --git a/target/linux/patches/3.4.60/cris-etrax.patch b/target/linux/patches/3.4.65/cris-etrax.patch
index a80d9a8b8..a80d9a8b8 100644
--- a/target/linux/patches/3.4.60/cris-etrax.patch
+++ b/target/linux/patches/3.4.65/cris-etrax.patch
diff --git a/target/linux/patches/3.4.60/defaults.patch b/target/linux/patches/3.4.65/defaults.patch
index 58aae610b..58aae610b 100644
--- a/target/linux/patches/3.4.60/defaults.patch
+++ b/target/linux/patches/3.4.65/defaults.patch
diff --git a/target/linux/patches/3.4.60/gemalto.patch b/target/linux/patches/3.4.65/gemalto.patch
index 65f7af1d7..65f7af1d7 100644
--- a/target/linux/patches/3.4.60/gemalto.patch
+++ b/target/linux/patches/3.4.65/gemalto.patch
diff --git a/target/linux/patches/3.4.60/lemote-rfkill.patch b/target/linux/patches/3.4.65/lemote-rfkill.patch
index a61488434..a61488434 100644
--- a/target/linux/patches/3.4.60/lemote-rfkill.patch
+++ b/target/linux/patches/3.4.65/lemote-rfkill.patch
diff --git a/target/linux/patches/3.4.60/module-alloc-size-check.patch b/target/linux/patches/3.4.65/module-alloc-size-check.patch
index a792ac60a..a792ac60a 100644
--- a/target/linux/patches/3.4.60/module-alloc-size-check.patch
+++ b/target/linux/patches/3.4.65/module-alloc-size-check.patch
diff --git a/target/linux/patches/3.4.60/non-static.patch b/target/linux/patches/3.4.65/non-static.patch
index a967703d0..a967703d0 100644
--- a/target/linux/patches/3.4.60/non-static.patch
+++ b/target/linux/patches/3.4.65/non-static.patch
diff --git a/target/linux/patches/3.4.60/sparc-include.patch b/target/linux/patches/3.4.65/sparc-include.patch
index 2f8ffd061..2f8ffd061 100644
--- a/target/linux/patches/3.4.60/sparc-include.patch
+++ b/target/linux/patches/3.4.65/sparc-include.patch
diff --git a/target/linux/patches/3.4.60/startup.patch b/target/linux/patches/3.4.65/startup.patch
index 68e8987b0..68e8987b0 100644
--- a/target/linux/patches/3.4.60/startup.patch
+++ b/target/linux/patches/3.4.65/startup.patch
diff --git a/target/linux/patches/3.4.60/usb-defaults-off.patch b/target/linux/patches/3.4.65/usb-defaults-off.patch
index 31367108a..31367108a 100644
--- a/target/linux/patches/3.4.60/usb-defaults-off.patch
+++ b/target/linux/patches/3.4.65/usb-defaults-off.patch
diff --git a/target/linux/patches/3.4.60/uuid.patch b/target/linux/patches/3.4.65/uuid.patch
index ca23accdf..ca23accdf 100644
--- a/target/linux/patches/3.4.60/uuid.patch
+++ b/target/linux/patches/3.4.65/uuid.patch
diff --git a/target/linux/patches/3.4.60/vga-cons-default-off.patch b/target/linux/patches/3.4.65/vga-cons-default-off.patch
index 178aeeeb9..178aeeeb9 100644
--- a/target/linux/patches/3.4.60/vga-cons-default-off.patch
+++ b/target/linux/patches/3.4.65/vga-cons-default-off.patch
diff --git a/target/linux/patches/3.4.60/wlan-cf.patch b/target/linux/patches/3.4.65/wlan-cf.patch
index fc20759e2..fc20759e2 100644
--- a/target/linux/patches/3.4.60/wlan-cf.patch
+++ b/target/linux/patches/3.4.65/wlan-cf.patch
diff --git a/target/linux/patches/3.4.60/zlib-inflate.patch b/target/linux/patches/3.4.65/zlib-inflate.patch
index 58e1f6d21..58e1f6d21 100644
--- a/target/linux/patches/3.4.60/zlib-inflate.patch
+++ b/target/linux/patches/3.4.65/zlib-inflate.patch
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index deef63a5c..ff8c3d509 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -42,6 +42,8 @@ endif
ifeq ($(ADK_LINUX_X86_64),y)
ifeq ($(ADK_x32),y)
GCC_CONFOPTS+= --with-multilib-list=mx32
+else
+GCC_CONFOPTS+= --disable-biarch --disable-multilib
endif
endif
diff --git a/toolchain/kernel-headers/patches/3.11.5/relocs.patch b/toolchain/kernel-headers/patches/3.11.5/relocs.patch
new file mode 100644
index 000000000..649b9e73e
--- /dev/null
+++ b/toolchain/kernel-headers/patches/3.11.5/relocs.patch
@@ -0,0 +1,2693 @@
+diff -Nur linux-3.11.5.orig/arch/x86/tools/relocs.h linux-3.11.5/arch/x86/tools/relocs.h
+--- linux-3.11.5.orig/arch/x86/tools/relocs.h 2013-10-14 03:14:45.000000000 +0200
++++ linux-3.11.5/arch/x86/tools/relocs.h 2013-10-20 17:41:16.000000000 +0200
+@@ -9,10 +9,14 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
++#ifdef __linux__
+ #include <elf.h>
+ #include <byteswap.h>
+ #define USE_BSD
+ #include <endian.h>
++#else
++#include "elf.h"
++#endif
+ #include <regex.h>
+ #include <tools/le_byteshift.h>
+
+diff -Nur linux-3.11.5.orig/tools/include/elf.h linux-3.11.5/tools/include/elf.h
+--- linux-3.11.5.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.11.5/tools/include/elf.h 2013-10-20 17:42:10.000000000 +0200
+@@ -0,0 +1,2671 @@
++#ifndef _ELF_H
++#define _ELF_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <stdint.h>
++
++typedef uint16_t Elf32_Half;
++typedef uint16_t Elf64_Half;
++
++typedef uint32_t Elf32_Word;
++typedef int32_t Elf32_Sword;
++typedef uint32_t Elf64_Word;
++typedef int32_t Elf64_Sword;
++
++typedef uint64_t Elf32_Xword;
++typedef int64_t Elf32_Sxword;
++typedef uint64_t Elf64_Xword;
++typedef int64_t Elf64_Sxword;
++
++typedef uint32_t Elf32_Addr;
++typedef uint64_t Elf64_Addr;
++
++typedef uint32_t Elf32_Off;
++typedef uint64_t Elf64_Off;
++
++typedef uint16_t Elf32_Section;
++typedef uint16_t Elf64_Section;
++
++typedef Elf32_Half Elf32_Versym;
++typedef Elf64_Half Elf64_Versym;
++
++#define EI_NIDENT (16)
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf32_Half e_type;
++ Elf32_Half e_machine;
++ Elf32_Word e_version;
++ Elf32_Addr e_entry;
++ Elf32_Off e_phoff;
++ Elf32_Off e_shoff;
++ Elf32_Word e_flags;
++ Elf32_Half e_ehsize;
++ Elf32_Half e_phentsize;
++ Elf32_Half e_phnum;
++ Elf32_Half e_shentsize;
++ Elf32_Half e_shnum;
++ Elf32_Half e_shstrndx;
++} Elf32_Ehdr;
++
++typedef struct {
++ unsigned char e_ident[EI_NIDENT];
++ Elf64_Half e_type;
++ Elf64_Half e_machine;
++ Elf64_Word e_version;
++ Elf64_Addr e_entry;
++ Elf64_Off e_phoff;
++ Elf64_Off e_shoff;
++ Elf64_Word e_flags;
++ Elf64_Half e_ehsize;
++ Elf64_Half e_phentsize;
++ Elf64_Half e_phnum;
++ Elf64_Half e_shentsize;
++ Elf64_Half e_shnum;
++ Elf64_Half e_shstrndx;
++} Elf64_Ehdr;
++
++#define EI_MAG0 0
++#define ELFMAG0 0x7f
++
++#define EI_MAG1 1
++#define ELFMAG1 'E'
++
++#define EI_MAG2 2
++#define ELFMAG2 'L'
++
++#define EI_MAG3 3
++#define ELFMAG3 'F'
++
++
++#define ELFMAG "\177ELF"
++#define SELFMAG 4
++
++#define EI_CLASS 4
++#define ELFCLASSNONE 0
++#define ELFCLASS32 1
++#define ELFCLASS64 2
++#define ELFCLASSNUM 3
++
++#define EI_DATA 5
++#define ELFDATANONE 0
++#define ELFDATA2LSB 1
++#define ELFDATA2MSB 2
++#define ELFDATANUM 3
++
++#define EI_VERSION 6
++
++
++#define EI_OSABI 7
++#define ELFOSABI_NONE 0
++#define ELFOSABI_SYSV 0
++#define ELFOSABI_HPUX 1
++#define ELFOSABI_NETBSD 2
++#define ELFOSABI_LINUX 3
++#define ELFOSABI_GNU 3
++#define ELFOSABI_SOLARIS 6
++#define ELFOSABI_AIX 7
++#define ELFOSABI_IRIX 8
++#define ELFOSABI_FREEBSD 9
++#define ELFOSABI_TRU64 10
++#define ELFOSABI_MODESTO 11
++#define ELFOSABI_OPENBSD 12
++#define ELFOSABI_ARM 97
++#define ELFOSABI_STANDALONE 255
++
++#define EI_ABIVERSION 8
++
++#define EI_PAD 9
++
++
++
++#define ET_NONE 0
++#define ET_REL 1
++#define ET_EXEC 2
++#define ET_DYN 3
++#define ET_CORE 4
++#define ET_NUM 5
++#define ET_LOOS 0xfe00
++#define ET_HIOS 0xfeff
++#define ET_LOPROC 0xff00
++#define ET_HIPROC 0xffff
++
++
++
++#define EM_NONE 0
++#define EM_M32 1
++#define EM_SPARC 2
++#define EM_386 3
++#define EM_68K 4
++#define EM_88K 5
++#define EM_860 7
++#define EM_MIPS 8
++#define EM_S370 9
++#define EM_MIPS_RS3_LE 10
++
++#define EM_PARISC 15
++#define EM_VPP500 17
++#define EM_SPARC32PLUS 18
++#define EM_960 19
++#define EM_PPC 20
++#define EM_PPC64 21
++#define EM_S390 22
++
++#define EM_V800 36
++#define EM_FR20 37
++#define EM_RH32 38
++#define EM_RCE 39
++#define EM_ARM 40
++#define EM_FAKE_ALPHA 41
++#define EM_SH 42
++#define EM_SPARCV9 43
++#define EM_TRICORE 44
++#define EM_ARC 45
++#define EM_H8_300 46
++#define EM_H8_300H 47
++#define EM_H8S 48
++#define EM_H8_500 49
++#define EM_IA_64 50
++#define EM_MIPS_X 51
++#define EM_COLDFIRE 52
++#define EM_68HC12 53
++#define EM_MMA 54
++#define EM_PCP 55
++#define EM_NCPU 56
++#define EM_NDR1 57
++#define EM_STARCORE 58
++#define EM_ME16 59
++#define EM_ST100 60
++#define EM_TINYJ 61
++#define EM_X86_64 62
++#define EM_PDSP 63
++
++#define EM_FX66 66
++#define EM_ST9PLUS 67
++#define EM_ST7 68
++#define EM_68HC16 69
++#define EM_68HC11 70
++#define EM_68HC08 71
++#define EM_68HC05 72
++#define EM_SVX 73
++#define EM_ST19 74
++#define EM_VAX 75
++#define EM_CRIS 76
++#define EM_JAVELIN 77
++#define EM_FIREPATH 78
++#define EM_ZSP 79
++#define EM_MMIX 80
++#define EM_HUANY 81
++#define EM_PRISM 82
++#define EM_AVR 83
++#define EM_FR30 84
++#define EM_D10V 85
++#define EM_D30V 86
++#define EM_V850 87
++#define EM_M32R 88
++#define EM_MN10300 89
++#define EM_MN10200 90
++#define EM_PJ 91
++#define EM_OPENRISC 92
++#define EM_ARC_A5 93
++#define EM_XTENSA 94
++#define EM_AARCH64 183
++#define EM_TILEPRO 188
++#define EM_MICROBLAZE 189
++#define EM_TILEGX 191
++#define EM_NUM 192
++#define EM_ALPHA 0x9026
++
++#define EV_NONE 0
++#define EV_CURRENT 1
++#define EV_NUM 2
++
++typedef struct {
++ Elf32_Word sh_name;
++ Elf32_Word sh_type;
++ Elf32_Word sh_flags;
++ Elf32_Addr sh_addr;
++ Elf32_Off sh_offset;
++ Elf32_Word sh_size;
++ Elf32_Word sh_link;
++ Elf32_Word sh_info;
++ Elf32_Word sh_addralign;
++ Elf32_Word sh_entsize;
++} Elf32_Shdr;
++
++typedef struct {
++ Elf64_Word sh_name;
++ Elf64_Word sh_type;
++ Elf64_Xword sh_flags;
++ Elf64_Addr sh_addr;
++ Elf64_Off sh_offset;
++ Elf64_Xword sh_size;
++ Elf64_Word sh_link;
++ Elf64_Word sh_info;
++ Elf64_Xword sh_addralign;
++ Elf64_Xword sh_entsize;
++} Elf64_Shdr;
++
++
++
++#define SHN_UNDEF 0
++#define SHN_LORESERVE 0xff00
++#define SHN_LOPROC 0xff00
++#define SHN_BEFORE 0xff00
++
++#define SHN_AFTER 0xff01
++
++#define SHN_HIPROC 0xff1f
++#define SHN_LOOS 0xff20
++#define SHN_HIOS 0xff3f
++#define SHN_ABS 0xfff1
++#define SHN_COMMON 0xfff2
++#define SHN_XINDEX 0xffff
++#define SHN_HIRESERVE 0xffff
++
++
++
++#define SHT_NULL 0
++#define SHT_PROGBITS 1
++#define SHT_SYMTAB 2
++#define SHT_STRTAB 3
++#define SHT_RELA 4
++#define SHT_HASH 5
++#define SHT_DYNAMIC 6
++#define SHT_NOTE 7
++#define SHT_NOBITS 8
++#define SHT_REL 9
++#define SHT_SHLIB 10
++#define SHT_DYNSYM 11
++#define SHT_INIT_ARRAY 14
++#define SHT_FINI_ARRAY 15
++#define SHT_PREINIT_ARRAY 16
++#define SHT_GROUP 17
++#define SHT_SYMTAB_SHNDX 18
++#define SHT_NUM 19
++#define SHT_LOOS 0x60000000
++#define SHT_GNU_ATTRIBUTES 0x6ffffff5
++#define SHT_GNU_HASH 0x6ffffff6
++#define SHT_GNU_LIBLIST 0x6ffffff7
++#define SHT_CHECKSUM 0x6ffffff8
++#define SHT_LOSUNW 0x6ffffffa
++#define SHT_SUNW_move 0x6ffffffa
++#define SHT_SUNW_COMDAT 0x6ffffffb
++#define SHT_SUNW_syminfo 0x6ffffffc
++#define SHT_GNU_verdef 0x6ffffffd
++#define SHT_GNU_verneed 0x6ffffffe
++#define SHT_GNU_versym 0x6fffffff
++#define SHT_HISUNW 0x6fffffff
++#define SHT_HIOS 0x6fffffff
++#define SHT_LOPROC 0x70000000
++#define SHT_HIPROC 0x7fffffff
++#define SHT_LOUSER 0x80000000
++#define SHT_HIUSER 0x8fffffff
++
++#define SHF_WRITE (1 << 0)
++#define SHF_ALLOC (1 << 1)
++#define SHF_EXECINSTR (1 << 2)
++#define SHF_MERGE (1 << 4)
++#define SHF_STRINGS (1 << 5)
++#define SHF_INFO_LINK (1 << 6)
++#define SHF_LINK_ORDER (1 << 7)
++#define SHF_OS_NONCONFORMING (1 << 8)
++
++#define SHF_GROUP (1 << 9)
++#define SHF_TLS (1 << 10)
++#define SHF_MASKOS 0x0ff00000
++#define SHF_MASKPROC 0xf0000000
++#define SHF_ORDERED (1 << 30)
++#define SHF_EXCLUDE (1 << 31)
++
++#define GRP_COMDAT 0x1
++
++typedef struct {
++ Elf32_Word st_name;
++ Elf32_Addr st_value;
++ Elf32_Word st_size;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf32_Section st_shndx;
++} Elf32_Sym;
++
++typedef struct {
++ Elf64_Word st_name;
++ unsigned char st_info;
++ unsigned char st_other;
++ Elf64_Section st_shndx;
++ Elf64_Addr st_value;
++ Elf64_Xword st_size;
++} Elf64_Sym;
++
++typedef struct {
++ Elf32_Half si_boundto;
++ Elf32_Half si_flags;
++} Elf32_Syminfo;
++
++typedef struct {
++ Elf64_Half si_boundto;
++ Elf64_Half si_flags;
++} Elf64_Syminfo;
++
++#define SYMINFO_BT_SELF 0xffff
++#define SYMINFO_BT_PARENT 0xfffe
++#define SYMINFO_BT_LOWRESERVE 0xff00
++
++#define SYMINFO_FLG_DIRECT 0x0001
++#define SYMINFO_FLG_PASSTHRU 0x0002
++#define SYMINFO_FLG_COPY 0x0004
++#define SYMINFO_FLG_LAZYLOAD 0x0008
++
++#define SYMINFO_NONE 0
++#define SYMINFO_CURRENT 1
++#define SYMINFO_NUM 2
++
++#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
++#define ELF32_ST_TYPE(val) ((val) & 0xf)
++#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
++
++#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
++#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
++#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type))
++
++#define STB_LOCAL 0
++#define STB_GLOBAL 1
++#define STB_WEAK 2
++#define STB_NUM 3
++#define STB_LOOS 10
++#define STB_GNU_UNIQUE 10
++#define STB_HIOS 12
++#define STB_LOPROC 13
++#define STB_HIPROC 15
++
++#define STT_NOTYPE 0
++#define STT_OBJECT 1
++#define STT_FUNC 2
++#define STT_SECTION 3
++#define STT_FILE 4
++#define STT_COMMON 5
++#define STT_TLS 6
++#define STT_NUM 7
++#define STT_LOOS 10
++#define STT_GNU_IFUNC 10
++#define STT_HIOS 12
++#define STT_LOPROC 13
++#define STT_HIPROC 15
++
++#define STN_UNDEF 0
++
++#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
++#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
++
++#define STV_DEFAULT 0
++#define STV_INTERNAL 1
++#define STV_HIDDEN 2
++#define STV_PROTECTED 3
++
++
++
++
++typedef struct
++{
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++} Elf32_Rel;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++} Elf64_Rel;
++
++
++
++typedef struct {
++ Elf32_Addr r_offset;
++ Elf32_Word r_info;
++ Elf32_Sword r_addend;
++} Elf32_Rela;
++
++typedef struct {
++ Elf64_Addr r_offset;
++ Elf64_Xword r_info;
++ Elf64_Sxword r_addend;
++} Elf64_Rela;
++
++
++
++#define ELF32_R_SYM(val) ((val) >> 8)
++#define ELF32_R_TYPE(val) ((val) & 0xff)
++#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff))
++
++#define ELF64_R_SYM(i) ((i) >> 32)
++#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
++#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
++
++
++
++typedef struct {
++ Elf32_Word p_type;
++ Elf32_Off p_offset;
++ Elf32_Addr p_vaddr;
++ Elf32_Addr p_paddr;
++ Elf32_Word p_filesz;
++ Elf32_Word p_memsz;
++ Elf32_Word p_flags;
++ Elf32_Word p_align;
++} Elf32_Phdr;
++
++typedef struct {
++ Elf64_Word p_type;
++ Elf64_Word p_flags;
++ Elf64_Off p_offset;
++ Elf64_Addr p_vaddr;
++ Elf64_Addr p_paddr;
++ Elf64_Xword p_filesz;
++ Elf64_Xword p_memsz;
++ Elf64_Xword p_align;
++} Elf64_Phdr;
++
++
++
++#define PT_NULL 0
++#define PT_LOAD 1
++#define PT_DYNAMIC 2
++#define PT_INTERP 3
++#define PT_NOTE 4
++#define PT_SHLIB 5
++#define PT_PHDR 6
++#define PT_TLS 7
++#define PT_NUM 8
++#define PT_LOOS 0x60000000
++#define PT_GNU_EH_FRAME 0x6474e550
++#define PT_GNU_STACK 0x6474e551
++#define PT_GNU_RELRO 0x6474e552
++#define PT_LOSUNW 0x6ffffffa
++#define PT_SUNWBSS 0x6ffffffa
++#define PT_SUNWSTACK 0x6ffffffb
++#define PT_HISUNW 0x6fffffff
++#define PT_HIOS 0x6fffffff
++#define PT_LOPROC 0x70000000
++#define PT_HIPROC 0x7fffffff
++
++
++#define PN_XNUM 0xffff
++
++
++#define PF_X (1 << 0)
++#define PF_W (1 << 1)
++#define PF_R (1 << 2)
++#define PF_MASKOS 0x0ff00000
++#define PF_MASKPROC 0xf0000000
++
++
++
++#define NT_PRSTATUS 1
++#define NT_FPREGSET 2
++#define NT_PRPSINFO 3
++#define NT_PRXREG 4
++#define NT_TASKSTRUCT 4
++#define NT_PLATFORM 5
++#define NT_AUXV 6
++#define NT_GWINDOWS 7
++#define NT_ASRS 8
++#define NT_PSTATUS 10
++#define NT_PSINFO 13
++#define NT_PRCRED 14
++#define NT_UTSNAME 15
++#define NT_LWPSTATUS 16
++#define NT_LWPSINFO 17
++#define NT_PRFPXREG 20
++#define NT_SIGINFO 0x53494749
++#define NT_FILE 0x46494c45
++#define NT_PRXFPREG 0x46e62b7f
++#define NT_PPC_VMX 0x100
++#define NT_PPC_SPE 0x101
++#define NT_PPC_VSX 0x102
++#define NT_386_TLS 0x200
++#define NT_386_IOPERM 0x201
++#define NT_X86_XSTATE 0x202
++#define NT_S390_HIGH_GPRS 0x300
++#define NT_S390_TIMER 0x301
++#define NT_S390_TODCMP 0x302
++#define NT_S390_TODPREG 0x303
++#define NT_S390_CTRS 0x304
++#define NT_S390_PREFIX 0x305
++#define NT_S390_LAST_BREAK 0x306
++#define NT_S390_SYSTEM_CALL 0x307
++#define NT_S390_TDB 0x308
++#define NT_ARM_VFP 0x400
++#define NT_ARM_TLS 0x401
++#define NT_ARM_HW_BREAK 0x402
++#define NT_ARM_HW_WATCH 0x403
++#define NT_METAG_CBUF 0x500
++#define NT_METAG_RPIPE 0x501
++#define NT_METAG_TLS 0x502
++#define NT_VERSION 1
++
++
++
++
++typedef struct {
++ Elf32_Sword d_tag;
++ union {
++ Elf32_Word d_val;
++ Elf32_Addr d_ptr;
++ } d_un;
++} Elf32_Dyn;
++
++typedef struct {
++ Elf64_Sxword d_tag;
++ union {
++ Elf64_Xword d_val;
++ Elf64_Addr d_ptr;
++ } d_un;
++} Elf64_Dyn;
++
++
++
++#define DT_NULL 0
++#define DT_NEEDED 1
++#define DT_PLTRELSZ 2
++#define DT_PLTGOT 3
++#define DT_HASH 4
++#define DT_STRTAB 5
++#define DT_SYMTAB 6
++#define DT_RELA 7
++#define DT_RELASZ 8
++#define DT_RELAENT 9