From c26e903ff069799f8ca94a84a9f2511df2f71905 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 29 Jan 2012 22:32:47 +0100 Subject: update kernel versions to latest upstream --- Config.in | 12 +- mk/kernel-ver.mk | 18 +- package/qemu/Makefile | 6 +- target/linux/patches/3.0.17/brcm.patch | 401 -- .../linux/patches/3.0.17/bsd-compatibility.patch | 2512 -------- target/linux/patches/3.0.17/cris-etrax.patch | 12 - target/linux/patches/3.0.17/defaults.patch | 22 - target/linux/patches/3.0.17/fon2100.patch | 6279 -------------------- target/linux/patches/3.0.17/gemalto.patch | 11 - target/linux/patches/3.0.17/mips-malta.patch | 135 - target/linux/patches/3.0.17/mmc-host.patch | 36 - target/linux/patches/3.0.17/mtd-rootfs.patch | 26 - target/linux/patches/3.0.17/non-static.patch | 33 - target/linux/patches/3.0.17/sparc-include.patch | 11 - target/linux/patches/3.0.17/startup.patch | 20 - target/linux/patches/3.0.17/usb-defaults-off.patch | 32 - target/linux/patches/3.0.17/uuid.patch | 255 - .../patches/3.0.17/vga-cons-default-off.patch | 12 - target/linux/patches/3.0.17/wlan-cf.patch | 11 - target/linux/patches/3.0.17/x86-build.patch | 11 - target/linux/patches/3.0.17/zlib-inflate.patch | 12 - target/linux/patches/3.0.18/brcm.patch | 401 ++ .../linux/patches/3.0.18/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.0.18/cris-etrax.patch | 12 + target/linux/patches/3.0.18/defaults.patch | 22 + target/linux/patches/3.0.18/fon2100.patch | 6279 ++++++++++++++++++++ target/linux/patches/3.0.18/gemalto.patch | 11 + target/linux/patches/3.0.18/mips-malta.patch | 135 + target/linux/patches/3.0.18/mmc-host.patch | 36 + target/linux/patches/3.0.18/mtd-rootfs.patch | 26 + target/linux/patches/3.0.18/non-static.patch | 33 + target/linux/patches/3.0.18/sparc-include.patch | 11 + target/linux/patches/3.0.18/startup.patch | 20 + target/linux/patches/3.0.18/usb-defaults-off.patch | 32 + target/linux/patches/3.0.18/uuid.patch | 255 + .../patches/3.0.18/vga-cons-default-off.patch | 12 + target/linux/patches/3.0.18/wlan-cf.patch | 11 + target/linux/patches/3.0.18/x86-build.patch | 11 + target/linux/patches/3.0.18/zlib-inflate.patch | 12 + target/linux/patches/3.1.10/brcm.patch | 401 ++ .../linux/patches/3.1.10/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.1.10/cris-etrax.patch | 12 + target/linux/patches/3.1.10/defaults.patch | 22 + target/linux/patches/3.1.10/fon2100.patch | 6279 ++++++++++++++++++++ target/linux/patches/3.1.10/gemalto.patch | 11 + target/linux/patches/3.1.10/mmc-host.patch | 36 + target/linux/patches/3.1.10/mtd-rootfs.patch | 26 + target/linux/patches/3.1.10/non-static.patch | 33 + target/linux/patches/3.1.10/sparc-include.patch | 11 + target/linux/patches/3.1.10/startup.patch | 20 + target/linux/patches/3.1.10/usb-defaults-off.patch | 32 + target/linux/patches/3.1.10/uuid.patch | 255 + .../patches/3.1.10/vga-cons-default-off.patch | 12 + target/linux/patches/3.1.10/wlan-cf.patch | 11 + target/linux/patches/3.1.10/x86-build.patch | 11 + target/linux/patches/3.1.10/zlib-inflate.patch | 12 + target/linux/patches/3.1.9/brcm.patch | 401 -- target/linux/patches/3.1.9/bsd-compatibility.patch | 2512 -------- target/linux/patches/3.1.9/cris-etrax.patch | 12 - target/linux/patches/3.1.9/defaults.patch | 22 - target/linux/patches/3.1.9/fon2100.patch | 6279 -------------------- target/linux/patches/3.1.9/gemalto.patch | 11 - target/linux/patches/3.1.9/mmc-host.patch | 36 - target/linux/patches/3.1.9/mtd-rootfs.patch | 26 - target/linux/patches/3.1.9/non-static.patch | 33 - target/linux/patches/3.1.9/sparc-include.patch | 11 - target/linux/patches/3.1.9/startup.patch | 20 - target/linux/patches/3.1.9/usb-defaults-off.patch | 32 - target/linux/patches/3.1.9/uuid.patch | 255 - .../linux/patches/3.1.9/vga-cons-default-off.patch | 12 - target/linux/patches/3.1.9/wlan-cf.patch | 11 - target/linux/patches/3.1.9/x86-build.patch | 11 - target/linux/patches/3.1.9/zlib-inflate.patch | 12 - target/linux/patches/3.2.1/bsd-compatibility.patch | 2512 -------- target/linux/patches/3.2.1/cris-etrax.patch | 12 - target/linux/patches/3.2.1/defaults.patch | 22 - target/linux/patches/3.2.1/gemalto.patch | 11 - target/linux/patches/3.2.1/mmc-host.patch | 36 - target/linux/patches/3.2.1/non-static.patch | 33 - target/linux/patches/3.2.1/sparc-include.patch | 11 - target/linux/patches/3.2.1/startup.patch | 20 - target/linux/patches/3.2.1/usb-defaults-off.patch | 32 - target/linux/patches/3.2.1/uuid.patch | 255 - .../linux/patches/3.2.1/vga-cons-default-off.patch | 12 - target/linux/patches/3.2.1/wlan-cf.patch | 11 - target/linux/patches/3.2.1/x86-build.patch | 11 - target/linux/patches/3.2.1/zlib-inflate.patch | 12 - target/linux/patches/3.2.2/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.2.2/cris-etrax.patch | 12 + target/linux/patches/3.2.2/defaults.patch | 22 + target/linux/patches/3.2.2/gemalto.patch | 11 + target/linux/patches/3.2.2/mmc-host.patch | 36 + target/linux/patches/3.2.2/non-static.patch | 33 + target/linux/patches/3.2.2/sparc-include.patch | 11 + target/linux/patches/3.2.2/startup.patch | 20 + target/linux/patches/3.2.2/usb-defaults-off.patch | 32 + target/linux/patches/3.2.2/uuid.patch | 255 + .../linux/patches/3.2.2/vga-cons-default-off.patch | 12 + target/linux/patches/3.2.2/wlan-cf.patch | 11 + target/linux/patches/3.2.2/x86-build.patch | 11 + target/linux/patches/3.2.2/zlib-inflate.patch | 12 + .../kernel-headers/patches/3.0.17/aufs2.patch | 240 - .../patches/3.0.17/cleankernel.patch | 11 - .../patches/3.0.17/etrax-header.patch | 75 - .../patches/3.0.17/linux-gcc-check.patch | 18 - .../kernel-headers/patches/3.0.17/microperl.patch | 24 - .../kernel-headers/patches/3.0.18/aufs2.patch | 240 + .../patches/3.0.18/cleankernel.patch | 11 + .../patches/3.0.18/etrax-header.patch | 75 + .../patches/3.0.18/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.0.18/microperl.patch | 24 + .../kernel-headers/patches/3.1.10/aufs2.patch | 238 + .../patches/3.1.10/cleankernel.patch | 11 + .../patches/3.1.10/etrax-header.patch | 75 + .../patches/3.1.10/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.1.10/microperl.patch | 24 + toolchain/kernel-headers/patches/3.1.9/aufs2.patch | 238 - .../kernel-headers/patches/3.1.9/cleankernel.patch | 11 - .../patches/3.1.9/etrax-header.patch | 75 - .../patches/3.1.9/linux-gcc-check.patch | 18 - .../kernel-headers/patches/3.1.9/microperl.patch | 24 - toolchain/kernel-headers/patches/3.2.1/aufs2.patch | 238 - .../kernel-headers/patches/3.2.1/cleankernel.patch | 11 - .../patches/3.2.1/etrax-header.patch | 75 - .../patches/3.2.1/linux-gcc-check.patch | 18 - .../kernel-headers/patches/3.2.1/microperl.patch | 24 - toolchain/kernel-headers/patches/3.2.2/aufs2.patch | 238 + .../kernel-headers/patches/3.2.2/cleankernel.patch | 11 + .../patches/3.2.2/etrax-header.patch | 75 + .../patches/3.2.2/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.2.2/microperl.patch | 24 + 131 files changed, 23635 insertions(+), 23635 deletions(-) delete mode 100644 target/linux/patches/3.0.17/brcm.patch delete mode 100644 target/linux/patches/3.0.17/bsd-compatibility.patch delete mode 100644 target/linux/patches/3.0.17/cris-etrax.patch delete mode 100644 target/linux/patches/3.0.17/defaults.patch delete mode 100644 target/linux/patches/3.0.17/fon2100.patch delete mode 100644 target/linux/patches/3.0.17/gemalto.patch delete mode 100644 target/linux/patches/3.0.17/mips-malta.patch delete mode 100644 target/linux/patches/3.0.17/mmc-host.patch delete mode 100644 target/linux/patches/3.0.17/mtd-rootfs.patch delete mode 100644 target/linux/patches/3.0.17/non-static.patch delete mode 100644 target/linux/patches/3.0.17/sparc-include.patch delete mode 100644 target/linux/patches/3.0.17/startup.patch delete mode 100644 target/linux/patches/3.0.17/usb-defaults-off.patch delete mode 100644 target/linux/patches/3.0.17/uuid.patch delete mode 100644 target/linux/patches/3.0.17/vga-cons-default-off.patch delete mode 100644 target/linux/patches/3.0.17/wlan-cf.patch delete mode 100644 target/linux/patches/3.0.17/x86-build.patch delete mode 100644 target/linux/patches/3.0.17/zlib-inflate.patch create mode 100644 target/linux/patches/3.0.18/brcm.patch create mode 100644 target/linux/patches/3.0.18/bsd-compatibility.patch create mode 100644 target/linux/patches/3.0.18/cris-etrax.patch create mode 100644 target/linux/patches/3.0.18/defaults.patch create mode 100644 target/linux/patches/3.0.18/fon2100.patch create mode 100644 target/linux/patches/3.0.18/gemalto.patch create mode 100644 target/linux/patches/3.0.18/mips-malta.patch create mode 100644 target/linux/patches/3.0.18/mmc-host.patch create mode 100644 target/linux/patches/3.0.18/mtd-rootfs.patch create mode 100644 target/linux/patches/3.0.18/non-static.patch create mode 100644 target/linux/patches/3.0.18/sparc-include.patch create mode 100644 target/linux/patches/3.0.18/startup.patch create mode 100644 target/linux/patches/3.0.18/usb-defaults-off.patch create mode 100644 target/linux/patches/3.0.18/uuid.patch create mode 100644 target/linux/patches/3.0.18/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.0.18/wlan-cf.patch create mode 100644 target/linux/patches/3.0.18/x86-build.patch create mode 100644 target/linux/patches/3.0.18/zlib-inflate.patch create mode 100644 target/linux/patches/3.1.10/brcm.patch create mode 100644 target/linux/patches/3.1.10/bsd-compatibility.patch create mode 100644 target/linux/patches/3.1.10/cris-etrax.patch create mode 100644 target/linux/patches/3.1.10/defaults.patch create mode 100644 target/linux/patches/3.1.10/fon2100.patch create mode 100644 target/linux/patches/3.1.10/gemalto.patch create mode 100644 target/linux/patches/3.1.10/mmc-host.patch create mode 100644 target/linux/patches/3.1.10/mtd-rootfs.patch create mode 100644 target/linux/patches/3.1.10/non-static.patch create mode 100644 target/linux/patches/3.1.10/sparc-include.patch create mode 100644 target/linux/patches/3.1.10/startup.patch create mode 100644 target/linux/patches/3.1.10/usb-defaults-off.patch create mode 100644 target/linux/patches/3.1.10/uuid.patch create mode 100644 target/linux/patches/3.1.10/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.1.10/wlan-cf.patch create mode 100644 target/linux/patches/3.1.10/x86-build.patch create mode 100644 target/linux/patches/3.1.10/zlib-inflate.patch delete mode 100644 target/linux/patches/3.1.9/brcm.patch delete mode 100644 target/linux/patches/3.1.9/bsd-compatibility.patch delete mode 100644 target/linux/patches/3.1.9/cris-etrax.patch delete mode 100644 target/linux/patches/3.1.9/defaults.patch delete mode 100644 target/linux/patches/3.1.9/fon2100.patch delete mode 100644 target/linux/patches/3.1.9/gemalto.patch delete mode 100644 target/linux/patches/3.1.9/mmc-host.patch delete mode 100644 target/linux/patches/3.1.9/mtd-rootfs.patch delete mode 100644 target/linux/patches/3.1.9/non-static.patch delete mode 100644 target/linux/patches/3.1.9/sparc-include.patch delete mode 100644 target/linux/patches/3.1.9/startup.patch delete mode 100644 target/linux/patches/3.1.9/usb-defaults-off.patch delete mode 100644 target/linux/patches/3.1.9/uuid.patch delete mode 100644 target/linux/patches/3.1.9/vga-cons-default-off.patch delete mode 100644 target/linux/patches/3.1.9/wlan-cf.patch delete mode 100644 target/linux/patches/3.1.9/x86-build.patch delete mode 100644 target/linux/patches/3.1.9/zlib-inflate.patch delete mode 100644 target/linux/patches/3.2.1/bsd-compatibility.patch delete mode 100644 target/linux/patches/3.2.1/cris-etrax.patch delete mode 100644 target/linux/patches/3.2.1/defaults.patch delete mode 100644 target/linux/patches/3.2.1/gemalto.patch delete mode 100644 target/linux/patches/3.2.1/mmc-host.patch delete mode 100644 target/linux/patches/3.2.1/non-static.patch delete mode 100644 target/linux/patches/3.2.1/sparc-include.patch delete mode 100644 target/linux/patches/3.2.1/startup.patch delete mode 100644 target/linux/patches/3.2.1/usb-defaults-off.patch delete mode 100644 target/linux/patches/3.2.1/uuid.patch delete mode 100644 target/linux/patches/3.2.1/vga-cons-default-off.patch delete mode 100644 target/linux/patches/3.2.1/wlan-cf.patch delete mode 100644 target/linux/patches/3.2.1/x86-build.patch delete mode 100644 target/linux/patches/3.2.1/zlib-inflate.patch create mode 100644 target/linux/patches/3.2.2/bsd-compatibility.patch create mode 100644 target/linux/patches/3.2.2/cris-etrax.patch create mode 100644 target/linux/patches/3.2.2/defaults.patch create mode 100644 target/linux/patches/3.2.2/gemalto.patch create mode 100644 target/linux/patches/3.2.2/mmc-host.patch create mode 100644 target/linux/patches/3.2.2/non-static.patch create mode 100644 target/linux/patches/3.2.2/sparc-include.patch create mode 100644 target/linux/patches/3.2.2/startup.patch create mode 100644 target/linux/patches/3.2.2/usb-defaults-off.patch create mode 100644 target/linux/patches/3.2.2/uuid.patch create mode 100644 target/linux/patches/3.2.2/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.2.2/wlan-cf.patch create mode 100644 target/linux/patches/3.2.2/x86-build.patch create mode 100644 target/linux/patches/3.2.2/zlib-inflate.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.17/aufs2.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.17/cleankernel.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.17/etrax-header.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.17/linux-gcc-check.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.17/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.0.18/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.0.18/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.0.18/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.0.18/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.0.18/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.1.10/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.1.10/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.1.10/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.1.10/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.1.10/microperl.patch delete mode 100644 toolchain/kernel-headers/patches/3.1.9/aufs2.patch delete mode 100644 toolchain/kernel-headers/patches/3.1.9/cleankernel.patch delete mode 100644 toolchain/kernel-headers/patches/3.1.9/etrax-header.patch delete mode 100644 toolchain/kernel-headers/patches/3.1.9/linux-gcc-check.patch delete mode 100644 toolchain/kernel-headers/patches/3.1.9/microperl.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.1/aufs2.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.1/cleankernel.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.1/etrax-header.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.1/linux-gcc-check.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.1/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.2.2/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.2.2/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.2.2/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.2.2/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.2.2/microperl.patch diff --git a/Config.in b/Config.in index 3a02b2c4f..52593ebe9 100644 --- a/Config.in +++ b/Config.in @@ -98,16 +98,16 @@ config ADK_KERNEL_VERSION_2_6_39_4 prompt "2.6.39.4" boolean -config ADK_KERNEL_VERSION_3_0_17 - prompt "3.0.17" +config ADK_KERNEL_VERSION_3_0_18 + prompt "3.0.18" boolean -config ADK_KERNEL_VERSION_3_1_9 - prompt "3.1.9" +config ADK_KERNEL_VERSION_3_1_10 + prompt "3.1.10" boolean -config ADK_KERNEL_VERSION_3_2_1 - prompt "3.2.1" +config ADK_KERNEL_VERSION_3_2_2 + prompt "3.2.2" boolean endchoice diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index 50333bbb2..e2f65f330 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -3,18 +3,18 @@ KERNEL_VERSION:= 2.6.39.4 KERNEL_RELEASE:= 1 KERNEL_MD5SUM:= a17c748c2070168f1e784e9605ca043d endif -ifeq ($(ADK_KERNEL_VERSION_3_0_17),y) -KERNEL_VERSION:= 3.0.17 +ifeq ($(ADK_KERNEL_VERSION_3_0_18),y) +KERNEL_VERSION:= 3.0.18 KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= fcdd6a945445336e4cd28b2d195f1fea +KERNEL_MD5SUM:= 67252770d7009eabe8bac7c26e074f9d endif -ifeq ($(ADK_KERNEL_VERSION_3_1_9),y) -KERNEL_VERSION:= 3.1.9 +ifeq ($(ADK_KERNEL_VERSION_3_1_10),y) +KERNEL_VERSION:= 3.1.10 KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 4e387a49cde20805955c905bc8c311e0 +KERNEL_MD5SUM:= 3649bdaa50ffd9114cc16486ec54d83a endif -ifeq ($(ADK_KERNEL_VERSION_3_2_1),y) -KERNEL_VERSION:= 3.2.1 +ifeq ($(ADK_KERNEL_VERSION_3_2_2),y) +KERNEL_VERSION:= 3.2.2 KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 090eb3dae0f520f7770f85193e931ad3 +KERNEL_MD5SUM:= c0303125c8eda431b10084eece7564e3 endif diff --git a/package/qemu/Makefile b/package/qemu/Makefile index 63f4040d0..5e825813a 100644 --- a/package/qemu/Makefile +++ b/package/qemu/Makefile @@ -4,9 +4,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:= qemu -PKG_VERSION:= 0.15.1 +PKG_VERSION:= 1.0 PKG_RELEASE:= 1 -PKG_MD5SUM:= 34f17737baaf1b3495c89cd6d4a607ed +PKG_MD5SUM:= a64b36067a191451323b0d34ebb44954 PKG_DESCR:= cpu and system emulator PKG_SECTION:= misc PKG_DEPENDS:= zlib libsdl libpng @@ -15,7 +15,7 @@ PKG_URL:= http://wwww.qemu.org/ PKG_SITES:= http://wiki.qemu.org/download/ PKG_ARCH_DEPENDS:= native x86 x86_64 -PKG_SYSTEM_DEPENDS:= ibm-x40 shuttle-sa76 +#PKG_SYSTEM_DEPENDS:= ibm-x40 shuttle-sa76 include $(TOPDIR)/mk/package.mk diff --git a/target/linux/patches/3.0.17/brcm.patch b/target/linux/patches/3.0.17/brcm.patch deleted file mode 100644 index 87f30da1d..000000000 --- a/target/linux/patches/3.0.17/brcm.patch +++ /dev/null @@ -1,401 +0,0 @@ -diff -Nur linux-2.6.39.4.orig/arch/mips/Kconfig linux-2.6.39.4/arch/mips/Kconfig ---- linux-2.6.39.4.orig/arch/mips/Kconfig 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/arch/mips/Kconfig 2012-01-17 20:37:12.000000000 +0100 -@@ -103,6 +103,12 @@ - select GENERIC_GPIO - select SYS_HAS_EARLY_PRINTK - select CFE -+ select SYS_SUPPORTS_ZBOOT_UART16550 -+ select HAVE_KERNEL_GZIP -+ select HAVE_KERNEL_BZIP2 -+ select HAVE_KERNEL_LZMA -+ select HAVE_KERNEL_XZ -+ select HAVE_KERNEL_LZO - help - Support for BCM47XX based boards - -diff -Nur linux-2.6.39.4.orig/arch/mips/Makefile linux-2.6.39.4/arch/mips/Makefile ---- linux-2.6.39.4.orig/arch/mips/Makefile 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/arch/mips/Makefile 2012-01-17 20:35:09.000000000 +0100 -@@ -76,6 +76,7 @@ - all-$(CONFIG_BOOT_ELF32) := $(vmlinux-32) - all-$(CONFIG_BOOT_ELF64) := $(vmlinux-64) - all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz -+all-$(CONFIG_BCM47XX) += vmlinuz.elf - - # - # GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel -@@ -276,7 +277,7 @@ - $(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) arch/mips/boot/$@ - - # boot/compressed --vmlinuz vmlinuz.bin vmlinuz.ecoff vmlinuz.srec: $(vmlinux-32) FORCE -+vmlinuz vmlinuz.bin vmlinuz.ecoff vmlinuz.srec vmlinuz.elf: $(vmlinux-32) FORCE - $(Q)$(MAKE) $(build)=arch/mips/boot/compressed \ - VMLINUX_LOAD_ADDRESS=$(load-y) 32bit-bfd=$(32bit-bfd) $@ - -@@ -313,6 +314,7 @@ - echo ' vmlinuz.ecoff - ECOFF zboot image' - echo ' vmlinuz.bin - Raw binary zboot image' - echo ' vmlinuz.srec - SREC zboot image' -+ echo ' vmlinuz.elf - ELF self-relocating zboot image' - echo - echo ' These will be default as appropriate for a configured platform.' - endef -diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile linux-2.6.39.4/arch/mips/bcm47xx/Makefile ---- linux-2.6.39.4.orig/arch/mips/bcm47xx/Makefile 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/arch/mips/bcm47xx/Makefile 2012-01-17 20:35:09.000000000 +0100 -@@ -3,4 +3,4 @@ - # under Linux. - # - --obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o wgt634u.o -+obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o platform.o -diff -Nur linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c linux-2.6.39.4/arch/mips/bcm47xx/platform.c ---- linux-2.6.39.4.orig/arch/mips/bcm47xx/platform.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.39.4/arch/mips/bcm47xx/platform.c 2012-01-17 20:35:09.000000000 +0100 -@@ -0,0 +1,146 @@ -+/* -+ * This file is subject to the terms and conditions of the GNU General Public -+ * License. See the file "COPYING" in the main directory of this archive -+ * for more details. -+ * -+ * Copyright (C) 2010, 2011 Waldemar Brodkorb -+ * Copyright © 2007, 2011 Thorsten Glaser -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#define CFGFS_FLASH_SIZE (128 * 1024) -+ -+static struct mtd_partition bcm47xx_partitions[] = { -+#define SLOT_CFE 0 -+ { -+ .name = "cfe", -+ .offset = 0, -+ .size = BCM47XX_OVERRIDE_CFESIZE, -+ .mask_flags = MTD_WRITEABLE /* force read-only */ -+ }, -+#define SLOT_LINUX 1 -+ { -+ .name = "linux", -+ .offset = 0, -+ .size = 0, -+ }, -+#define SLOT_ROOTFS 2 -+ { -+ .name = "rootfs", -+ .offset = 0, -+ .size = 0, -+ }, -+#define SLOT_CFGFS 3 -+ { -+ .name = "cfgfs", -+ .offset = 0, -+ .size = 0, -+ }, -+#define SLOT_NVRAM 4 -+ { -+ .name = "nvram", -+ .offset = 0, -+ .size = 0, -+ }, -+}; -+ -+static struct physmap_flash_data bcm47xx_flash_data = { -+ .parts = bcm47xx_partitions, -+ .nr_parts = ARRAY_SIZE(bcm47xx_partitions) -+}; -+ -+static struct resource bcm47xx_flash_resource = { -+ .flags = IORESOURCE_MEM, -+}; -+ -+static struct platform_device bcm47xx_flash = { -+ .name = "physmap-flash", -+ .id = 0, -+ .dev = { .platform_data = &bcm47xx_flash_data, }, -+ .resource = &bcm47xx_flash_resource, -+ .num_resources = 1, -+}; -+ -+static struct platform_device *bcm47xx_devices[] __initdata = { -+ &bcm47xx_flash, -+}; -+ -+struct bcm47xx_trx_header { -+#define BCM47XX_TRX_MAGIC 0x30524448 -+ u32 magic; -+ u32 len; -+ u32 crc32; -+ u32 flag_version; -+ u32 offsets[3]; -+}; -+ -+#define UPTODOWN(slot, psize) do { \ -+ posn -= psize; left -= psize; \ -+ bcm47xx_partitions[slot].offset = posn; \ -+ bcm47xx_partitions[slot].size = psize; \ -+} while (/* CONSTCOND */ 0) -+ -+static int __init bcm47xx_register_devices(void) -+{ -+ u32 flash_size; -+ size_t left, posn; -+ struct ssb_mipscore *mcore = &ssb_bcm47xx.mipscore; -+ struct bcm47xx_trx_header *trx_hdr; -+ -+ trx_hdr = (void *)KSEG1ADDR(mcore->flash_window + BCM47XX_OVERRIDE_CFESIZE); -+ -+ /* devices might have 2, 4 or 8 MB flash size */ -+#ifdef BCM47XX_OVERRIDE_FLASHSIZE -+ flash_size = BCM47XX_OVERRIDE_FLASHSIZE; -+ mcore->flash_window_size = flash_size; -+#define BCM47XX_OVERRODE_FLASHSIZE " (overridden)" -+#else -+ flash_size = mcore->flash_window_size; -+#define BCM47XX_OVERRODE_FLASHSIZE "" -+#endif -+ printk(KERN_INFO "FLASH SIZE%s: %x\n", BCM47XX_OVERRODE_FLASHSIZE, -+ flash_size); -+ -+ left = flash_size - BCM47XX_OVERRIDE_CFESIZE; -+ posn = flash_size; -+ UPTODOWN(SLOT_NVRAM, BCM47XX_OVERRIDE_NVRAMSIZE); -+ UPTODOWN(SLOT_CFGFS, CFGFS_FLASH_SIZE); -+ bcm47xx_partitions[SLOT_LINUX].offset = BCM47XX_OVERRIDE_CFESIZE; -+ bcm47xx_partitions[SLOT_LINUX].size = left; -+ -+ if (trx_hdr->magic == BCM47XX_TRX_MAGIC) { -+ bcm47xx_partitions[SLOT_ROOTFS].offset = -+ bcm47xx_partitions[SLOT_LINUX].offset + -+ trx_hdr->offsets[1]; -+ bcm47xx_partitions[SLOT_ROOTFS].size = -+ bcm47xx_partitions[SLOT_LINUX].size - -+ trx_hdr->offsets[1]; -+ } else -+ printk("bcm47xx/platform: no TRX header found\n"); -+ -+ printk(KERN_INFO "=== Flash map dump ===\n"); -+ for (posn = 0; posn < bcm47xx_flash_data.nr_parts; ++posn) -+ printk(KERN_INFO " #%u %08X @%08X '%s'\n", -+ (unsigned int)posn, -+ (unsigned int)bcm47xx_partitions[posn].size, -+ (unsigned int)bcm47xx_partitions[posn].offset, -+ bcm47xx_partitions[posn].name); -+ printk(KERN_INFO "=== Hope this works, have a nice day\n"); -+ -+ bcm47xx_flash_data.width = mcore->flash_buswidth; -+ bcm47xx_flash_resource.start = mcore->flash_window; -+ bcm47xx_flash_resource.end = mcore->flash_window -+ + mcore->flash_window_size -+ - 1; -+ return platform_add_devices(bcm47xx_devices, -+ ARRAY_SIZE(bcm47xx_devices)); -+} -+ -+device_initcall(bcm47xx_register_devices); -diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile linux-2.6.39.4/arch/mips/boot/compressed/Makefile ---- linux-2.6.39.4.orig/arch/mips/boot/compressed/Makefile 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/arch/mips/boot/compressed/Makefile 2012-01-17 20:35:09.000000000 +0100 -@@ -58,8 +58,13 @@ - # Calculate the load address of the compressed kernel image - hostprogs-y := calc_vmlinuz_load_addr - -+ifdef CONFIG_BCM47XX -+# XXX just after CFE, just pray the address is static -+VMLINUZ_LOAD_ADDRESS = 0xffffffff80900000 -+else - VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \ - $(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS)) -+endif - - vmlinuzobjs-y += $(obj)/piggy.o - -@@ -105,4 +110,12 @@ - vmlinuz.srec: vmlinuz - $(call cmd,objcopy) - --clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec} -+AFLAGS_selfreloc.o := -DVMLINUZ_LOAD_ADDRESS=$(VMLINUZ_LOAD_ADDRESS) -+CPPFLAGS_selfreloc.lds := $(KBUILD_CFLAGS) -+ -+arch/mips/boot/compressed/selfreloc.o: arch/mips/boot/compressed/selfreloc.S vmlinuz.bin FORCE -+ -+vmlinuz.elf: arch/mips/boot/compressed/selfreloc.o arch/mips/boot/compressed/selfreloc.lds FORCE -+ $(LD) $(LDFLAGS) -T arch/mips/boot/compressed/selfreloc.lds arch/mips/boot/compressed/selfreloc.o -o $@ -+ -+clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec,elf} $(objtree)/arch/mips/boot/compressed/selfreloc.{o,lds} -diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S ---- linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.S 2012-01-17 20:35:09.000000000 +0100 -@@ -0,0 +1,54 @@ -+/*- -+ * written 2011 by Thorsten Glaser based on -+ * arch/mips/boot/compressed/head.S -+ */ -+ -+#include -+#include -+ -+ .set noreorder -+ .cprestore -+ -+ .text -+ LEAF(selfreloc_start) -+selfreloc_start: -+ /* Save boot rom start args */ -+ move s0, a0 -+ move s1, a1 -+ move s2, a2 -+ move s3, a3 -+ -+ /* Copy code to the correct place */ -+ PTR_LI a0, VMLINUZ_LOAD_ADDRESS -+ PTR_LA a1, imgbeg -+ PTR_LA a2, imgend -+1: lw t0, 0(a1) -+ sw t0, 0(a0) -+ add a1, 4 -+ add a0, 4 -+ blt a1, a2, 1b -+ nop -+ -+ /* Restore boot rom start args */ -+ move a0, s0 -+ move a1, s1 -+ move a2, s2 -+ move a3, s3 -+ -+ /* Jump to the code at its new location */ -+ PTR_LI k0, VMLINUZ_LOAD_ADDRESS -+ jr k0 -+ nop -+ -+ /* Just in case we come back… */ -+3: -+ b 3b -+ nop -+ END(selfreloc_start) -+ -+ .globl imgbeg -+ .p2align 2 -+imgbeg: .incbin "vmlinuz.bin" -+ .globl imgend -+ .p2align 2 -+imgend: -diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S ---- linux-2.6.39.4.orig/arch/mips/boot/compressed/selfreloc.lds.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.39.4/arch/mips/boot/compressed/selfreloc.lds.S 2012-01-17 20:35:09.000000000 +0100 -@@ -0,0 +1,39 @@ -+/*- -+ * written 2010 by Thorsten Glaser based on -+ * arch/mips/kernel/vmlinux.lds and arch/mips/boot/compressed/ld.script -+ */ -+ -+#include -+#include -+#include -+ -+#undef mips -+#define mips mips -+OUTPUT_ARCH(mips) -+ENTRY(selfreloc_start) -+PHDRS { -+ text PT_LOAD FLAGS(7); /* RWX */ -+} -+SECTIONS -+{ -+ . = VMLINUX_LOAD_ADDRESS; -+ .text : { -+ *(.text) -+ *(.text.*) -+ *(.rodata) -+ *(.rodata.*) -+ *(.data) -+ *(.data.*) -+ *(.bss) -+ *(.bss.*) -+ } :text -+ /DISCARD/ : { -+ *(.MIPS.options) -+ *(.options) -+ *(.pdr) -+ *(.reginfo) -+ *(.comment) -+ *(.note) -+ *(.gnu.attributes) -+ } -+} -diff -Nur linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c ---- linux-2.6.39.4.orig/arch/mips/boot/compressed/uart-16550.c 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/arch/mips/boot/compressed/uart-16550.c 2012-01-17 20:35:09.000000000 +0100 -@@ -18,6 +18,11 @@ - #define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset)) - #endif - -+#ifdef CONFIG_BCM47XX -+#define UART_BASE 0x18000300 -+#define PORT(offset) (CKSEG1ADDR(UART_BASE) + (offset)) -+#endif -+ - #ifndef PORT - #error please define the serial port address for your own machine - #endif -diff -Nur linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c linux-2.6.39.4/drivers/ssb/driver_mipscore.c ---- linux-2.6.39.4.orig/drivers/ssb/driver_mipscore.c 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/drivers/ssb/driver_mipscore.c 2012-01-17 20:35:09.000000000 +0100 -@@ -190,10 +190,11 @@ - { - struct ssb_bus *bus = mcore->dev->bus; - -+ printk("Check for vendor with value: %d", bus->chipco.dev->id.vendor); - mcore->flash_buswidth = 2; - if (bus->chipco.dev) { - mcore->flash_window = 0x1c000000; -- mcore->flash_window_size = 0x02000000; -+ mcore->flash_window_size = 0x00800000; - if ((ssb_read32(bus->chipco.dev, SSB_CHIPCO_FLASH_CFG) - & SSB_CHIPCO_CFG_DS16) == 0) - mcore->flash_buswidth = 1; -diff -Nur linux-2.6.39.4.orig/init/Kconfig linux-2.6.39.4/init/Kconfig ---- linux-2.6.39.4.orig/init/Kconfig 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/init/Kconfig 2012-01-17 20:35:09.000000000 +0100 -@@ -156,6 +156,7 @@ - config KERNEL_GZIP - bool "Gzip" - depends on HAVE_KERNEL_GZIP -+ select DECOMPRESS_GZIP - help - The old and tried gzip compression. It provides a good balance - between compression ratio and decompression speed. -@@ -163,6 +164,7 @@ - config KERNEL_BZIP2 - bool "Bzip2" - depends on HAVE_KERNEL_BZIP2 -+ select DECOMPRESS_BZIP2 - help - Its compression ratio and speed is intermediate. - Decompression speed is slowest among the three. The kernel -@@ -173,6 +175,7 @@ - config KERNEL_LZMA - bool "LZMA" - depends on HAVE_KERNEL_LZMA -+ select DECOMPRESS_LZMA - help - The most recent compression algorithm. - Its ratio is best, decompression speed is between the other -@@ -197,6 +200,7 @@ - config KERNEL_LZO - bool "LZO" - depends on HAVE_KERNEL_LZO -+ select DECOMPRESS_LZO - help - Its compression ratio is the poorest among the 4. The kernel - size is about 10% bigger than gzip; however its speed diff --git a/target/linux/patches/3.0.17/bsd-compatibility.patch b/target/linux/patches/3.0.17/bsd-compatibility.patch deleted file mode 100644 index 9e91a62de..000000000 --- a/target/linux/patches/3.0.17/bsd-compatibility.patch +++ /dev/null @@ -1,2512 +0,0 @@ -diff -Nur linux-2.6.36.orig/scripts/Makefile.lib linux-2.6.36/scripts/Makefile.lib ---- linux-2.6.36.orig/scripts/Makefile.lib 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36/scripts/Makefile.lib 2010-11-28 18:34:22.000000000 +0100 -@@ -216,7 +216,12 @@ - size_append = printf $(shell \ - dec_size=0; \ - for F in $1; do \ -- fsize=$$(stat -c "%s" $$F); \ -+ if stat -qs .>/dev/null 2>&1; then \ -+ statcmd='stat -f %z'; \ -+ else \ -+ statcmd='stat -c %s'; \ -+ fi; \ -+ fsize=$$($$statcmd $$F); \ - dec_size=$$(expr $$dec_size + $$fsize); \ - done; \ - printf "%08x\n" $$dec_size | \ -diff -Nur linux-2.6.36.orig/scripts/mod/mk_elfconfig.c linux-2.6.36/scripts/mod/mk_elfconfig.c ---- linux-2.6.36.orig/scripts/mod/mk_elfconfig.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36/scripts/mod/mk_elfconfig.c 2010-11-28 18:33:24.000000000 +0100 -@@ -1,7 +1,18 @@ - #include - #include - #include --#include -+ -+#define EI_NIDENT (16) -+#define ELFMAG "\177ELF" -+ -+#define SELFMAG 4 -+#define EI_CLASS 4 -+#define ELFCLASS32 1 /* 32-bit objects */ -+#define ELFCLASS64 2 /* 64-bit objects */ -+ -+#define EI_DATA 5 /* Data encoding byte index */ -+#define ELFDATA2LSB 1 /* 2's complement, little endian */ -+#define ELFDATA2MSB 2 /* 2's complement, big endian */ - - int - main(int argc, char **argv) -diff -Nur linux-2.6.36.orig/scripts/mod/modpost.h linux-2.6.36/scripts/mod/modpost.h ---- linux-2.6.36.orig/scripts/mod/modpost.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36/scripts/mod/modpost.h 2010-11-28 18:33:24.000000000 +0100 -@@ -7,7 +7,2453 @@ - #include - #include - #include --#include -+ -+ -+/* This file defines standard ELF types, structures, and macros. -+ Copyright (C) 1995-1999,2000,2001,2002,2003 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#ifndef _ELF_H -+#define _ELF_H 1 -+ -+__BEGIN_DECLS -+ -+/* Standard ELF types. */ -+ -+#include -+ -+/* Type for a 16-bit quantity. */ -+typedef uint16_t Elf32_Half; -+typedef uint16_t Elf64_Half; -+ -+/* Types for signed and unsigned 32-bit quantities. */ -+typedef uint32_t Elf32_Word; -+typedef int32_t Elf32_Sword; -+typedef uint32_t Elf64_Word; -+typedef int32_t Elf64_Sword; -+ -+/* Types for signed and unsigned 64-bit quantities. */ -+typedef uint64_t Elf32_Xword; -+typedef int64_t Elf32_Sxword; -+typedef uint64_t Elf64_Xword; -+typedef int64_t Elf64_Sxword; -+ -+/* Type of addresses. */ -+typedef uint32_t Elf32_Addr; -+typedef uint64_t Elf64_Addr; -+ -+/* Type of file offsets. */ -+typedef uint32_t Elf32_Off; -+typedef uint64_t Elf64_Off; -+ -+/* Type for section indices, which are 16-bit quantities. */ -+typedef uint16_t Elf32_Section; -+typedef uint16_t Elf64_Section; -+ -+/* Type for version symbol information. */ -+typedef Elf32_Half Elf32_Versym; -+typedef Elf64_Half Elf64_Versym; -+ -+ -+/* The ELF file header. This appears at the start of every ELF file. */ -+ -+#define EI_NIDENT (16) -+ -+typedef struct -+{ -+ unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ -+ Elf32_Half e_type; /* Object file type */ -+ Elf32_Half e_machine; /* Architecture */ -+ Elf32_Word e_version; /* Object file version */ -+ Elf32_Addr e_entry; /* Entry point virtual address */ -+ Elf32_Off e_phoff; /* Program header table file offset */ -+ Elf32_Off e_shoff; /* Section header table file offset */ -+ Elf32_Word e_flags; /* Processor-specific flags */ -+ Elf32_Half e_ehsize; /* ELF header size in bytes */ -+ Elf32_Half e_phentsize; /* Program header table entry size */ -+ Elf32_Half e_phnum; /* Program header table entry count */ -+ Elf32_Half e_shentsize; /* Section header table entry size */ -+ Elf32_Half e_shnum; /* Section header table entry count */ -+ Elf32_Half e_shstrndx; /* Section header string table index */ -+} Elf32_Ehdr; -+ -+typedef struct -+{ -+ unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ -+ Elf64_Half e_type; /* Object file type */ -+ Elf64_Half e_machine; /* Architecture */ -+ Elf64_Word e_version; /* Object file version */ -+ Elf64_Addr e_entry; /* Entry point virtual address */ -+ Elf64_Off e_phoff; /* Program header table file offset */ -+ Elf64_Off e_shoff; /* Section header table file offset */ -+ Elf64_Word e_flags; /* Processor-specific flags */ -+ Elf64_Half e_ehsize; /* ELF header size in bytes */ -+ Elf64_Half e_phentsize; /* Program header table entry size */ -+ Elf64_Half e_phnum; /* Program header table entry count */ -+ Elf64_Half e_shentsize; /* Section header table entry size */ -+ Elf64_Half e_shnum; /* Section header table entry count */ -+ Elf64_Half e_shstrndx; /* Section header string table index */ -+} Elf64_Ehdr; -+ -+/* Fields in the e_ident array. The EI_* macros are indices into the -+ array. The macros under each EI_* macro are the values the byte -+ may have. */ -+ -+#define EI_MAG0 0 /* File identification byte 0 index */ -+#define ELFMAG0 0x7f /* Magic number byte 0 */ -+ -+#define EI_MAG1 1 /* File identification byte 1 index */ -+#define ELFMAG1 'E' /* Magic number byte 1 */ -+ -+#define EI_MAG2 2 /* File identification byte 2 index */ -+#define ELFMAG2 'L' /* Magic number byte 2 */ -+ -+#define EI_MAG3 3 /* File identification byte 3 index */ -+#define ELFMAG3 'F' /* Magic number byte 3 */ -+ -+/* Conglomeration of the identification bytes, for easy testing as a word. */ -+#define ELFMAG "\177ELF" -+#define SELFMAG 4 -+ -+#define EI_CLASS 4 /* File class byte index */ -+#define ELFCLASSNONE 0 /* Invalid class */ -+#define ELFCLASS32 1 /* 32-bit objects */ -+#define ELFCLASS64 2 /* 64-bit objects */ -+#define ELFCLASSNUM 3 -+ -+#define EI_DATA 5 /* Data encoding byte index */ -+#define ELFDATANONE 0 /* Invalid data encoding */ -+#define ELFDATA2LSB 1 /* 2's complement, little endian */ -+#define ELFDATA2MSB 2 /* 2's complement, big endian */ -+#define ELFDATANUM 3 -+ -+#define EI_VERSION 6 /* File version byte index */ -+ /* Value must be EV_CURRENT */ -+ -+#define EI_OSABI 7 /* OS ABI identification */ -+#define ELFOSABI_NONE 0 /* UNIX System V ABI */ -+#define ELFOSABI_SYSV 0 /* Alias. */ -+#define ELFOSABI_HPUX 1 /* HP-UX */ -+#define ELFOSABI_NETBSD 2 /* NetBSD. */ -+#define ELFOSABI_LINUX 3 /* Linux. */ -+#define ELFOSABI_SOLARIS 6 /* Sun Solaris. */ -+#define ELFOSABI_AIX 7 /* IBM AIX. */ -+#define ELFOSABI_IRIX 8 /* SGI Irix. */ -+#define ELFOSABI_FREEBSD 9 /* FreeBSD. */ -+#define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */ -+#define ELFOSABI_MODESTO 11 /* Novell Modesto. */ -+#define ELFOSABI_OPENBSD 12 /* OpenBSD. */ -+#define ELFOSABI_ARM 97 /* ARM */ -+#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ -+ -+#define EI_ABIVERSION 8 /* ABI version */ -+ -+#define EI_PAD 9 /* Byte index of padding bytes */ -+ -+/* Legal values for e_type (object file type). */ -+ -+#define ET_NONE 0 /* No file type */ -+#define ET_REL 1 /* Relocatable file */ -+#define ET_EXEC 2 /* Executable file */ -+#define ET_DYN 3 /* Shared object file */ -+#define ET_CORE 4 /* Core file */ -+#define ET_NUM 5 /* Number of defined types */ -+#define ET_LOOS 0xfe00 /* OS-specific range start */ -+#define ET_HIOS 0xfeff /* OS-specific range end */ -+#define ET_LOPROC 0xff00 /* Processor-specific range start */ -+#define ET_HIPROC 0xffff /* Processor-specific range end */ -+ -+/* Legal values for e_machine (architecture). */ -+ -+#define EM_NONE 0 /* No machine */ -+#define EM_M32 1 /* AT&T WE 32100 */ -+#define EM_SPARC 2 /* SUN SPARC */ -+#define EM_386 3 /* Intel 80386 */ -+#define EM_68K 4 /* Motorola m68k family */ -+#define EM_88K 5 /* Motorola m88k family */ -+#define EM_860 7 /* Intel 80860 */ -+#define EM_MIPS 8 /* MIPS R3000 big-endian */ -+#define EM_S370 9 /* IBM System/370 */ -+#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */ -+ -+#define EM_PARISC 15 /* HPPA */ -+#define EM_VPP500 17 /* Fujitsu VPP500 */ -+#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ -+#define EM_960 19 /* Intel 80960 */ -+#define EM_PPC 20 /* PowerPC */ -+#define EM_PPC64 21 /* PowerPC 64-bit */ -+#define EM_S390 22 /* IBM S390 */ -+ -+#define EM_V800 36 /* NEC V800 series */ -+#define EM_FR20 37 /* Fujitsu FR20 */ -+#define EM_RH32 38 /* TRW RH-32 */ -+#define EM_RCE 39 /* Motorola RCE */ -+#define EM_ARM 40 /* ARM */ -+#define EM_FAKE_ALPHA 41 /* Digital Alpha */ -+#define EM_SH 42 /* Hitachi SH */ -+#define EM_SPARCV9 43 /* SPARC v9 64-bit */ -+#define EM_TRICORE 44 /* Siemens Tricore */ -+#define EM_ARC 45 /* Argonaut RISC Core */ -+#define EM_H8_300 46 /* Hitachi H8/300 */ -+#define EM_H8_300H 47 /* Hitachi H8/300H */ -+#define EM_H8S 48 /* Hitachi H8S */ -+#define EM_H8_500 49 /* Hitachi H8/500 */ -+#define EM_IA_64 50 /* Intel Merced */ -+#define EM_MIPS_X 51 /* Stanford MIPS-X */ -+#define EM_COLDFIRE 52 /* Motorola Coldfire */ -+#define EM_68HC12 53 /* Motorola M68HC12 */ -+#define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator*/ -+#define EM_PCP 55 /* Siemens PCP */ -+#define EM_NCPU 56 /* Sony nCPU embeeded RISC */ -+#define EM_NDR1 57 /* Denso NDR1 microprocessor */ -+#define EM_STARCORE 58 /* Motorola Start*Core processor */ -+#define EM_ME16 59 /* Toyota ME16 processor */ -+#define EM_ST100 60 /* STMicroelectronic ST100 processor */ -+#define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/ -+#define EM_X86_64 62 /* AMD x86-64 architecture */ -+#define EM_PDSP 63 /* Sony DSP Processor */ -+ -+#define EM_FX66 66 /* Siemens FX66 microcontroller */ -+#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */ -+#define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */ -+#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller */ -+#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller */ -+#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller */ -+#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller */ -+#define EM_SVX 73 /* Silicon Graphics SVx */ -+#define EM_ST19 74 /* STMicroelectronics ST19 8 bit mc */ -+#define EM_VAX 75 /* Digital VAX */ -+#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ -+#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded processor */ -+#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */ -+#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */ -+#define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ -+#define EM_HUANY 81 /* Harvard University machine-independent object files */ -+#define EM_PRISM 82 /* SiTera Prism */ -+#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ -+#define EM_FR30 84 /* Fujitsu FR30 */ -+#define EM_D10V 85 /* Mitsubishi D10V */ -+#define EM_D30V 86 /* Mitsubishi D30V */ -+#define EM_V850 87 /* NEC v850 */ -+#define EM_M32R 88 /* Mitsubishi M32R */ -+#define EM_MN10300 89 /* Matsushita MN10300 */ -+#define EM_MN10200 90 /* Matsushita MN10200 */ -+#define EM_PJ 91 /* picoJava */ -+#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ -+#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ -+#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ -+#define EM_NUM 95 -+ -+/* If it is necessary to assign new unofficial EM_* values, please -+ pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the -+ chances of collision with official or non-GNU unofficial values. */ -+ -+#define EM_ALPHA 0x9026 -+ -+/* Legal values for e_version (version). */ -+ -+#define EV_NONE 0 /* Invalid ELF version */ -+#define EV_CURRENT 1 /* Current version */ -+#define EV_NUM 2 -+ -+/* Section header. */ -+ -+typedef struct -+{ -+ Elf32_Word sh_name; /* Section name (string tbl index) */ -+ Elf32_Word sh_type; /* Section type */ -+ Elf32_Word sh_flags; /* Section flags */ -+ Elf32_Addr sh_addr; /* Section virtual addr at execution */ -+ Elf32_Off sh_offset; /* Section file offset */ -+ Elf32_Word sh_size; /* Section size in bytes */ -+ Elf32_Word sh_link; /* Link to another section */ -+ Elf32_Word sh_info; /* Additional section information */ -+ Elf32_Word sh_addralign; /* Section alignment */ -+ Elf32_Word sh_entsize; /* Entry size if section holds table */ -+} Elf32_Shdr; -+ -+typedef struct -+{ -+ Elf64_Word sh_name; /* Section name (string tbl index) */ -+ Elf64_Word sh_type; /* Section type */ -+ Elf64_Xword sh_flags; /* Section flags */ -+ Elf64_Addr sh_addr; /* Section virtual addr at execution */ -+ Elf64_Off sh_offset; /* Section file offset */ -+ Elf64_Xword sh_size; /* Section size in bytes */ -+ Elf64_Word sh_link; /* Link to another section */ -+ Elf64_Word sh_info; /* Additional section information */ -+ Elf64_Xword sh_addralign; /* Section alignment */ -+ Elf64_Xword sh_entsize; /* Entry size if section holds table */ -+} Elf64_Shdr; -+ -+/* Special section indices. */ -+ -+#define SHN_UNDEF 0 /* Undefined section */ -+#define SHN_LORESERVE 0xff00 /* Start of reserved indices */ -+#define SHN_LOPROC 0xff00 /* Start of processor-specific */ -+#define SHN_HIPROC 0xff1f /* End of processor-specific */ -+#define SHN_LOOS 0xff20 /* Start of OS-specific */ -+#define SHN_HIOS 0xff3f /* End of OS-specific */ -+#define SHN_ABS 0xfff1 /* Associated symbol is absolute */ -+#define SHN_COMMON 0xfff2 /* Associated symbol is common */ -+#define SHN_XINDEX 0xffff /* Index is in extra table. */ -+#define SHN_HIRESERVE 0xffff /* End of reserved indices */ -+ -+/* Legal values for sh_type (section type). */ -+ -+#define SHT_NULL 0 /* Section header table entry unused */ -+#define SHT_PROGBITS 1 /* Program data */ -+#define SHT_SYMTAB 2 /* Symbol table */ -+#define SHT_STRTAB 3 /* String table */ -+#define SHT_RELA 4 /* Relocation entries with addends */ -+#define SHT_HASH 5 /* Symbol hash table */ -+#define SHT_DYNAMIC 6 /* Dynamic linking information */ -+#define SHT_NOTE 7 /* Notes */ -+#define SHT_NOBITS 8 /* Program space with no data (bss) */ -+#define SHT_REL 9 /* Relocation entries, no addends */ -+#define SHT_SHLIB 10 /* Reserved */ -+#define SHT_DYNSYM 11 /* Dynamic linker symbol table */ -+#define SHT_INIT_ARRAY 14 /* Array of constructors */ -+#define SHT_FINI_ARRAY 15 /* Array of destructors */ -+#define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ -+#define SHT_GROUP 17 /* Section group */ -+#define SHT_SYMTAB_SHNDX 18 /* Extended section indeces */ -+#define SHT_NUM 19 /* Number of defined types. */ -+#define SHT_LOOS 0x60000000 /* Start OS-specific */ -+#define SHT_GNU_LIBLIST 0x6ffffff7 /* Prelink library list */ -+#define SHT_CHECKSUM 0x6ffffff8 /* Checksum for DSO content. */ -+#define SHT_LOSUNW 0x6ffffffa /* Sun-specific low bound. */ -+#define SHT_SUNW_move 0x6ffffffa -+#define SHT_SUNW_COMDAT 0x6ffffffb -+#define SHT_SUNW_syminfo 0x6ffffffc -+#define SHT_GNU_verdef 0x6ffffffd /* Version definition section. */ -+#define SHT_GNU_verneed 0x6ffffffe /* Version needs section. */ -+#define SHT_GNU_versym 0x6fffffff /* Version symbol table. */ -+#define SHT_HISUNW 0x6fffffff /* Sun-specific high bound. */ -+#define SHT_HIOS 0x6fffffff /* End OS-specific type */ -+#define SHT_LOPROC 0x70000000 /* Start of processor-specific */ -+#define SHT_HIPROC 0x7fffffff /* End of processor-specific */ -+#define SHT_LOUSER 0x80000000 /* Start of application-specific */ -+#define SHT_HIUSER 0x8fffffff /* End of application-specific */ -+ -+/* Legal values for sh_flags (section flags). */ -+ -+#define SHF_WRITE (1 << 0) /* Writable */ -+#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ -+#define SHF_EXECINSTR (1 << 2) /* Executable */ -+#define SHF_MERGE (1 << 4) /* Might be merged */ -+#define SHF_STRINGS (1 << 5) /* Contains nul-terminated strings */ -+#define SHF_INFO_LINK (1 << 6) /* `sh_info' contains SHT index */ -+#define SHF_LINK_ORDER (1 << 7) /* Preserve order after combining */ -+#define SHF_OS_NONCONFORMING (1 << 8) /* Non-standard OS specific handling -+ required */ -+#define SHF_GROUP (1 << 9) /* Section is member of a group. */ -+#define SHF_TLS (1 << 10) /* Section hold thread-local data. */ -+#define SHF_MASKOS 0x0ff00000 /* OS-specific. */ -+#define SHF_MASKPROC 0xf0000000 /* Processor-specific */ -+ -+/* Section group handling. */ -+#define GRP_COMDAT 0x1 /* Mark group as COMDAT. */ -+ -+/* Symbol table entry. */ -+ -+typedef struct -+{ -+ Elf32_Word st_name; /* Symbol name (string tbl index) */ -+ Elf32_Addr st_value; /* Symbol value */ -+ Elf32_Word st_size; /* Symbol size */ -+ unsigned char st_info; /* Symbol type and binding */ -+ unsigned char st_other; /* Symbol visibility */ -+ Elf32_Section st_shndx; /* Section index */ -+} Elf32_Sym; -+ -+typedef struct -+{ -+ Elf64_Word st_name; /* Symbol name (string tbl index) */ -+ unsigned char st_info; /* Symbol type and binding */ -+ unsigned char st_other; /* Symbol visibility */ -+ Elf64_Section st_shndx; /* Section index */ -+ Elf64_Addr st_value; /* Symbol value */ -+ Elf64_Xword st_size; /* Symbol size */ -+} Elf64_Sym; -+ -+/* The syminfo section if available contains additional information about -+ every dynamic symbol. */ -+ -+typedef struct -+{ -+ Elf32_Half si_boundto; /* Direct bindings, symbol bound to */ -+ Elf32_Half si_flags; /* Per symbol flags */ -+} Elf32_Syminfo; -+ -+typedef struct -+{ -+ Elf64_Half si_boundto; /* Direct bindings, symbol bound to */ -+ Elf64_Half si_flags; /* Per symbol flags */ -+} Elf64_Syminfo; -+ -+/* Possible values for si_boundto. */ -+#define SYMINFO_BT_SELF 0xffff /* Symbol bound to self */ -+#define SYMINFO_BT_PARENT 0xfffe /* Symbol bound to parent */ -+#define SYMINFO_BT_LOWRESERVE 0xff00 /* Beginning of reserved entries */ -+ -+/* Possible bitmasks for si_flags. */ -+#define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */ -+#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */ -+#define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */ -+#define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy -+ loaded */ -+/* Syminfo version values. */ -+#define SYMINFO_NONE 0 -+#define SYMINFO_CURRENT 1 -+#define SYMINFO_NUM 2 -+ -+ -+/* How to extract and insert information held in the st_info field. */ -+ -+#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)) -+ -+/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */ -+#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)) -+ -+/* Legal values for ST_BIND subfield of st_info (symbol binding). */ -+ -+#define STB_LOCAL 0 /* Local symbol */ -+#define STB_GLOBAL 1 /* Global symbol */ -+#define STB_WEAK 2 /* Weak symbol */ -+#define STB_NUM 3 /* Number of defined types. */ -+#define STB_LOOS 10 /* Start of OS-specific */ -+#define STB_HIOS 12 /* End of OS-specific */ -+#define STB_LOPROC 13 /* Start of processor-specific */ -+#define STB_HIPROC 15 /* End of processor-specific */ -+ -+/* Legal values for ST_TYPE subfield of st_info (symbol type). */ -+ -+#define STT_NOTYPE 0 /* Symbol type is unspecified */ -+#define STT_OBJECT 1 /* Symbol is a data object */ -+#define STT_FUNC 2 /* Symbol is a code object */ -+#define STT_SECTION 3 /* Symbol associated with a section */ -+#define STT_FILE 4 /* Symbol's name is file name */ -+#define STT_COMMON 5 /* Symbol is a common data object */ -+#define STT_TLS 6 /* Symbol is thread-local data object*/ -+#define STT_NUM 7 /* Number of defined types. */ -+#define STT_LOOS 10 /* Start of OS-specific */ -+#define STT_HIOS 12 /* End of OS-specific */ -+#define STT_LOPROC 13 /* Start of processor-specific */ -+#define STT_HIPROC 15 /* End of processor-specific */ -+ -+ -+/* Symbol table indices are found in the hash buckets and chain table -+ of a symbol hash table section. This special index value indicates -+ the end of a chain, meaning no further symbols are found in that bucket. */ -+ -+#define STN_UNDEF 0 /* End of a chain. */ -+ -+ -+/* How to extract and insert information held in the st_other field. */ -+ -+#define ELF32_ST_VISIBILITY(o) ((o) & 0x03) -+ -+/* For ELF64 the definitions are the same. */ -+#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o) -+ -+/* Symbol visibility specification encoded in the st_other field. */ -+#define STV_DEFAULT 0 /* Default symbol visibility rules */ -+#define STV_INTERNAL 1 /* Processor specific hidden class */ -+#define STV_HIDDEN 2 /* Sym unavailable in other modules */ -+#define STV_PROTECTED 3 /* Not preemptible, not exported */ -+ -+ -+/* Relocation table entry without addend (in section of type SHT_REL). */ -+ -+typedef struct -+{ -+ Elf32_Addr r_offset; /* Address */ -+ Elf32_Word r_info; /* Relocation type and symbol index */ -+} Elf32_Rel; -+ -+/* I have seen two different definitions of the Elf64_Rel and -+ Elf64_Rela structures, so we'll leave them out until Novell (or -+ whoever) gets their act together. */ -+/* The following, at least, is used on Sparc v9, MIPS, and Alpha. */ -+ -+typedef struct -+{ -+ Elf64_Addr r_offset; /* Address */ -+ Elf64_Xword r_info; /* Relocation type and symbol index */ -+} Elf64_Rel; -+ -+/* Relocation table entry with addend (in section of type SHT_RELA). */ -+ -+typedef struct -+{ -+ Elf32_Addr r_offset; /* Address */ -+ Elf32_Word r_info; /* Relocation type and symbol index */ -+ Elf32_Sword r_addend; /* Addend */ -+} Elf32_Rela; -+ -+typedef struct -+{ -+ Elf64_Addr r_offset; /* Address */ -+ Elf64_Xword r_info; /* Relocation type and symbol index */ -+ Elf64_Sxword r_addend; /* Addend */ -+} Elf64_Rela; -+ -+/* How to extract and insert information held in the r_info field. */ -+ -+#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)) -+ -+/* Program segment header. */ -+ -+typedef struct -+{ -+ Elf32_Word p_type; /* Segment type */ -+ Elf32_Off p_offset; /* Segment file offset */ -+ Elf32_Addr p_vaddr; /* Segment virtual address */ -+ Elf32_Addr p_paddr; /* Segment physical address */ -+ Elf32_Word p_filesz; /* Segment size in file */ -+ Elf32_Word p_memsz; /* Segment size in memory */ -+ Elf32_Word p_flags; /* Segment flags */ -+ Elf32_Word p_align; /* Segment alignment */ -+} Elf32_Phdr; -+ -+typedef struct -+{ -+ Elf64_Word p_type; /* Segment type */ -+ Elf64_Word p_flags; /* Segment flags */ -+ Elf64_Off p_offset; /* Segment file offset */ -+ Elf64_Addr p_vaddr; /* Segment virtual address */ -+ Elf64_Addr p_paddr; /* Segment physical address */ -+ Elf64_Xword p_filesz; /* Segment size in file */ -+ Elf64_Xword p_memsz; /* Segment size in memory */ -+ Elf64_Xword p_align; /* Segment alignment */ -+} Elf64_Phdr; -+ -+/* Legal values for p_type (segment type). */ -+ -+#define PT_NULL 0 /* Program header table entry unused */ -+#define PT_LOAD 1 /* Loadable program segment */ -+#define PT_DYNAMIC 2 /* Dynamic linking information */ -+#define PT_INTERP 3 /* Program interpreter */ -+#define PT_NOTE 4 /* Auxiliary information */ -+#define PT_SHLIB 5 /* Reserved */ -+#define PT_PHDR 6 /* Entry for header table itself */ -+#define PT_TLS 7 /* Thread-local storage segment */ -+#define PT_NUM 8 /* Number of defined types */ -+#define PT_LOOS 0x60000000 /* Start of OS-specific */ -+#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ -+#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ -+#define PT_LOSUNW 0x6ffffffa -+#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ -+#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -+#define PT_HISUNW 0x6fffffff -+#define PT_HIOS 0x6fffffff /* End of OS-specific */ -+#define PT_LOPROC 0x70000000 /* Start of processor-specific */ -+#define PT_HIPROC 0x7fffffff /* End of processor-specific */ -+ -+/* Legal values for p_flags (segment flags). */ -+ -+#define PF_X (1 << 0) /* Segment is executable */ -+#define PF_W (1 << 1) /* Segment is writable */ -+#define PF_R (1 << 2) /* Segment is readable */ -+#define PF_MASKOS 0x0ff00000 /* OS-specific */ -+#define PF_MASKPROC 0xf0000000 /* Processor-specific */ -+ -+/* Legal values for note segment descriptor types for core files. */ -+ -+#define NT_PRSTATUS 1 /* Contains copy of prstatus struct */ -+#define NT_FPREGSET 2 /* Contains copy of fpregset struct */ -+#define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ -+#define NT_PRXREG 4 /* Contains copy of prxregset struct */ -+#define NT_TASKSTRUCT 4 /* Contains copy of task structure */ -+#define NT_PLATFORM 5 /* String from sysinfo(SI_PLATFORM) */ -+#define NT_AUXV 6 /* Contains copy of auxv array */ -+#define NT_GWINDOWS 7 /* Contains copy of gwindows struct */ -+#define NT_ASRS 8 /* Contains copy of asrset struct */ -+#define NT_PSTATUS 10 /* Contains copy of pstatus struct */ -+#define NT_PSINFO 13 /* Contains copy of psinfo struct */ -+#define NT_PRCRED 14 /* Contains copy of prcred struct */ -+#define NT_UTSNAME 15 /* Contains copy of utsname struct */ -+#define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */ -+#define NT_LWPSINFO 17 /* Contains copy of lwpinfo struct */ -+#define NT_PRFPXREG 20 /* Contains copy of fprxregset struct*/ -+ -+/* Legal values for the note segment descriptor types for object files. */ -+ -+#define NT_VERSION 1 /* Contains a version string. */ -+ -+ -+/* Dynamic section entry. */ -+ -+typedef struct -+{ -+ Elf32_Sword d_tag; /* Dynamic entry type */ -+ union -+ { -+ Elf32_Word d_val; /* Integer value */ -+ Elf32_Addr d_ptr; /* Address value */ -+ } d_un; -+} Elf32_Dyn; -+ -+typedef struct -+{ -+ Elf64_Sxword d_tag; /* Dynamic entry type */ -+ union -+ { -+ Elf64_Xword d_val; /* Integer value */ -+ Elf64_Addr d_ptr; /* Address value */ -+ } d_un; -+} Elf64_Dyn; -+ -+/* Legal values for d_tag (dynamic entry type). */ -+ -+#define DT_NULL 0 /* Marks end of dynamic section */ -+#define DT_NEEDED 1 /* Name of needed library */ -+#define DT_PLTRELSZ 2 /* Size in bytes of PLT relocs */ -+#define DT_PLTGOT 3 /* Processor defined value */ -+#define DT_HASH 4 /* Address of symbol hash table */ -+#define DT_STRTAB 5 /* Address of string table */ -+#define DT_SYMTAB 6 /* Address of symbol table */ -+#define DT_RELA 7 /* Address of Rela relocs */ -+#define DT_RELASZ 8 /* Total size of Rela relocs */ -+#define DT_RELAENT 9 /* Size of one Rela reloc */ -+#define DT_STRSZ 10 /* Size of string table */ -+#define DT_SYMENT 11 /* Size of one symbol table entry */ -+#define DT_INIT 12 /* Address of init function */ -+#define DT_FINI 13 /* Address of termination function */ -+#define DT_SONAME 14 /* Name of shared object */ -+#define DT_RPATH 15 /* Library search path (deprecated) */ -+#define DT_SYMBOLIC 16 /* Start symbol search here */ -+#define DT_REL 17 /* Address of Rel relocs */ -+#define DT_RELSZ 18 /* Total size of Rel relocs */ -+#define DT_RELENT 19 /* Size of one Rel reloc */ -+#define DT_PLTREL 20 /* Type of reloc in PLT */ -+#define DT_DEBUG 21 /* For debugging; unspecified */ -+#define DT_TEXTREL 22 /* Reloc might modify .text */ -+#define DT_JMPREL 23 /* Address of PLT relocs */ -+#define DT_BIND_NOW 24 /* Process relocations of object */ -+#define DT_INIT_ARRAY 25 /* Array with addresses of init fct */ -+#define DT_FINI_ARRAY 26 /* Array with addresses of fini fct */ -+#define DT_INIT_ARRAYSZ 27 /* Size in bytes of DT_INIT_ARRAY */ -+#define DT_FINI_ARRAYSZ 28 /* Size in bytes of DT_FINI_ARRAY */ -+#define DT_RUNPATH 29 /* Library search path */ -+#define DT_FLAGS 30 /* Flags for the object being loaded */ -+#define DT_ENCODING 32 /* Start of encoded range */ -+#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/ -+#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */ -+#define DT_NUM 34 /* Number used */ -+#define DT_LOOS 0x6000000d /* Start of OS-specific */ -+#define DT_HIOS 0x6ffff000 /* End of OS-specific */ -+#define DT_LOPROC 0x70000000 /* Start of processor-specific */ -+#define DT_HIPROC 0x7fffffff /* End of processor-specific */ -+#define DT_PROCNUM DT_MIPS_NUM /* Most used by any processor */ -+ -+/* DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the -+ Dyn.d_un.d_val field of the Elf*_Dyn structure. This follows Sun's -+ approach. */ -+#define DT_VALRNGLO 0x6ffffd00 -+#define DT_GNU_PRELINKED 0x6ffffdf5 /* Prelinking timestamp */ -+#define DT_GNU_CONFLICTSZ 0x6ffffdf6 /* Size of conflict section */ -+#define DT_GNU_LIBLISTSZ 0x6ffffdf7 /* Size of library list */ -+#define DT_CHECKSUM 0x6ffffdf8 -+#define DT_PLTPADSZ 0x6ffffdf9 -+#define DT_MOVEENT 0x6ffffdfa -+#define DT_MOVESZ 0x6ffffdfb -+#define DT_FEATURE_1 0x6ffffdfc /* Feature selection (DTF_*). */ -+#define DT_POSFLAG_1 0x6ffffdfd /* Flags for DT_* entries, effecting -+ the following DT_* entry. */ -+#define DT_SYMINSZ 0x6ffffdfe /* Size of syminfo table (in bytes) */ -+#define DT_SYMINENT 0x6ffffdff /* Entry size of syminfo */ -+#define DT_VALRNGHI 0x6ffffdff -+#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag)) /* Reverse order! */ -+#define DT_VALNUM 12 -+ -+/* DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the -+ Dyn.d_un.d_ptr field of the Elf*_Dyn structure. -+ -+ If any adjustment is made to the ELF object after it has been -+ built these entries will need to be adjusted. */ -+#define DT_ADDRRNGLO 0x6ffffe00 -+#define DT_GNU_CONFLICT 0x6ffffef8 /* Start of conflict section */ -+#define DT_GNU_LIBLIST 0x6ffffef9 /* Library list */ -+#define DT_CONFIG 0x6ffffefa /* Configuration information. */ -+#define DT_DEPAUDIT 0x6ffffefb /* Dependency auditing. */ -+#define DT_AUDIT 0x6ffffefc /* Object auditing. */ -+#define DT_PLTPAD 0x6ffffefd /* PLT padding. */ -+#define DT_MOVETAB 0x6ffffefe /* Move table. */ -+#define DT_SYMINFO 0x6ffffeff /* Syminfo table. */ -+#define DT_ADDRRNGHI 0x6ffffeff -+#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag)) /* Reverse order! */ -+#define DT_ADDRNUM 10 -+ -+/* The versioning entry types. The next are defined as part of the -+ GNU extension. */ -+#define DT_VERSYM 0x6ffffff0 -+ -+#define DT_RELACOUNT 0x6ffffff9 -+#define DT_RELCOUNT 0x6ffffffa -+ -+/* These were chosen by Sun. */ -+#define DT_FLAGS_1 0x6ffffffb /* State flags, see DF_1_* below. */ -+#define DT_VERDEF 0x6ffffffc /* Address of version definition -+ table */ -+#define DT_VERDEFNUM 0x6ffffffd /* Number of version definitions */ -+#define DT_VERNEED 0x6ffffffe /* Address of table with needed -+ versions */ -+#define DT_VERNEEDNUM 0x6fffffff /* Number of