diff options
-rw-r--r-- | BUGS | 1 | ||||
-rw-r--r-- | Config.in | 6 | ||||
-rw-r--r-- | mk/kernel-ver.mk | 6 | ||||
-rw-r--r-- | package/openssh/Makefile | 2 | ||||
-rw-r--r-- | package/openssl/patches/patch-Configure | 2 | ||||
-rw-r--r-- | target/linux/config/Config.in.fsnet | 2 | ||||
-rw-r--r-- | target/linux/config/Config.in.input | 2 | ||||
-rw-r--r-- | target/linux/config/Config.in.netfilter.ip4 | 4 | ||||
-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/Makefile | 2 | ||||
-rw-r--r-- | toolchain/kernel-headers/patches/3.11.5/relocs.patch | 2693 | ||||
-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
@@ -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? @@ -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 |