From 485a5b1d78bd16c4c916a3772769842820e0e3b8 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 15 Jun 2012 14:09:20 +0200 Subject: add support for newest kernels --- Config.in | 23 +- mk/kernel-ver.mk | 24 +- target/linux/patches/3.0.30/brcm.patch | 465 -- .../linux/patches/3.0.30/bsd-compatibility.patch | 2512 -------- target/linux/patches/3.0.30/cris-etrax.patch | 12 - target/linux/patches/3.0.30/defaults.patch | 22 - target/linux/patches/3.0.30/fon2100.patch | 6279 -------------------- target/linux/patches/3.0.30/gemalto.patch | 11 - target/linux/patches/3.0.30/mips-malta.patch | 135 - target/linux/patches/3.0.30/mmc-host.patch | 36 - target/linux/patches/3.0.30/mtd-rootfs.patch | 26 - target/linux/patches/3.0.30/non-static.patch | 33 - target/linux/patches/3.0.30/sparc-include.patch | 11 - target/linux/patches/3.0.30/startup.patch | 20 - target/linux/patches/3.0.30/usb-defaults-off.patch | 32 - target/linux/patches/3.0.30/uuid.patch | 255 - .../patches/3.0.30/vga-cons-default-off.patch | 12 - target/linux/patches/3.0.30/wlan-cf.patch | 11 - target/linux/patches/3.0.30/x86-build.patch | 11 - target/linux/patches/3.0.30/zlib-inflate.patch | 12 - target/linux/patches/3.0.34/brcm.patch | 465 ++ .../linux/patches/3.0.34/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.0.34/cris-etrax.patch | 12 + target/linux/patches/3.0.34/defaults.patch | 22 + target/linux/patches/3.0.34/fon2100.patch | 6279 ++++++++++++++++++++ target/linux/patches/3.0.34/gemalto.patch | 11 + target/linux/patches/3.0.34/mips-malta.patch | 135 + target/linux/patches/3.0.34/mmc-host.patch | 36 + target/linux/patches/3.0.34/mtd-rootfs.patch | 26 + target/linux/patches/3.0.34/non-static.patch | 33 + target/linux/patches/3.0.34/sparc-include.patch | 11 + target/linux/patches/3.0.34/startup.patch | 20 + target/linux/patches/3.0.34/usb-defaults-off.patch | 32 + target/linux/patches/3.0.34/uuid.patch | 255 + .../patches/3.0.34/vga-cons-default-off.patch | 12 + target/linux/patches/3.0.34/wlan-cf.patch | 11 + target/linux/patches/3.0.34/x86-build.patch | 11 + target/linux/patches/3.0.34/zlib-inflate.patch | 12 + target/linux/patches/3.2.18/brcm.patch | 466 -- .../linux/patches/3.2.18/bsd-compatibility.patch | 2512 -------- target/linux/patches/3.2.18/cris-etrax.patch | 12 - target/linux/patches/3.2.18/defaults.patch | 22 - target/linux/patches/3.2.18/gemalto.patch | 11 - target/linux/patches/3.2.18/mmc-host.patch | 36 - target/linux/patches/3.2.18/non-static.patch | 33 - target/linux/patches/3.2.18/sparc-include.patch | 11 - target/linux/patches/3.2.18/startup.patch | 20 - target/linux/patches/3.2.18/usb-defaults-off.patch | 32 - target/linux/patches/3.2.18/uuid.patch | 255 - .../patches/3.2.18/vga-cons-default-off.patch | 12 - target/linux/patches/3.2.18/wlan-cf.patch | 11 - target/linux/patches/3.2.18/x86-build.patch | 11 - target/linux/patches/3.2.18/zlib-inflate.patch | 12 - target/linux/patches/3.2.20/brcm.patch | 466 ++ .../linux/patches/3.2.20/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.2.20/cris-etrax.patch | 12 + target/linux/patches/3.2.20/defaults.patch | 22 + target/linux/patches/3.2.20/gemalto.patch | 11 + target/linux/patches/3.2.20/mmc-host.patch | 36 + target/linux/patches/3.2.20/non-static.patch | 33 + target/linux/patches/3.2.20/sparc-include.patch | 11 + target/linux/patches/3.2.20/startup.patch | 20 + target/linux/patches/3.2.20/usb-defaults-off.patch | 32 + target/linux/patches/3.2.20/uuid.patch | 255 + .../patches/3.2.20/vga-cons-default-off.patch | 12 + target/linux/patches/3.2.20/wlan-cf.patch | 11 + target/linux/patches/3.2.20/x86-build.patch | 11 + target/linux/patches/3.2.20/zlib-inflate.patch | 12 + target/linux/patches/3.3.7/bsd-compatibility.patch | 2512 -------- target/linux/patches/3.3.7/cris-etrax.patch | 12 - target/linux/patches/3.3.7/defaults.patch | 22 - target/linux/patches/3.3.7/gemalto.patch | 11 - target/linux/patches/3.3.7/lemote-rfkill.patch | 21 - target/linux/patches/3.3.7/mmc-host.patch | 36 - .../patches/3.3.7/module-alloc-size-check.patch | 21 - target/linux/patches/3.3.7/non-static.patch | 33 - target/linux/patches/3.3.7/sparc-include.patch | 11 - target/linux/patches/3.3.7/startup.patch | 20 - target/linux/patches/3.3.7/usb-defaults-off.patch | 32 - target/linux/patches/3.3.7/uuid.patch | 255 - .../linux/patches/3.3.7/vga-cons-default-off.patch | 12 - target/linux/patches/3.3.7/wlan-cf.patch | 11 - target/linux/patches/3.3.7/x86-build.patch | 11 - target/linux/patches/3.3.7/zlib-inflate.patch | 12 - target/linux/patches/3.3.8/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.3.8/cris-etrax.patch | 12 + target/linux/patches/3.3.8/defaults.patch | 22 + target/linux/patches/3.3.8/gemalto.patch | 11 + target/linux/patches/3.3.8/lemote-rfkill.patch | 21 + target/linux/patches/3.3.8/mmc-host.patch | 36 + .../patches/3.3.8/module-alloc-size-check.patch | 21 + target/linux/patches/3.3.8/non-static.patch | 33 + target/linux/patches/3.3.8/sparc-include.patch | 11 + target/linux/patches/3.3.8/startup.patch | 20 + target/linux/patches/3.3.8/usb-defaults-off.patch | 32 + target/linux/patches/3.3.8/uuid.patch | 255 + .../linux/patches/3.3.8/vga-cons-default-off.patch | 12 + target/linux/patches/3.3.8/wlan-cf.patch | 11 + target/linux/patches/3.3.8/x86-build.patch | 11 + target/linux/patches/3.3.8/zlib-inflate.patch | 12 + target/linux/patches/3.4.2/bsd-compatibility.patch | 2512 ++++++++ target/linux/patches/3.4.2/cris-etrax.patch | 12 + target/linux/patches/3.4.2/defaults.patch | 22 + target/linux/patches/3.4.2/gemalto.patch | 11 + target/linux/patches/3.4.2/lemote-rfkill.patch | 21 + target/linux/patches/3.4.2/mmc-host.patch | 36 + .../patches/3.4.2/module-alloc-size-check.patch | 21 + target/linux/patches/3.4.2/non-static.patch | 33 + target/linux/patches/3.4.2/sparc-include.patch | 11 + target/linux/patches/3.4.2/startup.patch | 20 + target/linux/patches/3.4.2/usb-defaults-off.patch | 32 + target/linux/patches/3.4.2/uuid.patch | 255 + .../linux/patches/3.4.2/vga-cons-default-off.patch | 12 + target/linux/patches/3.4.2/wlan-cf.patch | 11 + target/linux/patches/3.4.2/x86-build.patch | 11 + target/linux/patches/3.4.2/zlib-inflate.patch | 12 + .../kernel-headers/patches/3.0.30/aufs2.patch | 240 - .../patches/3.0.30/cleankernel.patch | 11 - .../patches/3.0.30/etrax-header.patch | 75 - .../patches/3.0.30/linux-gcc-check.patch | 18 - .../kernel-headers/patches/3.0.30/microperl.patch | 24 - .../kernel-headers/patches/3.0.34/aufs2.patch | 240 + .../patches/3.0.34/cleankernel.patch | 11 + .../patches/3.0.34/etrax-header.patch | 75 + .../patches/3.0.34/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.0.34/microperl.patch | 24 + .../kernel-headers/patches/3.2.18/aufs2.patch | 238 - .../patches/3.2.18/cleankernel.patch | 11 - .../patches/3.2.18/etrax-header.patch | 75 - .../patches/3.2.18/linux-gcc-check.patch | 18 - .../kernel-headers/patches/3.2.18/microperl.patch | 24 - .../kernel-headers/patches/3.2.20/aufs2.patch | 238 + .../patches/3.2.20/cleankernel.patch | 11 + .../patches/3.2.20/etrax-header.patch | 75 + .../patches/3.2.20/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.2.20/microperl.patch | 24 + toolchain/kernel-headers/patches/3.3.7/aufs2.patch | 238 - .../kernel-headers/patches/3.3.7/cleankernel.patch | 11 - .../patches/3.3.7/etrax-header.patch | 75 - .../patches/3.3.7/linux-gcc-check.patch | 18 - .../kernel-headers/patches/3.3.7/microperl.patch | 24 - toolchain/kernel-headers/patches/3.3.8/aufs2.patch | 238 + .../kernel-headers/patches/3.3.8/cleankernel.patch | 11 + .../patches/3.3.8/etrax-header.patch | 75 + .../patches/3.3.8/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.3.8/microperl.patch | 24 + toolchain/kernel-headers/patches/3.4.2/aufs2.patch | 238 + .../kernel-headers/patches/3.4.2/cleankernel.patch | 11 + .../patches/3.4.2/etrax-header.patch | 75 + .../patches/3.4.2/linux-gcc-check.patch | 18 + .../kernel-headers/patches/3.4.2/microperl.patch | 24 + 151 files changed, 20910 insertions(+), 17501 deletions(-) delete mode 100644 target/linux/patches/3.0.30/brcm.patch delete mode 100644 target/linux/patches/3.0.30/bsd-compatibility.patch delete mode 100644 target/linux/patches/3.0.30/cris-etrax.patch delete mode 100644 target/linux/patches/3.0.30/defaults.patch delete mode 100644 target/linux/patches/3.0.30/fon2100.patch delete mode 100644 target/linux/patches/3.0.30/gemalto.patch delete mode 100644 target/linux/patches/3.0.30/mips-malta.patch delete mode 100644 target/linux/patches/3.0.30/mmc-host.patch delete mode 100644 target/linux/patches/3.0.30/mtd-rootfs.patch delete mode 100644 target/linux/patches/3.0.30/non-static.patch delete mode 100644 target/linux/patches/3.0.30/sparc-include.patch delete mode 100644 target/linux/patches/3.0.30/startup.patch delete mode 100644 target/linux/patches/3.0.30/usb-defaults-off.patch delete mode 100644 target/linux/patches/3.0.30/uuid.patch delete mode 100644 target/linux/patches/3.0.30/vga-cons-default-off.patch delete mode 100644 target/linux/patches/3.0.30/wlan-cf.patch delete mode 100644 target/linux/patches/3.0.30/x86-build.patch delete mode 100644 target/linux/patches/3.0.30/zlib-inflate.patch create mode 100644 target/linux/patches/3.0.34/brcm.patch create mode 100644 target/linux/patches/3.0.34/bsd-compatibility.patch create mode 100644 target/linux/patches/3.0.34/cris-etrax.patch create mode 100644 target/linux/patches/3.0.34/defaults.patch create mode 100644 target/linux/patches/3.0.34/fon2100.patch create mode 100644 target/linux/patches/3.0.34/gemalto.patch create mode 100644 target/linux/patches/3.0.34/mips-malta.patch create mode 100644 target/linux/patches/3.0.34/mmc-host.patch create mode 100644 target/linux/patches/3.0.34/mtd-rootfs.patch create mode 100644 target/linux/patches/3.0.34/non-static.patch create mode 100644 target/linux/patches/3.0.34/sparc-include.patch create mode 100644 target/linux/patches/3.0.34/startup.patch create mode 100644 target/linux/patches/3.0.34/usb-defaults-off.patch create mode 100644 target/linux/patches/3.0.34/uuid.patch create mode 100644 target/linux/patches/3.0.34/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.0.34/wlan-cf.patch create mode 100644 target/linux/patches/3.0.34/x86-build.patch create mode 100644 target/linux/patches/3.0.34/zlib-inflate.patch delete mode 100644 target/linux/patches/3.2.18/brcm.patch delete mode 100644 target/linux/patches/3.2.18/bsd-compatibility.patch delete mode 100644 target/linux/patches/3.2.18/cris-etrax.patch delete mode 100644 target/linux/patches/3.2.18/defaults.patch delete mode 100644 target/linux/patches/3.2.18/gemalto.patch delete mode 100644 target/linux/patches/3.2.18/mmc-host.patch delete mode 100644 target/linux/patches/3.2.18/non-static.patch delete mode 100644 target/linux/patches/3.2.18/sparc-include.patch delete mode 100644 target/linux/patches/3.2.18/startup.patch delete mode 100644 target/linux/patches/3.2.18/usb-defaults-off.patch delete mode 100644 target/linux/patches/3.2.18/uuid.patch delete mode 100644 target/linux/patches/3.2.18/vga-cons-default-off.patch delete mode 100644 target/linux/patches/3.2.18/wlan-cf.patch delete mode 100644 target/linux/patches/3.2.18/x86-build.patch delete mode 100644 target/linux/patches/3.2.18/zlib-inflate.patch create mode 100644 target/linux/patches/3.2.20/brcm.patch create mode 100644 target/linux/patches/3.2.20/bsd-compatibility.patch create mode 100644 target/linux/patches/3.2.20/cris-etrax.patch create mode 100644 target/linux/patches/3.2.20/defaults.patch create mode 100644 target/linux/patches/3.2.20/gemalto.patch create mode 100644 target/linux/patches/3.2.20/mmc-host.patch create mode 100644 target/linux/patches/3.2.20/non-static.patch create mode 100644 target/linux/patches/3.2.20/sparc-include.patch create mode 100644 target/linux/patches/3.2.20/startup.patch create mode 100644 target/linux/patches/3.2.20/usb-defaults-off.patch create mode 100644 target/linux/patches/3.2.20/uuid.patch create mode 100644 target/linux/patches/3.2.20/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.2.20/wlan-cf.patch create mode 100644 target/linux/patches/3.2.20/x86-build.patch create mode 100644 target/linux/patches/3.2.20/zlib-inflate.patch delete mode 100644 target/linux/patches/3.3.7/bsd-compatibility.patch delete mode 100644 target/linux/patches/3.3.7/cris-etrax.patch delete mode 100644 target/linux/patches/3.3.7/defaults.patch delete mode 100644 target/linux/patches/3.3.7/gemalto.patch delete mode 100644 target/linux/patches/3.3.7/lemote-rfkill.patch delete mode 100644 target/linux/patches/3.3.7/mmc-host.patch delete mode 100644 target/linux/patches/3.3.7/module-alloc-size-check.patch delete mode 100644 target/linux/patches/3.3.7/non-static.patch delete mode 100644 target/linux/patches/3.3.7/sparc-include.patch delete mode 100644 target/linux/patches/3.3.7/startup.patch delete mode 100644 target/linux/patches/3.3.7/usb-defaults-off.patch delete mode 100644 target/linux/patches/3.3.7/uuid.patch delete mode 100644 target/linux/patches/3.3.7/vga-cons-default-off.patch delete mode 100644 target/linux/patches/3.3.7/wlan-cf.patch delete mode 100644 target/linux/patches/3.3.7/x86-build.patch delete mode 100644 target/linux/patches/3.3.7/zlib-inflate.patch create mode 100644 target/linux/patches/3.3.8/bsd-compatibility.patch create mode 100644 target/linux/patches/3.3.8/cris-etrax.patch create mode 100644 target/linux/patches/3.3.8/defaults.patch create mode 100644 target/linux/patches/3.3.8/gemalto.patch create mode 100644 target/linux/patches/3.3.8/lemote-rfkill.patch create mode 100644 target/linux/patches/3.3.8/mmc-host.patch create mode 100644 target/linux/patches/3.3.8/module-alloc-size-check.patch create mode 100644 target/linux/patches/3.3.8/non-static.patch create mode 100644 target/linux/patches/3.3.8/sparc-include.patch create mode 100644 target/linux/patches/3.3.8/startup.patch create mode 100644 target/linux/patches/3.3.8/usb-defaults-off.patch create mode 100644 target/linux/patches/3.3.8/uuid.patch create mode 100644 target/linux/patches/3.3.8/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.3.8/wlan-cf.patch create mode 100644 target/linux/patches/3.3.8/x86-build.patch create mode 100644 target/linux/patches/3.3.8/zlib-inflate.patch create mode 100644 target/linux/patches/3.4.2/bsd-compatibility.patch create mode 100644 target/linux/patches/3.4.2/cris-etrax.patch create mode 100644 target/linux/patches/3.4.2/defaults.patch create mode 100644 target/linux/patches/3.4.2/gemalto.patch create mode 100644 target/linux/patches/3.4.2/lemote-rfkill.patch create mode 100644 target/linux/patches/3.4.2/mmc-host.patch create mode 100644 target/linux/patches/3.4.2/module-alloc-size-check.patch create mode 100644 target/linux/patches/3.4.2/non-static.patch create mode 100644 target/linux/patches/3.4.2/sparc-include.patch create mode 100644 target/linux/patches/3.4.2/startup.patch create mode 100644 target/linux/patches/3.4.2/usb-defaults-off.patch create mode 100644 target/linux/patches/3.4.2/uuid.patch create mode 100644 target/linux/patches/3.4.2/vga-cons-default-off.patch create mode 100644 target/linux/patches/3.4.2/wlan-cf.patch create mode 100644 target/linux/patches/3.4.2/x86-build.patch create mode 100644 target/linux/patches/3.4.2/zlib-inflate.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.30/aufs2.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.30/cleankernel.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.30/etrax-header.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.30/linux-gcc-check.patch delete mode 100644 toolchain/kernel-headers/patches/3.0.30/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.0.34/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.0.34/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.0.34/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.0.34/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.0.34/microperl.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.18/aufs2.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.18/cleankernel.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.18/etrax-header.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.18/linux-gcc-check.patch delete mode 100644 toolchain/kernel-headers/patches/3.2.18/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.2.20/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.2.20/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.2.20/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.2.20/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.2.20/microperl.patch delete mode 100644 toolchain/kernel-headers/patches/3.3.7/aufs2.patch delete mode 100644 toolchain/kernel-headers/patches/3.3.7/cleankernel.patch delete mode 100644 toolchain/kernel-headers/patches/3.3.7/etrax-header.patch delete mode 100644 toolchain/kernel-headers/patches/3.3.7/linux-gcc-check.patch delete mode 100644 toolchain/kernel-headers/patches/3.3.7/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.3.8/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.3.8/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.3.8/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.3.8/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.3.8/microperl.patch create mode 100644 toolchain/kernel-headers/patches/3.4.2/aufs2.patch create mode 100644 toolchain/kernel-headers/patches/3.4.2/cleankernel.patch create mode 100644 toolchain/kernel-headers/patches/3.4.2/etrax-header.patch create mode 100644 toolchain/kernel-headers/patches/3.4.2/linux-gcc-check.patch create mode 100644 toolchain/kernel-headers/patches/3.4.2/microperl.patch diff --git a/Config.in b/Config.in index 1ed2cb0ab..8c9b18269 100644 --- a/Config.in +++ b/Config.in @@ -106,20 +106,24 @@ depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_ choice prompt "Kernel Version" -config ADK_KERNEL_VERSION_3_3_7 - prompt "3.3.7" +config ADK_KERNEL_VERSION_3_4_2 + prompt "3.4.2" boolean -config ADK_KERNEL_VERSION_3_2_18 - prompt "3.2.18" +config ADK_KERNEL_VERSION_3_3_8 + prompt "3.3.8" + boolean + +config ADK_KERNEL_VERSION_3_2_20 + prompt "3.2.20" boolean config ADK_KERNEL_VERSION_3_1_10 prompt "3.1.10" boolean -config ADK_KERNEL_VERSION_3_0_30 - prompt "3.0.30" +config ADK_KERNEL_VERSION_3_0_34 + prompt "3.0.34" boolean config ADK_KERNEL_VERSION_2_6_39_4 @@ -130,10 +134,11 @@ endchoice config ADK_KERNEL_VERSION string - default "3.3.7" if ADK_KERNEL_VERSION_3_3_7 - default "3.2.18" if ADK_KERNEL_VERSION_3_2_18 + default "3.4.2" if ADK_KERNEL_VERSION_3_4_2 + default "3.3.8" if ADK_KERNEL_VERSION_3_3_8 + default "3.2.20" if ADK_KERNEL_VERSION_3_2_20 default "3.1.10" if ADK_KERNEL_VERSION_3_1_10 - default "3.0.30" if ADK_KERNEL_VERSION_3_0_30 + default "3.0.34" if ADK_KERNEL_VERSION_3_0_34 default "2.6.39.4" if ADK_KERNEL_VERSION_2_6_39_4 help diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index 4391f2b99..71a2fd8f2 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -10,11 +10,11 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 KERNEL_MD5SUM:= a17c748c2070168f1e784e9605ca043d endif -ifeq ($(ADK_KERNEL_VERSION_3_0_30),y) -KERNEL_VERSION:= 3.0.30 +ifeq ($(ADK_KERNEL_VERSION_3_0_34),y) +KERNEL_VERSION:= 3.0.34 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= fbd04e3f1060dc71ebbf0cb644ae1573 +KERNEL_MD5SUM:= 3036f69e292d3ce0f7b765a278b12e64 endif ifeq ($(ADK_KERNEL_VERSION_3_1_10),y) KERNEL_VERSION:= 3.1.10 @@ -22,15 +22,21 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 KERNEL_MD5SUM:= 3649bdaa50ffd9114cc16486ec54d83a endif -ifeq ($(ADK_KERNEL_VERSION_3_2_18),y) -KERNEL_VERSION:= 3.2.18 +ifeq ($(ADK_KERNEL_VERSION_3_2_20),y) +KERNEL_VERSION:= 3.2.20 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 0beee8d5b887ce4c20121a8bb816bfcf +KERNEL_MD5SUM:= bd0063a747c3ea0ecdcc85a512d9760a endif -ifeq ($(ADK_KERNEL_VERSION_3_3_7),y) -KERNEL_VERSION:= 3.3.7 +ifeq ($(ADK_KERNEL_VERSION_3_3_8),y) +KERNEL_VERSION:= 3.3.8 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 6709647a7576c9e21b082f4d3d7a94cf +KERNEL_MD5SUM:= 21068f0fd262b9b3670947f7892e1d6b +endif +ifeq ($(ADK_KERNEL_VERSION_3_4_2),y) +KERNEL_VERSION:= 3.4.2 +KERNEL_MOD_VERSION:= $(KERNEL_VERSION) +KERNEL_RELEASE:= 1 +KERNEL_MD5SUM:= 8260d881daa5ce4ce9ed1464beea41f7 endif diff --git a/target/linux/patches/3.0.30/brcm.patch b/target/linux/patches/3.0.30/brcm.patch deleted file mode 100644 index 548d26068..000000000 --- a/target/linux/patches/3.0.30/brcm.patch +++ /dev/null @@ -1,465 +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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:37:43.000000000 +0200 -@@ -44,6 +44,7 @@ - tool_$(CONFIG_KERNEL_BZIP2) = bzip2 - tool_$(CONFIG_KERNEL_LZMA) = lzma - tool_$(CONFIG_KERNEL_LZO) = lzo -+tool_$(CONFIG_KERNEL_XZ) = xzkern - - targets += vmlinux.bin.z - $(obj)/vmlinux.bin.z: $(obj)/vmlinux.bin FORCE -@@ -58,8 +59,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 +111,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/decompress.c linux-2.6.39.4/arch/mips/boot/compressed/decompress.c ---- linux-2.6.39.4.orig/arch/mips/boot/compressed/decompress.c 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/arch/mips/boot/compressed/decompress.c 2012-06-02 20:39:09.000000000 +0200 -@@ -43,7 +43,7 @@ - /* activate the code for pre-boot environment */ - #define STATIC static - --#ifdef CONFIG_KERNEL_GZIP -+#if defined(CONFIG_KERNEL_GZIP) || defined(CONFIG_KERNEL_XZ) - void *memcpy(void *dest, const void *src, size_t n) - { - int i; -@@ -54,6 +54,8 @@ - d[i] = s[i]; - return dest; - } -+#endif -+#ifdef CONFIG_KERNEL_GZIP - #include "../../../../lib/decompress_inflate.c" - #endif - -@@ -78,6 +80,10 @@ - #include "../../../../lib/decompress_unlzo.c" - #endif - -+#ifdef CONFIG_KERNEL_XZ -+#include "../../../../lib/decompress_unxz.c" -+#endif -+ - void decompress_kernel(unsigned long boot_heap_start) - { - unsigned long zimage_start, zimage_size; -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:35:49.000000000 +0200 -@@ -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-06-02 20:36:11.000000000 +0200 -@@ -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 -@@ -182,6 +185,7 @@ - config KERNEL_XZ - bool "XZ" - depends on HAVE_KERNEL_XZ -+ select DECOMPRESS_XZ - help - XZ uses the LZMA2 algorithm and instruction set specific - BCJ filters which can improve compression ratio of executable -@@ -197,6 +201,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 -Nur linux-2.6.39.4.orig/lib/xz/xz_stream.h linux-2.6.39.4/lib/xz/xz_stream.h ---- linux-2.6.39.4.orig/lib/xz/xz_stream.h 2011-08-03 21:43:28.000000000 +0200 -+++ linux-2.6.39.4/lib/xz/xz_stream.h 2012-06-02 20:40:18.000000000 +0200 -@@ -40,7 +40,12 @@ - * compressed size of the file to less than 256 MiB and may also weaken - * error detection slightly. - */ -+ -+#ifdef __mips__ -+typedef uint32_t vli_type; -+#else - typedef uint64_t vli_type; -+#endif - - #define VLI_MAX ((vli_type)-1 / 2) - #define VLI_UNKNOWN ((vli_type)-1) diff --git a/target/linux/patches/3.0.30/bsd-compatibility.patch b/target/linux/patches/3.0.30/bsd-compatibility.patch deleted file mode 100644 index 9e91a62de..000000000 --- a/target/linux/patches/3.0.30/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 -+{