summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-04-02 07:37:27 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-04-02 07:37:27 +0200
commit7236e468162b3af51c0acecad10fbef1838c06ad (patch)
tree9c8027cf769aaa7ef7f0a6330b34d7666238b920
parenta691abc857458de0023f5e532feee866af0218ed (diff)
parent309f13ab6858e1c1639814e210a6c86380ca717b (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
-rw-r--r--.gitignore49
-rw-r--r--BUGS2
-rw-r--r--Config.in37
-rw-r--r--Makefile8
-rw-r--r--README4
-rw-r--r--TODO22
-rw-r--r--adk/config/Config.in (renamed from config/Config.in)0
-rw-r--r--adk/config/Kconfig-language.txt (renamed from config/Kconfig-language.txt)0
-rw-r--r--adk/config/Makefile (renamed from config/Makefile)0
-rw-r--r--adk/config/Makefile.in (renamed from config/Makefile.in)0
-rwxr-xr-xadk/config/check.sh (renamed from config/check.sh)0
-rw-r--r--adk/config/conf.c (renamed from config/conf.c)0
-rw-r--r--adk/config/confdata.c (renamed from config/confdata.c)0
-rw-r--r--adk/config/expr.c (renamed from config/expr.c)0
-rw-r--r--adk/config/expr.h (renamed from config/expr.h)0
-rw-r--r--adk/config/gconf.c (renamed from config/gconf.c)0
-rw-r--r--adk/config/gconf.glade (renamed from config/gconf.glade)0
-rw-r--r--adk/config/images.c (renamed from config/images.c)0
-rw-r--r--adk/config/kconfig_load.c (renamed from config/kconfig_load.c)0
-rw-r--r--adk/config/kxgettext.c (renamed from config/kxgettext.c)0
-rw-r--r--adk/config/lex.zconf.c_shipped (renamed from config/lex.zconf.c_shipped)0
-rw-r--r--adk/config/lkc.h (renamed from config/lkc.h)0
-rw-r--r--adk/config/lkc_proto.h (renamed from config/lkc_proto.h)0
-rw-r--r--adk/config/lxdialog/.gitignore (renamed from config/lxdialog/.gitignore)0
-rw-r--r--adk/config/lxdialog/BIG.FAT.WARNING (renamed from config/lxdialog/BIG.FAT.WARNING)0
-rw-r--r--adk/config/lxdialog/check-lxdialog.sh (renamed from config/lxdialog/check-lxdialog.sh)0
-rw-r--r--adk/config/lxdialog/checklist.c (renamed from config/lxdialog/checklist.c)0
-rw-r--r--adk/config/lxdialog/dialog.h (renamed from config/lxdialog/dialog.h)0
-rw-r--r--adk/config/lxdialog/inputbox.c (renamed from config/lxdialog/inputbox.c)0
-rw-r--r--adk/config/lxdialog/menubox.c (renamed from config/lxdialog/menubox.c)0
-rw-r--r--adk/config/lxdialog/textbox.c (renamed from config/lxdialog/textbox.c)0
-rw-r--r--adk/config/lxdialog/util.c (renamed from config/lxdialog/util.c)0
-rw-r--r--adk/config/lxdialog/yesno.c (renamed from config/lxdialog/yesno.c)0
-rw-r--r--adk/config/mconf.c (renamed from config/mconf.c)0
-rw-r--r--adk/config/menu.c (renamed from config/menu.c)0
-rw-r--r--adk/config/symbol.c (renamed from config/symbol.c)0
-rw-r--r--adk/config/util.c (renamed from config/util.c)0
-rw-r--r--adk/config/zconf.gperf (renamed from config/zconf.gperf)0
-rw-r--r--adk/config/zconf.hash.c_shipped (renamed from config/zconf.hash.c_shipped)0
-rw-r--r--adk/config/zconf.l (renamed from config/zconf.l)0
-rw-r--r--adk/config/zconf.tab.c_shipped (renamed from config/zconf.tab.c_shipped)0
-rw-r--r--adk/config/zconf.tab.h_shipped (renamed from config/zconf.tab.h_shipped)0
-rw-r--r--adk/config/zconf.y (renamed from config/zconf.y)0
-rw-r--r--adk/tests/adk.exp.in (renamed from tests/adk.exp.in)0
-rw-r--r--adk/tests/master.exp.in (renamed from tests/master.exp.in)0
-rw-r--r--adk/tools/Makefile (renamed from tools/adk/Makefile)0
-rw-r--r--adk/tools/depmaker.c (renamed from tools/adk/depmaker.c)38
-rw-r--r--adk/tools/pkgmaker.c (renamed from tools/adk/pkgmaker.c)0
-rw-r--r--adk/tools/pkgrebuild.c (renamed from tools/adk/pkgrebuild.c)0
-rw-r--r--adk/tools/sortfile.c (renamed from tools/adk/sortfile.c)0
-rw-r--r--adk/tools/sortfile.h (renamed from tools/adk/sortfile.h)0
-rw-r--r--adk/tools/strmap.c (renamed from tools/adk/strmap.c)0
-rw-r--r--adk/tools/strmap.h (renamed from tools/adk/strmap.h)0
-rw-r--r--docs/Makefile24
-rw-r--r--docs/adding-packages-auto.txt71
-rw-r--r--docs/adding-packages-conclusion.txt13
-rw-r--r--docs/adding-packages-directory.txt57
-rw-r--r--docs/adding-packages-hooks.txt31
-rw-r--r--docs/adding-packages-host.txt86
-rw-r--r--docs/adding-packages-manual.txt83
-rw-r--r--docs/adding-packages.txt25
-rw-r--r--docs/advanced.txt15
-rw-r--r--docs/appendix.txt8
-rw-r--r--docs/ccache-support.txt21
-rw-r--r--docs/common-usage.txt87
-rw-r--r--docs/configure.txt68
-rw-r--r--docs/contribute.txt88
-rw-r--r--docs/customize-busybox-config.txt20
-rw-r--r--docs/customize-kernel-config.txt48
-rw-r--r--docs/customize-libc-config.txt33
-rw-r--r--docs/customize-outside-adk.txt154
-rw-r--r--docs/customize-rootfs.txt23
-rw-r--r--docs/customize-store.txt14
-rw-r--r--docs/customize-toolchain.txt23
-rw-r--r--docs/customize.txt19
-rw-r--r--docs/debugging-openadk.txt29
-rw-r--r--docs/developer-guide.txt13
-rw-r--r--docs/download-location.txt26
-rw-r--r--docs/faq-troubleshooting.txt58
-rw-r--r--docs/getting.txt24
-rw-r--r--docs/going-further.txt9
-rw-r--r--docs/how-openadk-works.txt73
-rw-r--r--docs/images/menuconfig-configured.pngbin0 -> 341555 bytes
-rw-r--r--docs/images/menuconfig.pngbin0 -> 271731 bytes
-rw-r--r--docs/introduction.txt32
-rw-r--r--docs/legal-notice.txt51
-rw-r--r--docs/make-tips.txt94
-rw-r--r--docs/manual.txt33
-rw-r--r--docs/network-configuration.txt182
-rw-r--r--docs/package-make-target.txt52
-rw-r--r--docs/package-reference.txt135
-rw-r--r--docs/patch-policy.txt90
-rw-r--r--docs/prerequisite.txt51
-rw-r--r--docs/qemu.txt1
-rw-r--r--docs/running-openadk.txt178
-rw-r--r--docs/runtime-debugging.txt22
-rw-r--r--docs/starting-up.txt12
-rw-r--r--docs/using-openadk-development.txt62
-rw-r--r--docs/using-openadk-toolchain.txt19
-rw-r--r--docs/using.txt102
-rw-r--r--docs/working-with.txt25
-rw-r--r--docs/writing-rules.txt91
-rw-r--r--mk/build.mk174
-rw-r--r--mk/buildhlp.mk4
-rw-r--r--mk/fetch.mk1
-rw-r--r--mk/host-bottom.mk20
-rw-r--r--mk/host.mk13
-rw-r--r--mk/image.mk41
-rw-r--r--mk/kernel-build.mk12
-rw-r--r--mk/kernel-vars.mk31
-rw-r--r--mk/kernel-ver.mk28
-rw-r--r--mk/mirrors.mk13
-rw-r--r--mk/modules.mk17
-rw-r--r--mk/package.mk6
-rw-r--r--mk/pkg-bottom.mk2
-rw-r--r--mk/rootfs.mk13
-rw-r--r--mk/vars.mk80
-rw-r--r--package/Makefile2
-rw-r--r--package/MesaLib/Makefile17
-rw-r--r--package/MesaLib/patches/patch-configure_ac6
-rw-r--r--package/MesaLib/patches/patch-include_c11_threads_posix_h11
-rw-r--r--package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h6
-rw-r--r--package/MesaLib/patches/patch-src_mesa_main_querymatrix_c6
-rw-r--r--package/adk-helper/Makefile33
-rw-r--r--package/adk-helper/src/dkgetsz.c (renamed from tools/adk/dkgetsz.c)0
-rw-r--r--package/adk-helper/src/mkcrypt.c (renamed from tools/mkcrypt/mkcrypt.c)0
-rw-r--r--package/adk-test-tools/Makefile2
-rwxr-xr-xpackage/adk-test-tools/files/test.init9
-rw-r--r--package/aiccu/Makefile4
-rw-r--r--package/aiccu/patches/patch-common_common_h12
-rw-r--r--package/aiccu/src/common/dn_skipname.c10
-rw-r--r--package/arpd/Makefile2
-rw-r--r--package/arpd/patches/patch-arpd_c29
-rw-r--r--package/asterisk/Makefile2
-rw-r--r--package/atftp/Makefile2
-rw-r--r--package/base-files/Makefile66
-rw-r--r--package/base-files/files/inittab.serial2
-rw-r--r--package/base-files/files/inittab.shell1
-rw-r--r--package/base-files/src/etc/fstab2
-rw-r--r--package/base-files/src/etc/init.d/boot3
-rw-r--r--package/base-files/src/etc/init.d/fs49
-rw-r--r--package/base-files/src/etc/init.d/fsnet49
-rwxr-xr-xpackage/base-files/src/etc/init.d/rcK11
-rwxr-xr-xpackage/base-files/src/etc/init.d/rcS4
-rw-r--r--package/base-files/src/etc/inittab2
-rw-r--r--package/base-files/src/etc/ipkg.conf2
-rw-r--r--package/base-files/src/etc/mdev.conf1
-rw-r--r--package/base-files/src/etc/profile2
-rw-r--r--package/base-files/src/etc/rc.shutdown2
-rwxr-xr-xpackage/base-files/src/init7
-rw-r--r--package/base-files/src/lib/mdev/init27
-rwxr-xr-xpackage/base-files/src/usr/share/udhcpc/default.script4
-rw-r--r--package/bash/Makefile6
-rw-r--r--package/bash/patches/patch-Makefile_in13
-rw-r--r--package/bash/patches/patch-builtins_Makefile_in11
-rw-r--r--package/bc/Makefile7
-rw-r--r--package/bcm2835-bootloader/Makefile6
-rw-r--r--package/bcm2835-vc/Makefile11
-rw-r--r--package/binutils/Makefile10
-rw-r--r--package/bison/Makefile9
-rw-r--r--package/boost/Makefile4
-rw-r--r--package/busybox/Makefile1
-rw-r--r--package/busybox/config/Config.in1
-rw-r--r--package/busybox/config/util-linux/Config.in2
-rw-r--r--package/bzip2/Makefile11
-rw-r--r--package/ccache/Makefile24
-rw-r--r--package/cdrtools/Makefile31
-rw-r--r--package/cfgfs/Makefile4
-rw-r--r--package/check/Makefile26
-rw-r--r--package/cryptodev-linux/Makefile4
-rw-r--r--package/curl/Makefile2
-rw-r--r--package/dbus-python/Makefile2
-rw-r--r--package/dosfstools/Makefile2
-rw-r--r--package/dosfstools/patches/patch-src_boot_c77
-rw-r--r--package/dosfstools/patches/patch-src_boot_h11
-rw-r--r--package/dosfstools/patches/patch-src_check_c49
-rw-r--r--package/dosfstools/patches/patch-src_check_h11
-rw-r--r--package/dosfstools/patches/patch-src_fat_c32
-rw-r--r--package/dosfstools/patches/patch-src_fat_h11
-rw-r--r--package/dosfstools/patches/patch-src_fatlabel_c11
-rw-r--r--package/dosfstools/patches/patch-src_fsck_fat_h38
-rw-r--r--package/dosfstools/patches/patch-src_io_c59
-rw-r--r--package/dosfstools/patches/patch-src_io_h35
-rw-r--r--package/dosfstools/patches/patch-src_lfn_c74
-rw-r--r--package/dosfstools/patches/patch-src_lfn_h20
-rw-r--r--package/dosfstools/patches/patch-src_mkfs_fat_c56
-rw-r--r--package/dovecot/Makefile30
-rw-r--r--package/dovecot/patches/patch-ltmain_sh11
-rw-r--r--package/dri2proto/Makefile6
-rw-r--r--package/dri3proto/Makefile19
-rw-r--r--package/ebtables/Makefile2
-rw-r--r--package/ebtables/patches/patch-Makefile6
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_among_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_arpreply_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_ip6_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_limit_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_nat_c10
-rw-r--r--package/ebtables/patches/patch-include_ethernetdb_h29
-rw-r--r--package/ebtables/patches/patch-useful_functions_c10
-rw-r--r--package/ethtool/Makefile12
-rw-r--r--package/ethtool/patches/patch-internal_h33
-rw-r--r--package/eudev/Makefile26
-rw-r--r--package/eudev/patches/patch-rule_generator_write_cd_rules11
-rw-r--r--package/eudev/patches/patch-rule_generator_write_net_rules11
-rw-r--r--package/eudev/patches/patch-src_accelerometer_accelerometer_c13
-rw-r--r--package/eudev/patches/patch-src_accelerometer_accelerometer_c.orig13
-rw-r--r--package/eudev/patches/patch-src_ata_id_ata_id_c11
-rw-r--r--package/eudev/patches/patch-src_ata_id_ata_id_c.orig13
-rw-r--r--package/eudev/patches/patch-src_collect_collect_c11
-rw-r--r--package/eudev/patches/patch-src_mtd_probe_mtd_probe_c11
-rw-r--r--package/eudev/patches/patch-src_scsi_id_scsi_serial_c11
-rw-r--r--package/exmap/Makefile31
-rw-r--r--package/fbsplash/Makefile28
-rw-r--r--package/feh/Makefile4
-rw-r--r--package/fetchmail/Makefile4
-rw-r--r--package/findutils/Makefile32
-rw-r--r--package/findutils/patches/patch-configure_ac11
-rw-r--r--package/findutils/patches/patch-gnulib_lib_freadahead_c15
-rw-r--r--package/findutils/patches/patch-gnulib_lib_freadahead_h24
-rw-r--r--package/findutils/patches/patch-gnulib_lib_fseeko_c18
-rw-r--r--package/findutils/patches/patch-gnulib_m4_fflush_m425
-rw-r--r--package/firefox/Makefile2
-rw-r--r--package/firefox/patches/patch-media_mtransport_third_party_nICEr_src_stun_addrs_c16
-rw-r--r--package/firefox/patches/patch-media_webrtc_trunk_webrtc_system_wrappers_source_cpu_info_cc6
-rw-r--r--package/firefox/patches/patch-netwerk_sctp_src_user_environment_c14
-rw-r--r--package/fping/Makefile14
-rw-r--r--package/freetype/Makefile14
-rw-r--r--package/gcc/Makefile2
-rw-r--r--package/gdb/Makefile25
-rw-r--r--package/gdb/patches/microblaze.patch1842
-rw-r--r--package/genext2fs/Makefile24
-rw-r--r--package/gkrellm/Makefile6
-rw-r--r--package/gkrellm/patches/patch-server_Makefile30
-rw-r--r--package/gkrellm/patches/patch-server_main_c24
-rw-r--r--package/gkrellm/patches/patch-server_sysdeps-unix_c10
-rw-r--r--package/glib/Makefile9
-rw-r--r--package/glibc/Makefile2
-rw-r--r--package/glproto/Makefile4
-rw-r--r--package/gnutls/Makefile5
-rw-r--r--package/gpsd/Makefile4
-rw-r--r--package/gpsd/patches/patch-gpsmon_c13
-rw-r--r--package/grub-bin/Makefile1
-rw-r--r--package/hdparm/Makefile2
-rw-r--r--package/heirloom-cpio/Makefile32
-rw-r--r--package/heirloom-cpio/src/Makefile28
-rw-r--r--package/heirloom-cpio/src/_alloca.h (renamed from tools/cpio/src/_alloca.h)0
-rw-r--r--package/heirloom-cpio/src/_malloc.h (renamed from tools/cpio/src/_malloc.h)0
-rw-r--r--package/heirloom-cpio/src/_utmpx.h (renamed from tools/cpio/src/_utmpx.h)0
-rw-r--r--package/heirloom-cpio/src/asciitype.c (renamed from tools/cpio/src/asciitype.c)0
-rw-r--r--package/heirloom-cpio/src/asciitype.h (renamed from tools/cpio/src/asciitype.h)0
-rw-r--r--package/heirloom-cpio/src/atoll.h (renamed from tools/cpio/src/atoll.h)0
-rw-r--r--package/heirloom-cpio/src/blank.h (renamed from tools/cpio/src/blank.h)0
-rw-r--r--package/heirloom-cpio/src/blast.c (renamed from tools/cpio/src/blast.c)0
-rw-r--r--package/heirloom-cpio/src/blast.h (renamed from tools/cpio/src/blast.h)0
-rw-r--r--package/heirloom-cpio/src/cpio.1 (renamed from tools/cpio/src/cpio.1)0
-rw-r--r--package/heirloom-cpio/src/cpio.c (renamed from tools/cpio/src/cpio.c)0
-rw-r--r--package/heirloom-cpio/src/cpio.h (renamed from tools/cpio/src/cpio.h)0
-rw-r--r--package/heirloom-cpio/src/crc32.c (renamed from tools/cpio/src/crc32.c)0
-rw-r--r--package/heirloom-cpio/src/expand.c (renamed from tools/cpio/src/expand.c)0
-rw-r--r--package/heirloom-cpio/src/explode.c (renamed from tools/cpio/src/explode.c)0
-rw-r--r--package/heirloom-cpio/src/flags.c (renamed from tools/cpio/src/flags.c)0
-rw-r--r--package/heirloom-cpio/src/getdir.c (renamed from tools/cpio/src/getdir.c)0
-rw-r--r--package/heirloom-cpio/src/getdir.h (renamed from tools/cpio/src/getdir.h)0
-rw-r--r--package/heirloom-cpio/src/getopt.c (renamed from tools/cpio/src/getopt.c)0
-rw-r--r--package/heirloom-cpio/src/gmatch.c (renamed from tools/cpio/src/gmatch.c)0
-rw-r--r--package/heirloom-cpio/src/ib_alloc.c (renamed from tools/cpio/src/ib_alloc.c)0
-rw-r--r--package/heirloom-cpio/src/ib_close.c (renamed from tools/cpio/src/ib_close.c)0
-rw-r--r--package/heirloom-cpio/src/ib_free.c (renamed from tools/cpio/src/ib_free.c)0
-rw-r--r--package/heirloom-cpio/src/ib_getlin.c (renamed from tools/cpio/src/ib_getlin.c)0
-rw-r--r--package/heirloom-cpio/src/ib_getw.c (renamed from tools/cpio/src/ib_getw.c)0
-rw-r--r--package/heirloom-cpio/src/ib_open.c (renamed from tools/cpio/src/ib_open.c)0
-rw-r--r--package/heirloom-cpio/src/ib_popen.c (renamed from tools/cpio/src/ib_popen.c)0
-rw-r--r--package/heirloom-cpio/src/ib_read.c (renamed from tools/cpio/src/ib_read.c)0
-rw-r--r--package/heirloom-cpio/src/ib_seek.c (renamed from tools/cpio/src/ib_seek.c)0
-rw-r--r--package/heirloom-cpio/src/iblok.h (renamed from tools/cpio/src/iblok.h)0
-rw-r--r--package/heirloom-cpio/src/inflate.c (renamed from tools/cpio/src/inflate.c)0
-rw-r--r--package/heirloom-cpio/src/mbtowi.h (renamed from tools/cpio/src/mbtowi.h)0
-rw-r--r--package/heirloom-cpio/src/memalign.c (renamed from tools/cpio/src/memalign.c)0
-rw-r--r--package/heirloom-cpio/src/memalign.h (renamed from tools/cpio/src/memalign.h)0
-rw-r--r--package/heirloom-cpio/src/msgselect.h (renamed from tools/cpio/src/msgselect.h)0
-rw-r--r--package/heirloom-cpio/src/nonpax.c (renamed from tools/cpio/src/nonpax.c)0
-rw-r--r--package/heirloom-cpio/src/oblok.c (renamed from tools/cpio/src/oblok.c)0
-rw-r--r--package/heirloom-cpio/src/oblok.h (renamed from tools/cpio/src/oblok.h)0
-rw-r--r--package/heirloom-cpio/src/pathconf.c (renamed from tools/cpio/src/pathconf.c)0
-rw-r--r--package/heirloom-cpio/src/pathconf.h (renamed from tools/cpio/src/pathconf.h)0
-rw-r--r--package/heirloom-cpio/src/pax.1 (renamed from tools/cpio/src/pax.1)0
-rw-r--r--package/heirloom-cpio/src/pax.c (renamed from tools/cpio/src/pax.c)0
-rw-r--r--package/heirloom-cpio/src/pfmt.c (renamed from tools/cpio/src/pfmt.c)0
-rw-r--r--package/heirloom-cpio/src/pfmt.h (renamed from tools/cpio/src/pfmt.h)0
-rw-r--r--package/heirloom-cpio/src/pfmt_label.c (renamed from tools/cpio/src/pfmt_label.c)0
-rw-r--r--package/heirloom-cpio/src/regexp.h (renamed from tools/cpio/src/regexp.h)0
-rw-r--r--package/heirloom-cpio/src/regexpr.c (renamed from tools/cpio/src/regexpr.c)0
-rw-r--r--package/heirloom-cpio/src/regexpr.h (renamed from tools/cpio/src/regexpr.h)0
-rw-r--r--package/heirloom-cpio/src/setlabel.c (renamed from tools/cpio/src/setlabel.c)0
-rw-r--r--package/heirloom-cpio/src/setuxlabel.c (renamed from tools/cpio/src/setuxlabel.c)0
-rw-r--r--package/heirloom-cpio/src/sfile.c (renamed from tools/cpio/src/sfile.c)0
-rw-r--r--package/heirloom-cpio/src/sfile.h (renamed from tools/cpio/src/sfile.h)0
-rw-r--r--package/heirloom-cpio/src/sighold.c (renamed from tools/cpio/src/sighold.c)0
-rw-r--r--package/heirloom-cpio/src/sigignore.c (renamed from tools/cpio/src/sigignore.c)0
-rw-r--r--package/heirloom-cpio/src/signal.c (renamed from tools/cpio/src/signal.c)0
-rw-r--r--package/heirloom-cpio/src/sigpause.c (renamed from tools/cpio/src/sigpause.c)0
-rw-r--r--package/heirloom-cpio/src/sigrelse.c (renamed from tools/cpio/src/sigrelse.c)0
-rw-r--r--package/heirloom-cpio/src/sigset.c (renamed from tools/cpio/src/sigset.c)0
-rw-r--r--package/heirloom-cpio/src/sigset.h (renamed from tools/cpio/src/sigset.h)0
-rw-r--r--package/heirloom-cpio/src/strtol.c (renamed from tools/cpio/src/strtol.c)0
-rw-r--r--package/heirloom-cpio/src/unshrink.c (renamed from tools/cpio/src/unshrink.c)0
-rw-r--r--package/heirloom-cpio/src/unzip.h (renamed from tools/cpio/src/unzip.h)0
-rw-r--r--package/heirloom-cpio/src/utmpx.c (renamed from tools/cpio/src/utmpx.c)0
-rw-r--r--package/heirloom-cpio/src/version.c (renamed from tools/cpio/src/version.c)0
-rw-r--r--package/heirloom-cpio/src/vpfmt.c (renamed from tools/cpio/src/vpfmt.c)0
-rw-r--r--package/hostapd/Makefile2
-rw-r--r--package/igmpproxy/patches/patch-src_igmpproxy_h10
-rw-r--r--package/inputproto/Makefile4
-rw-r--r--package/ipcad/Makefile2
-rw-r--r--package/ipcad/patches/patch-Makefile169
-rw-r--r--package/ipcad/patches/patch-Makefile_in11
-rw-r--r--package/ipcad/patches/patch-cfg_y60
-rw-r--r--package/iptables-snmp/Makefile2
-rw-r--r--package/iptables/Makefile2
-rw-r--r--package/iptables/patches/patch-include_linux_netfilter_xt_osf_h12
-rw-r--r--package/kbd/Makefile13
-rw-r--r--package/kbd/patches/patch-src_dumpkeys_c11
-rw-r--r--package/kbd/patches/patch-src_kbdinfo_c46
-rw-r--r--package/kbd/patches/patch-src_kbdrate_c10
-rw-r--r--package/kbd/patches/patch-src_libkeymap_analyze_l11
-rw-r--r--package/kbd/patches/patch-src_libkeymap_common_c8
-rw-r--r--package/kbd/patches/patch-src_libkeymap_dump_c12
-rw-r--r--package/kbd/patches/patch-src_libkeymap_kernel_c13
-rw-r--r--package/kbd/patches/patch-src_libkeymap_kmap_c10
-rw-r--r--package/kbd/patches/patch-src_libkeymap_ksyms_c8
-rw-r--r--package/kbd/patches/patch-src_libkeymap_loadkeys_c8
-rw-r--r--package/kbd/patches/patch-src_libkeymap_parser_y11
-rw-r--r--package/kbd/patches/patch-src_libkeymap_summary_c13
-rw-r--r--package/kbd/patches/patch-src_loadkeys_c10
-rw-r--r--package/kbd/patches/patch-src_openvt_c8
-rw-r--r--package/kbd/patches/patch-src_setvtrgb_c70
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-bkeymap_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-charset_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-dumpkeys_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-init_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-keys_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-kmap_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-mktable_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-parse_c7
-rw-r--r--package/kbd/patches/patch-tests_libkeymap-showmaps_c7
-rw-r--r--package/kexec-tools/Makefile2
-rw-r--r--package/kexec-tools/patches/patch-kexec_kexec_c6
-rw-r--r--package/kexec-tools/patches/patch-vmcore-dmesg_vmcore-dmesg_c41
-rw-r--r--package/libdrm/Makefile6
-rw-r--r--package/libffi/Makefile1
-rw-r--r--package/liblzo/Makefile1
-rw-r--r--package/libmodplug/Makefile8
-rw-r--r--package/libnetfilter_queue/Makefile2
-rw-r--r--package/libpciaccess/Makefile6
-rw-r--r--package/libpciaccess/patches/patch-src_freebsd_pci_c18
-rw-r--r--package/libpciaccess/patches/patch-src_linux_sysfs_c139
-rw-r--r--package/libpciaccess/patches/patch-src_netbsd_pci_c18
-rw-r--r--package/libpciaccess/patches/patch-src_openbsd_pci_c26
-rw-r--r--package/libpciaccess/patches/patch-src_pciaccess_private_h10
-rw-r--r--package/libpciaccess/patches/patch-src_solx_devfs_c10
-rw-r--r--package/libpciaccess/patches/patch-src_x86_pci_c10
-rw-r--r--package/libpng/Makefile8
-rw-r--r--package/libpthread/Makefile1
-rw-r--r--package/libpthread/files/libpthread.postinst4
-rw-r--r--package/libssh/Makefile10
-rw-r--r--package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake12
-rw-r--r--package/libssh/patches/patch-cmake_Modules_FindZLIB_cmake8
-rw-r--r--package/libssh/patches/patch-include_libssh_libssh_h6
-rw-r--r--package/libthread_db/Makefile2
-rw-r--r--package/libtirpc/Makefile4
-rw-r--r--package/libtirpc/patches/patch-src_auth_des_c18
-rw-r--r--package/libtirpc/patches/patch-src_auth_none_c10
-rw-r--r--package/libtirpc/patches/patch-src_auth_time_c18
-rw-r--r--package/libtirpc/patches/patch-src_auth_unix_c10
-rw-r--r--package/libtirpc/patches/patch-src_authdes_prot_c7
-rw-r--r--package/libtirpc/patches/patch-src_authunix_prot_c10
-rw-r--r--package/libtirpc/patches/patch-src_bindresvport_c18
-rw-r--r--package/libtirpc/patches/patch-src_clnt_bcast_c22
-rw-r--r--package/libtirpc/patches/patch-src_clnt_perror_c10
-rw-r--r--package/libtirpc/patches/patch-src_clnt_simple_c10
-rw-r--r--package/libtirpc/patches/patch-src_crypt_client_c10
-rw-r--r--package/libtirpc/patches/patch-src_des_crypt_c10
-rw-r--r--package/libtirpc/patches/patch-src_des_soft_c9
-rw-r--r--package/libtirpc/patches/patch-src_getnetconfig_c10
-rw-r--r--package/libtirpc/patches/patch-src_getnetpath_c16
-rw-r--r--package/libtirpc/patches/patch-src_getpeereid_c10
-rw-r--r--package/libtirpc/patches/patch-src_getpublickey_c10
-rw-r--r--package/libtirpc/patches/patch-src_key_call_c10
-rw-r--r--package/libtirpc/patches/patch-src_key_prot_xdr_c10
-rw-r--r--package/libtirpc/patches/patch-src_mt_misc_c8
-rw-r--r--package/libtirpc/patches/patch-src_pmap_clnt_c10
-rw-r--r--package/libtirpc/patches/patch-src_pmap_getmaps_c10
-rw-r--r--package/libtirpc/patches/patch-src_rpc_com_h31
-rw-r--r--package/libtirpc/patches/patch-src_rpc_generic_c10
-rw-r--r--package/libtirpc/patches/patch-src_rpcb_st_xdr_c10
-rw-r--r--package/libtirpc/patches/patch-src_rpcdname_c10
-rw-r--r--package/libtirpc/patches/patch-src_svc_dg_c10
-rw-r--r--package/libtirpc/patches/patch-src_svc_simple_c10
-rw-r--r--package/libtirpc/patches/patch-src_svc_vc_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_array_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_float_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_mem_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_rec_c11
-rw-r--r--package/libtirpc/patches/patch-src_xdr_reference_c11
-rw-r--r--package/libtirpc/patches/patch-src_xdr_sizeof_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_stdio_c10
-rw-r--r--package/libtirpc/patches/patch-tirpc_misc_event_h24
-rw-r--r--package/libtirpc/patches/patch-tirpc_netconfig_h23
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_des_h32
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h53
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_h192
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h26
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_clnt_h132
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h78
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h52
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_nettype_h20
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h25
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h27
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h26
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h31
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpc_h44
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h23
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h23
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpcent_h31
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h20
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_svc_h152
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h102
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_xdr_h53
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x12
-rw-r--r--package/libtirpc/src/src/queue.h574
-rw-r--r--package/libxcb/Makefile4
-rw-r--r--package/libxml2/Makefile3
-rw-r--r--package/libxshmfence/Makefile23
-rw-r--r--package/logrotate/Makefile4
-rw-r--r--package/logrotate/patches/patch-Makefile57
-rw-r--r--package/logrotate/patches/patch-config_c8
-rw-r--r--package/logrotate/patches/patch-logrotate_c8
-rw-r--r--package/logrotate/patches/patch-logrotate_h11
-rw-r--r--package/logrotate/src/queue.h574
-rw-r--r--package/lynx/Makefile6
-rw-r--r--package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h14
-rw-r--r--package/lynx/patches/patch-makefile_in11
-rw-r--r--package/lynx/patches/patch-src_chrtrans_makeuctb_c19
-rw-r--r--package/lzma/Makefile28
-rw-r--r--package/lzop/Makefile6
-rw-r--r--package/mkimage/Makefile33
-rw-r--r--package/mkimage/src/crc32.c (renamed from tools/mkimage/crc32.c)0
-rw-r--r--package/mkimage/src/image.h (renamed from tools/mkimage/image.h)0
-rw-r--r--package/mkimage/src/mkimage.c (renamed from tools/mkimage/mkimage.c)0
-rw-r--r--package/mksh/Makefile24
-rw-r--r--package/moc/Makefile5
-rw-r--r--package/mpd/Makefile4
-rw-r--r--package/mpd/patches/patch-src_db_SimpleDatabasePlugin_cxx91
-rw-r--r--package/mpd/patches/patch-src_thread_Id_hxx4
-rw-r--r--package/mpg123/Makefile4
-rw-r--r--package/mplayer/Makefile5
-rw-r--r--package/mtd-utils/Makefile35
-rw-r--r--package/mtd-utils/patches/patch-Makefile (renamed from tools/mtd-utils/patches/lzo.patch)33
-rw-r--r--package/mtd-utils/patches/patch-common_mk11
-rw-r--r--package/mtd-utils/patches/patch-compr_c21
-rw-r--r--package/mtd-utils/patches/patch-compr_lzo_c10
-rw-r--r--package/mtd-utils/patches/patch-compr_zlib_c10
-rw-r--r--package/mtd-utils/patches/patch-include_mtd_jffs2-user_h16
-rw-r--r--package/mtd-utils/patches/patch-include_mtd_mtd-abi_h14
-rw-r--r--package/mtd-utils/patches/patch-include_mtd_ubi-media_h18
-rw-r--r--package/mtd-utils/patches/patch-lib_libfec_c20
-rw-r--r--package/mtd-utils/patches/patch-lib_libmtd_c38
-rw-r--r--package/mtd-utils/patches/patch-lib_libmtd_legacy_c11
-rw-r--r--package/mtd-utils/patches/patch-mkfs_jffs2_c15
-rw-r--r--package/mtd-utils/patches/patch-rbtree_h12
-rw-r--r--package/mutt/Makefile11
-rw-r--r--package/mutt/patches/patch-Makefile_in14
-rw-r--r--package/mutt/patches/patch-mutt_ssl_c20
-rw-r--r--package/ncurses/Makefile13
-rw-r--r--package/ntfs-3g/Makefile4
-rw-r--r--package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c10
-rw-r--r--package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c10
-rw-r--r--package/olsrd/Makefile10
-rw-r--r--package/olsrd/patches/patch-Makefile11
-rw-r--r--package/olsrd/patches/patch-make_Makefile_linux23
-rw-r--r--package/olsrd/patches/patch-src_unix_ifnet_c13
-rw-r--r--package/openssh/Makefile4
-rw-r--r--package/openssh/patches/patch-digest-openssl_c (renamed from package/openssh/patches/patch-digest_c)4
-rw-r--r--package/openssh/patches/patch-mac_c24
-rw-r--r--package/openswan/Makefile3
-rw-r--r--package/openswan/patches/patch-include_arpa_nameser_h128
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_cmp_c11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_confread_c11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_confwrite_c11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_parser_l11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_parser_y11
-rw-r--r--package/openswan/patches/patch-lib_libipsecconf_starterwhack_c11
-rw-r--r--package/openswan/patches/patch-lib_libopenswan_kernel_alg_c11
-rw-r--r--package/openswan/patches/patch-lib_libopenswan_oswlog_c11
-rw-r--r--package/openswan/src/ports/linux/include/queue.h574
-rw-r--r--package/openvpn/Makefile16
-rw-r--r--package/orbit2/Makefile10
-rw-r--r--package/orbit2/patches/patch-src_idl-compiler_Makefile_in11
-rw-r--r--package/parted/Makefile4
-rw-r--r--package/pcc/Makefile12
-rw-r--r--package/pcre/Makefile11
-rw-r--r--package/pcrepp/Makefile2
-rw-r--r--package/pcrepp/patches/patch-configure20
-rw-r--r--package/pixman/Makefile8
-rw-r--r--package/pixman/patches/patch-Makefile_in11
-rw-r--r--package/pkgconf/Makefile6
-rw-r--r--package/postfix/Makefile4
-rw-r--r--package/postfix/patches/patch-makedefs8
-rw-r--r--package/postfix/patches/patch-src_posttls-finger_posttls-finger_c10
-rw-r--r--package/postfix/patches/patch-src_util_sys_defs_h26
-rw-r--r--package/ppp/Makefile4
-rw-r--r--package/ppp/patches/patch-chat_chat_c74
-rw-r--r--package/ppp/patches/patch-include_net_if_ppp_h12
-rw-r--r--package/ppp/patches/patch-include_net_ppp-comp_h56
-rw-r--r--package/ppp/patches/patch-include_net_ppp_defs_h11
-rw-r--r--package/ppp/patches/patch-include_net_slcompress_h22
-rw-r--r--package/ppp/patches/patch-include_net_vjcompress_h26
-rw-r--r--package/ppp/patches/patch-modules_bsd-comp_c35
-rw-r--r--package/ppp/patches/patch-modules_deflate_c47
-rw-r--r--package/ppp/patches/patch-modules_if_ppp_c43
-rw-r--r--package/ppp/patches/patch-modules_ppp_ahdlc_c19
-rw-r--r--package/ppp/patches/patch-modules_ppp_c76
-rw-r--r--package/ppp/patches/patch-modules_ppp_comp_c30
-rw-r--r--package/ppp/patches/patch-modules_ppp_mod_h28
-rw-r--r--package/ppp/patches/patch-pppd_auth_c116
-rw-r--r--package/ppp/patches/patch-pppd_cbcp_c59
-rw-r--r--package/ppp/patches/patch-pppd_ccp_c81
-rw-r--r--package/ppp/patches/patch-pppd_chap-new_c20
-rw-r--r--package/ppp/patches/patch-pppd_chap_ms_c36
-rw-r--r--package/ppp/patches/patch-pppd_chap_ms_h24
-rw-r--r--package/ppp/patches/patch-pppd_demand_c11
-rw-r--r--package/ppp/patches/patch-pppd_eap_c41
-rw-r--r--package/ppp/patches/patch-pppd_eap_h13
-rw-r--r--package/ppp/patches/patch-pppd_ecp_c42
-rw-r--r--package/ppp/patches/patch-pppd_eui64_h11
-rw-r--r--package/ppp/patches/patch-pppd_fsm_c25
-rw-r--r--package/ppp/patches/patch-pppd_fsm_h73
-rw-r--r--package/ppp/patches/patch-pppd_ipcp_c129
-rw-r--r--package/ppp/patches/patch-pppd_ipcp_h10
-rw-r--r--package/ppp/patches/patch-pppd_ipv6cp_c106
-rw-r--r--package/ppp/patches/patch-pppd_ipxcp_c98
-rw-r--r--package/ppp/patches/patch-pppd_lcp_c115
-rw-r--r--package/ppp/patches/patch-pppd_lcp_h19
-rw-r--r--package/ppp/patches/patch-pppd_magic_c13
-rw-r--r--package/ppp/patches/patch-pppd_magic_h14
-rw-r--r--package/ppp/patches/patch-pppd_main_c137
-rw-r--r--package/ppp/patches/patch-pppd_md4_h36
-rw-r--r--package/ppp/patches/patch-pppd_multilink_c22
-rw-r--r--package/ppp/patches/patch-pppd_options_c155
-rw-r--r--package/ppp/patches/patch-pppd_plugins_radius_radiusclient_h121
-rw-r--r--package/ppp/patches/patch-pppd_plugins_rp-pppoe_if_c13
-rw-r--r--package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c10
-rw-r--r--package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe-discovery_c22
-rw-r--r--package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe_h29
-rw-r--r--package/ppp/patches/patch-pppd_pppcrypt_h14
-rw-r--r--package/ppp/patches/patch-pppd_pppd_h532
-rw-r--r--package/ppp/patches/patch-pppd_sys-linux_c22
-rw-r--r--package/ppp/patches/patch-pppd_sys-solaris_c27
-rw-r--r--package/ppp/patches/patch-pppd_tty_c61
-rw-r--r--package/ppp/patches/patch-pppd_upap_c53
-rw-r--r--package/ppp/patches/patch-pppd_upap_h12
-rw-r--r--package/ppp/patches/patch-pppd_utils_c37
-rw-r--r--package/ppp/patches/patch-pppdump_bsd-comp_c27
-rw-r--r--package/ppp/patches/patch-pppdump_deflate_c31
-rw-r--r--package/ppp/patches/patch-pppdump_ppp-comp_h33
-rw-r--r--package/ppp/patches/patch-pppstats_pppstats_c22
-rw-r--r--package/ppp/patches/patch-solaris_ppp_ahdlc_c19
-rw-r--r--package/ppp/patches/patch-solaris_ppp_c78
-rw-r--r--package/ppp/patches/patch-solaris_ppp_comp_c30
-rw-r--r--package/ppp/patches/patch-solaris_ppp_mod_c17
-rw-r--r--package/ppp/patches/patch-solaris_ppp_mod_h28
-rw-r--r--package/presentproto/Makefile19
-rw-r--r--package/python2/Makefile17
-rw-r--r--package/python3/Makefile34
-rw-r--r--package/python3/patches/patch-Makefile_pre_in70
-rw-r--r--package/python3/patches/patch-Modules_posixmodule_c20
-rw-r--r--package/radvd/Makefile4
-rw-r--r--package/randrproto/Makefile4
-rw-r--r--package/rng-tools/Makefile11
-rw-r--r--package/rrdcollect/Makefile10
-rw-r--r--package/sane-backends/Makefile5
-rw-r--r--package/sane-backends/patches/patch-backend_canon630u-common_c12
-rw-r--r--package/sane-backends/patches/patch-backend_epson2-commands_c10
-rw-r--r--package/sane-backends/patches/patch-backend_genesys_c10
-rw-r--r--package/sane-backends/patches/patch-backend_genesys_h10
-rw-r--r--package/sane-backends/patches/patch-backend_genesys_low_c10
-rw-r--r--package/sane-backends/patches/patch-backend_hp3900_rts8822_c10
-rw-r--r--package/sane-backends/patches/patch-backend_hp5400_sanei_c10
-rw-r--r--package/sane-backends/patches/patch-backend_hp5590_low_c10
-rw-r--r--package/sane-backends/patches/patch-backend_kvs20xx_opt_c10
-rw-r--r--package/sane-backends/patches/patch-backend_rts88xx_lib_c10
-rw-r--r--package/sane-backends/patches/patch-backend_xerox_mfp_c10
-rw-r--r--package/sane-backends/patches/patch-include_sane_sanei_tcp_h10
-rw-r--r--package/sane-backends/patches/patch-include_sane_sanei_udp_h10
-rw-r--r--package/scons/Makefile7
-rw-r--r--package/shat/Makefile4
-rw-r--r--package/siproxd/Makefile8
-rw-r--r--package/siproxd/patches/patch-libltdl_ltmain_sh11
-rw-r--r--package/siproxd/patches/patch-scripts_ltmain_sh11
-rw-r--r--package/siproxd/patches/patch-src_resolve_c10
-rw-r--r--package/socat/Makefile6
-rw-r--r--package/socat/patches/patch-Makefile_in (renamed from package/socat/patches/501-honor_ldflags.patch)5
-rw-r--r--package/socat/patches/patch-configure23
-rw-r--r--package/sox/Makefile8
-rw-r--r--package/sox/patches/patch-ltmain_sh11
-rw-r--r--package/sox/patches/patch-src_formats_c18
-rw-r--r--package/squashfs/Makefile37
-rw-r--r--package/squashfs/patches/patch-squashfs-tools_Makefile (renamed from tools/squashfs/patches/cppflags.patch)5
-rw-r--r--package/squashfs/patches/patch-squashfs-tools_mksquashfs_c47
-rw-r--r--package/squashfs/patches/patch-squashfs-tools_unsquashfs_c39
-rw-r--r--package/squid/Makefile2
-rw-r--r--package/squid/patches/patch-lib_rfcnb_rfcnb-io_c11
-rw-r--r--package/strace/patches/patch-desc_c14
-rw-r--r--package/strongswan/Makefile2
-rw-r--r--package/sudo/Makefile15
-rw-r--r--package/sudo/patches/patch-compat_Makefile_in15
-rw-r--r--package/sudo/patches/patch-plugins_sudoers_match_c54
-rw-r--r--package/syslinux/Makefile35
-rw-r--r--package/tntnet/Makefile2
-rw-r--r--package/tzdata/Makefile10
-rw-r--r--package/valgrind/Makefile2
-rw-r--r--package/valgrind/patches/patch-configure_ac11
-rw-r--r--package/vlc/Makefile7
-rw-r--r--package/vlc/patches/patch-modules_text_renderer_freetype_c11
-rw-r--r--package/watchdog/Makefile7
-rw-r--r--package/watchdog/patches/patch-include_extern_h9
-rw-r--r--package/watchdog/patches/patch-src_memory_c11
-rw-r--r--package/watchdog/patches/patch-src_mntent_c11
-rw-r--r--package/watchdog/patches/patch-src_net_c10
-rw-r--r--package/watchdog/patches/patch-src_shutdown_c18
-rw-r--r--package/watchdog/patches/patch-src_umount_c11
-rw-r--r--package/wget/Makefile2
-rw-r--r--package/wpa_supplicant/Makefile2
-rw-r--r--package/xbmc/Makefile1
-rw-r--r--package/xcb-proto/Makefile4
-rw-r--r--package/xextproto/Makefile4
-rw-r--r--package/xf86-input-keyboard/Makefile4
-rw-r--r--package/xf86-input-mouse/Makefile4
-rw-r--r--package/xf86-video-fbdev/Makefile4
-rw-r--r--package/xf86-video-siliconmotion/Makefile6
-rw-r--r--package/xf86-video-siliconmotion/patches/patch-src_Makefile_in11
-rw-r--r--package/xf86-video-siliconmotion/patches/patch-src_smi_driver_c11
-rw-r--r--package/xf86-video-siliconmotion/patches/patch-src_smi_video_c (renamed from package/xf86-video-siliconmotion/patches/loongson.patch)11
-rw-r--r--package/xinetd/Makefile7
-rw-r--r--package/xinetd/patches/patch-Makefile_in13
-rw-r--r--package/xinetd/patches/patch-xinetd_confparse_c18
-rw-r--r--package/xorg-server/Makefile24
-rw-r--r--package/xorg-server/files/xorg.conf.lemote-yeelong5
-rw-r--r--package/xorg-server/patches/patch-fb_fb_h13
-rw-r--r--package/xorg-server/patches/patch-hw_kdrive_linux_linux_c13
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_common_compiler_h65
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_dri_dri_h11
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_dri_sarea_h11
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_init_c13
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c56
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_os-support_xf86_OSlib_h10
-rw-r--r--package/xorg-server/patches/patch-ltmain_sh11
-rw-r--r--package/xterm/Makefile6
-rw-r--r--package/xtrans/Makefile4
-rw-r--r--package/xz/Makefile5
-rw-r--r--rules.mk56
-rwxr-xr-xscripts/adkprepare.sh10
-rwxr-xr-xscripts/find9
-rw-r--r--scripts/gcc-bisect.sh206
-rwxr-xr-xscripts/install.sh19
-rw-r--r--scripts/rstrip.sh3
-rw-r--r--scripts/scan-tools.sh119
-rwxr-xr-xscripts/tarpkg4
-rwxr-xr-xscripts/xargs9
-rw-r--r--target/Makefile44
-rw-r--r--target/arm/Makefile12
-rw-r--r--target/arm/cubox-i/patches/3.10.34/solidrun-cubox-i.patch (renamed from target/arm/cubox-i/patches/3.10.33/solidrun-cubox-i.patch)0
-rw-r--r--target/arm/kernel/cubox-i2
-rw-r--r--target/arm/kernel/qemu-arm-versatilepb16
-rw-r--r--target/arm/kernel/qemu-arm-vexpress-a94
-rw-r--r--target/arm/raspberry-pi/patches/3.10.34/raspberry-pi.patch (renamed from target/arm/raspberry-pi/patches/3.10.33/raspberry-pi.patch)0
-rw-r--r--target/arm/sys-available/acmesystems-foxg205
-rw-r--r--target/arm/sys-available/cubox-i4
-rw-r--r--target/arm/sys-available/qemu-arm3
-rw-r--r--target/arm/sys-available/qemu-armhf12
-rw-r--r--target/arm/sys-available/raspberry-pi4
-rw-r--r--target/arm/sys-available/sharp-zaurus1
-rw-r--r--target/arm/sys-available/toolchain-arm6
-rw-r--r--target/arm/sys-available/toolchain-armhf6
-rw-r--r--target/arm/target.mk1
-rw-r--r--target/config/Config.in300
-rw-r--r--target/config/Config.in.adk8
-rw-r--r--target/config/Config.in.arch.default4
-rw-r--r--target/config/Config.in.runtime69
-rw-r--r--target/config/Config.in.tools107
-rw-r--r--target/linux/config/Config.in.audio52
-rw-r--r--target/linux/config/Config.in.block61
-rw-r--r--target/linux/config/Config.in.cpu9
-rw-r--r--target/linux/config/Config.in.debug4
-rw-r--r--target/linux/config/Config.in.flash21
-rw-r--r--target/linux/config/Config.in.fs25
-rw-r--r--target/linux/config/Config.in.graphics17
-rw-r--r--target/linux/config/Config.in.kernel10
-rw-r--r--target/linux/config/Config.in.netdevice16
-rw-r--r--target/linux/config/Config.in.netfilter.ip416
-rw-r--r--target/linux/config/Config.in.network8
-rw-r--r--target/linux/config/Config.in.nls10
-rw-r--r--target/linux/config/Config.in.spi6
-rw-r--r--target/linux/config/Config.in.systems17
-rw-r--r--target/linux/config/Config.in.usb6
-rw-r--r--target/linux/kernel.config5
-rw-r--r--target/linux/patches/3.10.33/startup.patch12
-rw-r--r--target/linux/patches/3.10.34/bsd-compatibility.patch (renamed from target/linux/patches/3.10.33/bsd-compatibility.patch)0
-rw-r--r--target/linux/patches/3.10.34/startup.patch34
-rw-r--r--target/linux/patches/3.11.10/startup.patch32
-rw-r--r--target/linux/patches/3.12.13/startup.patch12
-rw-r--r--target/linux/patches/3.12.14/bsd-compatibility.patch (renamed from target/linux/patches/3.12.13/bsd-compatibility.patch)0
-rw-r--r--target/linux/patches/3.12.14/defaults.patch (renamed from target/linux/patches/3.12.13/defaults.patch)0
-rw-r--r--target/linux/patches/3.12.14/disable-netfilter.patch (renamed from target/linux/patches/3.12.13/disable-netfilter.patch)0
-rw-r--r--target/linux/patches/3.12.14/export-symbol-for-exmap.patch (renamed from target/linux/patches/3.12.13/export-symbol-for-exmap.patch)0
-rw-r--r--target/linux/patches/3.12.14/gemalto.patch (renamed from target/linux/patches/3.12.13/gemalto.patch)0
-rw-r--r--target/linux/patches/3.12.14/lemote-rfkill.patch (renamed from target/linux/patches/3.12.13/lemote-rfkill.patch)0
-rw-r--r--target/linux/patches/3.12.14/microblaze-ethernet.patch (renamed from target/linux/patches/3.12.13/microblaze-ethernet.patch)0
-rw-r--r--target/linux/patches/3.12.14/microblaze-setup.patch (renamed from target/linux/patches/3.12.13/microblaze-setup.patch)0
-rw-r--r--target/linux/patches/3.12.14/mips-lzo-fix.patch (renamed from target/linux/patches/3.12.13/mips-lzo-fix.patch)0
-rw-r--r--target/linux/patches/3.12.14/mtd-rootfs.patch (renamed from target/linux/patches/3.12.13/mtd-rootfs.patch)0
-rw-r--r--target/linux/patches/3.12.14/non-static.patch (renamed from target/linux/patches/3.12.13/non-static.patch)0
-rw-r--r--target/linux/patches/3.12.14/ppc64-missing-zlib.patch (renamed from target/linux/patches/3.12.13/ppc64-missing-zlib.patch)0
-rw-r--r--target/linux/patches/3.12.14/raspberry.patch (renamed from target/linux/patches/3.12.13/raspberry.patch)0
-rw-r--r--target/linux/patches/3.12.14/startup.patch34
-rw-r--r--target/linux/patches/3.12.14/usb-defaults-off.patch (renamed from target/linux/patches/3.12.13/usb-defaults-off.patch)0
-rw-r--r--target/linux/patches/3.12.14/uuid.patch (renamed from target/linux/patches/3.12.13/uuid.patch)0
-rw-r--r--target/linux/patches/3.12.14/vga-cons-default-off.patch (renamed from target/linux/patches/3.12.13/vga-cons-default-off.patch)0
-rw-r--r--target/linux/patches/3.12.14/wlan-cf.patch (renamed from target/linux/patches/3.12.13/wlan-cf.patch)0
-rw-r--r--target/linux/patches/3.12.14/xargs.patch (renamed from target/linux/patches/3.12.13/xargs.patch)0
-rw-r--r--target/linux/patches/3.12.14/zlib-inflate.patch (renamed from target/linux/patches/3.12.13/zlib-inflate.patch)0
-rw-r--r--target/linux/patches/3.13.6/startup.patch12
-rw-r--r--target/linux/patches/3.13.7/bsd-compatibility.patch (renamed from target/linux/patches/3.13.6/bsd-compatibility.patch)0
-rw-r--r--target/linux/patches/3.13.7/defaults.patch (renamed from target/linux/patches/3.13.6/defaults.patch)0
-rw-r--r--target/linux/patches/3.13.7/disable-netfilter.patch (renamed from target/linux/patches/3.13.6/disable-netfilter.patch)0
-rw-r--r--target/linux/patches/3.13.7/export-symbol-for-exmap.patch (renamed from target/linux/patches/3.13.6/export-symbol-for-exmap.patch)0
-rw-r--r--target/linux/patches/3.13.7/fblogo.patch2097
-rw-r--r--target/linux/patches/3.13.7/gemalto.patch (renamed from target/linux/patches/3.13.6/gemalto.patch)0
-rw-r--r--target/linux/patches/3.13.7/lemote-rfkill.patch (renamed from target/linux/patches/3.13.6/lemote-rfkill.patch)0
-rw-r--r--target/linux/patches/3.13.7/microblaze-axi.patch (renamed from target/linux/patches/3.13.6/microblaze-axi.patch)0
-rw-r--r--target/linux/patches/3.13.7/microblaze-early-printk.patch (renamed from target/linux/patches/3.13.6/microblaze-early-printk.patch)0
-rw-r--r--target/linux/patches/3.13.7/microblaze-ethernet.patch (renamed from target/linux/patches/3.13.6/microblaze-ethernet.patch)0
-rw-r--r--target/linux/patches/3.13.7/microblaze-setup.patch (renamed from target/linux/patches/3.13.6/microblaze-setup.patch)0
-rw-r--r--target/linux/patches/3.13.7/mtd-rootfs.patch (renamed from target/linux/patches/3.13.6/mtd-rootfs.patch)0
-rw-r--r--target/linux/patches/3.13.7/non-static.patch (renamed from target/linux/patches/3.13.6/non-static.patch)0
-rw-r--r--target/linux/patches/3.13.7/ppc64-missing-zlib.patch (renamed from target/linux/patches/3.13.6/ppc64-missing-zlib.patch)0
-rw-r--r--target/linux/patches/3.13.7/ppc64-missing_arch_random.patch (renamed from target/linux/patches/3.13.6/ppc64-missing_arch_random.patch)0
-rw-r--r--target/linux/patches/3.13.7/raspberry.patch (renamed from target/linux/patches/3.13.6/raspberry.patch)0
-rw-r--r--target/linux/patches/3.13.7/startup.patch37
-rw-r--r--target/linux/patches/3.13.7/uuid.patch (renamed from target/linux/patches/3.13.6/uuid.patch)0
-rw-r--r--target/linux/patches/3.13.7/vga-cons-default-off.patch (renamed from target/linux/patches/3.13.6/vga-cons-default-off.patch)0
-rw-r--r--target/linux/patches/3.13.7/wlan-cf.patch (renamed from target/linux/patches/3.13.6/wlan-cf.patch)0
-rw-r--r--target/linux/patches/3.13.7/xargs.patch (renamed from target/linux/patches/3.13.6/xargs.patch)0
-rw-r--r--target/linux/patches/3.13.7/zlib-inflate.patch (renamed from target/linux/patches/3.13.6/zlib-inflate.patch)0
-rw-r--r--target/linux/patches/3.4.82/startup.patch12
-rw-r--r--target/linux/patches/3.4.84/bsd-compatibility.patch (renamed from target/linux/patches/3.4.82/bsd-compatibility.patch)0
-rw-r--r--target/linux/patches/3.4.84/defaults.patch (renamed from target/linux/patches/3.4.82/defaults.patch)0
-rw-r--r--target/linux/patches/3.4.84/gemalto.patch (renamed from target/linux/patches/3.4.82/gemalto.patch)0
-rw-r--r--target/linux/patches/3.4.84/lemote-rfkill.patch (renamed from target/linux/patches/3.4.82/lemote-rfkill.patch)0
-rw-r--r--target/linux/patches/3.4.84/mips-error.patch (renamed from target/linux/patches/3.4.82/mips-error.patch)0
-rw-r--r--target/linux/patches/3.4.84/module-alloc-size-check.patch (renamed from target/linux/patches/3.4.82/module-alloc-size-check.patch)0
-rw-r--r--target/linux/patches/3.4.84/non-static.patch (renamed from target/linux/patches/3.4.82/non-static.patch)0
-rw-r--r--target/linux/patches/3.4.84/sparc-include.patch (renamed from target/linux/patches/3.4.82/sparc-include.patch)0
-rw-r--r--target/linux/patches/3.4.84/startup.patch34
-rw-r--r--target/linux/patches/3.4.84/usb-defaults-off.patch (renamed from target/linux/patches/3.4.82/usb-defaults-off.patch)0
-rw-r--r--target/linux/patches/3.4.84/uuid.patch (renamed from target/linux/patches/3.4.82/uuid.patch)0
-rw-r--r--target/linux/patches/3.4.84/vga-cons-default-off.patch (renamed from target/linux/patches/3.4.82/vga-cons-default-off.patch)0
-rw-r--r--target/linux/patches/3.4.84/wlan-cf.patch (renamed from target/linux/patches/3.4.82/wlan-cf.patch)0
-rw-r--r--target/linux/patches/3.4.84/zlib-inflate.patch (renamed from target/linux/patches/3.4.82/zlib-inflate.patch)0
-rw-r--r--target/m68k/Makefile26
-rw-r--r--target/m68k/aranym.cfg.in195
-rw-r--r--target/m68k/kernel.config997
-rw-r--r--target/m68k/kernel/aranym-m68k11
-rw-r--r--target/m68k/sys-available/aranym-m68k1
-rw-r--r--target/m68k/sys-available/toolchain-m68k2
-rw-r--r--target/m68k/target.mk1
-rw-r--r--target/m68k/uclibc.config251
-rw-r--r--target/microblaze/Makefile21
-rw-r--r--target/microblaze/kernel/qemu-microblaze-ml60512
-rw-r--r--target/microblaze/kernel/qemu-microblaze-s3adsp18008
-rw-r--r--target/microblaze/s3adsp1800.dtbbin0 -> 8369 bytes
-rw-r--r--target/microblaze/s3adsp1800.dts287
-rw-r--r--target/microblaze/sys-available/qemu-microblaze4
-rw-r--r--target/microblaze/sys-available/qemu-microblazeel6
-rw-r--r--target/microblaze/sys-available/toolchain-microblaze2
-rw-r--r--target/microblaze/sys-available/toolchain-microblazeel2
-rw-r--r--target/microblaze/target.mk1
-rw-r--r--target/mips/Makefile6
-rw-r--r--target/mips/kernel.config1095
-rw-r--r--target/mips/kernel/lemote-yeelong3
-rw-r--r--target/mips/kernel/qemu-mips18
-rw-r--r--target/mips/kernel/qemu-mips6419
-rw-r--r--target/mips/kernel/qemu-mips64el19
-rw-r--r--target/mips/kernel/qemu-mipsel18
-rw-r--r--target/mips/kernel64.config1170
-rw-r--r--target/mips/sys-available/broadcom-bcm47xx1
-rw-r--r--target/mips/sys-available/fon-fon21001
-rw-r--r--target/mips/sys-available/lemote-yeelong2
-rw-r--r--target/mips/sys-available/linksys-ag2412
-rw-r--r--target/mips/sys-available/mikrotik-rb4xx4
-rw-r--r--target/mips/sys-available/mikrotik-rb5322
-rw-r--r--target/mips/sys-available/qemu-mips12
-rw-r--r--target/mips/sys-available/qemu-mips646
-rw-r--r--target/mips/sys-available/qemu-mips64el6
-rw-r--r--target/mips/sys-available/qemu-mips64eln3212
-rw-r--r--target/mips/sys-available/qemu-mips64eln6412
-rw-r--r--target/mips/sys-available/qemu-mips64n3213
-rw-r--r--target/mips/sys-available/qemu-mips64n6413
-rw-r--r--target/mips/sys-available/qemu-mipsel12
-rw-r--r--target/mips/sys-available/toolchain-mips6
-rw-r--r--target/mips/sys-available/toolchain-mips642
-rw-r--r--target/mips/sys-available/toolchain-mips64el2
-rw-r--r--target/mips/sys-available/toolchain-mips64eln322
-rw-r--r--target/mips/sys-available/toolchain-mips64eln642
-rw-r--r--target/mips/sys-available/toolchain-mips64n322
-rw-r--r--target/mips/sys-available/toolchain-mips64n642
-rw-r--r--target/mips/sys-available/toolchain-mipsel6
-rw-r--r--target/mips/target.mk1
-rw-r--r--target/native/Makefile37
-rw-r--r--target/native/kernel.config.x86946
-rw-r--r--target/native/kernel.config.x86_641043
-rw-r--r--target/native/target.mk14
-rw-r--r--target/native/uclibc.config257
-rw-r--r--target/packages/pkg-available/development2
-rw-r--r--target/packages/pkg-available/mpdbox6
-rw-r--r--target/packages/pkg-available/test9
-rw-r--r--target/ppc/Makefile6
-rw-r--r--target/ppc/kernel/qemu-ppc11
-rw-r--r--target/ppc/sys-available/qemu-ppc3
-rw-r--r--target/ppc/sys-available/toolchain-ppc2
-rw-r--r--target/ppc/target.mk1
-rw-r--r--target/ppc64/Makefile6
-rw-r--r--target/ppc64/kernel/qemu-ppc6410
-rw-r--r--target/ppc64/sys-available/qemu-ppc644
-rw-r--r--target/ppc64/sys-available/toolchain-ppc643
-rw-r--r--target/ppc64/target.mk1
-rw-r--r--target/sh/Makefile6
-rw-r--r--target/sh/kernel/qemu-sh13
-rw-r--r--target/sh/sys-available/qemu-sh43
-rw-r--r--target/sh/sys-available/qemu-sh4eb3
-rw-r--r--target/sh/sys-available/toolchain-sh2
-rw-r--r--target/sh/sys-available/toolchain-sheb2
-rw-r--r--target/sh/target.mk1
-rw-r--r--target/sparc/Makefile6
-rw-r--r--target/sparc/kernel/qemu-sparc8
-rw-r--r--target/sparc/sys-available/qemu-sparc3
-rw-r--r--target/sparc/sys-available/toolchain-sparc2
-rw-r--r--target/sparc/target.mk1
-rw-r--r--target/sparc64/Makefile25
-rw-r--r--target/sparc64/kernel/qemu-sparc6411
-rw-r--r--target/sparc64/sys-available/qemu-sparc645
-rw-r--r--target/sparc64/sys-available/toolchain-sparc643
-rw-r--r--target/sparc64/target.mk1
-rw-r--r--target/tarch.lst8
-rw-r--r--target/x86/Makefile7
-rw-r--r--target/x86/kernel.config1193
-rw-r--r--target/x86/kernel/ibm-x4027
-rw-r--r--target/x86/kernel/qemu-i68614
-rw-r--r--target/x86/sys-available/ibm-x405
-rw-r--r--target/x86/sys-available/pcengines-alix1c4
-rw-r--r--target/x86/sys-available/pcengines-alix2d132
-rw-r--r--target/x86/sys-available/pcengines-alix2d21
-rw-r--r--target/x86/sys-available/pcengines-wrap1
-rw-r--r--target/x86/sys-available/qemu-i6861
-rw-r--r--target/x86/sys-available/toolchain-i6862
-rw-r--r--target/x86/target.mk1
-rw-r--r--target/x86_64/Makefile6
-rw-r--r--target/x86_64/kernel/qemu-x86_6415
-rw-r--r--target/x86_64/sys-available/qemu-x86_643
-rw-r--r--target/x86_64/sys-available/qemu-x86_64_x3212
-rw-r--r--target/x86_64/sys-available/toolchain-x86_644
-rw-r--r--target/x86_64/sys-available/toolchain-x86_64_3212
-rw-r--r--target/x86_64/sys-available/toolchain-x86_64_x3212
-rw-r--r--target/x86_64/target.mk1
-rw-r--r--toolchain/Config.in8
-rw-r--r--toolchain/Makefile8
-rw-r--r--toolchain/binutils/Makefile13
-rw-r--r--toolchain/binutils/Makefile.inc3
-rw-r--r--toolchain/gcc/Makefile111
-rw-r--r--toolchain/gcc/Makefile.inc8
-rw-r--r--toolchain/gcc/patches/4.8.2/abi32.patch54
-rw-r--r--toolchain/gdb/Makefile.inc3
-rw-r--r--toolchain/glibc/Makefile13
-rw-r--r--toolchain/glibc/Makefile.inc20
-rw-r--r--toolchain/gmp/Makefile5
-rw-r--r--toolchain/kernel-headers/Makefile6
-rw-r--r--toolchain/kernel-headers/patches/3.10.34/cleankernel.patch (renamed from toolchain/kernel-headers/patches/3.10.33/cleankernel.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.10.34/mkpiggy.patch (renamed from toolchain/kernel-headers/patches/3.10.33/mkpiggy.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.10.34/relocs.patch (renamed from toolchain/kernel-headers/patches/3.10.33/relocs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.10.34/sgidefs.patch (renamed from toolchain/kernel-headers/patches/3.10.33/sgidefs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.10.34/sortext.patch (renamed from toolchain/kernel-headers/patches/3.10.33/sortext.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.11.10/microperl.patch13
-rw-r--r--toolchain/kernel-headers/patches/3.12.13/microperl.patch13
-rw-r--r--toolchain/kernel-headers/patches/3.12.14/cleankernel.patch (renamed from toolchain/kernel-headers/patches/3.12.13/cleankernel.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.12.14/mkpiggy.patch (renamed from toolchain/kernel-headers/patches/3.12.13/mkpiggy.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.12.14/relocs.patch (renamed from toolchain/kernel-headers/patches/3.12.13/relocs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.12.14/sgidefs.patch (renamed from toolchain/kernel-headers/patches/3.12.13/sgidefs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.12.14/sortext.patch (renamed from toolchain/kernel-headers/patches/3.12.13/sortext.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/microperl.patch13
-rw-r--r--toolchain/kernel-headers/patches/3.13.7/cleankernel.patch (renamed from toolchain/kernel-headers/patches/3.13.6/cleankernel.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.7/mkpiggy.patch (renamed from toolchain/kernel-headers/patches/3.13.6/mkpiggy.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.7/relocs.patch (renamed from toolchain/kernel-headers/patches/3.13.6/relocs.patch)30
-rw-r--r--toolchain/kernel-headers/patches/3.13.7/sgidefs.patch (renamed from toolchain/kernel-headers/patches/3.13.6/sgidefs.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.13.7/sortext.patch (renamed from toolchain/kernel-headers/patches/3.13.6/sortext.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.82/microperl.patch24
-rw-r--r--toolchain/kernel-headers/patches/3.4.84/aufs2.patch (renamed from toolchain/kernel-headers/patches/3.4.82/aufs2.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.84/linux-gcc-check.patch (renamed from toolchain/kernel-headers/patches/3.4.82/linux-gcc-check.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.84/mkpiggy.patch (renamed from toolchain/kernel-headers/patches/3.4.82/mkpiggy.patch)0
-rw-r--r--toolchain/kernel-headers/patches/3.4.84/relocs.patch (renamed from toolchain/kernel-headers/patches/3.4.82/relocs.patch)0
-rw-r--r--toolchain/libelf/Makefile2
-rw-r--r--toolchain/mpc/Makefile4
-rw-r--r--toolchain/mpfr/Makefile2
-rw-r--r--toolchain/musl/Makefile26
-rw-r--r--toolchain/musl/Makefile.inc5
-rw-r--r--toolchain/musl/patches/musl-git-20140310.patch8432
-rw-r--r--toolchain/uClibc/Makefile9
-rw-r--r--toolchain/uClibc/Makefile.inc4
-rw-r--r--tools/Makefile54
-rw-r--r--tools/addpattern/Makefile4
-rw-r--r--tools/addpattern/addpattern.c252
-rw-r--r--tools/bc/Makefile25
-rw-r--r--tools/bzip2/Makefile24
-rw-r--r--tools/ccache/Makefile25
-rw-r--r--tools/cdrtools/Makefile25
-rw-r--r--tools/cpio/Makefile32
-rw-r--r--tools/flex/Makefile25
-rw-r--r--tools/genext2fs/Makefile25
-rw-r--r--tools/lzma/Makefile25
-rw-r--r--tools/lzo/Makefile28
-rw-r--r--tools/lzop/Makefile30
-rw-r--r--tools/m4/Makefile25
-rw-r--r--tools/mkcrypt/Makefile11
-rw-r--r--tools/mkfimage/Makefile4
-rw-r--r--tools/mkfimage/mkfimage.c72
-rw-r--r--tools/mkimage/Makefile11
-rwxr-xr-xtools/mkimage/mkimagebin23424 -> 0 bytes
-rw-r--r--tools/mksh/Makefile29
-rw-r--r--tools/mtd-utils/Makefile24
-rw-r--r--tools/rules.mk7
-rw-r--r--tools/squashfs/Makefile29
-rw-r--r--tools/srec2bin/Makefile4
-rw-r--r--tools/srec2bin/srec2bin.c521
-rw-r--r--tools/syslinux/Makefile37
-rw-r--r--tools/trx/Makefile4
-rw-r--r--tools/trx/trx.c366
-rw-r--r--tools/xz/Makefile28
947 files changed, 18994 insertions, 19931 deletions
diff --git a/.gitignore b/.gitignore
index fc81d7882..3ac956900 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,22 +1,30 @@
-/config/conf
-/config/conf.exe
-/config/a.exe
-/config/lex.backup
-/config/lex.zconf.c
-/config/lkc_defs.h
-/config/gconf
-/config/gconf.exe
-/config/mconf
-/config/mconf.exe
-/config/zconf.hash.c
-/config/zconf.output
-/config/zconf.tab.c
-/config/zconf.tab.h
-/tests/master.exp
-/tests/adk.exp
-/tests/adk.exp.in.tmp
+/adk/config/*.o
+/adk/config/lxdialog/*.o
+/adk/config/conf
+/adk/config/conf.exe
+/adk/config/a.exe
+/adk/config/lex.backup
+/adk/config/lex.zconf.c
+/adk/config/lkc_defs.h
+/adk/config/gconf
+/adk/config/gconf.exe
+/adk/config/mconf
+/adk/config/mconf.exe
+/adk/config/zconf.hash.c
+/adk/config/zconf.output
+/adk/config/zconf.tab.c
+/adk/config/zconf.tab.h
+/adk/tools/pkgmaker
+/adk/tools/depmaker
+/adk/tools/pkgrebuild
+/adk/tools/depmaker.dSYM/
+/adk/tools/pkgmaker.dSYM/
+/adk/tools/pkgrebuild.dSYM/
+/adk/tests/master.exp
+/adk/tests/adk.exp
+/adk/tests/adk.exp.in.tmp
/prereq.mk
-/toolchain_build_*/
+/toolchain_*/
/.ADK_HAVE_DOT_CONFIG
/.tmpconfig.h
/.prereq_done
@@ -32,8 +40,6 @@
/root_*/
/firmware/
/build_*/
-/config/*.o
-/config/lxdialog/*.o
/make.log
/dl
/package/Config.in.auto*
@@ -41,7 +47,6 @@
/package/*/Config.in
/package/*/Config.in.lib
/package/*/Config.in.kmod
-/tools_build/
/extra/
/.menu
/.adkinit
@@ -53,3 +58,5 @@
/target/config/Config.in.system
/target/config/Config.in.native
/target/config/Config.in.arch
+/target/config/Config.in.prereq
+/target/m68k/aranym.cfg
diff --git a/BUGS b/BUGS
index 70759ad05..38c61307f 100644
--- a/BUGS
+++ b/BUGS
@@ -2,4 +2,4 @@
- qemu-sh4: usb keyboard is broken
- qemu-arm: thumb mode with glibc does not boot
- qemu-sparc64: ide driver not working, only virtio (but unstable)
-- qemu-microblaze: network card emulation fails, little endian works
+- qemu-microblaze: ml605 early printk and network card emulation fails, little endian works
diff --git a/Config.in b/Config.in
index 646423e49..9fddb78f3 100644
--- a/Config.in
+++ b/Config.in
@@ -33,17 +33,17 @@ config ADK_CHOOSE_TARGET_SYSTEM
source "target/config/Config.in"
menu "Runtime configuration"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_KERNEL && !ADK_CHOOSE_TARGET_SYSTEM
+depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
source "target/config/Config.in.runtime"
endmenu
menu "Package collection"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_KERNEL && !ADK_CHOOSE_TARGET_SYSTEM
+depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
source "target/packages/Config.in"
endmenu
menu "Package selection"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_KERNEL && !ADK_CHOOSE_TARGET_SYSTEM
+depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
config ADK_LEAVE_ETC_ALONE
boolean "do not install anything into /etc"
@@ -89,55 +89,52 @@ source "package/Config.in.auto.global"
source "package/Config.in.auto"
endmenu
-config ADK_USE_KERNEL_MINICONFIG
- boolean
-
choice
prompt "Kernel Version"
depends on ADK_TOOLCHAIN_ONLY
config ADK_KERNEL_VERSION_TOOLCHAIN
- prompt "3.13.6"
+ prompt "3.13.7"
boolean
depends on ADK_TOOLCHAIN_ONLY
endchoice
menu "Kernel configuration"
-depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_KERNEL && !ADK_CHOOSE_TARGET_SYSTEM && ADK_TARGET_KERNEL_CUSTOMISING
+depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM && ADK_TARGET_KERNEL_CUSTOMISING
choice
prompt "Kernel Version"
-config ADK_KERNEL_VERSION_3_13_6
- prompt "3.13.6"
+config ADK_KERNEL_VERSION_3_13_7
+ prompt "3.13.7"
boolean
-config ADK_KERNEL_VERSION_3_12_13
- prompt "3.12.13"
+config ADK_KERNEL_VERSION_3_12_14
+ prompt "3.12.14"
boolean
config ADK_KERNEL_VERSION_3_11_10
prompt "3.11.10"
boolean
-config ADK_KERNEL_VERSION_3_10_33
- prompt "3.10.33"
+config ADK_KERNEL_VERSION_3_10_34
+ prompt "3.10.34"
boolean
-config ADK_KERNEL_VERSION_3_4_82
- prompt "3.4.82"
+config ADK_KERNEL_VERSION_3_4_84
+ prompt "3.4.84"
boolean
endchoice
config ADK_KERNEL_VERSION
string
- default "3.13.6" if ADK_KERNEL_VERSION_3_13_6
- default "3.12.13" if ADK_KERNEL_VERSION_3_12_13
+ default "3.13.7" if ADK_KERNEL_VERSION_3_13_7
+ default "3.12.14" if ADK_KERNEL_VERSION_3_12_14
default "3.11.10" if ADK_KERNEL_VERSION_3_11_10
- default "3.10.33" if ADK_KERNEL_VERSION_3_10_33
- default "3.4.82" if ADK_KERNEL_VERSION_3_4_82
+ default "3.10.34" if ADK_KERNEL_VERSION_3_10_34
+ default "3.4.84" if ADK_KERNEL_VERSION_3_4_84
help
config ADK_KERNEL_COMP_GZIP_RASPBERRY_PI
diff --git a/Makefile b/Makefile
index 8ca346b8b..396675ac2 100644
--- a/Makefile
+++ b/Makefile
@@ -32,8 +32,7 @@ help:
@echo ' kernelconfig - Modify the target kernel configuration'
@echo ''
@echo 'Cleaning targets:'
- @echo ' clean - Remove bin and build_dir directories'
- @echo ' cleantarget - Same as "clean", but also remove toolchain for target'
+ @echo ' clean - Remove firmware and build directories'
@echo ' cleandir - Same as "clean", but also remove all built toolchains'
@echo ' cleankernel - Remove kernel dir, useful if you changed any kernel patches'
@echo ' distclean - Same as "cleandir", but also remove downloaded'
@@ -100,10 +99,6 @@ cleandir dirclean: .prereq_done
-@${GMAKE_INV} cleandir
@-rm -f make.log .prereq_done
-cleantarget targetclean: .prereq_done
- -@${GMAKE_INV} cleantarget
- @-rm -f make.log
-
cleantoolchain toolchainclean: .prereq_done
-@${GMAKE_INV} cleantoolchain
@@ -229,6 +224,7 @@ NO_ERROR=0
@echo "_PATH:=$$PATH" >>prereq.mk
@echo "PATH:=\$${TOPDIR}/scripts:/usr/sbin:$$PATH" >>prereq.mk
@echo "SHELL:=$$(which bash)" >>prereq.mk
+ @echo "GIT:=$$(which git 2>/dev/null)" >>prereq.mk
@env NO_ERROR=${NO_ERROR} BASH="$$(which bash)" \
CC='${CC}' CPPFLAGS='${CPPFLAGS}' \
bash scripts/scan-tools.sh
diff --git a/README b/README
index 687950abd..81ebd7798 100644
--- a/README
+++ b/README
@@ -5,12 +5,12 @@ This is a menu based buildsystem for your home made embedded Linux system.
Before you can start you need to install some tools:
- bash
-- gcc
+- gcc or clang
+- g++ or clang++
- binutils
- GNU make
- GNU awk
- GNU sed
-- findutils (find, xargs)
- tar
- patch
- gzip
diff --git a/TODO b/TODO
index 362a8f944..418d48866 100644
--- a/TODO
+++ b/TODO
@@ -1,12 +1,16 @@
-- rework startup, maybe use init.c, start gettys after bootup ready
-- more output for initscripts on bootup
-- port uuterm
-- move tools to package host infrastructure, resolve dependency handling for host tools
-- finish miniconfig + cleanup
-- qemu-sh serial
-- choice qemu with graphic
-- x32 musl
- hash-style=gnu for non-mips and non-musl
+- fix libiberty.a mess
+- check gold for mozilla compile
+- check for gcc and SSP again
+- config.site/config.cache usage for speedup?
+ http://lists.gnu.org/archive/html/autoconf/2014-03/msg00031.html
+- add daemon() function to functions.sh
+- add printing of OK/FAIL (optional verbose bootup)
+- fixup rework libgcc --export-symbols
+- libgcc static?
+- static toolchain support
+- try Preset Loops per Jiffy for faster bootup via lpj=
+- port uuterm
- add fb full screen logo
- port opkg with gpg signing
- restart network (kill wpa_supplicant)
@@ -14,7 +18,7 @@
- add grsec kernel patch
- microblaze: add cfgfs partition to dts, add partition to spartan dts
- evaluate libguestfs for image creation
-- check for gcc and SSP again
- port w3m
+- port msmtp
- rutorrent porting
- lms perl
diff --git a/config/Config.in b/adk/config/Config.in
index 9a7778310..9a7778310 100644
--- a/config/Config.in
+++ b/adk/config/Config.in
diff --git a/config/Kconfig-language.txt b/adk/config/Kconfig-language.txt
index c412c2458..c412c2458 100644
--- a/config/Kconfig-language.txt
+++ b/adk/config/Kconfig-language.txt
diff --git a/config/Makefile b/adk/config/Makefile
index 9dc08d3ac..9dc08d3ac 100644
--- a/config/Makefile
+++ b/adk/config/Makefile
diff --git a/config/Makefile.in b/adk/config/Makefile.in
index 0b3ac40a9..0b3ac40a9 100644
--- a/config/Makefile.in
+++ b/adk/config/Makefile.in
diff --git a/config/check.sh b/adk/config/check.sh
index fa59cbf9d..fa59cbf9d 100755
--- a/config/check.sh
+++ b/adk/config/check.sh
diff --git a/config/conf.c b/adk/config/conf.c
index 412656fec..412656fec 100644
--- a/config/conf.c
+++ b/adk/config/conf.c
diff --git a/config/confdata.c b/adk/config/confdata.c
index 4a79c72bb..4a79c72bb 100644
--- a/config/confdata.c
+++ b/adk/config/confdata.c
diff --git a/config/expr.c b/adk/config/expr.c
index 579ece4fa..579ece4fa 100644
--- a/config/expr.c
+++ b/adk/config/expr.c
diff --git a/config/expr.h b/adk/config/expr.h
index 6408fefae..6408fefae 100644
--- a/config/expr.h
+++ b/adk/config/expr.h
diff --git a/config/gconf.c b/adk/config/gconf.c
index 681125e11..681125e11 100644
--- a/config/gconf.c
+++ b/adk/config/gconf.c
diff --git a/config/gconf.glade b/adk/config/gconf.glade
index b1c86c192..b1c86c192 100644
--- a/config/gconf.glade
+++ b/adk/config/gconf.glade
diff --git a/config/images.c b/adk/config/images.c
index d4f84bd4a..d4f84bd4a 100644
--- a/config/images.c
+++ b/adk/config/images.c
diff --git a/config/kconfig_load.c b/adk/config/kconfig_load.c
index dbdcaad82..dbdcaad82 100644
--- a/config/kconfig_load.c
+++ b/adk/config/kconfig_load.c
diff --git a/config/kxgettext.c b/adk/config/kxgettext.c
index 8d9ce22b0..8d9ce22b0 100644
--- a/config/kxgettext.c
+++ b/adk/config/kxgettext.c
diff --git a/config/lex.zconf.c_shipped b/adk/config/lex.zconf.c_shipped
index dc3e81807..dc3e81807 100644
--- a/config/lex.zconf.c_shipped
+++ b/adk/config/lex.zconf.c_shipped
diff --git a/config/lkc.h b/adk/config/lkc.h
index f379b0bf8..f379b0bf8 100644
--- a/config/lkc.h
+++ b/adk/config/lkc.h
diff --git a/config/lkc_proto.h b/adk/config/lkc_proto.h
index 8e6946131..8e6946131 100644
--- a/config/lkc_proto.h
+++ b/adk/config/lkc_proto.h
diff --git a/config/lxdialog/.gitignore b/adk/config/lxdialog/.gitignore
index 90b08ff02..90b08ff02 100644
--- a/config/lxdialog/.gitignore
+++ b/adk/config/lxdialog/.gitignore
diff --git a/config/lxdialog/BIG.FAT.WARNING b/adk/config/lxdialog/BIG.FAT.WARNING
index a8999d82b..a8999d82b 100644
--- a/config/lxdialog/BIG.FAT.WARNING
+++ b/adk/config/lxdialog/BIG.FAT.WARNING
diff --git a/config/lxdialog/check-lxdialog.sh b/adk/config/lxdialog/check-lxdialog.sh
index fcef0f59d..fcef0f59d 100644
--- a/config/lxdialog/check-lxdialog.sh
+++ b/adk/config/lxdialog/check-lxdialog.sh
diff --git a/config/lxdialog/checklist.c b/adk/config/lxdialog/checklist.c
index bcc6f19c3..bcc6f19c3 100644
--- a/config/lxdialog/checklist.c
+++ b/adk/config/lxdialog/checklist.c
diff --git a/config/lxdialog/dialog.h b/adk/config/lxdialog/dialog.h
index b5211fce0..b5211fce0 100644
--- a/config/lxdialog/dialog.h
+++ b/adk/config/lxdialog/dialog.h
diff --git a/config/lxdialog/inputbox.c b/adk/config/lxdialog/inputbox.c
index 616c60138..616c60138 100644
--- a/config/lxdialog/inputbox.c
+++ b/adk/config/lxdialog/inputbox.c
diff --git a/config/lxdialog/menubox.c b/adk/config/lxdialog/menubox.c
index fa9d633f2..fa9d633f2 100644
--- a/config/lxdialog/menubox.c
+++ b/adk/config/lxdialog/menubox.c
diff --git a/config/lxdialog/textbox.c b/adk/config/lxdialog/textbox.c
index c704712d0..c704712d0 100644
--- a/config/lxdialog/textbox.c
+++ b/adk/config/lxdialog/textbox.c
diff --git a/config/lxdialog/util.c b/adk/config/lxdialog/util.c
index f2375ad7e..f2375ad7e 100644
--- a/config/lxdialog/util.c
+++ b/adk/config/lxdialog/util.c
diff --git a/config/lxdialog/yesno.c b/adk/config/lxdialog/yesno.c
index 4e6e8090c..4e6e8090c 100644
--- a/config/lxdialog/yesno.c
+++ b/adk/config/lxdialog/yesno.c
diff --git a/config/mconf.c b/adk/config/mconf.c
index 6aa2c0d88..6aa2c0d88 100644
--- a/config/mconf.c
+++ b/adk/config/mconf.c
diff --git a/config/menu.c b/adk/config/menu.c
index 3e6405ac2..3e6405ac2 100644
--- a/config/menu.c
+++ b/adk/config/menu.c
diff --git a/config/symbol.c b/adk/config/symbol.c
index 18f3e5c33..18f3e5c33 100644
--- a/config/symbol.c
+++ b/adk/config/symbol.c
diff --git a/config/util.c b/adk/config/util.c
index b6b2a46af..b6b2a46af 100644
--- a/config/util.c
+++ b/adk/config/util.c
diff --git a/config/zconf.gperf b/adk/config/zconf.gperf
index 25ef5d01c..25ef5d01c 100644
--- a/config/zconf.gperf
+++ b/adk/config/zconf.gperf
diff --git a/config/zconf.hash.c_shipped b/adk/config/zconf.hash.c_shipped
index 5c73d5133..5c73d5133 100644
--- a/config/zconf.hash.c_shipped
+++ b/adk/config/zconf.hash.c_shipped
diff --git a/config/zconf.l b/adk/config/zconf.l
index 21ff69c9a..21ff69c9a 100644
--- a/config/zconf.l
+++ b/adk/config/zconf.l
diff --git a/config/zconf.tab.c_shipped b/adk/config/zconf.tab.c_shipped
index 3bdcb3a97..3bdcb3a97 100644
--- a/config/zconf.tab.c_shipped
+++ b/adk/config/zconf.tab.c_shipped
diff --git a/config/zconf.tab.h_shipped b/adk/config/zconf.tab.h_shipped
index 1b17df414..1b17df414 100644
--- a/config/zconf.tab.h_shipped
+++ b/adk/config/zconf.tab.h_shipped
diff --git a/config/zconf.y b/adk/config/zconf.y
index b4240c846..b4240c846 100644
--- a/config/zconf.y
+++ b/adk/config/zconf.y
diff --git a/tests/adk.exp.in b/adk/tests/adk.exp.in
index c5a7b8948..c5a7b8948 100644
--- a/tests/adk.exp.in
+++ b/adk/tests/adk.exp.in
diff --git a/tests/master.exp.in b/adk/tests/master.exp.in
index 72d8ab9e6..72d8ab9e6 100644
--- a/tests/master.exp.in
+++ b/adk/tests/master.exp.in
diff --git a/tools/adk/Makefile b/adk/tools/Makefile
index edd559f85..edd559f85 100644
--- a/tools/adk/Makefile
+++ b/adk/tools/Makefile
diff --git a/tools/adk/depmaker.c b/adk/tools/depmaker.c
index e5028003b..9682fb969 100644
--- a/tools/adk/depmaker.c
+++ b/adk/tools/depmaker.c
@@ -28,6 +28,7 @@
#define MAXPATH 128
static int prefix = 0;
+static int hprefix = 0;
static int check_symbol(char *symbol) {
@@ -64,7 +65,7 @@ static int check_symbol(char *symbol) {
}
/*@null@*/
-static char *parse_line(char *package, char *pkgvar, char *string, int checksym, int pprefix, int system) {
+static char *parse_line(char *package, char *pkgvar, char *string, int checksym, int pprefix, int system, int *prefixp) {
char *key, *value, *dep, *key_sym, *pkgdeps;
char temp[MAXLINE];
@@ -114,8 +115,8 @@ static char *parse_line(char *package, char *pkgvar, char *string, int checksym,
value = strtok(NULL, "=\t");
dep = strtok(value, " ");
while (dep != NULL) {
- if (prefix == 0) {
- prefix = 1;
+ if (*prefixp == 0) {
+ *prefixp = 1;
if (snprintf(temp, MAXLINE, "%s-compile: %s-compile", package, dep) < 0)
perror("Can not create string variable.");
} else {
@@ -135,7 +136,7 @@ int main() {
FILE *pkg;
char buf[MAXLINE];
char path[MAXPATH];
- char *string, *pkgvar, *pkgdeps, *tmp, *fpkg, *cpkg, *spkg, *key, *check, *dpkg;
+ char *string, *pkgvar, *pkgdeps, *hpkgdeps = NULL, *tmp, *fpkg, *cpkg, *spkg, *key, *check, *dpkg;
char *stringtmp;
int i;
@@ -173,6 +174,7 @@ int main() {
!(strncmp(pkgdirp->d_name, "glibc", 5) == 0)) {
/* print result to stdout */
printf("package-$(ADK_COMPILE_%s) += %s\n", pkgvar, pkgdirp->d_name);
+ printf("hostpackage-$(ADK_HOST_BUILD_%s) += %s\n", pkgvar, pkgdirp->d_name);
}
if ((pkgdeps = malloc(MAXLINE)) != NULL)
@@ -182,6 +184,7 @@ int main() {
exit(EXIT_FAILURE);
}
prefix = 0;
+ hprefix = 0;
/* generate build dependencies */
while (fgets(buf, MAXLINE, pkg) != NULL) {
@@ -197,7 +200,7 @@ int main() {
string = strstr(buf, "PKG_BUILDDEP:=");
if (string != NULL) {
- tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0, 0, 0);
+ tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0, 0, 0, &prefix);
if (tmp != NULL) {
strncat(pkgdeps, tmp, strlen(tmp));
}
@@ -205,7 +208,7 @@ int main() {
string = strstr(buf, "PKG_BUILDDEP+=");
if (string != NULL) {
- tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0, 0, 0);
+ tmp = parse_line(pkgdirp->d_name, pkgvar, string, 0, 0, 0, &prefix);
if (tmp != NULL)
strncat(pkgdeps, tmp, strlen(tmp));
}
@@ -219,7 +222,7 @@ int main() {
string[strlen(string)-1] = '\0';
key = strtok(string, ":=");
dpkg = strdup(key+13);
- tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 1);
+ tmp = parse_line(pkgdirp->d_name, dpkg, stringtmp, 1, 0, 1, &prefix);
if (tmp != NULL)
strncat(pkgdeps, tmp, strlen(tmp));
}
@@ -238,7 +241,7 @@ int main() {
string = strstr(buf, "PKGFB_");
if (string != NULL) {
- tmp = parse_line(pkgdirp->d_name, fpkg, string, 1, 0, 0);
+ tmp = parse_line(pkgdirp->d_name, fpkg, string, 1, 0, 0, &prefix);
if (tmp != NULL)
strncat(pkgdeps, tmp, strlen(tmp));
}
@@ -255,7 +258,7 @@ int main() {
}
string = strstr(buf, "PKGCB_");
if (string != NULL) {
- tmp = parse_line(pkgdirp->d_name, cpkg, string, 1, 0, 0);
+ tmp = parse_line(pkgdirp->d_name, cpkg, string, 1, 0, 0, &prefix);
if (tmp != NULL)
strncat(pkgdeps, tmp, strlen(tmp));
}
@@ -273,16 +276,31 @@ int main() {
string = strstr(buf, "PKGSB_");
if (string != NULL) {
- tmp = parse_line(pkgdirp->d_name, spkg, string, 1, 1, 0);
+ tmp = parse_line(pkgdirp->d_name, spkg, string, 1, 1, 0, &prefix);
if (tmp != NULL) {
strncat(pkgdeps, tmp, strlen(tmp));
}
}
+ } else if (strncmp(buf, "HOST_BUILDDEP", 13) == 0) {
+ asprintf(&string, "%s-host", pkgdirp->d_name);
+ // check retval; string for NULL
+ tmp = parse_line(string, NULL, buf, 0, 0, 0, &hprefix);
+ if (tmp && *tmp) {
+ asprintf(&string, "%s%s",
+ hpkgdeps ? hpkgdeps : "",
+ tmp);
+ free(hpkgdeps);
+ hpkgdeps = string;
+ }
}
free(tmp);
}
if (strlen(pkgdeps) != 0)
printf("%s\n", pkgdeps);
+ if (hpkgdeps && *hpkgdeps)
+ printf("%s\n", hpkgdeps);
+ free(hpkgdeps);
+ hpkgdeps = NULL;
free(pkgdeps);
free(pkgvar);
if (fclose(pkg) != 0)
diff --git a/tools/adk/pkgmaker.c b/adk/tools/pkgmaker.c
index 51d31aa70..51d31aa70 100644
--- a/tools/adk/pkgmaker.c
+++ b/adk/tools/pkgmaker.c
diff --git a/tools/adk/pkgrebuild.c b/adk/tools/pkgrebuild.c
index e7f037ae5..e7f037ae5 100644
--- a/tools/adk/pkgrebuild.c
+++ b/adk/tools/pkgrebuild.c
diff --git a/tools/adk/sortfile.c b/adk/tools/sortfile.c
index 1e9fc9623..1e9fc9623 100644
--- a/tools/adk/sortfile.c
+++ b/adk/tools/sortfile.c
diff --git a/tools/adk/sortfile.h b/adk/tools/sortfile.h
index c54294e69..c54294e69 100644
--- a/tools/adk/sortfile.h
+++ b/adk/tools/sortfile.h
diff --git a/tools/adk/strmap.c b/adk/tools/strmap.c
index f2c660e1f..f2c660e1f 100644
--- a/tools/adk/strmap.c
+++ b/adk/tools/strmap.c
diff --git a/tools/adk/strmap.h b/adk/tools/strmap.h
index 99687b236..99687b236 100644
--- a/tools/adk/strmap.h
+++ b/adk/tools/strmap.h
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 000000000..1670e0041
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,24 @@
+TOPDIR=$(pwd)
+
+all: pdf text html
+
+pdf:
+ mkdir .pdf pdf
+ cp *.txt .pdf
+ cp images/*.png pdf
+ a2x -v --dblatex-opts "-P latex.output.revhistory=0" -f pdf -d book -L -D pdf .pdf/manual.txt
+
+text:
+ mkdir .text text
+ cp *.txt .text
+ cp images/*.png text
+ a2x -v -f text -d book -L -D text .text/manual.txt
+
+html:
+ mkdir .html html
+ cp *.txt .html
+ cp images/*.png html
+ a2x -v --xsltproc-opts "--stringparam toc.section.depth 2" -f xhtml -d book -L -D html .html/manual.txt
+
+clean:
+ rm -rf pdf .pdf text .text html .html
diff --git a/docs/adding-packages-auto.txt b/docs/adding-packages-auto.txt
new file mode 100644
index 000000000..ac52c395f
--- /dev/null
+++ b/docs/adding-packages-auto.txt
@@ -0,0 +1,71 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Infrastructure for autotools-based packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[auto-package-tutorial]]
+
+First, let's see how to write a +Makefile+ file for an autotools-based
+package, with an example:
+
+------------------------
+01: # This file is part of the OpenADK project. OpenADK is copyrighted
+02: # material, please see the LICENCE file in the top-level directory.
+03:
+04: include ${TOPDIR}/rules.mk
+05:
+06: PKG_NAME:= libfoo
+07: PKG_VERSION:= 1.0
+08: PKG_RELEASE:= 1
+09: PKG_MD5SUM:= ba526cd8f4403a5d351a9efaa8608fbc
+10: PKG_DESCR:= foo library
+11: PKG_SECTION:= libs
+12: PKG_BUILDDEP:= openssl
+13: PKG_DEPENDS:= libopenssl
+14: PKG_URL:= http://www.libfoo.org/
+15: PKG_SITES:= http://downloads.libfoo.org/
+16:
+17: include ${TOPDIR}/mk/package.mk
+18:
+19: $(eval $(call PKG_template,LIBFOO,libfoo,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+20:
+21: libfoo-install:
+22: ${INSTALL_DIR} ${IDIR_LIBFOO}/usr/lib
+23: ${CP} ${WRKINST}/usr/lib/libfoo.so* ${IDIR_LIBFOO}/usr/lib
+24:
+25: include ${TOPDIR}/mk/pkg-bottom.mk
+
+------------------------
+
+The Makefile begins with line 4 with the inclusion of the top level rules.mk
+file. After that the Makefile starts on line 6 to 15 with metadata
+information: the name of the package (+PKG_NAME+), the version of the package
+(+PKG_VERSION+), the release number of the package (+PKG_RELEASE+), which is
+used in OpenADK to mark any package updates, the md5 hash of the source archive
+(+PKG_MD5SUM+), the short one line description for the package (+PKG_DESCR+),
+the package section for the menu configuration system (+PKG_SECTION+), the
+package buildtime dependencies (+PKG_BUILDDEP+), the package runtime
+dependencies (+PKG_DEPENDS+), the package homepage (+PKG_URL+) and finally the
+internet locations at which the tarball can be downloaded from (+PKG_SITES+).
+Normally ${PKG_NAME}-${PKG_VERSION}.tar.gz will be downloaded. You can
+overwrite the default via the +DISTFILES+ variable. You can add more then one
+archive name in +DISTFILES+ via space separated. If you have no source archive
+at all, just use the boolean variable +NO_DISTFILES+ and set it to 1.
+
+On line 17 the +mk/package.mk+ file is included, which contains the PKG_template
+function, which is used in line 19.
+
+On line 21-23 we install the shared library into the package installation
+directory, which is used to create the resulting binary package or tar archive
+for the target.
+
+On line 25 we include +mk/pkg-bottom.mk+, which includes common functions used
+by the package fetching and building process.
+
+With the autotools infrastructure, all the steps required to build
+and install the packages are already defined, and they generally work
+well for most autotools-based packages. However, when required, it is
+still possible to customize what is done in any particular step.
+By adding a post-operation hook (after extract, patch, configure,
+build or install). See xref:hooks[] for details.
diff --git a/docs/adding-packages-conclusion.txt b/docs/adding-packages-conclusion.txt
new file mode 100644
index 000000000..6ec88e999
--- /dev/null
+++ b/docs/adding-packages-conclusion.txt
@@ -0,0 +1,13 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Conclusion
+~~~~~~~~~~
+
+As you can see, adding a software package to OpenADK is simply a
+matter of writing a Makefile using an existing template and modifying it
+according to the compilation process required by the package.
+
+If you package software that might be useful for other people, don't
+forget to send a patch to the OpenADK developer (see xref:submitting-patches[])!
+
diff --git a/docs/adding-packages-directory.txt b/docs/adding-packages-directory.txt
new file mode 100644
index 000000000..347c39aa6
--- /dev/null
+++ b/docs/adding-packages-directory.txt
@@ -0,0 +1,57 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+New package
+~~~~~~~~~~~
+
+First of all, create a directory and Makefile under the +package+
+directory for your software, for example +libfoo+:
+
+------------
+ $ make newpackage PKG=libfoo VER=0.1
+------------
+
+This will create a sample Makefile for you, with a lot of comments and
+hints. It describes how the package should be downloaded, configured,
+built, installed, etc.
+
+Depending on the package type, the +Makefile+ must be written in a
+different way, using two different infrastructures:
+
+* manual package configuration
+
+* automatic package configuration using autotools
+
+
+[[dependencies-target-toolchain-options]]
+Dependencies on target and toolchain options
+
+Some packages depend on certain options of the toolchain: mainly the
+choice of C library and C++ support. Some packages can only be built on
+certain target architectures or for specific target systems.
+
+These dependencies have to be expressed in the Makefile. The given values
+are space separated and can be negated with ! as a prefix.
+
+* Target architecture
+** variable used PKG_ARCH_DEPENDS
+** allowed values are: arm, mips, .. see target/arch.lst
+
+* Target system
+** variable used PKG_SYSTEM_DEPENDS
+** for allowed values see the output of ./scripts/getsystems
+
+* Target C library
+** variable used PKG_LIBC_DEPENDS
+** allowed values are: uclibc glibc musl
+
+* Host system
+** variable used PKG_HOST_DEPENDS
+** allowed values are: linux darwin cygwin freebsd netbsd openbsd
+
+* C++ support
+** variable used PKG_NEED_CXX
+** Comment string: `C++`
+
+Further formatting details: see xref:writing-rules-mk[the writing
+rules].
diff --git a/docs/adding-packages-hooks.txt b/docs/adding-packages-hooks.txt
new file mode 100644
index 000000000..65786fbfc
--- /dev/null
+++ b/docs/adding-packages-hooks.txt
@@ -0,0 +1,31 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[hooks]]
+Hooks available in the various build steps
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The infrastructure allow packages to specify hooks. These define further
+actions to perform after existing steps. Most hooks aren't really useful for
+manual packages, since the +Makefile+ already has full control over the
+actions performed in each step of the package construction.
+
+The following hook targets are available:
+
+* +post-extract+
+* +post-patch+
+* +pre-configure+
+* +post-configure+
+* +pre-build+
+* +post-build+
+* +pre-install+
+* +post-install+
+
+For example, to make some scripts executable after extraction,
+add following to your +Makefile+:
+
+---------------------
+post-extract:
+ chmod a+x $(WRKBUILD)/build/make/*.sh
+ chmod a+x $(WRKBUILD)/build/make/*.pl
+---------------------
diff --git a/docs/adding-packages-host.txt b/docs/adding-packages-host.txt
new file mode 100644
index 000000000..c9eba6d02
--- /dev/null
+++ b/docs/adding-packages-host.txt
@@ -0,0 +1,86 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Infrastructure for host packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[host-package-tutorial]]
+
+First, let's see how to write a +Makefile+ for an host only package, required
+by another target package to build, with an example:
+
+------------------------
+01: # This file is part of the OpenADK project. OpenADK is copyrighted
+02: # material, please see the LICENCE file in the top-level directory.
+03:
+04: include $(TOPDIR)/rules.mk
+05:
+06: PKG_NAME:= hostfoo
+07: PKG_VERSION:= 1.0
+08: PKG_RELEASE:= 1
+09: PKG_MD5SUM:= 291ba57c0acd218da0b0916c280dcbae
+10: PKG_DESCR:= hostfoo utility
+11: PKG_SECTION:= misc
+12: PKG_URL:= http://www.foo.org/
+13: PKG_SITES:= http://download.foo.org/
+14:
+15: PKG_CFLINE_HOSTFOO:= depends on ADK_HOST_ONLY
+16:
+17: include $(TOPDIR)/mk/host.mk
+18: include $(TOPDIR)/mk/package.mk
+19:
+20: $(eval $(call HOST_template,HOSTFOO,hostfoo,$(PKG_VERSION)-${PKG_RELEASE}))
+21:
+22: HOST_STYLE:= auto
+23:
+24: include ${TOPDIR}/mk/host-bottom.mk
+25: include ${TOPDIR}/mk/pkg-bottom.mk
+------------------------
+
+The differences to a target package is the inclusion of +mk/host.mk+ in line 17 and
++mk/host-bottom.mk+ in line 24. Furthermore the HOST_template is called instead of
+the PKG_template. The last difference is the usage of +PKG_CFLINE_HOSTFOO+ to mark
+the package as host only package.
+
+Following mix between host and target package is possible, too:
+------------------------
+01: # This file is part of the OpenADK project. OpenADK is copyrighted
+02: # material, please see the LICENCE file in the top-level directory.
+03:
+04: include ${TOPDIR}/rules.mk
+05:
+06: PKG_NAME:= foo
+07: PKG_VERSION:= 1.0
+08: PKG_RELEASE:= 1
+09: PKG_MD5SUM:= 032a7b7b9f1a6e278ccde73f82cec5c2
+10: PKG_DESCR:= foo tool
+11: PKG_SECTION:= lang
+12: PKG_BUILDDEP:= foo-host
+13: PKG_URL:= http://www.foo.org/
+14: PKG_SITES:= http://download.foo.org/
+15:
+16: include ${TOPDIR}/mk/host.mk
+17: include ${TOPDIR}/mk/package.mk
+18:
+19: $(eval $(call HOST_template,FOO,foo,${PKG_VERSION}-${PKG_RELEASE}))
+20: $(eval $(call PKG_template,FOO,foo,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+21:
+22: HOST_STYLE:= auto
+23:
+24: foo-install:
+25: ${INSTALL_DIR} ${IDIR_FOO}/usr/bin
+26: ${INSTALL_BIN} ${WRKINST}/usr/bin/foo ${IDIR_FOO}/usr/bin
+27:
+28: include ${TOPDIR}/mk/host-bottom.mk
+29: include ${TOPDIR}/mk/pkg-bottom.mk
+------------------------
+
+If you need to rebuild a mixed package, you can do:
+------------
+ $ make package=<package> hostclean hostpackage clean package
+------------
+
+If your host package have some dependencies, use following:
+------------
+ HOST_BUILDDEP:=libbaz-host bar-host
+------------
diff --git a/docs/adding-packages-manual.txt b/docs/adding-packages-manual.txt
new file mode 100644
index 000000000..b231c19fb
--- /dev/null
+++ b/docs/adding-packages-manual.txt
@@ -0,0 +1,83 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Infrastructure for packages with specific build systems
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By 'packages with specific build systems' we mean all the packages whose build
+system is not the standard one, speak 'autotools'. This typically includes
+packages whose build system is based on hand-written Makefiles or shell
+scripts.
+
+[[manual-package-tutorial]]
+
+------------------------------
+01: # This file is part of the OpenADK project. OpenADK is copyrighted
+02: # material, please see the LICENCE file in the top-level directory.
+03:
+04: include $(TOPDIR)/rules.mk
+05:
+06: PKG_NAME:= libfoo
+07: PKG_VERSION:= 1.0
+08: PKG_RELEASE:= 1
+09: PKG_MD5SUM:= eade38998313c25fd7934719cdf8a2ea
+10: PKG_DESCR:= foo library
+11: PKG_SECTION:= libs
+12: PKG_BUILDDEP:= openssl
+13: PKG_DEPENDS:= libopenssl
+14: PKG_URL:= http://www.libfoo.org/
+15: PKG_SITES:= http://download.libfoo.org/
+16:
+17: include $(TOPDIR)/mk/package.mk
+18:
+19: $(eval $(call PKG_template,LIBFOO,libfoo,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+20:
+21: CONFIG_STYLE:= manual
+22: BUILD_STYLE:= manual
+23: INSTALL_STYLE:= manual
+24:
+25: do-configure:
+26: ${CP} ./files/config ${WRKBUILD}/.config
+27:
+28: do-build:
+29: ${MAKE} -C ${WRKBUILD} all
+30:
+31: do-install:
+32: ${INSTALL_DIR} ${IDIR_LIBFOO}/usr/lib
+33: ${CP} ${WRKBUILD}/libfoo.so* ${IDIR_LIBFOO}/usr/lib
+34:
+35: include ${TOPDIR}/mk/pkg-bottom.mk
+--------------------------------
+
+The Makefile begins with line 4 with the inclusion of the top level rules.mk
+file. After that the Makefile starts on line 6 to 15 with metadata
+information: the name of the package (+PKG_NAME+), the version of the package
+(+PKG_VERSION+), the release number of the package (+PKG_RELEASE+), which is
+used in OpenADK to mark any package updates, the md5 hash of the source archive
+(+PKG_MD5SUM+), the short one line description for the package (+PKG_DESCR+),
+the package section for the menu configuration system (+PKG_SECTION+), the
+package buildtime dependencies (+PKG_BUILDDEP+), the package runtime
+dependencies (+PKG_DEPENDS+), the package homepage (+PKG_URL+) and finally the
+internet locations at which the tarball can be downloaded from (+PKG_SITES+).
+Normally ${PKG_NAME}-${PKG_VERSION}.tar.gz will be downloaded. You can
+overwrite the default via the +DISTFILES+ variable. You can add more then one
+archive name in +DISTFILES+ via space separated. If you have no source archive
+at all, just use the boolean variable +NO_DISTFILES+ and set it to 1.
+
+On line 17 the +mk/package.mk+ file is included, which contains the PKG_template
+function, which is used in line 19.
+
+On line 21 to 23 we define that the configuration step, the building and install
+steps are manually provided.
+
+On line 25-26 we implement a manual configuration step of the libfoo package
+by copying a manually created config file into the build directory.
+
+On line 28-29 we start the compilation process via make.
+
+On line 31-33 we install the shared library into the package installation
+directory, which is used to create the resulting binary package or tar archive
+for the target.
+
+On line 35 we include +mk/pkg-bottom.mk+, which includes common functions used
+by the package fetching and building process.
diff --git a/docs/adding-packages.txt b/docs/adding-packages.txt
new file mode 100644
index 000000000..122ae6c3c
--- /dev/null
+++ b/docs/adding-packages.txt
@@ -0,0 +1,25 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[adding-packages]]
+Adding new packages to OpenADK
+------------------------------
+
+This section covers how new packages (userspace libraries or
+applications) can be integrated into OpenADK. It also shows how existing
+packages are integrated, which is needed for fixing issues or tuning
+their configuration.
+
+include::adding-packages-directory.txt[]
+
+include::adding-packages-manual.txt[]
+
+include::adding-packages-auto.txt[]
+
+include::adding-packages-host.txt[]
+
+include::adding-packages-hooks.txt[]
+
+include::adding-packages-conclusion.txt[]
+
+include::package-reference.txt[]
diff --git a/docs/advanced.txt b/docs/advanced.txt
new file mode 100644
index 000000000..4ef75e884
--- /dev/null
+++ b/docs/advanced.txt
@@ -0,0 +1,15 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Advanced usage
+--------------
+
+include::using-openadk-toolchain.txt[]
+
+include::ccache-support.txt[]
+
+include::download-location.txt[]
+
+include::package-make-target.txt[]
+
+include::using-openadk-development.txt[]
diff --git a/docs/appendix.txt b/docs/appendix.txt
new file mode 100644
index 000000000..cf004b461
--- /dev/null
+++ b/docs/appendix.txt
@@ -0,0 +1,8 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Appendix
+========
+
+include::network-configuration.txt[]
+
diff --git a/docs/ccache-support.txt b/docs/ccache-support.txt
new file mode 100644
index 000000000..3dfdd1fa2
--- /dev/null
+++ b/docs/ccache-support.txt
@@ -0,0 +1,21 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[ccache]]
+Using +ccache+ in OpenADK
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+http://ccache.samba.org[ccache] is a compiler cache. It stores the
+object files resulting from each compilation process, and is able to
+skip future compilation of the same source file (with same compiler
+and same arguments) by using the pre-existing object files. When doing
+almost identical builds from scratch a number of times, it can nicely
+speed up the build process.
+
++ccache+ support is integrated in OpenADK. You just have to enable +Use ccache
+to speedup recompilation+ in +Globale settings+. This will automatically build
++ccache+ and use it for every target compilation.
+
+The cache is located in +$HOME/.ccache+. It is stored outside of OpenADK
+directory so that it can be shared by separate OpenADK builds. If you want to
+get rid of the cache, simply remove this directory.
diff --git a/docs/common-usage.txt b/docs/common-usage.txt
new file mode 100644
index 000000000..b08475c4d
--- /dev/null
+++ b/docs/common-usage.txt
@@ -0,0 +1,87 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Daily use
+---------
+
+Understanding when a full rebuild is necessary
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+OpenADK tries to detect what part of the system should be rebuilt when the
+system configuration is changed through +make menuconfig+. In some cases it
+automatically rebuilt packages, but sometimes just a warning is printed to the
+terminal, that a rebuild is necessary to make the changes an effect. If strange
+things are happening, the autodetection might have not worked correctly, then
+you should consider to rebuild everything. If you are following development you
+should always do a full rebuild after fetching updates via +git pull+. It is
+not always required, but if anything fails, you are on your own.
+Use following to do a full rebuild without refetching distfiles:
+
+--------------------
+ $ make cleandir && make
+--------------------
+
+Understanding how to rebuild packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In OpenADK you can rebuild a single package with:
+--------------------
+ $ make package=<pkgname> clean package
+--------------------
+
+It will automatically remove all files added to the staging target directory
++target_*+. If you just want to restart compilation process, after making
+some fixes in +build_*/w-<pkgname>-<pkgversion>/+, just do:
+--------------------
+ $ make package=<pkgname> package
+--------------------
+
+If you are happy with your changes to the package sources, you can automatically
+generate a patch, which will be saved in +package/<pkgname>/patches and automatically
+applied on the next clean rebuild:
+--------------------
+ $ make package=<pkgname> update-patches
+--------------------
+
+The newly created patches will be opened in $EDITOR, so you can some comments to
+the top of the file, before the diff.
+
+
+Offline builds
+~~~~~~~~~~~~~~
+
+If you intend to do an offline build and just want to download
+all sources that you previously selected in the configurator
+then issue:
+
+--------------------
+ $ make download
+--------------------
+
+You can now disconnect or copy the content of your +dl+
+directory to the build-host.
+
+[[env-vars]]
+
+Environment variables
+~~~~~~~~~~~~~~~~~~~~~
+
+OpenADK also honors some environment variables, when they are passed
+to +make+.
+
+* +ARCH+, the architecture of the target system
+* +SYSTEM+, the target system name
+* +LIBC+, the C library for the target system
+* +COLLECT+, the package collection, which will be used
+* +VERBOSE+, verbose build, when set to 1
+
+An example that creates a configuration file for Raspberry PI with all
+software packages enabled, but not included in the resulting firmware image:
+
+--------------------
+ $ make ARCH=arm SYSTEM=raspberry-pi LIBC=musl allmodconfig
+--------------------
+
+This is often used in the development process of a target system, to verify that
+all packages are compilable.
+
diff --git a/docs/configure.txt b/docs/configure.txt
new file mode 100644
index 000000000..3fadc1f48
--- /dev/null
+++ b/docs/configure.txt
@@ -0,0 +1,68 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[toolchain]]
+
+Cross-compilation toolchain
+---------------------------
+
+A compilation toolchain is the set of tools that allows you to compile
+code for your system. It consists of a compiler (in our case, +gcc+),
+binary utils like assembler and linker (in our case, +binutils+) and a
+C standard library (either
+http://www.gnu.org/software/libc/libc.html[GNU Libc],
+http://www.uclibc.org/[uClibc] or
+http://www.musl-libc.org/[musl]).
+
+The system installed on your development station certainly already has
+a compilation toolchain that you can use to compile an application
+that runs on your system. If you're using a PC, your compilation
+toolchain runs on an x86 processor and generates code for an x86
+processor. Under most Linux systems, the compilation toolchain uses
+the GNU libc (glibc) as the C standard library. This compilation
+toolchain is called the "host compilation toolchain". The machine on
+which it is running, and on which you're working, is called the "host
+system" footnote:[This terminology differs from what is used by GNU
+configure, where the host is the machine on which the application will
+run (which is usually the same as target)].
+
+The compilation toolchain is provided by your distribution, and
+OpenADK has nothing to do with it (other than using it to build a
+cross-compilation toolchain and other tools that are run on the
+development host).
+
+As said above, the compilation toolchain that comes with your system
+runs on and generates code for the processor in your host system. As
+your embedded system has a different processor, you need a
+cross-compilation toolchain - a compilation toolchain that runs on
+your _host system_ but generates code for your _target system_ (and
+target processor). For example, if your host system uses x86 and your
+target system uses ARM, the regular compilation toolchain on your host
+runs on x86 and generates code for x86, while the cross-compilation
+toolchain runs on x86 and generates code for ARM.
+
+OpenADK provides only one solution for the cross-compilation toolchain.
+The versions for binutils, gcc, gdb and libc are fixed. It is a combination
+of mostly the latest versions, which are known to work in this combination
+and are known to produce usable firmware images. You normally do not need to
+know the deep details, it is part of OpenADK policy to keep this part
+simple for the user.
+
+You can only choose between three C libraries:
+http://www.uclibc.org[uClibc], the
+http://www.gnu.org/software/libc/libc.html[glibc] and
+http://www.musl-libc.org[musl].
+
+There are some minimal configuration options provided in +Toolchain settings+.
+You can enable or disable the building of following components and toolchain
+options:
+
+* GDB (enabled by default)
+
+* GNU C++ compiler (enabled by default, when disabled
+ will prevent some packages to show up in the menu selection)
+
+* Stack Smashing Support (SSP) support for GNU C/C++ Compiler (experimental, some packages will fail to build)
+
+* Link Time Optimization (LTO) support for GNU C/C++ Compiler (experimental, some packages will fail to build)
+
diff --git a/docs/contribute.txt b/docs/contribute.txt
new file mode 100644
index 000000000..5a8e1fdd8
--- /dev/null
+++ b/docs/contribute.txt
@@ -0,0 +1,88 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Contributing to OpenADK
+=======================
+
+If you want to contribute to OpenADK, you will need a git view of
+the project. Refer to xref:getting-openadk[] to get it.
+
+Currently a mail to wbx@openadk.org is the central place for contribution.
+
+[[submitting-patches]]
+Submitting patches
+------------------
+
+When your changes are done, and committed in your local git view,
+_rebase_ your development branch on top of the upstream tree before
+generating the patch set. To do so, run:
+
+---------------------
+$ git fetch --all --tags
+$ git rebase origin/master
+---------------------
+
+Here, you are ready to generate then submit your patch set.
+
+To generate it, run:
+
+---------------------
+$ git format-patch -M -n -s origin/master
+---------------------
+
+This will generate patch files automatically adding the +Signed-off-by+ line.
+
+Once patch files are generated, you can review/edit the commit message
+before submitting them using your favorite text editor.
+
+Lastly, send/submit your patch set to the OpenADK developer:
+
+---------------------
+$ git send-email --to wbx@openadk.org *.patch
+---------------------
+
+Note that +git+ should be configured to use your mail account.
+To configure +git+, see +man git-send-email+ or google it.
+
+Make sure posted *patches are not line-wrapped*, otherwise they cannot
+easily be applied. In such a case, fix your e-mail client, or better,
+use +git send-email+ to send your patches.
+
+Cover letter
+~~~~~~~~~~~~
+
+If you want to present the whole patch set in a separate mail, add
++--cover-letter+ to the +git format-patch+ command (see +man
+git-format-patch+ for further information). This will generate a
+template for an introduction e-mail to your patch series.
+
+A 'cover letter' may be useful to introduce the changes you propose
+in the following cases:
+
+* large number of commits in the series;
+
+* deep impact of the changes in the rest of the project;
+
+* RFC footnote:[RFC: (Request for comments) change proposal];
+
+* whenever you feel it will help presenting your work, your choices,
+ the review process, etc.
+
+[[reporting-bugs]]
+Reporting issues/bugs, get help
+-------------------------------
+
+Try to think as if you were trying to help someone else; in
+that case, what would you need?
+
+Here is a short list of details to provide in such case:
+
+* host machine (OS/release)
+* git version of OpenADK
+* target for which the build fails
+* package(s) which the build fails
+* the command that fails and its output
+* the make.log file, generated when make v is used
+* any information you think that may be relevant
+
+Additionally, you can add the +.config+ file.
diff --git a/docs/customize-busybox-config.txt b/docs/customize-busybox-config.txt
new file mode 100644
index 000000000..dc1c7abaa
--- /dev/null
+++ b/docs/customize-busybox-config.txt
@@ -0,0 +1,20 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[busybox-custom]]
+Customizing the Busybox configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+http://www.busybox.net/[Busybox] is very configurable, and you may
+want to customize it. You can just configure it via +Package selection+,
++Base System+, +Busybox Configuration+. The menu based busybox configuration
+is mostly integrated into OpenADK. There are some options, which are not
+available and not supported. If you need to, you can change the defaults
+in +package/busybox/config+ and regenerate your OpenADK configuration.
+
+A change in the busybox configuration will rebuild the busybox package. If you
+choose another implementation of f.e. tar, which is provided by default from
+busybox, tar in busybox will be deactivated and the package will be
+automatically rebuilded, so that your resulting firmware images or archives
+will only contain a single tar program. Obviosly just the one you have
+selected.
diff --git a/docs/customize-kernel-config.txt b/docs/customize-kernel-config.txt
new file mode 100644
index 000000000..9adeb7a9d
--- /dev/null
+++ b/docs/customize-kernel-config.txt
@@ -0,0 +1,48 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[kernel-custom]]
+Customizing the Linux kernel configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Linux kernel configuration can be customized using +make menuconfig+.
+OpenADK uses a combination of Linux miniconfig feature and user defined
+features to generate a valid Linux configuration for your target.
+Some features and drivers are not selectable via +make menuconfig+, either
+because your choosen target system does not have support for it or the
+option is not implemented, yet. OpenADK uses some kind of abstraction
+layer between the real full featured and complicated Linux kernel configuration
+and you. It is not perfect and does include a lot of manual work in
++target/linux/config+, but it works in a acceptable way.
+
+If you just want to view the Linux configuration, which is actually
+used for your target, you can execute following command:
+
+---------------
+ $ make kernelconfig
+---------------
+
+Any changes here will get lost and will not be used to generate a kernel for
+your target. If you want to change the existing kernel configuration you need
+to follow these steps.
+
+The basic kernel configuration used for your choosen target is concatenated from
+following two files:
++target/linux/kernel.config+ and +target/<arch>/kernel/<system>+.
+
+So if you would like to change any basic stuff, just edit the files and recreate your
+firmware via:
+
+---------------
+ $ make
+---------------
+
+OpenADK automatically recognizes any change and will rebuild the kernel.
+
+The base kernel configuration for your target generated by OpenADK is normally just enough to
+bootup the system with support for your board, serial console, network card and boot medium.
+(like a hard disk, sd card or flash partition)
+
+If you need to enable some new optional drivers or features, which are not available in
++make menuconfig+, you need to dig in +target/linux/config+. There is the abstraction layer
+for the real kernel configuration.
diff --git a/docs/customize-libc-config.txt b/docs/customize-libc-config.txt
new file mode 100644
index 000000000..438e630f8
--- /dev/null
+++ b/docs/customize-libc-config.txt
@@ -0,0 +1,33 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[libc-custom]]
+Customizing the libc configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
+offers a lot of configuration options. They allow you to select
+various functionalities depending on your needs and limitations.
+OpenADK chooses automatically the best configuration regarding
+resulting code size, standard conformance, portability and GNU
+libc compatibility.
+
+If you still have the requirements to change the default, regenerate
+a new uClibc config from the existing one:
+
+----------------
+ $ tar xvf dl/uClibc-x.y.z.tar.bz2
+ $ cd uClibc-x.y.z && patch -p1 <../toolchain/uClibc/patches/uclibc-git*.patch
+ $ cp ../target/<arch>/uclibc.config .config
+ $ make menuconfig
+----------------
+
+Make all required changes. Then copy the newly created uClibc configuration back
+and rebuild your targetsystem, including the toolchain components:
+
+----------------
+ $ cp .config ../target/<arch>/uclibc.config
+ $ cd .. && make cleandir && make
+----------------
+
+There are no customization options for GNU libc or musl available.
diff --git a/docs/customize-outside-adk.txt b/docs/customize-outside-adk.txt
new file mode 100644
index 000000000..575defa82
--- /dev/null
+++ b/docs/customize-outside-adk.txt
@@ -0,0 +1,154 @@
+// -*- mode:doc -*- ;
+
+[[outside-adk-custom]]
+Keeping customizations outside OpenADK
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The OpenADK project recommends and encourages upstreaming to the
+official OpenADK version the packages and board support that are
+written by developers. However, it is sometimes not possible or
+desirable because some of these packages or board support are highly
+specific or proprietary.
+
+In this case, OpenADK users are offered following choice using
+here own git repository.
+
+* Initialize your project
+
+Personalize your Git environment via:
+
+---------------------
+ $ git config --global user.name "Waldemar Brodkorb"
+ $ git config --global user.email wbx@openadk.org
+---------------------
+
+Get the latest version of OpenADK via anonymous git:
+
+---------------------
+ $ git clone --bare git://openadk.org/git/openadk myadk.git
+---------------------
+
+Use git-daemon to make the repository public to your developers. After that clone your new shared project repository:
+
+---------------------
+ $ git clone git+ssh://myserver.com/git/myadk.git
+ $ cd myadk
+---------------------
+
+Configure OpenADK remote git repository:
+
+---------------------
+ $ git remote add openadk git://openadk.org/git/openadk
+---------------------
+
+* Create your firmware
+
+Now you can either start with the latest version or use some older version:
+
+---------------------
+ $ git checkout -b stable_1_0 $sha1
+---------------------
+You can find $sha1 via git log. $sha1 is the hash after the keyword “commit”.
+
+Now build a firmware image for your target and test it. Fix bugs in the build
+environment or add new stuff. You can use the “extra” directory to add local
+unpackaged binaries and/or configuration files to overwrite packaged stuff.
+
+Check your uncommitted changes:
+
+---------------------
+ $ git status
+ $ git diff --cached
+ $ git diff
+---------------------
+
+Commit your git-added changes:
+
+---------------------
+ $ git commit
+---------------------
+Or just commit all changes:
+
+---------------------
+ $ git commit -a
+---------------------
+It is a good style to make a lot of small atomic commits.
+
+Push your changes back to your git repository.
+For new local branches:
+
+---------------------
+ $ git push origin stable_1_0
+---------------------
+
+Or in regulary usage via:
+---------------------
+ $ git push
+---------------------
+
+* Working together with OpenADK
+
+You can generate patches from all your changes against the remote master:
+
+---------------------
+ $ git format-patch -s origin
+---------------------
+
+Send all relevant patches to OpenADK author via eMail.
+
+Update your master with changes from OpenADK:
+
+---------------------
+ $ git checkout master
+ $ git pull openadk master
+---------------------
+
+If you want you can merge all changes to your branch:
+
+---------------------
+ $ git checkout stable_1_0
+ $ git merge master
+---------------------
+
+Or just cherry-pick some of the commits:
+
+---------------------
+ $ git cherry-pick $sha1
+---------------------
+
+* Releasing
+
+Tag your tested stable branch:
+
+---------------------
+ $ git tag -a stable_1.0
+---------------------
+Push your tag to your repository:
+
+---------------------
+ $ git push origin stable_1.0
+---------------------
+
+Checkout your tag and build your firmware:
+
+---------------------
+ $ git clone git+ssh://myserver.com/git/myadk.git mytag
+ $ cd mytag
+ $ git checkout stable_1.0
+---------------------
+
+* Deleting unused branches
+
+Deleting branches remotely:
+
+---------------------
+ $ git branch -r
+ $ git push origin :branchname
+---------------------
+
+Deleting branches locally:
+
+---------------------
+ $ git branch
+ $ git branch -D branchname
+---------------------
diff --git a/docs/customize-rootfs.txt b/docs/customize-rootfs.txt
new file mode 100644
index 000000000..b21b82209
--- /dev/null
+++ b/docs/customize-rootfs.txt
@@ -0,0 +1,23 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[rootfs-custom]]
+Customizing the generated target filesystem
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Besides changing one or another configuration through +make menuconfig+,
+there are is a way to customize the resulting target filesystem.
+
+Create a new directory called +extra+ in the top OpenADK directory.
+Put there a tree of directories and files that will be copied directly
+over the target filesystem (+root_*+) after everything is build, but
+before the firmware images or archives are created.
+
+You can also point to another directory via:
+---------------
+ $ make extra=/foo/bar
+---------------
+
+You can start with the example configuration files from +root_*+.
+The +extra+ directory will never be deleted by any clean target to avoid
+loss of customized configuration data.
diff --git a/docs/customize-store.txt b/docs/customize-store.txt
new file mode 100644
index 000000000..d0c209273
--- /dev/null
+++ b/docs/customize-store.txt
@@ -0,0 +1,14 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[customize-store]]
+Storing the configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When you have a OpenADK configuration that you are satisfied with and
+you want to share it with others, put it under revision control or move
+on to a different OpenADK project.
+
+You just need to copy your .config and extra directory to regenerate your
+firmware images on another system. The used config is, if not explicitely disabled,
+saved on the target in +/etc/adkconfig.gz+.
diff --git a/docs/customize-toolchain.txt b/docs/customize-toolchain.txt
new file mode 100644
index 000000000..8a14d4bbb
--- /dev/null
+++ b/docs/customize-toolchain.txt
@@ -0,0 +1,23 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[toolchain-custom]]
+Customizing the toolchain
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+There is no simple way to change anything for the toolchain.
+OpenADK chooses the best combination of the toolchain components to
+provide you with a working and recent system.
+
+If you like to change the version of a component, add patches or like
+to change the configure options, you need to dig into the +toolchain+ directory.
+
+For example to change the version of gcc, you need to change +toolchain/gcc/Makefile.inc+.
+Be aware of the fact, that this is used for the +package/gcc/Makefile+ and therefore for
+the gcc running on your target.
+
+OpenADK supports running a cross-compiled toolchain on your target. You can even use OpenADK
+buildsystem on your target. There is a package collection called +development+, which does
+configure OpenADK to include all required software to use OpenADK on your target.
+
+
diff --git a/docs/customize.txt b/docs/customize.txt
new file mode 100644
index 000000000..81fe18e02
--- /dev/null
+++ b/docs/customize.txt
@@ -0,0 +1,19 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Customization
+-------------
+
+include::customize-rootfs.txt[]
+
+include::customize-busybox-config.txt[]
+
+include::customize-libc-config.txt[]
+
+include::customize-kernel-config.txt[]
+
+include::customize-toolchain.txt[]
+
+include::customize-store.txt[]
+
+include::customize-outside-adk.txt[]
diff --git a/docs/debugging-openadk.txt b/docs/debugging-openadk.txt
new file mode 100644
index 000000000..ba48b273e
--- /dev/null
+++ b/docs/debugging-openadk.txt
@@ -0,0 +1,29 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[debugging-openadk]]
+
+Debugging OpenADK
+-----------------
+
+To analyze any build problems, use verbose output:
+
+----
+ $ make v
+----
+
+To analyze any inter package dependency problems, use make debug output:
+
+----
+ $ make --debug=b
+----
+
+If you have a problem with a specific package, use following command
+to capture the output and send it to the OpenADK developer:
+
+----
+ $ make package=<pkgname> clean package > pkgname.log 2>&1
+----
+
+
+
diff --git a/docs/developer-guide.txt b/docs/developer-guide.txt
new file mode 100644
index 000000000..d4975027a
--- /dev/null
+++ b/docs/developer-guide.txt
@@ -0,0 +1,13 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Developer Guidelines
+====================
+
+include::writing-rules.txt[]
+
+include::adding-packages.txt[]
+
+include::patch-policy.txt[]
+
+include::debugging-openadk.txt[]
diff --git a/docs/download-location.txt b/docs/download-location.txt
new file mode 100644
index 000000000..50088b57a
--- /dev/null
+++ b/docs/download-location.txt
@@ -0,0 +1,26 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Location of downloaded packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The various tarballs that are downloaded by OpenADK are all stored
+in +ADK_DL_DIR+, which by default is the +dl+ directory. If you want
+to keep a complete version of OpenaDK which is known to be working
+with the associated tarballs, you can make a copy of this directory.
+This will allow you to regenerate the toolchain and the target
+filesystem with exactly the same versions.
+
+If you maintain several OpenADK trees, it might be better to have a
+shared download location. This can be achieved by pointing the
++DL_DIR+ environment variable to a directory. If this is
+set, then the value of +ADK_DL_DIR+ in the OpenADK configuration is
+overridden. The following line should be added to +<~/.bashrc>+.
+
+-----------------
+ $ export DL_DIR=<shared download location>
+-----------------
+
+The download location can also be set in the +.config+ file, with the
++ADK_DL_DIR+ option. Unlike most options in the .config file, this value
+is overridden by the +DL_DIR+ environment variable.
diff --git a/docs/faq-troubleshooting.txt b/docs/faq-troubleshooting.txt
new file mode 100644
index 000000000..84059b2f9
--- /dev/null
+++ b/docs/faq-troubleshooting.txt
@@ -0,0 +1,58 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Frequently Asked Questions & Troubleshooting
+============================================
+
+[[faq-no-doc-on-target]]
+Why is there no documentation on the target?
+--------------------------------------------
+
+Because OpenADK mostly targets _small_ or _very small_ target
+hardware with limited resource onboard (CPU, ram, mass-storage), it
+does not make sense to waste space with the documentation data.
+
+If you need documentation data on your target anyway, then OpenADK
+is not suitable for your purpose, and you should look for a _real
+distribution_.
+
+[[faq-no-locale-on-target]]
+Why is there no locale support on the target?
+---------------------------------------------
+
+OpenADK tries to create a simple and small Linux system, which
+has no fancy features enabled. Locale support on a headless system,
+like a router is not useful anyway. To avoid bloat, it is a design
+decision to not have any locale support. Developers and users
+still could add any kind of user interface with internationalization
+features.
+
+[[faq-why-not-visible-package]]
+Why are some packages not visible in the OpenADK config menu?
+-------------------------------------------------------------
+
+If a package exists in the OpenADK tree and does not appear in the
+config menu, this most likely means that some of the package's
+dependencies are not met.
+
+To know more about the dependencies of a package, search for the
+package symbol in the config menu (see xref:make-tips[]).
+
+Then, you may have to recursively enable several options (which
+correspond to the unmet dependencies) to finally be able to select
+the package.
+
+If the package is not visible due to some unmet dependency to another
+C library, either consider to switch to another C library or fix the
+package so that it works with your configured library. For this you
+need to add your C library to PKG_LIBC_DEPENDS in +package/<pkgname>/Makefile+.
+
+[[faq-no-web-interface]]
+Why is there no web based configuration interface available?
+------------------------------------------------------------
+
+OpenADK provides a basic root filesystem for your embedded device.
+If you need a web based configuration interface for your own appliance,
+just write one. There are plenty of possibilities. You could use
+Lighttpd with PHP or an C++ application server like Tntnet.
+
diff --git a/docs/getting.txt b/docs/getting.txt
new file mode 100644
index 000000000..0902bb6e0
--- /dev/null
+++ b/docs/getting.txt
@@ -0,0 +1,24 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[getting-openadk]]
+Getting OpenADK
+---------------
+
+OpenADK does not have any releases. We are following the
+http://en.wikipedia.org/wiki/Rolling_release[rolling release]
+development model.
+
+To download OpenADK using Git just do:
+
+---------------------
+ $ git clone git://openadk.org/git/openadk
+---------------------
+
+Or if you prefer HTTP or using Git behind a proxy:
+
+---------------------
+ $ git clone http://git.openadk.org/openadk.git
+---------------------
+
+Or you can get a http://www.openadk.org/snapshots/[snapshot].
diff --git a/docs/going-further.txt b/docs/going-further.txt
new file mode 100644
index 000000000..2cabb62ed
--- /dev/null
+++ b/docs/going-further.txt
@@ -0,0 +1,9 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Going further in OpenADK's innards
+====================================
+
+include::how-openadk-works.txt[]
+
+include::advanced.txt[]
diff --git a/docs/how-openadk-works.txt b/docs/how-openadk-works.txt
new file mode 100644
index 000000000..e86251196
--- /dev/null
+++ b/docs/how-openadk-works.txt
@@ -0,0 +1,73 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+How OpenADK works
+-----------------
+
+As mentioned above, OpenADK is basically a set of Makefiles that
+download, configure, and compile software with the correct options. It
+also includes patches for various software packages and the Linux kernel.
+
+There is basically one Makefile per software package. Makefiles are split into
+many different parts.
+
+* The +toolchain/+ directory contains the Makefiles
+ and associated files for all software related to the
+ cross-compilation toolchain: +binutils+, +gcc+, +gdb+,
+ +kernel-headers+ and +libc+.
+
+* The +target/+ directory contains the definitions for all the processor
+ architectures that are supported by OpenADK. +target/linux+ contains
+ the meta-data for the Linux kernel configuration abstraction layer and
+ the kernel patches
+
+* The +package/+ directory contains the Makefiles and
+ associated files for all user-space tools and libraries that OpenADK can
+ compile and add to the target root filesystem or to the host directory. There
+ is one sub-directory per package.
+
+* The +mk/+ directory contains some globally used Makefiles with
+ the suffix +.mk+, these are used in all other Makefile via include
+
+* The +adk/+ directory contains the Makefiles and
+ associated files for software related to the generation of the
+ host tools needed for +make menuconfig+ system
+
+* The +scripts/+ directory contains shell scripts for the creation of
+ meta-data in OpenADK, install scripts and image creation scripts
+
+The main Makefile performs the following steps before the configuration
+is done:
+
+* Call the +prereq+ target to check if the host system have all required
+ software installed. It creates the +prereq.mk+ Makefile.
+
+* Compile and run the OpenADK tools to generate the meta-data for the menu
+ based configuration and creates the +package/Depends.mk+ Makefile to handle the
+ dependencies
+
+* Starts the menu based configuration system via +make menuconfig+
+
+The main Makefile performs the following steps, once the
+configuration is done (it is mainly a wrapper for +mk/build.mk+):
+
+* Create all the output directories: +host_<gnu_host_name>+, +target_<arch>_<libc>+,
+ +build_<arch>_<libc>+, +pkg_<arch>_<libc>+, etc.
+
+* Call the +scan-pkgs.sh+ script to find any needed optional host software, needed to compile
+ software the user has configured
+
+* Call the +update-sys+ and +update-pkg+ scripts to generate some meta-data for
+ available systems and package collections
+
+* Generate the host tools required for different tasks (encrypting passwords,
+ compressing data, extracting archives, creating images, ..)
+
+* Generate the cross-compilation toolchain (binutils, gcc, libc, gdb)
+
+* Compile the Linux kernel
+
+* Compile all the userspace packages, the boot loader and external kernel modules
+
+* Generate the firmware images or archives
+
diff --git a/docs/images/menuconfig-configured.png b/docs/images/menuconfig-configured.png
new file mode 100644
index 000000000..cad536cc9
--- /dev/null
+++ b/docs/images/menuconfig-configured.png
Binary files differ
diff --git a/docs/images/menuconfig.png b/docs/images/menuconfig.png
new file mode 100644
index 000000000..5624a2982
--- /dev/null
+++ b/docs/images/menuconfig.png
Binary files differ
diff --git a/docs/introduction.txt b/docs/introduction.txt
new file mode 100644
index 000000000..3489c9d5f
--- /dev/null
+++ b/docs/introduction.txt
@@ -0,0 +1,32 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+About OpenADK
+=============
+
+OpenADK is a tool that simplifies and automates the process of
+building a complete Linux system for an embedded system, using
+cross-compilation. ADK stands for appliance development kit.
+
+In order to achieve this, OpenADK is able to generate a
+cross-compilation toolchain, a root filesystem, a Linux kernel image
+and a bootloader for your target.
+
+OpenADK is useful mainly for people working with embedded systems,
+but can be used by people playing with emulators (like Qemu, Virtualbox
+or Aranym) or small netbooks (like Lemote Yeelong) needing a fast
+and small Linux system.
+
+Embedded systems often use processors that are not the regular x86
+processors everyone is used to having in his PC. They can be PowerPC
+processors, MIPS processors, ARM processors, etc.
+
+OpenADK supports numerous processors and their variants; it also comes
+with default configurations for some embedded systems and netbooks.
+(Raspberry PI, Sharp Zaurus, Lemote Yeelong, IBM X40 and more)
+
+OpenADK is not a Linux distribution and there are no releases or binary
+packages available. If you need something like that, better switch to
+something else. OpenADK builds everything from source. There are only a
+few exceptions to this rule (f.e. some bootloaders and firmware files for
+wireless network cards).
diff --git a/docs/legal-notice.txt b/docs/legal-notice.txt
new file mode 100644
index 000000000..6b1546ef0
--- /dev/null
+++ b/docs/legal-notice.txt
@@ -0,0 +1,51 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[legal-info]]
+
+Legal notice and licensing
+==========================
+
+Complying with open source licenses
+-----------------------------------
+
+All of the end products of OpenADK (toolchain, root filesystem, kernel,
+bootloaders) contain open source software, released under various licenses.
+
+Using open source software gives you the freedom to build rich embedded
+systems, choosing from a wide range of packages, but also imposes some
+obligations that you must know and honour.
+Some licenses require you to publish the license text in the documentation of
+your product. Others require you to redistribute the source code of the
+software to those that receive your product.
+
+The exact requirements of each license are documented in each package, and
+it is your responsibility (or that of your legal office) to comply with those
+requirements.
+
+Complying with the OpenADK license
+----------------------------------
+
+OpenADK itself is an open source software, released under the
+http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public
+License, version 2] or (at your option) any later version.
+However, being a build system, it is not normally part of the end product:
+if you develop the root filesystem, kernel, bootloader or toolchain for a
+device, the code of OpenADK is only present on the development machine, not
+in the device storage.
+
+Nevertheless, the general view of the OpenADK developer is that you should
+release the OpenADK source code along with the source code of other packages
+when releasing a product that contains GPL-licensed software.
+This is because the
+http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL]
+defines the "'complete source code'" for an executable work as "'all the
+source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and installation
+of the executable'".
+OpenADK is part of the 'scripts used to control compilation and
+installation of the executable', and as such it is considered part of the
+material that must be redistributed.
+
+Keep in mind that this is only the OpenADK developer opinion, and you
+should consult your legal department or lawyer in case of any doubt.
diff --git a/docs/make-tips.txt b/docs/make-tips.txt
new file mode 100644
index 000000000..dcfbe22e0
--- /dev/null
+++ b/docs/make-tips.txt
@@ -0,0 +1,94 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[make-tips]]
+'make' tips
+-----------
+
+This is a collection of tips that help you make the most of OpenADK.
+
+.Configuration searches:
+
+The +make menuconfig+ command offer a search tool.
+The search tool is called by pressing +/+;
+The result of the search shows the help message of the matching items.
+
+.Display all commands executed by make:
+
+--------------------
+ $ make v
+--------------------
+
+or
+
+--------------------
+ $ make VERBOSE=1 <target>
+--------------------
+
+.Display all available targets:
+
+--------------------
+ $ make help
+--------------------
+
+.Cleaning:
+
+There are different cleaning targets available. If a full clean is
+necessary, you normally will get a message from OpenADK.
+To delete all build products (including build directories, target, host
+and pkg trees, the firmware and the toolchain for all targets):
+
+--------------------
+ $ make cleandir
+--------------------
+
+If you even want to clean any downloaded source and your
+configuration +.config+:
+
+--------------------
+ $ make distclean
+--------------------
+
+If you only want to clean the kernel build, because you added or
+removed some patch, just do:
+
+--------------------
+ $ make cleankernel
+--------------------
+
+This is automatically triggered if you change the kernel version in
+your configuration.
+
+If you just want to clean all packages and wants to rebuild the firmware,
+(the toolchain is not deleted) just use:
+
+--------------------
+ $ make clean
+--------------------
+
+.Resetting OpenADK for a new target:
+
+You can either delete the configuration and start from scratch:
+
+--------------------
+ $ rm .config*
+ $ make menuconfig
+--------------------
+
+Or you can save your existing configuration and switch to a new
+one with:
+
+--------------------
+ $ make switch
+--------------------
+
+Afterwards you can switch back to your old configuration, you just
+need to remember, which architecture and system you had configured:
+
+--------------------
+ $ make switch ARCH=<arch> SYSTEM=<system>
+--------------------
+
+OpenADK is designed to have multiple architectures and embedded system
+combinations configured and build without a need to rebuild everything
+from scratch. There is no limit, you just need to have enough disk space.
diff --git a/docs/manual.txt b/docs/manual.txt
new file mode 100644
index 000000000..38700e45c
--- /dev/null
+++ b/docs/manual.txt
@@ -0,0 +1,33 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+The OpenADK user manual
+=======================
+:toc:
+
+OpenADK usage and documentation by Waldemar Brodkorb.
+
+(based on the buildroot manual by Thomas Petazzoni. Contributions from Karsten Kruse, Ned Ludd, Martin Herren and others.
+See http://www.buildroot.net for the original text).
+
+:leveloffset: 1
+
+include::introduction.txt[]
+
+include::starting-up.txt[]
+
+include::working-with.txt[]
+
+include::faq-troubleshooting.txt[]
+
+include::running-openadk.txt[]
+
+include::going-further.txt[]
+
+include::developer-guide.txt[]
+
+include::legal-notice.txt[]
+
+include::contribute.txt[]
+
+include::appendix.txt[]
diff --git a/docs/network-configuration.txt b/docs/network-configuration.txt
new file mode 100644
index 000000000..ea869c0bc
--- /dev/null
+++ b/docs/network-configuration.txt
@@ -0,0 +1,182 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[network-configuration]]
+Network configuration
+~~~~~~~~~~~~~~~~~~~~~
+
+loopback devices
+^^^^^^^^^^^^^^^^
+
+Example for loopback device configuration:
+
+---------------------
+auto lo
+iface lo inet loopback
+---------------------
+
+static network configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Example for an ethernet network card:
+
+---------------------
+auto eth0
+iface eth0 inet static
+ address 192.168.1.1
+ netmask 255.255.255.0
+ broadcast +
+ gateway 192.168.1.254
+---------------------
+
+The DNS resolver must be manually configured in /etc/resolv.conf.
+The plus for the broadcast value, will calculate the correct broadcast address for the network.
+
+dynamic network configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Example for an ethernet network card:
+
+---------------------
+auto eth0
+iface eth0 inet dhcp
+---------------------
+
+bridge configuration
+^^^^^^^^^^^^^^^^^^^^
+
+Example for a network bridge with two ethernet network interfaces and an ip address:
+
+---------------------
+auto br0
+iface br0 inet static
+ address 192.168.99.1
+ netmask 255.255.255.0
+ broadcast +
+ bridge-ports eth0 eth1
+---------------------
+
+Just a bridge without an ip address:
+---------------------
+auto br0
+iface br0 inet manual
+ bridge-ports eth0 eth1
+---------------------
+
+You need to install either Busybox brctl applet or the bridge-utils package. The required kernel modules will be automatically selected.
+
+VLAN network interfaces
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Example configuration of a network interface with VLAN ID 8 without any ip configuration:
+
+---------------------
+auto eth0.8
+iface eth0.8 inet manual
+---------------------
+
+You need to install Busybox vconfig applet. The required kernel modules will be automatically selected.
+
+PPP over Ethernet
+^^^^^^^^^^^^^^^^^
+
+Typical DSL configuration:
+
+---------------------
+auto ppp0
+iface ppp0 inet ppp
+ use-template pppoe
+ provider isp
+ ppp-mtu 1412
+ ppp-username foo
+ ppp-password bar
+ ppp-device eth1
+---------------------
+
+The provider can be used as argument for "pon" and "poff" commands.
+You need to install the ppp and ppp-mod-pppoe package. The required kernel modules will be automatically selected.
+
+wireless client configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Example wireless client configuration, secured with WPA2:
+
+---------------------
+auto wlan0
+iface wlan0 inet dhcp
+ wireless-ssid myap
+ wireless-channel 11
+ wireless-mode sta
+ wireless-security wpa2
+ wireless-passphrase xxxxxx
+---------------------
+
+You need to install iw and wpa_supplicant packages. For older wireless drivers you
+need to install wireless-tools instead of iw and use the following variable to choose the right tools:
+
+---------------------
+wireless-extension 1
+---------------------
+
+wireless accesspoint configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To configure an access point use following example:
+
+---------------------
+auto wlan0
+iface wlan0 inet static
+ address 192.168.40.10
+ netmask 255.255.255.0
+ broadcast +
+ wireless-ssid myap
+ wireless-channel 8
+ wireless-mode ap
+ wireless-security wpa2
+ wireless-passphrase xxxxxx
+---------------------
+
+You need to install hostapd and iw/wireless-tools packages.
+
+hso umts modem
+^^^^^^^^^^^^^^
+
+If you have a HSO UMTS modem, you can use following to configure internet access:
+---------------------
+auto hso0
+iface hso0 inet manual
+ pin 1234
+ apn your.apn
+---------------------
+
+ATM configuration
+^^^^^^^^^^^^^^^^^
+
+For example a configuration on a Linksys AG241 router with integrated DSL modem,
+you can configure two ATM devices to distinguish between Internet and IPTV traffic:
+
+---------------------
+auto eth0.1
+iface eth0.1 inet manual
+
+auto eth0.8
+iface eth0.8 inet manual
+
+auto nas0
+iface nas0 inet manual
+
+auto nas1
+iface nas1 inet manual
+ atm-vpi 1
+ atm-vci 34
+
+auto br0
+iface br0 inet manual
+ bridge-ports eth0.1 nas0
+
+auto br1
+iface br1 inet manual
+ bridge-ports eth0.8 nas1
+---------------------
+
+More network setups can be implemented on request.
diff --git a/docs/package-make-target.txt b/docs/package-make-target.txt
new file mode 100644
index 000000000..13c498062
--- /dev/null
+++ b/docs/package-make-target.txt
@@ -0,0 +1,52 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[pkg-build-steps]]
+
+Package-specific _make_ targets
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Running +make package=<package> package+ builds and installs that particular package.
+Be aware of the fact, that no build dependencies are resolved using this method!
+
+For packages relying on the OpenADK infrastructure, there are
+numerous special make targets that can be called independently like
+this:
+
+------------
+ $ make package=<package> <target>
+------------
+
+The package build targets are (in the order they are executed):
+
+[width="90%",cols="^1,4",options="header"]
+|===================================================
+| command/target | Description
+
+| +fetch+ | Fetch the source
+
+| +extract+ | Put the source in the package build directory
+
+| +patch+ | Apply the patches, if any
+
+| +configure+ | Run the configure commands, if any
+
+| +build+ | Run the compilation commands
+
+| +fake+ | Run the installation of the package into a fake directory
+
+| +package+ | Create a package or tar archive of the package files
+
+|===================================================
+
+Additionally, there are some other useful make targets:
+
+[width="90%",cols="^1,4",options="header"]
+|===================================================
+| command/target | Description
+
+| +clean+ | Remove the whole package build directory
+
+| +host-package+ | Build and install the host binaries and libraries
+
+|===================================================
diff --git a/docs/package-reference.txt b/docs/package-reference.txt
new file mode 100644
index 000000000..36d2e28b4
--- /dev/null
+++ b/docs/package-reference.txt
@@ -0,0 +1,135 @@
+[[package-reference]]
+
++package+ Reference
+~~~~~~~~~~~~~~~~~~~
+
+The list of variables that can be set in a +Makefile+ to give metadata
+information is:
+
+* +PKG_NAME+, mandatory, must contain the name of the package.
+
+* +PKG_VERSION+, mandatory, must contain the version of the package.
+
+* +PKG_RELEASE+, mandatory, must contain the OpenADK specific release of the package.
+
+* +PKG_MD5SUM+, mandatory, must contain the MD5 hash of the package, will be used
+ to check if a download of a package is complete.
+
+* +PKG_SECTION+, mandatory, must contain the OpenADK specific section, see package/section.lst.
+
+* +PKG_RELEASE+, mandatory, must contain an one line summary of the package description.
+
+* +PKG_URL+, optional, may contain the url to the homepage of the package
+
+* +PKG_SITES+, mandatory, must contain the download url for the package, multiple entries
+ with space separated, are allowed. Only HTTP/HTTPS or FTP URLS are allowed.
+ A backup site (http://www.openadk.org/distfiles) is always used, if the package site is
+ not available. There is no direct support for cvs/svn/git/hg/bzr repositories, because
+ building OpenADK behind a HTTP proxy should be working without any configuration hassle.
+ There are also some predefined mirror sites in +mk/mirrors.mk+,
+ which can be used.
+ Example: PKG_SITES:= +${MASTER_SITE_GNU:=foo/}+
+
+* +DISTFILES+ optional, may contain the name of the tarball of
+ the package. If +DISTFILES+ is not specified, it defaults to +PKG_NAME-PKG_VERSION.tar.gz+.
+ Example: DISTFILES= +${PKG_NAME}${PKG_VERSION}.tar.xz+
+
+* +NO_DISTFILES+ optional, may be set to 1, to disable fetching of any archives.
+ Provide the source code for the package in +package/<pkgname>/src+, which will be
+ automatically copied to the WRKBUILD/WRKSRC directory.
+
+* +PKG_BUILDDEP+ optional, lists the build time dependencies (in terms of package
+ directory name, see +package/+) that are required for the current target package to
+ compile. These dependencies are guaranteed to be compiled and
+ installed before the configuration of the current package starts.
+
+* +PKG_DEPENDS+ optional, lists the runtime dependencies that are required to
+ run the software package on the target. It conatins a list of package names,
+ which might be different to the package directory name. See what is used
+ in PKG_template, to find out the package name used here.
+
+* +PKG_NOPARALLEL+ optional, may be set to 1, to disable parallel building of the
+ package via make -jn, n=4 is default, but can be changed in +Global Settings+ in the
+ menu based configuration.
+
+* +PKG_OPTS+ optional, may be set to following values:
+ +dev+ create a development package automatically, containing header files and +.pc+ files.
+ Only useful for library packages, when you want to compile on the target.
+ +devonly+ only creates a development package with header files, normally not needed on
+ the target.
+ +noscripts+ do not automatically install *-config and other build related scripts into
+ +STAGING_TARGET_DIR/scripts+, required for automake/autoconf package
+ +noremove+ do not automatically remove package files from +STAGING_TARGET_DIR+
+
+* +PKG_NEED_CXX+ optional, package need C++ compiler
+
+* +PKG_CXX+ optional, package can use either `uClibc++` or `libstdc++`
+
+The recommended way to define these variables is to use the following
+syntax:
+
+----------------------
+PKG_VERSION:= 2.11
+----------------------
+
+Or for lines longer than 80 characters use:
+----------------------
+PKG_DEPENDS:= foo bar baz
+PKG_DEPENDS+= muh maeh
+----------------------
+
+
+The variables that define what should be performed at the
+different steps of the configure, build and install process.
+
+* +CONFIG_STYLE+ either manual, auto or minimal
+
+* +CONFIGURE_ARGS+ add --enable-foo/--disable-foo to configure
+
+* +CONFIGURE_ENV+ add additional environment variables to configure step
+
+* +HOST_STYLE+ either manual or auto
+
+* +HOST_CONFIGURE_ARGS+ add --enable-foo/--disable-foo to host configure
+
+* +HOST_CONFIGURE_ENV+ add additional environment variables to the host configure step
+
+* +AUTOTOOL_STYLE+ either autoreconf, autoconf or bootstrap
+
+* +BUILD_STYLE+ either manual or auto
+
+* +MAKE_ENV+ add additional variables to build step
+
+* +MAKE_FLAGS+ add additinal make flags to build step
+
+* +FAKE_FLAGS+ add additional make flags to fake install step
+
+* +XAKE_FLAGS+ add additional make flags to build and fake install step
+
+* +INSTALL_STYLE+ either manual or auto
+
+* +CONFIGURE_PROG+ overwrite default configure programm
+
+* +MAKE_FILE+ overwrite default Makefile
+
+* +ALL_TARGET+ overwrite default build target
+
+* +INSTALL_TARGET+ overwrite default install target
+
+The variables to add or overwrite preprocessor, compiler and linker flags:
+
+* +TARGET_CPPFLAGS+ flags for the preprocessor
+
+* +TARGET_CFLAGS+ flags for the compiler
+
+* +TARGET_LDFLAGS+ flags for the linker
+
+* +TARGET_CXXFLAGS+ flags for the C++ compiler
+
+* +CPPFLAGS_FOR_BUILD+ flags used for host preprocessing
+
+* +CFLAGS_FOR_BUILD+ flags used for host compiling
+
+* +LDFLAGS_FOR_BUILD+ flags used for host linking
+
+
diff --git a/docs/patch-policy.txt b/docs/patch-policy.txt
new file mode 100644
index 000000000..e948661cf
--- /dev/null
+++ b/docs/patch-policy.txt
@@ -0,0 +1,90 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[patch-policy]]
+
+Patching a package
+------------------
+
+While integrating a new package or updating an existing one, it may be
+necessary to patch the source of the software to get it cross-built within
+OpenADK. OpenADK offers an infrastructure to automatically handle this during
+the builds. Patches are provided within OpenADK, in the package directory;
+these typically aim to fix cross-compilation, libc support, portability issues
+or other things.
+
+Normally the patches are autogenerated via:
+------------
+ $ make package=<package> update-patches
+------------
+
+Otherwise they are manually generated via:
+------------
+ $ diff -Nur <pkgname>-<pkgversion>.orig <pkgname>-<pkgversion> > package/<pkgname>/patches/xxx-description.patch
+------------
+
+The string +xxx+ should be substituted by a number starting with 001. The
+patches will be applied in numeric order. You should either use the automatic
+patch generation or the manual patch creation for a package. Mixed usage is not
+supported.
+
+Format and licensing of the package patches
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Patches are released under the same license as the software that is
+modified.
+
+A message explaining what the patch does, and why it is needed, should
+be added in the header commentary of the patch.
+At the end, the patch should look like:
+
+---------------
+add C++ support test
+
+--- configure.ac.orig
++++ configure.ac
+@@ -40,2 +40,12 @@
+
+AC_PROG_MAKE_SET
++
++AC_CACHE_CHECK([whether the C++ compiler works],
++ [rw_cv_prog_cxx_works],
++ [AC_LANG_PUSH([C++])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
++ [rw_cv_prog_cxx_works=yes],
++ [rw_cv_prog_cxx_works=no])
++ AC_LANG_POP([C++])])
++
++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
+---------------
+
+Integrating patches found on the Web
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When integrating a patch of which you are not the author, you have to
+add a few things in the header of the patch itself.
+
+Depending on whether the patch has been obtained from the project
+repository itself, or from somewhere on the web, add one of the
+following tags:
+
+---------------
+Backported from: <some commit id>
+---------------
+
+or
+
+---------------
+Fetch from: <some url>
+---------------
+
+It is also sensible to add a few words about any changes to the patch
+that may have been necessary.
+
+Upstreaming patches
+~~~~~~~~~~~~~~~~~~~
+
+OpenADK tries to avoid any patches to the source code. If a patch could
+not be avoided, it should be tried to make the patch of a good quality to
+get it upstream. OpenADK tries to report any found issues and try to send
+in any upstream compatible patches.
diff --git a/docs/prerequisite.txt b/docs/prerequisite.txt
new file mode 100644
index 000000000..d7ffcc544
--- /dev/null
+++ b/docs/prerequisite.txt
@@ -0,0 +1,51 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[requirement]]
+System requirements
+-------------------
+
+OpenADK is designed to run on Linux systems. But there is basic
+support to run on MacOS X Maverick, Windows 7 with Cygwin, OpenBSD,
+NetBSD and FreeBSD. Main development happens on Debian/GNU Linux 7
+and MacOS X Maverick. The other host platforms are occasionally
+tested.
+
+OpenADK detects the host system and displays only the software
+packages, which are known to be cross-compilable on the used host.
+For example OpenJDK7 is only cross-compilable on a Linux host.
+
+OpenADK needs some software to be already installed on the host
+system; here is the list of the mandatory packages,
+package names may vary between host systems.
+
+* Build tools:
+
+** +bash+
+** +binutils+
+** +C compiler (gcc or clang)+
+** `C++ compiler (g++ or clang++)`
+** +GNU sed+
+** +GNU awk+
+** +GNU make+
+** +patch+
+** +gzip+
+** +perl+
+** +tar+
+** +wget+
+** +ncurses5 development files+
+** +zlib development files+
+** +libc development files+
+
+There is a check for the required versions of these tools in advance,
+though. To re-issue the checks, use +make prereq+.
+
+For some packages there are some optional packages required. OpenADK
+will check for the required tools in advance, when a specific package is
+choosen. For example XBMC needs java installed on the host system.
+OpenADK tries to avoid any optional required host tools and will try to
+build them when needed.
+
+For some host systems you can try to use ./scripts/adkprepare.sh to
+install all required software. You need to run the script as root, it
+will use the package management of your host to install the software.
diff --git a/docs/qemu.txt b/docs/qemu.txt
new file mode 100644
index 000000000..976490bf3
--- /dev/null
+++ b/docs/qemu.txt
@@ -0,0 +1 @@
+user,hostfwd=tcp::2222-:22
diff --git a/docs/running-openadk.txt b/docs/running-openadk.txt
new file mode 100644
index 000000000..c4ae0fa72
--- /dev/null
+++ b/docs/running-openadk.txt
@@ -0,0 +1,178 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Running OpenADK created Linux firmware
+======================================
+
+Bootloader
+~~~~~~~~~~~
+
+The Bootloader is used to initialize the machine and load the Linux kernel.
+A list of popular Bootloaders can be found on http://elinux.org/Bootloader.
+OpenADK provides the Bootloader if necessary for a target system.
+You can find them in +make menuconfg+ under +Packages/Bootloader+.
+Some Bootloaders require the Linux kernel in a special format (SREC, ELF, ..),
+compressed or with a special header. This will be automatically done by
+OpenADK in +target/<arch>/Makefile+ while creating the firmware archives or
+images.
+
+Linux kernel
+~~~~~~~~~~~~
+
+The kernel is a program that constitutes the central core of a computer
+operating system. It has complete control over everything that occurs in the
+system. The Bootloader can provide some basic runtime configuration
+parameters via the kernel commandline feature.
+
+The Linux kernel in OpenADK is intended to be very small in size and will
+be by default compressed with xz compression algorithm, if available for
+the target system. You can configure the compression algorithm used for the
+compression of the Linux kernel and if choosen the initramfs filesystem in
++make menuconfig+. In +Kernel configuration+ you have the choice between
+dfferent kernel versions. The latest version will be automatically used.
+There you can choose any needed addon drivers or any supported runtime
+and debugging features.
+
+The kernel expands itself on boot, if compressed, and then initialize the
+hardware. The additional kernel modules are loaded later by a init script.
+The kernel will autoamtically mount the virtual filesystem /dev as devtmpfs
+and then will execute +/sbin/init+ in userspace.
+
+init system
+~~~~~~~~~~~
+
+The _init_ program is the first userspace program started by the kernel (it
+carries the PID number 1), and is responsible for starting the userspace
+services and programs (for example: web server, graphical applications, other
+network servers, etc.).
+
+OpenADK uses *Busybox* init. Amongst many programs, Busybox has an
+implementation of a basic +init+ program, which is sufficient for most embedded
+systems. The Busybox +init+ program will read the +/etc/inittab+ file at boot
+to know what to do. The syntax of this file can be found in
+http://git.busybox.net/busybox/tree/examples/inittab (note that Busybox
++inittab+ syntax is special: do not use a random +inittab+ documentation from
+the Internet to learn about Busybox +inittab+). The default +inittab+ in
+OpenADK is generated while producing the +base-files+ package. The main job
+the default inittab does is to start the +/etc/init.d/rcS+ shell script, and
+start one or more +getty+ programs (which provides a login prompt).
+
+/dev management
+~~~~~~~~~~~~~~~
+
+On a Linux system, the +/dev+ directory contains special files, called
+_device files_, that allow userspace applications to access the
+hardware devices managed by the Linux kernel. Without these _device
+files_, your userspace applications would not be able to use the
+hardware devices, even if they are properly recognized by the Linux
+kernel.
+
+OpenADK uses *dynamic device nodes using devtmpfs and mdev*. This method relies
+on the _devtmpfs_ virtual filesystem in the kernel, which is enabled by default
+for all OpenADK generated kernels, and adds the +mdev+ userspace utility on top
+of it. +mdev+ is a program part of Busybox that the kernel will call every time
+a device is added or removed. Thanks to the +/etc/mdev.conf+ configuration
+file, +mdev+ can be configured to for example, set specific permissions or
+ownership on a device file, call a script or application whenever a device
+appears or disappear, etc. Basically, it allows _userspace_ to react on device
+addition and removal events. +mdev+ is also important if you have devices that
+require a firmware, as it will be responsible for pushing the firmware contents
+to the kernel. +mdev+ is a lightweight implementation (with fewer features) of
++udev+. For more details about +mdev+ and the syntax of its configuration file,
+see http://git.busybox.net/busybox/tree/docs/mdev.txt.
+
+initscripts
+~~~~~~~~~~~
+
+The /etc/init.d/rcS script will execute all shell scripts in /etc/init.d in
+order with the parameter +autostart+. The order is identified by the +#INIT+
+comment in the script. All scripts are sourcing the +/etc/rc.conf+ file to
+determine if a service should be started on boot and which flags if any are
+used for the service. By default all services except syslog and ssh are
+disabled. Most scripts provided by OpenADK via
++package/<pkgname>/files/<pkgname>.init+ are like:
+
+---------------------
+#!/bin/sh
+#PKG foo
+#INIT 60
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${foo:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ /usr/sbin/foo $foo_flags
+ ;;
+stop)
+ kill $(pgrep -f /usr/sbin/foo )
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "usage: $0 (start|stop|restart)"
+ exit 1
+esac
+exit $?
+---------------------
+
+cfgfs - configuration file system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The cfgfs application for the OpenADK system uses a special small partition on
+the block device of your embedded system (f.e. flash, sd card, compact flash
+or hard disk). Only changes made to /etc on your embedded system are saved in a
+compressed form (using LZO1 compression algorithm) in this partition. There is
+no Linux filesystem on this partition. The embedded system initialization
+process will setup /etc correctly on boot up, when cfgfs application is found.
+After making any changes to /etc, which should survive a reboot of the embedded
+system must be written to the cfgfs partition via “cfgfs commit”. Trying to
+reboot, shutdown or halt an embedded system with unsaved changes will generate
+an error, which can be circumvented. Updates to /etc via the ipkg package
+manager will be reported.
+
+---------------------
+cfgfs
+Configuration Filesystem Utility (cfgfs), Version 1.09
+Syntax:
+ /sbin/cfgfs commit [-f]
+ /sbin/cfgfs erase
+ /sbin/cfgfs setup [-N]
+ /sbin/cfgfs status [-rq]
+ /sbin/cfgfs { dump | restore } [<filename>]
+---------------------
+
+network configuration
+~~~~~~~~~~~~~~~~~~~~~
+
+On bootup +/etc/network/interfaces+ is used to find out which network configuration
+should be used. The default is to use DHCP (via busybox +udhcpc+) on the first found
+ethernet device to configure the network. See network configuration for detailed syntax
+of +/etc/network/interfaces+. It is similar to Debian network configuration and uses
++ifupdown+ from +busybox+.
+
+See Appendix xref:network-configuration[]
+
+getting a shell on the system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+There are two method available to get a shell on your embedded system created with
+OpenADK. You can either login locally via serial console or graphical console or you
+can login remotely via secure shell.
+
+In both cases the default user is +root+ and the default password is
++linux123+. *You should always change the default password!!* You can do this
+either via +passwd+ on the system or you can preconfigure a password via +make
+menuconfig+ under +Runtime configuration+.
+
+The default shell used in OpenADK is +mksh+ from http://www.mirbsd.org/mksh/.
+You can change the shell in +make menuconfig+ under +Runtime configuration+. Be
+aware of the fact that the bootup process might use some +mksh+ features to
+speedup the system start. When you change the shell for system +/bin/sh+ the
+slower startup is used as a fallback.
diff --git a/docs/runtime-debugging.txt b/docs/runtime-debugging.txt
new file mode 100644
index 000000000..5147883f9
--- /dev/null
+++ b/docs/runtime-debugging.txt
@@ -0,0 +1,22 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+[[runtime-debugging]]
+
+Details on debugging your newly created firmware
+------------------------------------------------
+
+strace
+~~~~~~
+
+gdbserver
+~~~~~~~~~
+
+gdb
+~~~
+
+kernel module debugging
+~~~~~~~~~~~~~~~~~~~~~~~
+
+kernel debugging
+~~~~~~~~~~~~~~~~
diff --git a/docs/starting-up.txt b/docs/starting-up.txt
new file mode 100644
index 000000000..7326f60c7
--- /dev/null
+++ b/docs/starting-up.txt
@@ -0,0 +1,12 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Starting up
+===========
+
+include::prerequisite.txt[]
+
+include::getting.txt[]
+
+include::using.txt[]
+
diff --git a/docs/using-openadk-development.txt b/docs/using-openadk-development.txt
new file mode 100644
index 000000000..d7d31fbad
--- /dev/null
+++ b/docs/using-openadk-development.txt
@@ -0,0 +1,62 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Using OpenADK during development
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The normal operation of OpenADK is to download a tarball, extract it,
+configure, compile and install the software component found inside this
+tarball. The source code is extracted in
++build_<system>_<arch>_<libc>/w-<package>-<version>+, which is a
+temporary directory: whenever +make clean+ or one of the other clean
+targets are used, this directory is entirely removed, and recreated at
+the next +make+ invocation.
+
+This behavior is well-suited when OpenADK is used mainly as an
+integration tool, to build and integrate all the components of an
+embedded Linux system. However, if one uses OpenADK during the
+development of certain components of the system, this behavior is not
+very convenient: one would instead like to make a small change to the
+source code of one package, and be able to quickly rebuild the system
+with OpenADK.
+
+Following workflow might help to integrate your own changes, while
+developing a new package or board support.
+
+Make changes directly in +build_<system>_<arch>_<libc>/w-<package>-<version>+
+and recompile the package with:
+
+------------
+ $ make package=<package> package
+------------
+
+When you are happy with the change, generate a patch:
+------------
+ $ make package=<package> update-patches
+------------
+
+For the linux kernel just change the code in
++build_<system>_<arch>_<libc>/linux, remove the .config
+and call make again:
+
+------------
+ $ rm build_<system>_<arch>_<libc>/linux/.config
+ $ make
+------------
+
+There is no update-patches target for the kernel, you need
+to extract the kernel source from your download dir, make
+a copy of the source tree, add your changes and create a
+patch manually:
+
+------------
+ $ tar xvf dl/linux-x.y.z.tar.xz
+ $ cp -a linux-x.y.z linux-x.y.z.orig
+ $ diff -Nur linux-x.y.z.orig linux-x.y.z > target/linux/patches/x.y.z/mykernel.patch
+ $ make cleankernel
+ $ make
+------------
+
+The same method can be used for toolchain components and _must_
+be used for busybox, because it contains patches, which are not
+generated via +make update-patches+.
diff --git a/docs/using-openadk-toolchain.txt b/docs/using-openadk-toolchain.txt
new file mode 100644
index 000000000..6994d9abc
--- /dev/null
+++ b/docs/using-openadk-toolchain.txt
@@ -0,0 +1,19 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Using the generated toolchain outside OpenADK
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You may want to compile, for your target, your own programs or other software
+that are not packaged in OpenADK. In order to do this you can use the toolchain
+that was generated by OpenADK.
+
+The toolchain generated by OpenADK is located by default in
++toolchain_<gnu_host_name>/+. The simplest way to use it is to add
++toolchain_<gnu_host_name>/usr/bin/+ to your PATH environment variable and then to use
++<arch>-<vendor>-linux-<libcsuffix>-gcc+,
++<arch>-<vendor>-linux-<libcsuffix>-objdump+, etc.
+
+It is possible to relocate the toolchain, you just need to put
++target_<arch>_<libc>_<libcsuffix>+ into the same directory as
++toolchain_<gnu_host_name>/+.
diff --git a/docs/using.txt b/docs/using.txt
new file mode 100644
index 000000000..45ea3f20c
--- /dev/null
+++ b/docs/using.txt
@@ -0,0 +1,102 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Using OpenADK
+-------------
+
+OpenADK has a nice configuration tool similar to the one you can
+find in the http://www.kernel.org/[Linux kernel] or in
+http://www.busybox.net/[Busybox]. Note that you can *and should build
+everything as a normal user*. There is no need to be root to configure
+and use OpenADK. The first step is to run the configuration
+assistant:
+
+--------------------
+ $ make menuconfig
+--------------------
+
+For each menu entry in the configuration tool, you can find associated
+help that describes the purpose of the entry.
+
+image::menuconfig.png[]
+
+First of all you need to choose your target architecture, your target
+system, your target C library, your target firmware type and your target
+package format. After that you can select individual packages and kernel
+settings or just use one of the predefined package collections. When you
+are ready exit and save. You can always redefine the configuration
+using +make menuconfig+.
+
+image::menuconfig-configured.png[]
+
+Once everything is configured, the configuration tool generates a
++.config+ file that contains the description of your configuration. It
+will be used by the Makefiles to do what's needed.
+
+Let's go:
+
+--------------------
+ $ make
+--------------------
+
+You *should never* use +make -jN+ with OpenADK: it does not support 'top-level
+parallel make'. Instead, use the +ADK_MAKE_JOBS+ option in +Global settings+ to
+tell OpenADK to run each package compilation with +make -jN+.
+
+The `make` command will generally perform the following steps:
+
+* download source files (as required);
+* configure, build and install required host tools;
+* configure, build and install the cross-compiling toolchain;
+* build a kernel image, if selected;
+* build/install selected target packages;
+* build a bootloader, if selected;
+* create a root filesystem in selected format.
+
+OpenADK output is stored in several subdirectories:
+
+* +firmware/+ where all the images and packages are stored.
+
+* +build_<system>_<arch>_<libc>/+ where all the components except for the cross-compilation toolchain are built. The directory contains one subdirectory for each of these components.
+
+* +target_<arch>_<libc>/+ which contains a hierarchy similar to a root filesystem
+ hierarchy. This directory contains the installation of the
+ cross-compilation toolchain and all the userspace packages selected
+ for the target. However, this directory is 'not' intended to be
+ the root filesystem for the target: it contains a lot of development
+ files, unstripped binaries and libraries that make it far too big
+ for an embedded system. These development files are used to compile
+ libraries and applications for the target that depend on other
+ libraries.
+
+* +root_<system>_<arch>_<libc>/+ which contains the complete root filesystem for
+ the target. One exception, it doesn't have the correct
+ permissions (e.g. setuid for the busybox binary) for some files.
+ Therefore, this directory *should not be used on your target*.
+ Instead, you should use one of the images or archives built in the
+ +firmware/+ directory. If you need an
+ extracted image of the root filesystem for booting over NFS, then
+ use the tarball image generated in +firmware/+ and extract it as
+ root. Compared to +build_*/+, +target_*/+ contains only the files and
+ libraries needed to run the selected target applications: the
+ development files are (exception: if any dev packages are selected)
+ not present, the binaries are stripped.
+
+* +host_<gnu_host_name>/+ contains the installation of tools compiled for the host
+ that are needed for the proper execution of OpenADK
+
+* +toolchain_<gnu_host_name>/+ contains just the cross-compilation toolchain.
+ Can be used together with +target_<arch>_<libc>/+ for other projects. Toolchain
+ is relocatable.
+
+* +toolchain_build_<arch>_<libc>/+ contains the build directories for the various
+ components of the cross-compilation toolchain.
+
+* +pkg_<system>_<arch>_<libc>/+ contains stamp files and file lists for the various components.
+
+The command, +make menuconfig+ and +make+, are the
+basic ones that allow to easily and quickly generate images fitting
+your needs, with all the supports and applications you enabled.
+
+More details about the "make" command usage are given in
+xref:make-tips[].
diff --git a/docs/working-with.txt b/docs/working-with.txt
new file mode 100644
index 000000000..9e101d28f
--- /dev/null
+++ b/docs/working-with.txt
@@ -0,0 +1,25 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Working with OpenADK
+====================
+
+This section explains how you can customize OpenADK to fit your
+needs.
+
+include::configure.txt[]
+
+include::make-tips.txt[]
+
+include::customize.txt[]
+
+include::common-usage.txt[]
+
+Hacking OpenADK
+---------------
+
+If OpenADK does not yet fit all your requirements, you may be
+interested in hacking it to add:
+
+* new packages: refer to the xref:adding-packages[Developer guide]
+
diff --git a/docs/writing-rules.txt b/docs/writing-rules.txt
new file mode 100644
index 000000000..22f6547ad
--- /dev/null
+++ b/docs/writing-rules.txt
@@ -0,0 +1,91 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Coding style
+------------
+
+Overall, these coding style rules are here to help you to add new files in
+OpenADK or refactor existing ones.
+
+[[writing-rules-config-in]]
+
++Config.in+
+~~~~~~~~~~~
+
++Config.in+ files contain entries for almost anything configurable in
+OpenADK. Mostly all Config.in files for packages are autogenerated and
+should not be manually edited. The following rules apply for the top level
+Config.in, for the files in target/config and target/linux/config.
+
+An entry has the following pattern:
+
+---------------------
+config ADK_TARGET_FOO
+ bool "foo"
+ depends on ADK_PACKAGE_LIBBAZ
+ select BR2_PACKAGE_LIBBAR
+ help
+ This is a comment that explains what foo is.
+
+ http://foo.org/foo/
+---------------------
+
+* The +bool+, +depends on+, +select+ and +help+ lines are indented
+ with one tab.
+
+* The help text itself should be indented with one tab and two
+ spaces.
+
+The +Config.in+ files are the input for the configuration tool
+used in OpenADK, which is the regular _Kconfig_. For further
+details about the _Kconfig_ language, refer to
+http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[].
+
+[[writing-rules-mk]]
+
++Makefile+
+~~~~~~~~~~
+
+* Header: The file starts with a license header.
++
+---------------------
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+---------------------
++
+* Assignment: use +=+ followed by two tabs:
++
+---------------------
+PKG_VERSION:= 1.0
+PKG_BUILDDEP+= libfoo
+---------------------
++
+
+* Indentation: use tab only:
++
+---------------------
+libfoo-install:
+ $(CP) $(WRKINST)/usr/lib/libfoo*.so* \
+ $(IDIR_LIBFOO)/usr/lib
+---------------------
++
+
+* Optional dependency:
+
+** Prefer multi-line syntax.
+---------------------
+ifeq ($(ADK_PACKAGE_LIBFOO_WITH_PYTHON),y)
+CONFIGURE_ARGS+= --with-python-support
+else
+CONFIGURE_ARGS+= --without-python-support
+endif
+---------------------
+
+Documentation
+~~~~~~~~~~~~~
+
+The documentation uses the
+http://www.methods.co.nz/asciidoc/[asciidoc] format.
+
+For further details about the http://www.methods.co.nz/asciidoc/[asciidoc]
+syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[].
diff --git a/mk/build.mk b/mk/build.mk
index c4371f477..78079bea9 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -9,7 +9,7 @@ $(error your umask is not 022)
endif
CONFIG_CONFIG_IN = Config.in
-CONFIG = config
+CONFIG = adk/config
DEFCONFIG= ADK_DEBUG=n \
ADK_STATIC=n \
ADK_WGET_TIMEOUT=180 \
@@ -41,8 +41,6 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_PKG_TEST=n \
ADK_PKG_MPDBOX=n \
ADK_PKG_DEVELOPMENT=n \
- ADK_PKG_CONSOLE=n \
- ADK_PKG_TEST=n \
ADK_TOOLCHAIN_GCC_USE_SSP=n \
ADK_TOOLCHAIN_GCC_USE_LTO=n \
BUSYBOX_IFPLUGD=n \
@@ -81,6 +79,7 @@ DEFCONFIG= ADK_DEBUG=n \
BUSYBOX_FEATURE_VI_REGEX_SEARCH=n \
ADK_KERNEL_RT2X00_DEBUG=n \
ADK_KERNEL_ATH5K_DEBUG=n \
+ ADK_KERNEL_BUG=n \
ADK_KERNEL_DEBUG_WITH_KGDB=n
noconfig_targets:= menuconfig \
@@ -94,13 +93,13 @@ POSTCONFIG= -@\
if [ -f .adkinit ];then rm .adkinit;\
else \
if [ -f .config.old ];then \
- $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild;\
+ $(TOPDIR)/adk/tools/pkgrebuild;\
rebuild=0; \
if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
touch .rebuild.busybox;\
rebuild=1;\
fi; \
- for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_TARGET_QEMU_MICROBLAZE_MODEL;do \
+ for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_RUNTIME_GETTY ADK_RUNTIME_SHELL;do \
if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
touch .rebuild.base-files;\
rebuild=1;\
@@ -122,7 +121,7 @@ POSTCONFIG= -@\
make kernelclean;\
fi; \
if [ "$$(grep ^ADK_LINUX_ARM_WITH_THUMB .config|md5sum)" != "$$(grep ^ADK_LINUX_ARM_WITH_THUMB .config.old|md5sum)" ];then \
- echo "You should make cleantarget, after changing thumb mode";\
+ echo "You should make cleandir, after changing thumb mode";\
fi; \
if [ $$rebuild -eq 1 ];then \
cp .config .config.old;\
@@ -140,27 +139,26 @@ include $(TOPDIR)/rules.mk
all: world
-${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile)
- $(STAGING_HOST_DIR)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk
+${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/adk/tools/depmaker
+ $(TOPDIR)/adk/tools/depmaker > ${TOPDIR}/package/Depends.mk
.NOTPARALLEL:
-.PHONY: all world clean cleantarget cleandir cleantoolchain distclean image_clean
+.PHONY: all world clean cleandir cleantoolchain distclean image_clean
world:
- mkdir -p $(DL_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
- $(PACKAGE_DIR) $(TOOLS_BUILD_DIR) $(STAGING_HOST_DIR)/usr/bin \
- $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
+ mkdir -p $(DL_DIR) $(HOST_BUILD_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
+ $(STAGING_HOST_DIR) $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
${BASH} ${TOPDIR}/scripts/update-sys
${BASH} ${TOPDIR}/scripts/update-pkg
ifeq ($(ADK_TOOLCHAIN),y)
ifeq ($(ADK_TOOLCHAIN_ONLY),y)
- $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup package/compile
else
- $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile root_clean package/install
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup package/compile root_clean package/install
endif
else
- $(MAKE) -f mk/build.mk tools/install toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index
endif
package_index:
@@ -171,7 +169,11 @@ endif
${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}:
mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/bin,usr/include,usr/lib/pkgconfig} \
- ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib,usr/include}
+ ${STAGING_HOST_DIR}/{usr/bin,usr/lib,usr/include}
+ for i in lib64 lib32 libx32;do \
+ cd ${STAGING_TARGET_DIR}/; ln -sf lib $$i; \
+ cd ${STAGING_TARGET_DIR}/usr; ln -sf lib $$i; \
+ done
${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc
ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
@@ -188,9 +190,6 @@ target/%:
toolchain/%: ${STAGING_TARGET_DIR}
$(MAKE) -C toolchain $(patsubst toolchain/%,%,$@)
-tools/%:
- $(MAKE) -C tools $(patsubst tools/%,%,$@)
-
image:
$(MAKE) -C target image
@@ -215,16 +214,11 @@ switch:
fi \
fi
-ifeq (${ADK_TARGET_KERNEL64},y)
-KERNEL_CFG:=kernel64.config
-else
-KERNEL_CFG:=kernel.config
-endif
-
kernelconfig:
- cp $(TOPDIR)/target/$(ADK_TARGET_ARCH)/${KERNEL_CFG} $(BUILD_DIR)/linux/.config
- ${KERNEL_MAKE_ENV} ${MAKE} ARCH=$(ARCH) ${KERNEL_MAKE_OPTS} -C $(BUILD_DIR)/linux menuconfig
- cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET_ARCH)/${KERNEL_CFG}
+ ${KERNEL_MAKE_ENV} ${MAKE} \
+ ARCH=$(ARCH) \
+ ${KERNEL_MAKE_OPTS} \
+ -C $(BUILD_DIR)/linux menuconfig
# create a new package from package/.template
newpackage:
@@ -268,7 +262,7 @@ cleandir:
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+ rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk
@@ -276,23 +270,16 @@ cleantoolchain:
@$(TRACE) cleantoolchain
@rm -rf $(BUILD_DIR_PFX) $(TARGET_DIR_PFX) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+ @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
@rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
@rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk
-cleantarget:
- @$(TRACE) cleantarget
- @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
- rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR)
- rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_HOST_DIR) $(STAGING_TARGET_DIR) $(STAGING_PKG_DIR)
- rm -f .tmpconfig.h all.config .defconfig
-
distclean:
@$(TRACE) distclean
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
- @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
+ @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+ @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
@rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
@rm -f .adkinit .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
.menu ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG .rebuild.*
@@ -370,12 +357,6 @@ endif
|sed -e "s#^config \(.*\)#\1=y#" \
>> $(TOPDIR)/.defconfig; \
fi
- @if [ ! -z "$(PKG)" ];then \
- grep "^config" target/config/Config.in \
- |grep -i "$(PKG)" \
- |sed -e "s#^config \(.*\)#\1=y#" \
- >> $(TOPDIR)/.defconfig; \
- fi
@if [ ! -z "$(LIBC)" ];then \
grep "^config" target/config/Config.in \
|grep -i "$(LIBC)" \
@@ -434,12 +415,6 @@ endif
|sed -e "s#^config \(.*\)#\1=y#" \
>> $(TOPDIR)/all.config; \
fi
- @if [ ! -z "$(PKG)" ];then \
- grep "^config" target/config/Config.in \
- |grep -i "$(PKG)" \
- |sed -e "s#^config \(.*\)#\1=y#" \
- >> $(TOPDIR)/all.config; \
- fi
@if [ ! -z "$(LIBC)" ];then \
grep "^config" target/config/Config.in \
|grep -i "$(LIBC)" \
@@ -475,9 +450,9 @@ _mconfig2: ${CONFIG}/conf modconfig .menu
distclean:
@$(MAKE) -C $(CONFIG) clean
- @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
+ @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(TOOLS_BUILD_DIR)
+ @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_TARGET_DIR_PFX)
@rm -rf $(STAGING_HOST_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
@rm -f .adkinit .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
.menu .rebuild.* ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG
@@ -487,7 +462,7 @@ endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
# build all target architecture and libc combinations (toolchain only)
bulktoolchain:
- if [ -z "$(LIBC)" ];then \
+ @if [ -z "$(LIBC)" ];then \
libc="glibc uclibc musl"; \
else \
libc="$(LIBC)"; \
@@ -497,43 +472,48 @@ bulktoolchain:
mkdir -p ${TOPDIR}/firmware; \
( \
echo === building $$arch $$libc toolchain-$$arch on $$(date); \
- tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#"); \
- if [ -f ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz ];then exit;fi; \
+ tarch=$$(echo $$arch|sed -e "s#sh4.*#sh#" -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#hf##" -e "s#x86_64.*#x86_64#" ); \
+ carch=$$(echo $$arch|sed -e "s#hf##" -e "s#mips64n.*#mips64#" -e "s#mips64el.*#mips64el#" -e 's#x86$$#i686#' -e "s#x86_64.*#x86_64#" ); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
+ tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\
+ if [ $$arch = "armhf" ];then arch=arm; else arch=$$arch;fi; \
+ if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \
+ if [ -f ${TOPDIR}/firmware/toolchain_$${carch}_$${libc}$${abi}.tar.xz ];then exit;fi; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; break;fi; \
- tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_* target_$${arch}_$${libc}*; \
+ tar -cvJf ${TOPDIR}/firmware/toolchain_$${carch}_$${libc}$${abi}.tar.xz toolchain_${GNU_HOST_NAME} target_$${carch}_$${libc}$${abi}; \
$(GMAKE) cleantoolchain; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}_build.log; \
+ ) 2>&1 | tee -a $(TOPDIR)/firmware/toolchain_build.log; \
if [ -f .exit ];then break;fi \
done <${TOPDIR}/target/tarch.lst ;\
if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
done
test-framework:
- if [ -z "$(LIBC)" ];then \
+ @if [ -z "$(LIBC)" ];then \
libc="glibc uclibc musl"; \
else \
libc="$(LIBC)"; \
fi; \
for libc in $$libc;do \
( \
- for arch in arm microblaze microblazeel mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc sparc64 i686 x86_64;do \
- tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#"); \
+ mkdir -p $(TOPDIR)/firmware/; \
+ for arch in $$(grep -v m68k target/tarch.lst|xargs);do \
+ tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#" -e "s#hf##" -e "s#x86_64.*#x86_64#"); \
+ arch=$$(echo $$arch|sed -e 's#x86$$#i686#'); \
echo === building qemu-$$arch for $$libc with $$tarch on $$(date); \
- $(GMAKE) prereq && \
- $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=archive COLLECTION=test defconfig; \
+ $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=initramfsarchive COLLECTION=test defconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\
if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \
+ qarch=$$(echo $$arch|sed -e "s#armhf#arm#" -e 's#mips64n.*$$#mips64#' -e 's#mips64eln.*$$#mips64el#' -e "s#x86_64.*#x86_64#"); \
+ cp -a root_qemu_$${qarch}_$${libc}$${abi} root; \
+ mkdir -p $(TOPDIR)/firmware/qemu/$$arch; \
+ tar cJvf $(TOPDIR)/firmware/qemu/$$arch/root.tar.xz root; \
if [ -d root ];then rm -rf root;fi; \
- echo cp -a root_qemu_$${arch}_$${libc}$${abi} root; \
- cp -a root_qemu_$${arch}_$${libc}$${abi} root; \
- mkdir -p $(TOPDIR)/firmware/qemu/$$tarch; \
- tar cJvf $(TOPDIR)/firmware/qemu/$$tarch/root.tar.xz root; \
- cp $(TOPDIR)/firmware/qemu_$${arch}_$${libc}$${abi}/qemu-$${arch}-archive-kernel \
- $(TOPDIR)/firmware/qemu/$$tarch/kernel; \
+ cp $(TOPDIR)/firmware/qemu_$${qarch}_$${libc}$${abi}/qemu-$${qarch}-initramfsarchive-kernel \
+ $(TOPDIR)/firmware/qemu/$$arch/kernel; \
rm .config; \
done; \
) 2>&1 | tee $(TOPDIR)/firmware/test-framework-build.log; \
@@ -543,14 +523,13 @@ test-framework:
release:
for libc in uclibc glibc musl;do \
- mkdir -p $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc; \
( \
echo === building $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$(ARCH) SYSTEM=$(SYSTEM) LIBC=$$libc FS=archive allmodconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/release-build.log; \
if [ -f .exit ];then echo "Bulk build failed!"; break;fi \
done
if [ -f .exit ];then rm .exit;exit 1;fi
@@ -561,14 +540,14 @@ bulk:
while read arch; do \
systems=$$(./scripts/getsystems $$arch|grep -v toolchain); \
for system in $$systems;do \
- mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+ mkdir -p $(TOPDIR)/firmware; \
( \
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive defconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/bulkbuild.log; \
if [ -f .exit ]; then break;fi \
done; \
if [ -f .exit ]; then break;fi \
@@ -581,14 +560,14 @@ bulkall:
while read arch; do \
systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \
for system in $$systems;do \
- mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+ mkdir -p $(TOPDIR)/firmware; \
( \
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/bulkallbuild.log; \
if [ -f .exit ]; then break;fi \
done; \
if [ -f .exit ]; then break;fi \
@@ -601,15 +580,15 @@ bulkallmod:
while read arch; do \
systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \
for system in $$systems;do \
- mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+ mkdir -p $(TOPDIR)/firmware; \
( \
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allmodconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then echo $$system-$$libc >.exit; exit 1;fi; \
- $(GMAKE) cleantarget; \
+ $(GMAKE) clean; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/bulkallmodbuild.log; \
if [ -f .exit ]; then break;fi \
done; \
if [ -f .exit ]; then break;fi \
@@ -617,45 +596,42 @@ bulkallmod:
if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \
done
-$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c
- @mkdir -p host_$(GNU_HOST_NAME)/usr/bin
- @$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c
+$(TOPDIR)/adk/tools/pkgmaker: $(TOPDIR)/adk/tools/pkgmaker.c $(TOPDIR)/adk/tools/sortfile.c $(TOPDIR)/adk/tools/strmap.c
+ @$(CC_FOR_BUILD) -g -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
-$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild: $(TOPDIR)/tools/adk/pkgrebuild.c $(TOPDIR)/tools/adk/strmap.c
- @$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgrebuild.c tools/adk/strmap.c
+$(TOPDIR)/adk/tools/pkgrebuild: $(TOPDIR)/adk/tools/pkgrebuild.c $(TOPDIR)/adk/tools/strmap.c
+ @$(CC_FOR_BUILD) -g -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c
-package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild
+package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/adk/tools/pkgmaker $(TOPDIR)/adk/tools/pkgrebuild
@echo "Generating menu structure ..."
- @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker
+ @$(TOPDIR)/adk/tools/pkgmaker
@:>.menu
-$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker: $(TOPDIR)/tools/adk/depmaker.c
- @mkdir -p host_$(GNU_HOST_NAME)/usr/bin
- $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/tools/adk/depmaker.c
+$(TOPDIR)/adk/tools/depmaker: $(TOPDIR)/adk/tools/depmaker.c
+ $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/adk/tools/depmaker.c
-dep: $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker
+dep: $(TOPDIR)/adk/tools/depmaker
@echo "Generating dependencies ..."
- @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk
+ @$(TOPDIR)/adk/tools/depmaker > ${TOPDIR}/package/Depends.mk
.PHONY: menu dep
include $(TOPDIR)/toolchain/gcc/Makefile.inc
check-dejagnu:
- @-rm tests/adk.exp tests/master.exp >/dev/null 2>&1
- @sed -e "s#@ADK_TARGET_IP@#$(ADK_TARGET_IP)#" tests/adk.exp.in > \
- tests/adk.exp.in.tmp
- @sed -e "s#@ADK_TARGET_PORT@#$(ADK_TARGET_PORT)#" tests/adk.exp.in.tmp > \
- tests/adk.exp
- @sed -e "s#@TOPDIR@#$(TOPDIR)#" tests/master.exp.in > \
- tests/master.exp
+ @-rm adk/tests/adk.exp adk/tests/master.exp >/dev/null 2>&1
+ @sed -e "s#@ADK_TARGET_IP@#$(ADK_TARGET_IP)#" \
+ -e "s#@ADK_TARGET_PORT@#$(ADK_TARGET_PORT)#" \
+ adk/tests/adk.exp.in > adk/tests/adk.exp
+ @sed -e "s#@TOPDIR@#$(TOPDIR)#" adk/tests/master.exp.in > \
+ adk/tests/master.exp
check-gcc: check-dejagnu
- env DEJAGNU=$(TOPDIR)/tests/master.exp \
+ env DEJAGNU=$(TOPDIR)/adk/tests/master.exp \
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)-final/gcc check-gcc
check-g++: check-dejagnu
- env DEJAGNU=$(TOPDIR)/tests/master.exp \
+ env DEJAGNU=$(TOPDIR)/adk/tests/master.exp \
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)-final/gcc check-g++
check: check-gcc check-g++
diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk
index 701f0f4a2..5ce3ca4a0 100644
--- a/mk/buildhlp.mk
+++ b/mk/buildhlp.mk
@@ -81,7 +81,7 @@ ${WRKDIST}/.prepared: ${WRKDIST}/.extract_done
touch $@
endif
-update-patches:
+update-patches host-update-patches:
@test ! -d ${WRKDIR}.orig || rm -rf ${WRKDIR}.orig
@test ! -d ${WRKDIR}.orig
ifeq ($(strip ${_IN_PACKAGE})$(strip ${_IN_CVTC}),1)
@@ -115,4 +115,4 @@ endif
rm -rf ${WRKDIR}.orig; \
[[ $$toedit != FAIL ]]
-.PHONY: update-patches
+.PHONY: update-patches host-update-patches
diff --git a/mk/fetch.mk b/mk/fetch.mk
index 6382571b3..ee24f0b60 100644
--- a/mk/fetch.mk
+++ b/mk/fetch.mk
@@ -26,7 +26,6 @@ refetch:
-rm -f ${FULLDISTFILES}
${MAKE} fetch
-# XXX for now
_CHECKSUM_COOKIE?= ${WRKDIR}/.checksum_done
checksum: ${_CHECKSUM_COOKIE}
ifeq ($(strip ${NO_CHECKSUM}),)
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
index 23d5652ba..8ef4a868e 100644
--- a/mk/host-bottom.mk
+++ b/mk/host-bottom.mk
@@ -3,6 +3,7 @@
host-extract: ${_HOST_PATCH_COOKIE}
+hostpre-configure:
host-configure:
${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE}
@mkdir -p ${WRKBUILD}
@@ -25,6 +26,7 @@ endif
${CP} ${SCRIPT_DIR}/config.guess $$i; \
fi; \
done;
+ @${MAKE} hostpre-configure $(MAKE_TRACE)
ifneq (${HOST_STYLE},manual)
ifeq ($(strip ${HOST_STYLE}),)
cd ${WRKBUILD}; rm -f config.{cache,status}; \
@@ -75,29 +77,23 @@ endif
touch $@
hostpost-install:
-hpkg-install: ${ALL_HOSTINST}
-host-install:
+host-install: ${ALL_HOSTINST}
${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE}
@$(CMD_TRACE) "host installing... "
+ @mkdir -p ${HOST_WRKINST}
ifneq (${HOST_STYLE},manual)
ifeq ($(strip ${HOST_STYLE}),)
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
- env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+ env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
else
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
endif
else
- env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+ env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
endif
env ${HOST_MAKE_ENV} ${MAKE} hostpost-install $(MAKE_TRACE)
- rm -rf ${WRKBUILD} ${WRKDIST} ${WRKSRC}
- exec ${MAKE} host-extract $(MAKE_TRACE)
- mkdir -p ${HOST_WRKINST}
- # avoid rebuild
- @touch ${_HOST_CONFIGURE_COOKIE}
- @touch ${_HOST_BUILD_COOKIE}
@touch $@
${_HOST_COOKIE}:
@@ -107,3 +103,7 @@ ifeq ($(HOST_LINUX_ONLY),)
hostpackage: ${ALL_HOSTDIRS}
@touch ${_HOST_COOKIE}
endif
+
+hostclean:
+ @$(CMD_TRACE) "cleaning... "
+ rm -rf ${WRKDIR} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}*-host
diff --git a/mk/host.mk b/mk/host.mk
index aa88bab44..88f8d2e01 100644
--- a/mk/host.mk
+++ b/mk/host.mk
@@ -1,10 +1,16 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
+# This is where all package operation is done in
+ifneq (,$(findstring host,$(MAKECMDGOALS)))
+WRKDIR?= ${HOST_BUILD_DIR}/w-${PKG_NAME}-${PKG_VERSION}-${PKG_RELEASE}-host
+endif
+
HOST_CONFIGURE_ENV+= AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
CONFIG_SHELL='$(strip ${SHELL})' \
PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \
PATH='${HOST_PATH}' \
+ CC='$(strip ${CC_FOR_BUILD})' \
CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
@@ -23,6 +29,7 @@ HOST_INSTALL_TARGET?= install
HOST_MAKE_ENV+= PATH='${HOST_PATH}' \
PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \
+ CC='$(strip ${CC_FOR_BUILD})' \
CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
@@ -30,7 +37,7 @@ HOST_MAKE_ENV+= PATH='${HOST_PATH}' \
HOST_MAKE_FLAGS+= ${HOST_XAKE_FLAGS} V=1
HOST_FAKE_FLAGS+= ${HOST_XAKE_FLAGS}
-HOST_WRKINST= ${WRKDIR}/host
+HOST_WRKINST= ${WRKDIR}/fake
_HOST_EXTRACT_COOKIE= ${WRKDIST}/.extract_done
_HOST_PATCH_COOKIE= ${WRKDIST}/.prepared
@@ -54,7 +61,7 @@ hostfake: ${_HOST_FAKE_COOKIE}
define HOST_template
ALL_PKGOPTS+= $(1)
PKGNAME_$(1)= $(2)
-HOSTDIR_$(1)= $(WRKDIR)/host
+HOSTDIR_$(1)= $(WRKDIR)/fake
ALL_HOSTDIRS+= $${HOSTDIR_$(1)}
ALL_HOSTINST+= $(2)-hostinstall
@@ -63,4 +70,4 @@ $$(HOSTDIR_$(1)): ${_HOST_PATCH_COOKIE} ${_HOST_FAKE_COOKIE}
endef
.PHONY: all hostextract hostpatch hostconfigure \
- hostbuild hostpackage hostfake
+ hostbuild hostpackage hostfake hostclean
diff --git a/mk/image.mk b/mk/image.mk
index 6721549b5..ee2f991e0 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -34,6 +34,9 @@ imageprepare: image-prepare-post extra-install
# if an extra directory exist in TOPDIR, copy all content over the
# root directory, do the same if make extra=/dir/to/extra is used
extra-install:
+ @-if [ -h ${TARGET_DIR}/etc/resolv.conf -a -f $(TOPDIR)/extra/etc/resolv.conf ];then \
+ rm ${TARGET_DIR}/etc/resolv.conf;\
+ fi
@if [ -d $(TOPDIR)/extra ];then $(CP) $(TOPDIR)/extra/* ${TARGET_DIR};fi
@if [ ! -z $(extra) ];then $(CP) $(extra)/* ${TARGET_DIR};fi
@@ -51,22 +54,24 @@ image-prepare-post:
-rm -f ${TARGET_DIR}/bin/sh
ln -sf ${BINSH} ${TARGET_DIR}/bin/sh
ifeq ($(ADK_LINUX_X86_64),y)
+ifeq ($(ADK_TARGET_ABI_32),)
# fixup lib dirs
mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
+endif
ifeq ($(ADK_LINUX_PPC64),y)
# fixup lib dirs
mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -76,7 +81,7 @@ ifeq ($(ADK_LINUX_SPARC64),y)
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -86,7 +91,7 @@ ifeq ($(ADK_TARGET_ABI_N32),y)
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -96,7 +101,7 @@ ifeq ($(ADK_TARGET_ABI_N64),y)
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -122,7 +127,7 @@ ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGE
ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-jffs2.img
ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso
+ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}.iso
else
TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel
INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
@@ -130,7 +135,7 @@ ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-jffs2.img
ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso
+ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}.iso
endif
${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
@@ -144,18 +149,8 @@ ${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
${STAGING_HOST_DIR}/usr/bin/cpio -o -Hustar -P | gzip -n9 >$@
${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}
- $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
+ env PATH='${HOST_PATH}' $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
${TARGET_DIR}/ >$@
- ( \
- echo "nod /dev/console 0644 0 0 c 5 1"; \
- echo "nod /dev/tty 0644 0 0 c 5 0"; \
- for i in 0 1 2 3 4; do \
- echo "nod /dev/tty$$i 0644 0 0 c 4 $$$$i"; \
- done; \
- echo "nod /dev/systty 0644 0 0 c 4 0"; \
- echo "nod /dev/null 0644 0 0 c 1 3"; \
- echo "nod /dev/ram 0655 0 0 b 1 1"; \
- ) >>$@
${FW_DIR}/${INITRAMFS}: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
${LINUX_DIR}/usr/gen_init_cpio ${STAGING_TARGET_DIR}/${INITRAMFS}_list | \
@@ -167,11 +162,11 @@ ${BUILD_DIR}/root.squashfs: ${TARGET_DIR}
-nopad -noappend -root-owned $(MAKE_TRACE)
${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR}
- ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \
+ ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -X zlib -r ${TARGET_DIR} \
--pad=$(ADK_TARGET_MTD_SIZE) -o ${FW_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE)
createinitramfs: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
- ${SED} 's/.*CONFIG_\(RD_\|XZ_\|BLK_DEV_INITRD\|INITRAMFS_\).*//' \
+ ${SED} 's/.*CONFIG_\(RD_\|BLK_DEV_INITRD\|INITRAMFS_\).*//' \
${LINUX_DIR}/.config
( \
echo "CONFIG_BLK_DEV_INITRD=y"; \
@@ -234,14 +229,14 @@ ifeq ($(ADK_KERNEL_COMP_BZIP2),y)
echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config
endif
@-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null
- $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
+ env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \
+ -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
mkdir -p ${TARGET_DIR}/boot/syslinux
cp ${STAGING_HOST_DIR}/usr/share/syslinux/{isolinux.bin,ldlinux.c32} \
${TARGET_DIR}/boot/syslinux
- echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \
+ echo 'DEFAULT /boot/kernel root=/dev/sr0' > \
${TARGET_DIR}/boot/syslinux/isolinux.cfg
${STAGING_HOST_DIR}/usr/bin/mkisofs -R -uid 0 -gid 0 -o $@ \
-b boot/syslinux/isolinux.bin \
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk
index f95796950..448c133c3 100644
--- a/mk/kernel-build.mk
+++ b/mk/kernel-build.mk
@@ -37,28 +37,24 @@ $(LINUX_DIR)/.prepared: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PK
$(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR)/mk/modules.mk
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure
-for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done
-ifeq ($(ADK_USE_KERNEL_MINICONFIG),y)
$(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config
- ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE)
-else
- $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config
- echo N | ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE)
-endif
+ ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE)
touch -c $(LINUX_DIR)/.config
$(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile
- ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE)
+ ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE)
touch -c $(LINUX_DIR)/$(KERNEL_FILE)
$(LINUX_BUILD_DIR)/modules: $(LINUX_DIR)/$(KERNEL_FILE)
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install
rm -rf $(LINUX_BUILD_DIR)/modules
- ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \
+ ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} DEPMOD=true \
INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \
LOCALVERSION="" \
modules_install $(MAKE_TRACE)
$(TRACE) target/$(ADK_TARGET_ARCH)-create-packages
+ @mkdir -p ${PACKAGE_DIR}
ifneq ($(strip $(TARGETS)),)
$(MAKE) $(TARGETS)
endif
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index 3285e891d..7d8de54e3 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -1,27 +1,18 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-KERNEL_MAKE_OPTS:= -C "${LINUX_DIR}" V=1 \
- CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \
- CC="$(TARGET_CC)" HOSTCC="${CC_FOR_BUILD}" \
- HOSTCFLAGS='${CFLAGS_FOR_BUILD}' \
+KERNEL_MAKE_OPTS:= V=1 \
+ ARCH=$(ARCH) \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ CC="$(TARGET_CC)" \
+ HOSTCC="${CC_FOR_BUILD}" \
CONFIG_SHELL='${SHELL}'
-ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G},y)
-ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x400000 \
- -DBCM47XX_OVERRIDE_NVRAMSIZE=0x10000 \
- -DBCM47XX_OVERRIDE_CFESIZE=0x40000
-endif
-ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS},y)
-ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \
- -DBCM47XX_OVERRIDE_NVRAMSIZE=0x20000 \
- -DBCM47XX_OVERRIDE_CFESIZE=0x40000
-endif
-ifeq (${ADK_TARGET_BROADCOM_MODEL_ASUS_WL500GP},y)
-ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \
- -DBCM47XX_OVERRIDE_NVRAMSIZE=0x20000 \
- -DBCM47XX_OVERRIDE_CFESIZE=0x40000
+# regex for relocs needs pcre on Darwin
+ifeq ($(ADK_HOST_DARWIN),y)
+KERNEL_MAKE_OPTS+= HOSTCFLAGS='$(CPPFLAGS_FOR_BUILD) ${CFLAGS_FOR_BUILD}' HOSTLDFLAGS='-lpcreposix'
+else
+KERNEL_MAKE_OPTS+= HOSTCFLAGS='${CFLAGS_FOR_BUILD}'
endif
-KERNEL_MAKE_ENV+= KCPPFLAGS='${ADK_KCPPFLAGS}' \
- PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"
+KERNEL_MAKE_ENV+= PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index 6355af1d8..7cfb5998b 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -1,20 +1,20 @@
ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y)
-KERNEL_VERSION:= 3.13.6
+KERNEL_VERSION:= 3.13.7
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 445aa27da818617409982f42902a6e41
+KERNEL_MD5SUM:= 370adced5e5c1cb1d0d621c2dae2723f
endif
-ifeq ($(ADK_KERNEL_VERSION_3_13_6),y)
-KERNEL_VERSION:= 3.13.6
+ifeq ($(ADK_KERNEL_VERSION_3_13_7),y)
+KERNEL_VERSION:= 3.13.7
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 445aa27da818617409982f42902a6e41
+KERNEL_MD5SUM:= 370adced5e5c1cb1d0d621c2dae2723f
endif
-ifeq ($(ADK_KERNEL_VERSION_3_12_13),y)
-KERNEL_VERSION:= 3.12.13
+ifeq ($(ADK_KERNEL_VERSION_3_12_14),y)
+KERNEL_VERSION:= 3.12.14
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 345f5883cfb906dac4aef87e303d3a2d
+KERNEL_MD5SUM:= 5575e68e287605ad63d3a1444e9b701d
endif
ifeq ($(ADK_KERNEL_VERSION_3_11_10),y)
KERNEL_VERSION:= 3.11.10
@@ -22,15 +22,15 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
KERNEL_MD5SUM:= 59f352d3f4e2cdf6755f79e09fa09176
endif
-ifeq ($(ADK_KERNEL_VERSION_3_10_33),y)
-KERNEL_VERSION:= 3.10.33
+ifeq ($(ADK_KERNEL_VERSION_3_10_34),y)
+KERNEL_VERSION:= 3.10.34
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 01865f9c129f3c7eee51e25b3781a364
+KERNEL_MD5SUM:= 30991b495a3d75196d5608072d2e62e6
endif
-ifeq ($(ADK_KERNEL_VERSION_3_4_82),y)
-KERNEL_VERSION:= 3.4.82
+ifeq ($(ADK_KERNEL_VERSION_3_4_84),y)
+KERNEL_VERSION:= 3.4.84
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 9ee57efa65417a7a9ac931122c2b7377
+KERNEL_MD5SUM:= b99f88ca356b5003ce44e952baa3e6a3
endif
diff --git a/mk/mirrors.mk b/mk/mirrors.mk
index 4de2fdded..ab7349288 100644
--- a/mk/mirrors.mk
+++ b/mk/mirrors.mk
@@ -15,12 +15,19 @@ MASTER_SITE_KERNEL?= \
http://www.kernel.org/pub/linux/ \
MASTER_SITE_XORG?= \
- http://www.x.org/releases/X11R7.7/src/everything/ \
- http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.7/src/everything/ \
- http://xorg.freedesktop.org/releases/X11R7.7/src/everything/ \
+ http://www.x.org/releases/individual/xserver/ \
+ http://www.x.org/releases/individual/proto/ \
+ http://www.x.org/releases/individual/app/ \
+ http://www.x.org/releases/individual/xcb/ \
+ http://www.x.org/releases/individual/lib/ \
+ http://www.x.org/releases/individual/driver/ \
+ http://www.x.org/releases/individual/util/ \
http://xorg.freedesktop.org/releases/individual/app/ \
http://xorg.freedesktop.org/releases/individual/lib/ \
http://xorg.freedesktop.org/releases/individual/driver/ \
+ http://www.x.org/releases/X11R7.7/src/everything/ \
+ http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.7/src/everything/ \
+ http://xorg.freedesktop.org/releases/X11R7.7/src/everything/ \
MASTER_SITE_GNU?= \
http://ftp.gnu.org/gnu/ \
diff --git a/mk/modules.mk b/mk/modules.mk
index 5fd2f6419..e8a0821de 100644
--- a/mk/modules.mk
+++ b/mk/modules.mk
@@ -1175,20 +1175,21 @@ $(eval $(call KMOD_template,SND,snd,\
$(MODULES_DIR)/kernel/sound/core/snd \
$(MODULES_DIR)/kernel/sound/core/snd-timer \
$(MODULES_DIR)/kernel/sound/core/snd-pcm \
+,40))
+
+$(eval $(call KMOD_template,SND_PCM_DMAENGINE,snd-pcm-dmaengine,\
$(MODULES_DIR)/kernel/sound/core/snd-pcm-dmaengine \
+,41))
+
+$(eval $(call KMOD_template,SND_COMPRESS,snd-compress,\
$(MODULES_DIR)/kernel/sound/core/snd-compress \
-,40))
+,41))
$(eval $(call KMOD_template,SND_RAWMIDI,snd-rawmidi,\
$(MODULES_DIR)/kernel/sound/core/snd-hwdep \
$(MODULES_DIR)/kernel/sound/core/snd-rawmidi \
,42))
-$(eval $(call KMOD_template,SND_OSSEMUL,snd-ossemul,\
- $(MODULES_DIR)/kernel/sound/core/oss/snd-mixer-oss \
- $(MODULES_DIR)/kernel/sound/core/oss/snd-pcm-oss \
-,45))
-
$(eval $(call KMOD_template,SND_AC97_CODEC,snd-ac97-codec,\
$(MODULES_DIR)/kernel/sound/ac97_bus \
$(MODULES_DIR)/kernel/sound/pci/ac97/snd-ac97-codec \
@@ -1293,7 +1294,7 @@ $(eval $(call KMOD_template,PCMCIA,pcmcia,\
,60))
$(eval $(call KMOD_template,SERIAL_8250_CS,serial-8250-cs,\
- $(MODULES_DIR)/kernel/drivers/tty/serial/serial_cs \
+ $(MODULES_DIR)/kernel/drivers/tty/serial/8250/serial_cs \
,70))
#
@@ -1742,7 +1743,7 @@ $(eval $(call KMOD_template,PARPORT_PC,parport-pc,\
,55))
$(eval $(call KMOD_template,PLIP,plip,\
- $(MODULES_DIR)/kernel/drivers/net/plip \
+ $(MODULES_DIR)/kernel/drivers/net/plip/plip \
,60))
#
diff --git a/mk/package.mk b/mk/package.mk
index a70de9377..eba9c446a 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -195,10 +195,10 @@ endif
$$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE}
ifeq ($(ADK_DEBUG),)
- $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
+ @$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
endif
ifeq ($(ADK_DEBUG_STRIP),y)
- $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
+ @$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
endif
ifeq (${ADK_LEAVE_ETC_ALONE}$(filter force_etc,$(7)),y)
-rm -rf $${IDIR_$(1)}/etc
@@ -314,7 +314,7 @@ clean-targets:
clean:
@$(CMD_TRACE) "cleaning... "
@$(MAKE) clean-targets $(MAKE_TRACE)
- rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}*
+ rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}${PKG_VERSION}
distclean: clean
rm -f ${FULLDISTFILES}
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index 3e454ee5a..2ccc6ff1e 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -184,7 +184,7 @@ ifneq (,$(filter dev,${PKG_OPTS}))
done
endif
@-cd ${WRKINST}; \
- if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" ];then \
+ if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" -a "${PKG_NAME}" != "tzdata" ];then \
find lib \( -name lib\*.so\* -o -name lib\*.a \) \
-exec echo 'WARNING: ${PKG_NAME} installs files in /lib -' \
' fix this!' >&2 \; -quit 2>/dev/null; fi;\
diff --git a/mk/rootfs.mk b/mk/rootfs.mk
index 55830b23c..dae0e5805 100644
--- a/mk/rootfs.mk
+++ b/mk/rootfs.mk
@@ -11,10 +11,11 @@ endef
ifeq ($(ADK_HARDWARE_QEMU),y)
MTDDEV:= root=/dev/mtdblock0
ifeq ($(ADK_TARGET_ROOTFS_ARCHIVE),y)
-ROOTFS:= root=/dev/sda1
-endif
ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
ROOTFS:= root=/dev/vda1
+else
+ROOTFS:= root=/dev/sda1
+endif
endif
endif
@@ -41,17 +42,15 @@ else
USB:= rootdelay=2
endif
-$(eval $(call rootfs_template,genext2fs,GENEXT2FS,$(ROOTFS)))
-$(eval $(call rootfs_template,cf,CF,$(ROOTFS)))
-$(eval $(call rootfs_template,mmc,MMC,$(ROOTFS)))
$(eval $(call rootfs_template,usb,USB,$(USB)))
$(eval $(call rootfs_template,archive,ARCHIVE,$(ROOTFS)))
+$(eval $(call rootfs_template,initramfsarchive,INITRAMFSARCHIVE))
$(eval $(call rootfs_template,initramfs,INITRAMFS))
$(eval $(call rootfs_template,initramfs-piggyback,INITRAMFS_PIGGYBACK))
-$(eval $(call rootfs_template,squashfs,SQUASHFS,$(ROOTFS)))
+$(eval $(call rootfs_template,squashfs,SQUASHFS,$(MTDDEV) rootfstype=squashfs))
$(eval $(call rootfs_template,yaffs,YAFFS,$(MTDDEV) panic=3))
$(eval $(call rootfs_template,jffs2,JFFS2,$(MTDDEV) rootfstype=jffs2))
-$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init))
+$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp))
$(eval $(call rootfs_template,encrypted,ENCRYPTED))
$(eval $(call rootfs_template,iso,ISO))
diff --git a/mk/vars.mk b/mk/vars.mk
index 5fd4a51aa..a26dc0734 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -17,16 +17,17 @@ DL_DIR?= $(BASE_DIR)/dl
else
DL_DIR?= $(ADK_DL_DIR)
endif
-TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build
SCRIPT_DIR:= $(BASE_DIR)/scripts
STAGING_HOST_DIR:= ${BASE_DIR}/host_${GNU_HOST_NAME}
+TOOLCHAIN_DIR:= ${BASE_DIR}/toolchain_${GNU_HOST_NAME}
+HOST_BUILD_DIR:= ${BASE_DIR}/host_build_${GNU_HOST_NAME}
-# PFX dirs for cleandir
+# dirs for cleandir
FW_DIR_PFX:= $(BASE_DIR)/firmware
BUILD_DIR_PFX:= $(BASE_DIR)/build_*
STAGING_PKG_DIR_PFX:= ${BASE_DIR}/pkg_*
STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_*
-TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_*
+TOOLCHAIN_DIR_PFX= $(BASE_DIR)/toolchain_*
STAGING_HOST_DIR_PFX:= ${BASE_DIR}/host_*
TARGET_DIR_PFX:= $(BASE_DIR)/root_*
@@ -36,7 +37,7 @@ FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB
BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}
STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
-STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}
+STAGING_HOST2TARGET:= ../../target_${CPU_ARCH}_${ADK_TARGET_LIBC}
TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}
else
TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
@@ -44,7 +45,7 @@ FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB
BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
-STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
+STAGING_HOST2TARGET:= ../../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
endif
@@ -52,15 +53,9 @@ PACKAGE_DIR:= $(FW_DIR)/packages
SCRIPT_TARGET_DIR:= ${STAGING_TARGET_DIR}/scripts
# PATH variables
-TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-HOST_PATH= ${SCRIPT_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-AUTOTOOL_PATH= ${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
-
-ifeq ($(ADK_TARGET_ABI_X32),y)
-GNU_TARGET_NAME= $(CPU_ARCH)-x32-linux-$(ADK_TARGET_SUFFIX)
-else
-GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
-endif
+TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+HOST_PATH= ${SCRIPT_DIR}:${TOOLCHAIN_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+AUTOTOOL_PATH= ${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)
GCC_CHECK:= GCC_HONOUR_COPTS=2
@@ -68,18 +63,28 @@ else
GCC_CHECK:=
endif
-TARGET_CROSS:= $(STAGING_HOST_DIR)/bin/$(GNU_TARGET_NAME)-
+GNU_TARGET_NAME:= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
+TARGET_CROSS:= $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-
TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
-CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} --host=${GNU_TARGET_NAME} --target=${GNU_TARGET_NAME}
+CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} \
+ --host=${GNU_TARGET_NAME} \
+ --target=${GNU_TARGET_NAME}
ifneq ($(strip ${ADK_USE_CCACHE}),)
-TARGET_COMPILER_PREFIX=ccache ${TARGET_CROSS}
+TARGET_COMPILER_PREFIX=$(STAGING_HOST_DIR)/usr/bin/ccache ${TARGET_CROSS}
endif
-# target compiler flags
+# target tools
TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc
TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++
TARGET_LD:= ${TARGET_COMPILER_PREFIX}ld
+TARGET_AR:= ${TARGET_COMPILER_PREFIX}ar
+TARGET_RANLIB:= ${TARGET_COMPILER_PREFIX}ranlib
+
+ifneq ($(ADK_TARGET_ABI_CFLAGS),)
+TARGET_CC+= $(ADK_TARGET_ABI_CFLAGS)
+TARGET_CXX+= $(ADK_TARGET_ABI_CFLAGS)
+endif
MODE_FLAGS:=
ifeq ($(ADK_LINUX_ARM),y)
@@ -91,13 +96,12 @@ endif
endif
TARGET_CPPFLAGS:=
-TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(ADK_TARGET_ABI_CFLAGS) $(MODE_FLAGS)
-TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(TARGET_OPTIMIZATION) $(MODE_FLAGS)
-TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS)
+TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts
+TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident
TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
- -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \
- $(ADK_TARGET_ABI_LDFLAGS)
+ -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib
+
# security optimization, see http://www.akkadia.org/drepper/dsohowto.pdf
TARGET_LDFLAGS+= -Wl,-z,relro,-z,now
# needed for musl ppc
@@ -123,13 +127,17 @@ ifneq ($(ADK_DEBUG),)
TARGET_CFLAGS+= -g3 -fno-omit-frame-pointer
else
TARGET_CPPFLAGS+= -DNDEBUG
-TARGET_CFLAGS+= -fomit-frame-pointer $(TARGET_OPTIMIZATION)
+TARGET_CFLAGS+= -fomit-frame-pointer $(ADK_TARGET_CFLAGS_OPT)
# stop generating eh_frame stuff
TARGET_CFLAGS+= -fno-unwind-tables -fno-asynchronous-unwind-tables
# always add debug information
TARGET_CFLAGS+= -g3
endif
+ifneq ($(MODE_FLAGS),)
+TARGET_CFLAGS+= $(MODE_CFLAGS)
+TARGET_CXXFLAGS+= $(MODE_CFLAGS)
+endif
# A nifty macro to make testing gcc features easier (from uClibc project)
check_gcc=$(shell \
@@ -139,7 +147,6 @@ check_gcc=$(shell \
CF_FOR_BUILD=$(call check_gcc,-fhonour-copts,)
# host compiler flags
-CXX_FOR_BUILD?= g++
CPPFLAGS_FOR_BUILD?= -I$(STAGING_HOST_DIR)/usr/include
CFLAGS_FOR_BUILD= -O2 -Wall $(CF_FOR_BUILD)
CXXFLAGS_FOR_BUILD?= -O2 -Wall
@@ -150,9 +157,11 @@ PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh
SED:= PATH=${HOST_PATH} sed -i -e
LINUX_DIR:= $(BUILD_DIR)/linux
KERNEL_MODULE_FLAGS:= ARCH=${ARCH} \
- KERNEL_PATH=${LINUX_DIR} KERNELDIR=${LINUX_DIR} KERNEL_DIR=${LINUX_DIR} \
+ KERNEL_PATH=${LINUX_DIR} \
+ KERNELDIR=${LINUX_DIR} \
+ KERNEL_DIR=${LINUX_DIR} \
PREFIX=/usr CROSS_COMPILE="${TARGET_CROSS}" \
- LDFLAGS="$(ADK_TARGET_KERNEL_LDFLAGS)" CFLAGS_MODULE="-fhonour-copts" V=1
+ CFLAGS_MODULE="-fhonour-copts" V=1
TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
AR='$(TARGET_CROSS)ar' \
@@ -169,9 +178,10 @@ TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
CROSS_COMPILE='$(TARGET_CROSS)'
HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \
- CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
CXX_FOR_BUILD='${CXX_FOR_BUILD}' \
+ CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \
+ CXXFLAGS_FOR_BUILD='${CXXFLAGS_FOR_BUILD}' \
LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}'
PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX)))
@@ -198,25 +208,25 @@ RSTRIP:= PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/r
STATCMD:=$(shell if stat -qs .>/dev/null 2>&1; then echo 'stat -f %z';else echo 'stat -c %s';fi)
-EXTRACT_CMD= mkdir -p ${WRKDIR}; \
+EXTRACT_CMD= PATH='${HOST_PATH}'; mkdir -p ${WRKDIR}; \
cd ${WRKDIR} && \
for file in ${FULLDISTFILES}; do case $$file in \
*.cpio) \
- cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
+ cat $$file | cpio -i -d ;; \
*.tar) \
tar -xf $$file ;; \
*.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \
- gzip -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
+ gzip -dc $$file | cpio -i -d ;; \
*.tar.xz | *.txz) \
- $(STAGING_HOST_DIR)/usr/bin/xz -dc $$file | tar -xf - ;; \
+ xz -dc $$file | tar -xf - ;; \
*.tar.Z | *.tar.gz | *.taz | *.tgz) \
gzip -dc $$file | tar -xf - ;; \
*.cpio.bz2 | *.cbz) \
- $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
+ bzip2 -dc $$file | cpio -i -d ;; \
*.tar.bz2 | *.tbz | *.tbz2) \
- $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | tar -xf - ;; \
+ bzip2 -dc $$file | tar -xf - ;; \
*.zip) \
- cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -ivd -H zip ;; \
+ cat $$file | cpio -ivd -H zip ;; \
*.arm) \
cp $$file ${WRKDIR} ;; \
*) \
diff --git a/package/Makefile b/package/Makefile
index 1b8cc97f3..c2b7d5285 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -28,11 +28,13 @@ include $(TOPDIR)/package/Depends.mk
DOWNLOAD:=$(patsubst %,%-download,$(package-y) $(package-m))
REBUILD_PACKAGES:=$(patsubst %,%-rebuild,$(package-y) $(package-m))
COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y) $(package-m))
+HOST_COMPILE_PACKAGES:=$(patsubst %,%-host-compile,$(hostpackage-y))
INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
all: compile
download: $(DOWNLOAD)
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m) base-files)
+hostcompile: $(HOST_COMPILE_PACKAGES)
ifeq ($(ADK_TOOLCHAIN_ONLY),y)
compile: $(REBUILD_PACKAGES) $(COMPILE_PACKAGES)
install: $(INSTALL_PACKAGES)
diff --git a/package/MesaLib/Makefile b/package/MesaLib/Makefile
index c6e1811a5..97bbee79b 100644
--- a/package/MesaLib/Makefile
+++ b/package/MesaLib/Makefile
@@ -4,17 +4,20 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= MesaLib
-PKG_VERSION:= 9.2.2
-PKG_RELEASE:= 2
-PKG_MD5SUM:= df801a975045150790e10e2ccf32193f
+PKG_VERSION:= 10.1.0
+PKG_SUBVER:= 10.1
+PKG_RELEASE:= 3
+PKG_MD5SUM:= 08e796ec7122aa299d32d4f67a254315
PKG_DESCR:= MESA 3D graphics library
PKG_SECTION:= libs
PKG_DEPENDS:= libxdamage libxfixes libdrm libxxf86vm libexpat
PKG_DEPENDS+= libxml2 libxml2-python
-PKG_BUILDDEP:= autotool python2 libxml2 libXdamage libXfixes libXxf86vm libdrm
-PKG_BUILDDEP+= dri2proto glproto expat libXext
+PKG_BUILDDEP:= autotool python2 libxml2 libXdamage libXfixes
+PKG_BUILDDEP+= libXxf86vm libdrm dri2proto glproto expat libXext
+PKG_BUILDDEP+= eudev dri3proto presentproto xcb-proto libxcb
+PKG_BUILDDEP+= libxshmfence
PKG_URL:= http://www.mesa3d.org/
-PKG_SITES:= ftp://ftp.freedesktop.org/pub/mesa/${PKG_VERSION}/
+PKG_SITES:= ftp://ftp.freedesktop.org/pub/mesa/${PKG_SUBVER}/
PKG_NEED_CXX:= 1
PKG_LIBNAME:= mesalib
PKG_OPTS:= dev
@@ -58,6 +61,8 @@ mesalib-install:
$(INSTALL_DIR) $(IDIR_MESALIB)/usr/lib/dri
$(CP) $(WRKINST)/usr/lib/libGL*.so* \
$(IDIR_MESALIB)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libglapi.so* \
+ $(IDIR_MESALIB)/usr/lib
${CP} $(WRKINST)/usr/lib/dri/swrast_dri.so \
${IDIR_MESALIB}/usr/lib/dri/
ifeq (${ADK_TARGET_SYSTEM_IBM_X40},y)
diff --git a/package/MesaLib/patches/patch-configure_ac b/package/MesaLib/patches/patch-configure_ac
index c788ea1cd..32b3d8053 100644
--- a/package/MesaLib/patches/patch-configure_ac
+++ b/package/MesaLib/patches/patch-configure_ac
@@ -1,6 +1,6 @@
---- Mesa-9.2.2.orig/configure.ac 2013-10-19 01:36:09.000000000 +0200
-+++ Mesa-9.2.2/configure.ac 2013-12-01 14:08:00.000000000 +0100
-@@ -69,7 +69,7 @@ AC_PATH_PROG([PERL], [perl])
+--- Mesa-10.1.0.orig/configure.ac 2014-02-27 02:56:39.000000000 +0100
++++ Mesa-10.1.0/configure.ac 2014-03-14 21:36:14.000000000 +0100
+@@ -65,7 +65,7 @@ AC_PATH_PROG([PERL], [perl])
AC_CHECK_PROG(INDENT, indent, indent, cat)
if test "x$INDENT" != "xcat"; then
diff --git a/package/MesaLib/patches/patch-include_c11_threads_posix_h b/package/MesaLib/patches/patch-include_c11_threads_posix_h
new file mode 100644
index 000000000..2e79238f7
--- /dev/null
+++ b/package/MesaLib/patches/patch-include_c11_threads_posix_h
@@ -0,0 +1,11 @@
+--- Mesa-10.1.0.orig/include/c11/threads_posix.h 2014-02-27 02:56:39.000000000 +0100
++++ Mesa-10.1.0/include/c11/threads_posix.h 2014-03-14 21:54:55.000000000 +0100
+@@ -176,7 +176,7 @@ mtx_init(mtx_t *mtx, int type)
+ return thrd_error;
+ pthread_mutexattr_init(&attr);
+ if ((type & mtx_recursive) != 0) {
+-#if defined(__linux__) || defined(__linux)
++#if defined(__GLIBC__)
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
+ #else
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
diff --git a/package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h b/package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h
index 021601b7f..b929e8758 100644
--- a/package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h
+++ b/package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h
@@ -1,6 +1,6 @@
---- Mesa-9.2.2.orig/src/gallium/include/pipe/p_config.h 2013-10-18 00:26:23.000000000 +0200
-+++ Mesa-9.2.2/src/gallium/include/pipe/p_config.h 2014-01-06 12:26:04.042469119 +0100
-@@ -126,7 +126,7 @@
+--- Mesa-10.1.0.orig/src/gallium/include/pipe/p_config.h 2014-02-27 02:56:39.000000000 +0100
++++ Mesa-10.1.0/src/gallium/include/pipe/p_config.h 2014-03-14 21:36:14.000000000 +0100
+@@ -130,7 +130,7 @@
* Endian detection.
*/
diff --git a/package/MesaLib/patches/patch-src_mesa_main_querymatrix_c b/package/MesaLib/patches/patch-src_mesa_main_querymatrix_c
index 4ca3a2708..db87901d3 100644
--- a/package/MesaLib/patches/patch-src_mesa_main_querymatrix_c
+++ b/package/MesaLib/patches/patch-src_mesa_main_querymatrix_c
@@ -1,6 +1,6 @@
---- Mesa-9.2.2.orig/src/mesa/main/querymatrix.c 2013-04-08 20:21:04.000000000 +0200
-+++ Mesa-9.2.2/src/mesa/main/querymatrix.c 2013-10-24 17:06:31.000000000 +0200
-@@ -74,7 +74,7 @@ fpclassify(double x)
+--- Mesa-10.1.0.orig/src/mesa/main/querymatrix.c 2014-02-27 02:56:40.000000000 +0100
++++ Mesa-10.1.0/src/mesa/main/querymatrix.c 2014-03-14 21:36:14.000000000 +0100
+@@ -76,7 +76,7 @@ fpclassify(double x)
#elif defined(__APPLE__) || defined(__CYGWIN__) || defined(__FreeBSD__) || \
defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || \
(defined(__sun) && defined(__C99FEATURES__)) || defined(__MINGW32__) || \
diff --git a/package/adk-helper/Makefile b/package/adk-helper/Makefile
new file mode 100644
index 000000000..d386bd508
--- /dev/null
+++ b/package/adk-helper/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= adk-helper
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 1
+PKG_DESCR:= adk helper utilities
+PKG_SECTION:= misc
+
+PKG_CFLINE_ADK_HELPER:= depends on ADK_HOST_ONLY
+
+NO_DISTFILES:= 1
+
+include ${TOPDIR}/mk/host.mk
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call HOST_template,ADK_HELPER,adk-helper,${PKG_VERSION}-${PKG_RELEASE}))
+
+HOST_STYLE:= manual
+
+host-build:
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o ${WRKBUILD}/mkcrypt ${WRKBUILD}/mkcrypt.c
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o ${WRKBUILD}/dkgetsz ${WRKBUILD}/dkgetsz.c
+
+adk-helper-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/mkcrypt ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/dkgetsz ${STAGING_HOST_DIR}/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/tools/adk/dkgetsz.c b/package/adk-helper/src/dkgetsz.c
index b8315be70..b8315be70 100644
--- a/tools/adk/dkgetsz.c
+++ b/package/adk-helper/src/dkgetsz.c
diff --git a/tools/mkcrypt/mkcrypt.c b/package/adk-helper/src/mkcrypt.c
index a856759df..a856759df 100644
--- a/tools/mkcrypt/mkcrypt.c
+++ b/package/adk-helper/src/mkcrypt.c
diff --git a/package/adk-test-tools/Makefile b/package/adk-test-tools/Makefile
index bc2624fe9..72327170a 100644
--- a/package/adk-test-tools/Makefile
+++ b/package/adk-test-tools/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= adk-test-tools
PKG_VERSION:= 0.1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 5
PKG_DESCR:= helper tools and scripts for adk-test-framework
PKG_SECTION:= misc
PKG_URL:= http://openadk.org/
diff --git a/package/adk-test-tools/files/test.init b/package/adk-test-tools/files/test.init
index 81095fa39..e33bece47 100755
--- a/package/adk-test-tools/files/test.init
+++ b/package/adk-test-tools/files/test.init
@@ -3,9 +3,14 @@
#INIT 90
[[ $1 = autostart ]] || exit 0
echo "Starting test script ..."
+grep shell /proc/cmdline > /dev/null 2&>1
+if [ $? -eq 0 ];then
+ exit 0
+fi
if [ -x /run.sh ];then
- exec /run.sh
+ /run.sh
+ quit
else
echo "no run.sh found"
+ quit
fi
-quit
diff --git a/package/aiccu/Makefile b/package/aiccu/Makefile
index d009394f7..407c3a65c 100644
--- a/package/aiccu/Makefile
+++ b/package/aiccu/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= aiccu
PKG_VERSION:= 20070115
-PKG_RELEASE:= 10
+PKG_RELEASE:= 11
PKG_MD5SUM:= c9bcc83644ed788e22a7c3f3d4021350
PKG_DESCR:= SixXS Automatic IPv6 Connectivity Client Utility
PKG_SECTION:= ipv6
@@ -13,6 +13,8 @@ PKG_DEPENDS:= kmod-ipv6 kmod-tun libpthread
PKG_URL:= http://www.sixxs.net/
PKG_SITES:= http://www.sixxs.net/archive/sixxs/aiccu/unix/
+PKG_LIBC_DEPENDS:= uclibc glibc
+
DISTFILES:= $(PKG_NAME)_$(PKG_VERSION).tar.gz
WRKDIST= ${WRKDIR}/$(PKG_NAME)
diff --git a/package/aiccu/patches/patch-common_common_h b/package/aiccu/patches/patch-common_common_h
new file mode 100644
index 000000000..42cd7b5a2
--- /dev/null
+++ b/package/aiccu/patches/patch-common_common_h
@@ -0,0 +1,12 @@
+--- aiccu.orig/common/common.h 2007-01-11 15:50:51.000000000 +0100
++++ aiccu/common/common.h 2014-03-16 21:47:28.000000000 +0100
+@@ -91,7 +91,9 @@
+ #include <sys/select.h>
+
+ #include <net/if.h>
++#ifdef __GLIBC__
+ #include <netinet/if_ether.h>
++#endif
+ #ifdef linux
+ #include <netpacket/packet.h>
+ #include <linux/if_tun.h>
diff --git a/package/aiccu/src/common/dn_skipname.c b/package/aiccu/src/common/dn_skipname.c
index f2219f335..3b4a756b9 100644
--- a/package/aiccu/src/common/dn_skipname.c
+++ b/package/aiccu/src/common/dn_skipname.c
@@ -9,10 +9,10 @@
* return:
* 0 on success, -1 (with errno set) on failure.
*/
-int ns_name_skip(const u_char **ptrptr, const u_char *eom)
+int ns_name_skip(const unsigned char **ptrptr, const unsigned char *eom)
{
- const u_char *cp;
- u_int n;
+ const unsigned char *cp;
+ unsigned int n;
cp = *ptrptr;
while (cp < eom && (n = *cp++) != 0)
@@ -40,9 +40,9 @@ int ns_name_skip(const u_char **ptrptr, const u_char *eom)
return (0);
}
-int dn_skipname(const u_char *ptr, const u_char *eom)
+int dn_skipname(const unsigned char *ptr, const unsigned char *eom)
{
- const u_char *saveptr = ptr;
+ const unsigned char *saveptr = ptr;
if(ns_name_skip(&ptr, eom) == -1)
return (-1);
diff --git a/package/arpd/Makefile b/package/arpd/Makefile
index 32730f11d..c1294c368 100644
--- a/package/arpd/Makefile
+++ b/package/arpd/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= arpd
PKG_VERSION:= 0.2
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= e2911fa9de1b92ef50deda1489ae944d
PKG_DESCR:= Generates ARP responses for IP address ranges
PKG_SECTION:= route
diff --git a/package/arpd/patches/patch-arpd_c b/package/arpd/patches/patch-arpd_c
index 857396d76..84dd457aa 100644
--- a/package/arpd/patches/patch-arpd_c
+++ b/package/arpd/patches/patch-arpd_c
@@ -1,5 +1,5 @@
--- arpd.orig/arpd.c 2003-02-09 05:20:40.000000000 +0100
-+++ arpd/arpd.c 2007-01-21 00:39:05.000000000 +0100
++++ arpd/arpd.c 2014-03-16 08:11:53.000000000 +0100
@@ -70,7 +70,7 @@ static int arpd_sig;
static void
usage(void)
@@ -74,10 +74,21 @@
addr_ntoa(&req->pa), addr_ntoa(&src.arp_ha));
/* This address is claimed */
-@@ -465,14 +469,14 @@ main(int argc, char *argv[])
+@@ -445,9 +449,6 @@ arpd_recv(int fd, short type, void *ev)
+ void
+ terminate_handler(int sig)
+ {
+- extern int event_gotsig;
+-
+- event_gotsig = 1;
+ arpd_sig = sig;
+ }
+
+@@ -464,15 +465,14 @@ int
+ main(int argc, char *argv[])
{
struct event recv_ev;
- extern int (*event_sigcb)(void);
+- extern int (*event_sigcb)(void);
- char *dev;
+ char *dev, *and_pcap_exp;
int c, debug;
@@ -91,7 +102,7 @@
switch (c) {
case 'd':
debug = 1;
-@@ -480,6 +484,9 @@ main(int argc, char *argv[])
+@@ -480,6 +480,9 @@ main(int argc, char *argv[])
case 'i':
dev = optarg;
break;
@@ -101,7 +112,7 @@
default:
usage();
break;
-@@ -489,9 +496,9 @@ main(int argc, char *argv[])
+@@ -489,9 +492,9 @@ main(int argc, char *argv[])
argv += optind;
if (argc == 0)
@@ -113,3 +124,11 @@
if ((fp = fopen(PIDFILE, "w")) == NULL)
err(1, "fopen");
+@@ -524,7 +527,6 @@ main(int argc, char *argv[])
+ perror("signal");
+ return (-1);
+ }
+- event_sigcb = arpd_signal;
+
+ event_dispatch();
+
diff --git a/package/asterisk/Makefile b/package/asterisk/Makefile
index 051ad3ea3..e43b4d275 100644
--- a/package/asterisk/Makefile
+++ b/package/asterisk/Makefile
@@ -105,7 +105,7 @@ TARGET_LDFLAGS+= -lm -ltinfo -ldl -lpthread
MAKE_ENV= ASTCFLAGS="${TARGET_CPPFLAGS} -DHAVE_STRTOQ" \
ASTLDFLAGS="${TARGET_LDFLAGS}"
MAKE_FLAGS+= DESTDIR="$(WRKINST)" \
- OPTIMIZE="${TARGET_OPTIMIZATION}" \
+ OPTIMIZE="${TARGET_CFLAGS}" \
NOISY_BUILD=1
ALL_TARGET:= all install samples
diff --git a/package/atftp/Makefile b/package/atftp/Makefile
index 598f58a06..7d5eefa66 100644
--- a/package/atftp/Makefile
+++ b/package/atftp/Makefile
@@ -14,6 +14,8 @@ PKG_BUILDDEP:= readline ncurses
PKG_URL:= http://freshmeat.net/projects/atftp/
PKG_SITES:= ftp://ftp.mamalinux.com/pub/atftp/
+PKG_LIBC_DEPENDS:= uclibc glibc
+
PKG_SUBPKGS:= ATFTP ATFTPD
PKGSD_ATFTPD:= TFTP server
PKGSS_ATFTPD:= libreadline libncurses
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 81fb1f6df..2d3525b58 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -6,10 +6,9 @@ include $(TOPDIR)/mk/rootfs.mk
PKG_NAME:= base-files
PKG_VERSION:= 1.0
-PKG_RELEASE:= 70
+PKG_RELEASE:= 81
PKG_SECTION:= base
PKG_DESCR:= basic files and scripts
-PKG_BUILDDEP:= pkgconf-host file-host
WRKDIST= ${WRKDIR}/base-files
NO_DISTFILES:= 1
@@ -27,11 +26,19 @@ do-install:
ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y)
@echo "#" > $(IDIR_BASE_FILES)/etc/network/interfaces
endif
+ifeq (${ADK_TARGET_PACKAGE_IPKG},y)
$(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ifneq ($(ADK_TARGET_ABI),)
+ $(SED) 's,@ABI@,_$(ADK_TARGET_ABI),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+else
+ $(SED) 's,@ABI@,,g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+endif
$(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
+endif
echo /bin/sh >${IDIR_BASE_FILES}/etc/shells
echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells
ifneq (${ADK_PACKAGE_ASH},)
@@ -43,47 +50,24 @@ endif
ifneq (${ADK_PACKAGE_ZSH},)
echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells
endif
- mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
mkdir -p $(IDIR_BASE_FILES)/etc/crontabs
mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt}
mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d}
mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin}
- chmod 755 $(IDIR_BASE_FILES)/lib/mdev/init
chmod 600 $(IDIR_BASE_FILES)/etc/shadow
chmod 600 $(IDIR_BASE_FILES)/etc/network/interfaces
+ (cd $(IDIR_BASE_FILES)/etc; ln -sf ../tmp/resolv.conf .)
chmod 1777 ${IDIR_BASE_FILES}/tmp
ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
rm -rf $(IDIR_BASE_FILES)/var
ln -sf tmp $(IDIR_BASE_FILES)/var
- test -z $(ADK_RUNTIME_CONSOLE_VGA) || \
+ test -z $(ADK_RUNTIME_SHELL) || \
+ cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab
+ test -z $(ADK_RUNTIME_GETTY_VGA) || \
cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_SERIAL) || \
- cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
+ test -z $(ADK_RUNTIME_GETTY_SERIAL) || \
cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
- cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
-ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB),y)
- $(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9),y)
- $(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_ARANYM_M68K),y)
- $(SED) 's#ttyS#nfcon#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC64),y)
- $(SED) 's#ttyS#hvc#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH4),y)
- $(SED) 's#ttyS0#ttySC1#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH4EB),y)
- $(SED) 's#ttyS0#ttySC1#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800),y)
- $(SED) 's#ttyS#ttyUL#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
+ $(SED) 's#@DEVICE@#$(ADK_RUNTIME_CONSOLE_SERIAL_DEVICE)#g' $(IDIR_BASE_FILES)/etc/inittab
$(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
test -z $(ADK_RUNTIME_HOSTNAME) || \
echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \
@@ -93,7 +77,8 @@ endif
test -z $(ADK_RUNTIME_PASSWORD) || \
$(SED) 's,\*NP\*,'"$$($(STAGING_HOST_DIR)/usr/bin/mkcrypt \
${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
- git log -1|head -1|sed -e 's#commit ##' \
+ test -z $(GIT) || \
+ $(GIT) log -1|head -1|sed -e 's#commit ##' \
> $(IDIR_BASE_FILES)/etc/adkversion
test -z $(ADK_TARGET_SYSTEM) || \
echo $(ADK_TARGET_SYSTEM) > $(IDIR_BASE_FILES)/etc/adktarget
@@ -102,23 +87,20 @@ ifneq (${ADK_PACKAGE_CONFIG_IN_ETC},)
gzip -9c ${TOPDIR}/.config >$(IDIR_BASE_FILES)/etc/adkconfig.gz
chmod 600 $(IDIR_BASE_FILES)/etc/adkconfig.gz
endif
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
- echo 'export LD_LIBRARY_PATH=/opt/vc/lib' >> $(IDIR_BASE_FILES)/etc/profile
-ifneq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI)$(ADK_TARGET_SYSTEM_IBM_X40)$(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),)
+ifeq ($(ADK_TARGET_WITH_ROOT_RW),y)
echo 'export IPKGTMPDIR=/root/.ipkg' >> $(IDIR_BASE_FILES)/etc/profile
else
- echo 'export IPKGTMPDIR=/tmp >> $(IDIR_BASE_FILES)/etc/profile
+ echo 'export IPKGTMPDIR=/tmp' >> $(IDIR_BASE_FILES)/etc/profile
endif
-
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
+ echo 'export LD_LIBRARY_PATH=/opt/vc/lib' >> $(IDIR_BASE_FILES)/etc/profile
endif
# simple network configuration
ifneq (${ADK_SIMPLE_NETWORK_CONFIG},)
${INSTALL_DIR} ${IDIR_BASE_FILES}/etc/network
-
# network config local
echo -e "auto lo\niface lo inet loopback" > ${IDIR_BASE_FILES}/etc/network/interfaces
-
# network config eth0
# configure nic with dhcp
ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC},y)
@@ -145,12 +127,10 @@ ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP},y)
echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
-
# network config wlan0
ifeq (${SIMPLE_NETWORK_CONFIG_WLAN0_TYPE_NIC},y)
echo -e "\nauto wlan0\niface wlan0 inet dhcp" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
-
# network config eth1
# configure nic with dhcp
ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC},y)
@@ -177,13 +157,11 @@ ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE_IP},y)
echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
-
# newline at the end of interfaces file
echo -en "\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
-
# resolver config
+ rm ${IDIR_BASE_FILES}/etc/resolv.conf
echo -e "nameserver ${SIMPLE_NETWORK_CONFIG_RESOLV}" > ${IDIR_BASE_FILES}/etc/resolv.conf
endif
-
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/base-files/files/inittab.serial b/package/base-files/files/inittab.serial
index 5de880f2a..dcb09e438 100644
--- a/package/base-files/files/inittab.serial
+++ b/package/base-files/files/inittab.serial
@@ -1 +1 @@
-ttyS0::respawn:/sbin/getty -i -L ttyS0 @SPEED@ vt100
+@DEVICE@::respawn:/sbin/getty -i -L @DEVICE@ @SPEED@ vt100
diff --git a/package/base-files/files/inittab.shell b/package/base-files/files/inittab.shell
new file mode 100644
index 000000000..d12593ca1
--- /dev/null
+++ b/package/base-files/files/inittab.shell
@@ -0,0 +1 @@
+::askfirst:-/bin/sh
diff --git a/package/base-files/src/etc/fstab b/package/base-files/src/etc/fstab
index 5c09c2510..d5f900202 100644
--- a/package/base-files/src/etc/fstab
+++ b/package/base-files/src/etc/fstab
@@ -6,3 +6,5 @@ devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs mode=1777 0 0
sysfs /sys sysfs defaults 0 0
+# example for cifs
+#//192.168.1.1/music /music/test cifs ro,password=linux123,username=adk,iocharset=utf8,sec=ntlm 0 0
diff --git a/package/base-files/src/etc/init.d/boot b/package/base-files/src/etc/init.d/boot
index fc2f79ac2..291bf6ab4 100644
--- a/package/base-files/src/etc/init.d/boot
+++ b/package/base-files/src/etc/init.d/boot
@@ -15,6 +15,7 @@ mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp
# start mdev dynamic device node management
echo >/dev/mdev.seq
echo "/sbin/mdev" >/proc/sys/kernel/hotplug
+# creates f.e. /dev/root
mdev -s
# seed some random
@@ -26,9 +27,9 @@ cat /etc/.rnd >/dev/urandom 2>&1
# create some useful directories in tmpfs
mkdir -p /var/log
mkdir -p /var/run
+mkdir -p /var/tmp
touch /var/log/lastlog
touch /var/log/wtmp
-ln -s /tmp /var/tmp
HOSTNAME=
[[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname)
diff --git a/package/base-files/src/etc/init.d/fs b/package/base-files/src/etc/init.d/fs
index 75ae760e0..8f4397897 100644
--- a/package/base-files/src/etc/init.d/fs
+++ b/package/base-files/src/etc/init.d/fs
@@ -1,20 +1,53 @@
#!/bin/sh
-#INIT 60
+#INIT 20
[[ $1 = autostart ]] || exit 0
-# mount net filesystems (nfs/cifs)
-grep nfs /proc/filesystems >/dev/null 2>&1
+# activate swap
+[ -x /sbin/swapon ] && { swapon -a; }
+
+# activate any logical volumes
+[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay; }
+
+# filesystem checks
+[ -x /sbin/fsck.ext2 ] && {
+ for i in $(grep -v "^#" /etc/fstab|grep ext2|awk '{ print $1}');do fsck.ext2 $i;done;
+}
+[ -x /sbin/fsck.ext3 ] && {
+ for i in $(grep -v "^#" /etc/fstab|grep ext3|awk '{ print $1}');do fsck.ext3 $i;done;
+}
+[ -x /sbin/fsck.ext4 ] && {
+ for i in $(grep -v "^#" /etc/fstab|grep ext4|awk '{ print $1}');do fsck.ext4 $i;done;
+}
+[ -x /sbin/fsck.xfs ] && {
+ for i in $(grep -v "^#" /etc/fstab|grep xfs|awk '{ print $1}');do xfs_repair $i;done;
+}
+# local filesystems
+grep ext2 /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep -v "^#" /etc/fstab |grep ext2 >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t ext2
+ fi
+fi
+grep ext3 /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep -v "^#" /etc/fstab |grep ext3 >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t ext3
+ fi
+fi
+grep ext4 /proc/filesystems >/dev/null 2>&1
if [ $? -eq 0 ];then
- grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1
+ grep -v "^#" /etc/fstab |grep ext4 >/dev/null 2>&1
if [ $? -eq 0 ];then
- mount -a -t nfs
+ mount -a -t ext4
fi
fi
-grep cifs /proc/filesystems >/dev/null 2>&1
+grep xfs /proc/filesystems >/dev/null 2>&1
if [ $? -eq 0 ];then
- grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1
+ grep -v "^#" /etc/fstab |grep xfs >/dev/null 2>&1
if [ $? -eq 0 ];then
- mount -a -t cifs
+ mount -a -t xfs
fi
fi
exit 0
diff --git a/package/base-files/src/etc/init.d/fsnet b/package/base-files/src/etc/init.d/fsnet
index 8f4397897..75ae760e0 100644
--- a/package/base-files/src/etc/init.d/fsnet
+++ b/package/base-files/src/etc/init.d/fsnet
@@ -1,53 +1,20 @@
#!/bin/sh
-#INIT 20
+#INIT 60
[[ $1 = autostart ]] || exit 0
-# activate swap
-[ -x /sbin/swapon ] && { swapon -a; }
-
-# activate any logical volumes
-[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay; }
-
-# filesystem checks
-[ -x /sbin/fsck.ext2 ] && {
- for i in $(grep -v "^#" /etc/fstab|grep ext2|awk '{ print $1}');do fsck.ext2 $i;done;
-}
-[ -x /sbin/fsck.ext3 ] && {
- for i in $(grep -v "^#" /etc/fstab|grep ext3|awk '{ print $1}');do fsck.ext3 $i;done;
-}
-[ -x /sbin/fsck.ext4 ] && {
- for i in $(grep -v "^#" /etc/fstab|grep ext4|awk '{ print $1}');do fsck.ext4 $i;done;
-}
-[ -x /sbin/fsck.xfs ] && {
- for i in $(grep -v "^#" /etc/fstab|grep xfs|awk '{ print $1}');do xfs_repair $i;done;
-}
-# local filesystems
-grep ext2 /proc/filesystems >/dev/null 2>&1
-if [ $? -eq 0 ];then
- grep -v "^#" /etc/fstab |grep ext2 >/dev/null 2>&1
- if [ $? -eq 0 ];then
- mount -a -t ext2
- fi
-fi
-grep ext3 /proc/filesystems >/dev/null 2>&1
-if [ $? -eq 0 ];then
- grep -v "^#" /etc/fstab |grep ext3 >/dev/null 2>&1
- if [ $? -eq 0 ];then
- mount -a -t ext3
- fi
-fi
-grep ext4 /proc/filesystems >/dev/null 2>&1
+# mount net filesystems (nfs/cifs)
+grep nfs /proc/filesystems >/dev/null 2>&1
if [ $? -eq 0 ];then
- grep -v "^#" /etc/fstab |grep ext4 >/dev/null 2>&1
+ grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1
if [ $? -eq 0 ];then
- mount -a -t ext4
+ mount -a -t nfs
fi
fi
-grep xfs /proc/filesystems >/dev/null 2>&1
+grep cifs /proc/filesystems >/dev/null 2>&1
if [ $? -eq 0 ];then
- grep -v "^#" /etc/fstab |grep xfs >/dev/null 2>&1
+ grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1
if [ $? -eq 0 ];then
- mount -a -t xfs
+ mount -a -t cifs
fi
fi
exit 0
diff --git a/package/base-files/src/etc/init.d/rcK b/package/base-files/src/etc/init.d/rcK
index 9d0e06440..938882ae5 100755
--- a/package/base-files/src/etc/init.d/rcK
+++ b/package/base-files/src/etc/init.d/rcK
@@ -4,15 +4,6 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin
grep '^#INIT ' /etc/init.d/* | \
sort -rnk2 | \
while read line; do
- shebang=$(sed -n '1s/^#![ ]*//p' ${line%%:*})
- case $shebang in
- *[\ \ ]*) shebang=\'$(echo X"$shebang" | sed \
- -e 's/^X//' -e "s/'/'\\\\''/g" \
- -e 's/^\([^ ][^ ]*\)[ ]*$/\1/' \
- -e 's/^\([^ ][^ ]*\)[ ][ ]*\(..*\)$/\1 \2/' \
- -e 's/^\([^ ][^ ]*\) /\1'\'' '\''/')\' ;;
- esac
- ${shebang:-/bin/sh} ${line%%:*} autostop 2>&1
+ sh ${line%%:*} autostop
done
- test -e /etc/rc.shutdown && (/bin/sh /etc/rc.shutdown) 2>&1
} | logger -s -p 6 -t ''
diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS
index 9daa8f5cd..e27bc9eb5 100755
--- a/package/base-files/src/etc/init.d/rcS
+++ b/package/base-files/src/etc/init.d/rcS
@@ -3,13 +3,13 @@
if [ -f /proc/sys/kernel/printk ];then
echo 0 > /proc/sys/kernel/printk
fi
+ln -s /proc/self/fd/2 /dev/stderr
echo "System initialization ..."
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-ln -s /proc/self/fd/2 /dev/stderr
{
grep '^#INIT ' /etc/init.d/* | \
sort -nk2 | \
while read line; do
sh ${line%%:*} autostart
done
-} | tee /dev/stderr |logger -p 6 -t ''
+} |tee /dev/stderr |logger -p 6 -t ''
diff --git a/package/base-files/src/etc/inittab b/package/base-files/src/etc/inittab
index f6183798e..e2ad18156 100644
--- a/package/base-files/src/etc/inittab
+++ b/package/base-files/src/etc/inittab
@@ -6,5 +6,5 @@ null::sysinit:/bin/mount -a -t devpts
null::sysinit:/bin/mount -a -t tmpfs
::sysinit:/etc/init.d/rcS
::shutdown:/etc/init.d/rcK
-null::shutdown:/bin/umount -a -r
+null::shutdown:/bin/umount -a -t ext4
null::shutdown:/sbin/swapoff -a
diff --git a/package/base-files/src/etc/ipkg.conf b/package/base-files/src/etc/ipkg.conf
index cef6d2845..9c5ae17d3 100644
--- a/package/base-files/src/etc/ipkg.conf
+++ b/package/base-files/src/etc/ipkg.conf
@@ -1,3 +1,3 @@
-src @VENDOR@ http://@HOST@/@SYSTEM@_@ARCH@_@LIBC@/packages
+src @VENDOR@ http://@HOST@/pkg/@SYSTEM@_@ARCH@_@LIBC@@ABI@/packages
dest root /
dest ram /tmp
diff --git a/package/base-files/src/etc/mdev.conf b/package/base-files/src/etc/mdev.conf
index fc63d80d9..0a24ef04b 100644
--- a/package/base-files/src/etc/mdev.conf
+++ b/package/base-files/src/etc/mdev.conf
@@ -15,4 +15,3 @@ snd/controlC0 root:audio 660
snd/pcmC0D0c root:audio 660
snd/pcmC0D0p root:audio 660
msr0 root:root 660 @(mkdir -p /dev/cpu/0 && ln -sf /dev/msr0 /dev/cpu/0/msr)
-.* 0:0 644 @/lib/mdev/init
diff --git a/package/base-files/src/etc/profile b/package/base-files/src/etc/profile
index ce425b54c..eb3015d46 100644
--- a/package/base-files/src/etc/profile
+++ b/package/base-files/src/etc/profile
@@ -12,3 +12,5 @@ cat /etc/banner 2>&-
alias l='ls -lF'
alias la='ls -A'
alias ll='ls -alF'
+alias ro='mount -o remount,ro /'
+alias rw='mount -o remount,rw /'
diff --git a/package/base-files/src/etc/rc.shutdown b/package/base-files/src/etc/rc.shutdown
deleted file mode 100644
index 5a1a0aa78..000000000
--- a/package/base-files/src/etc/rc.shutdown
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-# add code for shutdown routine
diff --git a/package/base-files/src/init b/package/base-files/src/init
deleted file mode 100755
index a27548217..000000000
--- a/package/base-files/src/init
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-# devtmpfs does not get automounted for initramfs
-/bin/mount -t devtmpfs devtmpfs /dev
-exec 0</dev/console
-exec 1>/dev/console
-exec 2>/dev/console
-exec /sbin/init $*
diff --git a/package/base-files/src/lib/mdev/init b/package/base-files/src/lib/mdev/init
deleted file mode 100644
index a478abecd..000000000
--- a/package/base-files/src/lib/mdev/init
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-if [ "$SUBSYSTEM" == "pcmcia_socket" ];then
- logger "Setting up PCMCIA socket resource database"
- if [ "$ACTION" == "add" ];then
- /usr/sbin/pcmcia-socket-startup
- fi
-fi
-if [ "$SUBSYSTEM" == "usb" ];then
- if [ "$ACTION" == "add" ];then
- if [ "$DEVTYPE" == "usb_device" ];then
- if [ "$PRODUCT" == "12d1/1003/0" ];then
- if [ ! -f /tmp/.huawei ];then
- logger "USB device added with: $PRODUCT"
- usbmods=$(lsmod|grep ^usbserial|awk '{ print $4 }'|sed -e 's/,/ /g')
- for i in $usbmods;do rmmod $i;done
- rmmod usbserial
- lsmod >> /tmp/debug
- test -x /sbin/huawei && /sbin/huawei >> /tmp/debug
- insmod /lib/modules/$(uname -r)/usbserial.ko product=0x1003 vendor=0x12d1
- for i in $usbmods;do insmod /lib/modules/$(uname -r)/$i.ko; done
-
- touch /tmp/.huawei
- fi
- fi
- fi
- fi
-fi
diff --git a/package/base-files/src/usr/share/udhcpc/default.script b/package/base-files/src/usr/share/udhcpc/default.script
index 3744dfb09..55a6655ab 100755
--- a/package/base-files/src/usr/share/udhcpc/default.script
+++ b/package/base-files/src/usr/share/udhcpc/default.script
@@ -23,16 +23,12 @@ case $1 in
ip route add to default via $i
done
fi
-
- touch /tmp/resolv.conf
- ln -sf /tmp/resolv.conf $RESOLV_CONF
echo -n >$RESOLV_CONF
${domain:+echo search $domain} >>$RESOLV_CONF
for i in $dns; do
echo "adding dns $i"
echo "nameserver $i" >>$RESOLV_CONF
done
-
# user rules
[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
;;
diff --git a/package/bash/Makefile b/package/bash/Makefile
index dc5c5b911..801d5920a 100644
--- a/package/bash/Makefile
+++ b/package/bash/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= bash
-PKG_VERSION:= 4.2
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 3fb927c7c33022f1c327f14a81c0d4b0
+PKG_VERSION:= 4.3
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 81348932d5da294953e15d4814c74dd1
PKG_DESCR:= Bourne-Again SHell
PKG_SECTION:= shells
PKG_URL:= http://www.gnu.org/software/bash/
diff --git a/package/bash/patches/patch-Makefile_in b/package/bash/patches/patch-Makefile_in
deleted file mode 100644
index 8e6cfb1ac..000000000
--- a/package/bash/patches/patch-Makefile_in
+++ /dev/null
@@ -1,13 +0,0 @@
---- bash-4.2.orig/Makefile.in 2010-12-01 01:22:42.000000000 +0100
-+++ bash-4.2/Makefile.in 2011-03-09 20:03:07.163370779 +0100
-@@ -710,8 +710,8 @@ pathnames.h: Makefile $(srcdir)/pathnam
- @${RM} pathnames.tmp
-
- # comment out for distribution
--$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
-- cd $(srcdir) && autoconf
-+#$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
-+# cd $(srcdir) && autoconf
-
- # for chet
- reconfig: force
diff --git a/package/bash/patches/patch-builtins_Makefile_in b/package/bash/patches/patch-builtins_Makefile_in
deleted file mode 100644
index 69c175663..000000000
--- a/package/bash/patches/patch-builtins_Makefile_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- bash-4.0.orig/builtins/Makefile.in 2009-01-04 20:32:22.000000000 +0100
-+++ bash-4.0/builtins/Makefile.in 2009-10-21 13:17:04.681674304 +0200
-@@ -56,7 +56,7 @@ LIBBUILD = ${BUILD_DIR}/lib
-
- PROFILE_FLAGS = @PROFILE_FLAGS@
- CFLAGS = @CFLAGS@
--CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ @CROSS_COMPILE@
-+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
- CPPFLAGS = @CPPFLAGS@
- CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
- LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG}
diff --git a/package/bc/Makefile b/package/bc/Makefile
index 2a5c59900..d35659ed8 100644
--- a/package/bc/Makefile
+++ b/package/bc/Makefile
@@ -7,7 +7,7 @@ PKG_NAME:= bc
PKG_VERSION:= 1.06
PKG_RELEASE:= 1
PKG_MD5SUM:= d44b5dddebd8a7a7309aea6c36fda117
-PKG_DESCR:= An arbitrary precision calculator language
+PKG_DESCR:= arbitrary precision calculator language
PKG_SECTION:= utils
PKG_BUILDDEP:= m4-host flex-host
PKG_URL:= http://www.gnu.org/software/bc/
@@ -15,11 +15,15 @@ PKG_SITES:= http://ftp.gnu.org/pub/gnu/bc/
PKG_SUBPKGS:= BC DC
+include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
+$(eval $(call HOST_template,BC,bc,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,BC,bc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,DC,dc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+HOST_STYLE:= auto
+
bc-install:
${INSTALL_DIR} ${IDIR_BC}/usr/bin
${INSTALL_BIN} ${WRKBUILD}/bc/bc ${IDIR_BC}/usr/bin/bc
@@ -28,4 +32,5 @@ dc-install:
${INSTALL_DIR} ${IDIR_DC}/usr/bin
${INSTALL_BIN} ${WRKBUILD}/dc/dc ${IDIR_DC}/usr/bin/dc
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/bcm2835-bootloader/Makefile b/package/bcm2835-bootloader/Makefile
index 8cd28cdd3..b88cd7f08 100644
--- a/package/bcm2835-bootloader/Makefile
+++ b/package/bcm2835-bootloader/Makefile
@@ -4,11 +4,11 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= bcm2835-bootloader
-# actually f46e6d9cb9a6bf419fe2a428a8a586239e93aa2d from 07.01.2014
+# actually 9953ce0847c04b587b694c79c5b5a4ac63f5c369 from 25.03.2014
# https://github.com/raspberrypi/firmware
-PKG_VERSION:= 0.6
+PKG_VERSION:= 0.7
PKG_RELEASE:= 1
-PKG_MD5SUM:= dba84ce20fc8a8c1bf473758d9350e19
+PKG_MD5SUM:= 7ad7e5d3ad311d88d1e82fc729042d87
PKG_DESCR:= bootloader for raspberry pi (bcm2835)
PKG_SECTION:= boot
PKG_SITES:= http://openadk.org/distfiles/
diff --git a/package/bcm2835-vc/Makefile b/package/bcm2835-vc/Makefile
index e6405bf38..12655228c 100644
--- a/package/bcm2835-vc/Makefile
+++ b/package/bcm2835-vc/Makefile
@@ -4,11 +4,12 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= bcm2835-vc
-# actually f65a4eef05ee436976f9be219d3db841d3d6b8ec from 05.10.2013
-PKG_VERSION:= 0.3
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 027d42d1ba803fabdc6bc4ec78d52e67
-PKG_DESCR:= vc tools for raspberry pi (bcm2835)
+# actually a8fbe2cd6a3d4455344295809f2e663373ad25cb from 25.03.2014
+# https://github.com/raspberrypi/userland
+PKG_VERSION:= 0.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 091ae422e05a59ffc2b8908256047b7d
+PKG_DESCR:= vc tools and libraries for raspberry pi
PKG_SECTION:= base
PKG_DEPENDS:= libpthread
PKG_BUILDDEP:= cmake-host
diff --git a/package/binutils/Makefile b/package/binutils/Makefile
index c23bac585..1a6014607 100644
--- a/package/binutils/Makefile
+++ b/package/binutils/Makefile
@@ -25,10 +25,10 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,BINUTILS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBBFD,libbfd,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LIBBFD},${PKGSC_LIBBFD},${PKG_OPTS}))
-ifeq ($(ADK_TARGET_WITH_MULTILIB),y)
-CONFIGURE_ARGS+= --enable-multilib
-else
+ifeq ($(ADK_LINUX_SH)$(ADK_LINUX_X86_64),)
CONFIGURE_ARGS+= --disable-multilib
+else
+CONFIGURE_ARGS+= --enable-multilib
endif
TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
@@ -39,8 +39,8 @@ CONFIGURE_ARGS+= --disable-werror \
# disable honour cflags stuff
XAKE_FLAGS+= GCC_HONOUR_COPTS=s
-post-build:
- $(CP) ${WRKBUILD}/libiberty/libiberty.a $(STAGING_TARGET_DIR)/usr/lib
+pre-build:
+ @-rm $(STAGING_TARGET_DIR)/usr/lib/libiberty.a
libbfd-install:
${INSTALL_DIR} ${IDIR_LIBBFD}/usr/lib
diff --git a/package/bison/Makefile b/package/bison/Makefile
index ee268b641..bae66f25b 100644
--- a/package/bison/Makefile
+++ b/package/bison/Makefile
@@ -4,17 +4,16 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= bison
-PKG_VERSION:= 3.0.1
+PKG_VERSION:= 3.0.2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 032a7b7b9f1a6e278ccde73f82cec5c2
-PKG_DESCR:= GNU parser generator
+PKG_MD5SUM:= 72c66879187c128d04f4ab7422e8072d
+PKG_DESCR:= parser generator
PKG_SECTION:= lang
PKG_BUILDDEP:= m4-host flex-host bison-host
+HOST_BUILDDEP:= m4-host flex-host
PKG_URL:= http://www.gnu.org/software/bison/
PKG_SITES:= ${MASTER_SITE_GNU:=${PKG_NAME}/}
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
-
include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
diff --git a/package/boost/Makefile b/package/boost/Makefile
index a2a92df00..ab7b73097 100644
--- a/package/boost/Makefile
+++ b/package/boost/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= boost
PKG_VERSION:= 1.55.0
-PKG_RELEASE:= 4
+PKG_RELEASE:= 5
PKG_MD5SUM:= 93780777cfbf999a600f62883bd54b17
PKG_DESCR:= boost C++ library
PKG_SECTION:= libs
@@ -105,7 +105,7 @@ BOOST_ARCH:= $(ARCH)
endif
# some variables for build
-GPP_PATH:= ${STAGING_HOST_DIR}/bin/${GNU_TARGET_NAME}-g++
+GPP_PATH:= ${TOOLCHAIN_DIR}/usr/bin/${GNU_TARGET_NAME}-g++
GPP_VERSION:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`"
BJAM_PATH:= "`find ${WRKBUILD} -type f -name "bjam$(EXEEXT)"`"
PYTHON_PATH:= ${STAGING_HOST_DIR}/usr/bin/python
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index c1923708e..fce16fa32 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -9,6 +9,7 @@ PKG_RELEASE:= 5
PKG_MD5SUM:= 795394f83903b5eec6567d51eebb417e
PKG_DESCR:= core utilities for embedded systems
PKG_SECTION:= base
+PKG_BUILDDEP:= bzip2-host
PKG_URL:= http://www.busybox.net/
PKG_SITES:= http://www.busybox.net/downloads/
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
index 3a5e340ae..40f67caa7 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/Config.in
@@ -454,6 +454,7 @@ menu 'Build Options'
config BUSYBOX_STATIC
bool "Build BusyBox as a static binary (no shared libs)"
+ default y if ADK_STATIC
default n
help
If you want to build a static BusyBox binary, which does not
diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in
index aafc795b1..026146662 100644
--- a/package/busybox/config/util-linux/Config.in
+++ b/package/busybox/config/util-linux/Config.in
@@ -572,7 +572,7 @@ config BUSYBOX_FEATURE_MOUNT_NFS
config BUSYBOX_FEATURE_MOUNT_CIFS
bool "Support mounting CIFS/SMB file systems"
- default y
+ default n
depends on BUSYBOX_MOUNT
help
Enable support for samba mounts.
diff --git a/package/bzip2/Makefile b/package/bzip2/Makefile
index 5585ae0c1..c4b6ebe48 100644
--- a/package/bzip2/Makefile
+++ b/package/bzip2/Makefile
@@ -32,6 +32,7 @@ $(eval $(call PKG_template,BZIP2,bzip2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN
$(eval $(call PKG_template,LIBBZ2,libbz2,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LIBBZ2},${PKGSC_LIBBZ2},${PKG_OPTS}))
HOST_STYLE:= manual
+HOST_MAKE_FILE:= Makefile
MAKE_FILE:= Makefile-libbz2_so
CONFIG_STYLE:= manual
TARGET_CFLAGS+= -fPIC
@@ -39,16 +40,12 @@ XAKE_FLAGS+= PREFIX=${WRKINST}/usr CROSS_COMPILE=1
INSTALL_STYLE:= manual
host-build:
- (cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ (cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${HOST_MAKE_FILE} \
PREFIX=${HOST_WRKINST}/usr ${HOST_ALL_TARGET})
bzip2-hostinstall:
- ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/lib
- ${INSTALL_DIR} $(STAGING_HOST_DIR)/usr/include
- $(CP) ${WRKBUILD}/libbz2.so* \
- ${STAGING_HOST_DIR}/usr/lib
- (cd ${STAGING_HOST_DIR}/usr/lib; ln -sf libbz2.so.1.0.6 libbz2.so)
- $(CP) $(WRKBUILD)/bzlib.h $(STAGING_HOST_DIR)/usr/include
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/bzip2 ${STAGING_HOST_DIR}/usr/bin/bzip2
libbz2-install:
${INSTALL_DIR} ${IDIR_LIBBZ2}/usr/lib
diff --git a/package/ccache/Makefile b/package/ccache/Makefile
new file mode 100644
index 000000000..c61f1c4d9
--- /dev/null
+++ b/package/ccache/Makefile
@@ -0,0 +1,24 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= ccache
+PKG_VERSION:= 3.1.9
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 367916e4ecba4968f77f59a378e61458
+PKG_DESCR:= ccache utility
+PKG_SECTION:= misc
+PKG_SITES:= http://samba.org/ftp/ccache/
+
+PKG_CFLINE_CCACHE:= depends on ADK_HOST_ONLY
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,CCACHE,ccache,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:= auto
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cdrtools/Makefile b/package/cdrtools/Makefile
index 6bf16ab17..612a553bc 100644
--- a/package/cdrtools/Makefile
+++ b/package/cdrtools/Makefile
@@ -8,28 +8,27 @@ PKG_VERSION:= 3.01
PKG_RELEASE:= 1
PKG_MD5SUM:= afd4563e335a614a11e042c7b6734d66
PKG_DESCR:= cdrtools
-PKG_SECTION:= misc
+PKG_SECTION:= fs
PKG_URL:= http://cdrecord.berlios.de/private/cdrecord.html
-PKG_SITES:= http://openadk.org/
+PKG_SITES:= ftp://ftp.berlios.de/pub/cdrecord/
-PKG_CFLINE_CDRTOOLS:= depends on ADK_BROKEN
+PKG_CFLINE_CDRTOOLS:= depends on ADK_HOST_ONLY
+include $(TOPDIR)/mk/host.mk
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,CDRTOOLS,cdrtools,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call HOST_template,CDRTOOLS,cdrtools,$(PKG_VERSION)-${PKG_RELEASE}))
-CONFIG_STYLE:= manual
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
+HOST_STYLE:= manual
-cdrtools-install:
- $(INSTALL_DIR) $(IDIR_CDRTOOLS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/opt/schily/bin/cdrecord \
- $(IDIR_CDRTOOLS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/opt/schily/bin/readcd \
- $(IDIR_CDRTOOLS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/opt/schily/bin/mkisofs \
- $(IDIR_CDRTOOLS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/opt/schily/bin/cdda2wav \
- $(IDIR_CDRTOOLS)/usr/bin
+host-build:
+ (cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+cdrtools-hostinstall:
+ $(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_BIN) $(WRKBUILD)/mkisofs/OBJ/*/mkisofs \
+ $(STAGING_HOST_DIR)/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile
index a79bd73ca..3d1d41410 100644
--- a/package/cfgfs/Makefile
+++ b/package/cfgfs/Makefile
@@ -15,8 +15,8 @@ PKG_CFLINE_CFGFS:= select BUSYBOX_DIFF@
PKG_CFLINE_CFGFS+= select BUSYBOX_MD5SUM@
PKG_CFLINE_CFGFS+= select BUSYBOX_XARGS@
PKG_CFLINE_CFGFS+= select BUSYBOX_FEATURE_SORT_BIG@
-PKG_CFLINE_CFGFS+= depends on !ADK_TARGET_ROOTFS_NFSROOT && !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS && !ADK_TARGET_ROOTFS_JFFS2 && !ADK_TARGET_ROOTFS_SQUASHFS
-PKG_DFLT_CFGFS:= y if !(ADK_TOOLCHAIN_ONLY || ADK_TOOLCHAIN_ARCHIVE)
+PKG_CFLINE_CFGFS+= depends on !ADK_TARGET_ROOTFS_NFSROOT && !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS && !ADK_TARGET_ROOTFS_JFFS2 && !ADK_TARGET_ROOTFS_SQUASHFS && !ADK_TARGET_ROOTFS_ISO
+PKG_DFLT_CFGFS:= y if !(ADK_TOOLCHAIN_ONLY || ADK_TOOLCHAIN_ARCHIVE || ADK_PKG_TEST)
WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
NO_DISTFILES:= 1
diff --git a/package/check/Makefile b/package/check/Makefile
new file mode 100644
index 000000000..3d7c2fb2b
--- /dev/null
+++ b/package/check/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= check
+PKG_VERSION:= 0.9.12
+PKG_RELEASE:= 2
+PKG_MD5SUM:= 46fe540d1a03714c7a1967dbc6d484e7
+PKG_DESCR:= unit testing framework for C
+PKG_SECTION:= libs
+PKG_URL:= http://check.sourceforge.net/
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=check/}
+PKG_LIBNAME:= libcheck
+PKG_OPTS:= dev
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBCHECK,libcheck,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+libcheck-install:
+ $(INSTALL_DIR) $(IDIR_LIBCHECK)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libcheck*.so* \
+ $(IDIR_LIBCHECK)/usr/lib
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cryptodev-linux/Makefile b/package/cryptodev-linux/Makefile
index ecb827b09..64b27a8da 100644
--- a/package/cryptodev-linux/Makefile
+++ b/package/cryptodev-linux/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= cryptodev-linux
PKG_VERSION:= 1.6
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= eade38998313c25fd7934719cdf8a2ea
PKG_DESCR:= cryptodev-linux kernel module
PKG_SECTION:= crypto
@@ -26,7 +26,7 @@ INSTALL_STYLE:= manual
do-build:
${MAKE} -C "${WRKBUILD}"/tests check
${MAKE} -C "${WRKBUILD}" version.h
- GCC_HONOUR_COPTS=0 LDFLAGS="" ${MAKE} ${KERNEL_MAKE_OPTS} \
+ GCC_HONOUR_COPTS=0 LDFLAGS="" ${MAKE} -C ${LINUX_DIR} ${KERNEL_MAKE_OPTS} \
M="${WRKBUILD}" modules
${INSTALL_DIR} ${WRKINST}/usr/include/crypto
${INSTALL_DATA} ${WRKBUILD}/crypto/cryptodev.h \
diff --git a/package/curl/Makefile b/package/curl/Makefile
index f2fb4d573..7a03fcd9e 100644
--- a/package/curl/Makefile
+++ b/package/curl/Makefile
@@ -24,7 +24,7 @@ PKGSS_LIBCURL:= zlib
PKG_FLAVOURS_CURL:= WITH_IPV6
PKGFD_WITH_IPV6:= enable IPv6 support
-PKG_CHOICES_LIBCURL:= WITHOUT_SSL WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_LIBCURL:= WITH_GNUTLS WITH_OPENSSL WITHOUT_SSL
PKGCD_WITHOUT_SSL:= use no SSL
PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
PKGCS_WITH_OPENSSL:= libopenssl ca-certificates libgmp
diff --git a/package/dbus-python/Makefile b/package/dbus-python/Makefile
index 9645f7269..b73d43a6c 100644
--- a/package/dbus-python/Makefile
+++ b/package/dbus-python/Makefile
@@ -14,6 +14,8 @@ PKG_BUILDDEP:= dbus dbus-glib
PKG_URL:= http://dbus.freedesktop.org/doc/dbus-python/
PKG_SITES:= http://dbus.freedesktop.org/releases/dbus-python/
+PKG_CFLINE_DBUS_PYTHON:= depends on ADK_BROKEN
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,DBUS_PYTHON,dbus-python,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/dosfstools/Makefile b/package/dosfstools/Makefile
index 1dd82182a..9292d49f3 100644
--- a/package/dosfstools/Makefile
+++ b/package/dosfstools/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= dosfstools
PKG_VERSION:= 3.0.26
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= 45012f5f56f2aae3afcd62120b9e5a08
PKG_DESCR:= utilities to create and check FAT filesystems
PKG_SECTION:= fs
diff --git a/package/dosfstools/patches/patch-src_boot_c b/package/dosfstools/patches/patch-src_boot_c
new file mode 100644
index 000000000..cd2dd927d
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_boot_c
@@ -0,0 +1,77 @@
+--- dosfstools-3.0.26.orig/src/boot.c 2014-01-17 07:06:54.000000000 +0100
++++ dosfstools-3.0.26/src/boot.c 2014-03-26 13:20:59.000000000 +0100
+@@ -155,7 +155,7 @@ static void check_backup_boot(DOS_FS * f
+ fs->backupboot_start = bbs * lss;
+ b->backup_boot = htole16(bbs);
+ fs_write(fs->backupboot_start, sizeof(*b), b);
+- fs_write((loff_t) offsetof(struct boot_sector, backup_boot),
++ fs_write((off_t) offsetof(struct boot_sector, backup_boot),
+ sizeof(b->backup_boot), &b->backup_boot);
+ printf("Created backup of boot sector in sector %d\n", bbs);
+ return;
+@@ -233,9 +233,9 @@ static void read_fsinfo(DOS_FS * fs, str
+ break;
+ if (s > 0 && s < le16toh(b->reserved)) {
+ init_fsinfo(&i);
+- fs_write((loff_t) s * lss, sizeof(i), &i);
++ fs_write((off_t) s * lss, sizeof(i), &i);
+ b->info_sector = htole16(s);
+- fs_write((loff_t) offsetof(struct boot_sector, info_sector),
++ fs_write((off_t) offsetof(struct boot_sector, info_sector),
+ sizeof(b->info_sector), &b->info_sector);
+ if (fs->backupboot_start)
+ fs_write(fs->backupboot_start +
+@@ -327,7 +327,7 @@ void read_boot(DOS_FS * fs)
+ unsigned total_sectors;
+ unsigned short logical_sector_size, sectors;
+ unsigned fat_length;
+- loff_t data_size;
++ off_t data_size;
+
+ fs_read(0, sizeof(b), &b);
+ logical_sector_size = GET_UNALIGNED_W(b.sector_size);
+@@ -352,18 +352,18 @@ void read_boot(DOS_FS * fs)
+ if (verbose)
+ printf("Checking we can access the last sector of the filesystem\n");
+ /* Can't access last odd sector anyway, so round down */
+- fs_test((loff_t) ((total_sectors & ~1) - 1) * (loff_t) logical_sector_size,
++ fs_test((off_t) ((total_sectors & ~1) - 1) * (off_t) logical_sector_size,
+ logical_sector_size);
+ fat_length = le16toh(b.fat_length) ?
+ le16toh(b.fat_length) : le32toh(b.fat32_length);
+- fs->fat_start = (loff_t) le16toh(b.reserved) * logical_sector_size;
+- fs->root_start = ((loff_t) le16toh(b.reserved) + b.fats * fat_length) *
++ fs->fat_start = (off_t) le16toh(b.reserved) * logical_sector_size;
++ fs->root_start = ((off_t) le16toh(b.reserved) + b.fats * fat_length) *
+ logical_sector_size;
+ fs->root_entries = GET_UNALIGNED_W(b.dir_entries);
+ fs->data_start = fs->root_start + ROUND_TO_MULTIPLE(fs->root_entries <<
+ MSDOS_DIR_BITS,
+ logical_sector_size);
+- data_size = (loff_t) total_sectors *logical_sector_size - fs->data_start;
++ data_size = (off_t) total_sectors *logical_sector_size - fs->data_start;
+ fs->clusters = data_size / fs->cluster_size;
+ fs->root_cluster = 0; /* indicates standard, pre-FAT32 root dir */
+ fs->fsinfo_start = 0; /* no FSINFO structure */
+@@ -491,10 +491,10 @@ static void write_boot_label(DOS_FS * fs
+ }
+ }
+
+-loff_t find_volume_de(DOS_FS * fs, DIR_ENT * de)
++off_t find_volume_de(DOS_FS * fs, DIR_ENT * de)
+ {
+ uint32_t cluster;
+- loff_t offset;
++ off_t offset;
+ int i;
+
+ if (fs->root_cluster) {
+@@ -525,7 +525,7 @@ static void write_volume_label(DOS_FS *
+ {
+ time_t now = time(NULL);
+ struct tm *mtime = localtime(&now);
+- loff_t offset;
++ off_t offset;
+ int created;
+ DIR_ENT de;
+
diff --git a/package/dosfstools/patches/patch-src_boot_h b/package/dosfstools/patches/patch-src_boot_h
new file mode 100644
index 000000000..6ed917b8a
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_boot_h
@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/boot.h 2014-01-17 07:06:55.000000000 +0100
++++ dosfstools-3.0.26/src/boot.h 2014-03-26 13:29:53.000000000 +0100
+@@ -25,7 +25,7 @@
+
+ void read_boot(DOS_FS * fs);
+ void write_label(DOS_FS * fs, char *label);
+-loff_t find_volume_de(DOS_FS * fs, DIR_ENT * de);
++off_t find_volume_de(DOS_FS * fs, DIR_ENT * de);
+
+ /* Reads the boot sector from the currently open device and initializes *FS */
+
diff --git a/package/dosfstools/patches/patch-src_check_c b/package/dosfstools/patches/patch-src_check_c
new file mode 100644
index 000000000..cdfc953fe
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_check_c
@@ -0,0 +1,49 @@
+--- dosfstools-3.0.26.orig/src/check.c 2014-03-07 18:35:11.000000000 +0100
++++ dosfstools-3.0.26/src/check.c 2014-03-26 10:04:41.000000000 +0100
+@@ -64,7 +64,7 @@ static DOS_FILE *root;
+ p->dir_ent.start = htole16(__v&0xffff); \
+ p->dir_ent.starthi = htole16(__v>>16); \
+ __v = htole32(__v); \
+- fs_write((loff_t)offsetof(struct boot_sector,root_cluster), \
++ fs_write((off_t)offsetof(struct boot_sector,root_cluster), \
+ sizeof(((struct boot_sector *)0)->root_cluster), \
+ &__v); \
+ } \
+@@ -75,16 +75,16 @@ static DOS_FILE *root;
+ } \
+ } while(0)
+
+-loff_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern)
++off_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern)
+ {
+ static int curr_num = 0;
+- loff_t offset;
++ off_t offset;
+
+ if (fs->root_cluster) {
+ DIR_ENT d2;
+ int i = 0, got = 0;
+ uint32_t clu_num, prev = 0;
+- loff_t offset2;
++ off_t offset2;
+
+ clu_num = fs->root_cluster;
+ offset = cluster_start(fs, clu_num);
+@@ -333,7 +333,7 @@ static int bad_name(DOS_FILE * file)
+ return 0;
+ }
+
+-static void lfn_remove(loff_t from, loff_t to)
++static void lfn_remove(off_t from, off_t to)
+ {
+ DIR_ENT empty;
+
+@@ -949,7 +949,7 @@ static void new_dir(void)
+ * @param cp
+ */
+ static void add_file(DOS_FS * fs, DOS_FILE *** chain, DOS_FILE * parent,
+- loff_t offset, FDSC ** cp)
++ off_t offset, FDSC ** cp)
+ {
+ DOS_FILE *new;
+ DIR_ENT de;
diff --git a/package/dosfstools/patches/patch-src_check_h b/package/dosfstools/patches/patch-src_check_h
new file mode 100644
index 000000000..7f0b5e643
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_check_h
@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/check.h 2014-01-17 07:07:02.000000000 +0100
++++ dosfstools-3.0.26/src/check.h 2014-03-26 13:25:47.000000000 +0100
+@@ -23,7 +23,7 @@
+ #ifndef _CHECK_H
+ #define _CHECK_H
+
+-loff_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern);
++off_t alloc_rootdir_entry(DOS_FS * fs, DIR_ENT * de, const char *pattern);
+
+ /* Allocate a free slot in the root directory for a new file. The file name is
+ constructed after 'pattern', which must include a %d type format for printf
diff --git a/package/dosfstools/patches/patch-src_fat_c b/package/dosfstools/patches/patch-src_fat_c
new file mode 100644
index 000000000..15bfd16db
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_fat_c
@@ -0,0 +1,32 @@
+--- dosfstools-3.0.26.orig/src/fat.c 2014-01-17 07:07:05.000000000 +0100
++++ dosfstools-3.0.26/src/fat.c 2014-03-26 13:37:03.000000000 +0100
+@@ -180,7 +180,7 @@ void set_fat(DOS_FS * fs, uint32_t clust
+ {
+ unsigned char *data = NULL;
+ int size;
+- loff_t offs;
++ off_t offs;
+
+ if (new == -1)
+ new = FAT_EOF(fs);
+@@ -264,9 +264,9 @@ uint32_t next_cluster(DOS_FS * fs, uint3
+ return FAT_IS_EOF(fs, value) ? -1 : value;
+ }
+
+-loff_t cluster_start(DOS_FS * fs, uint32_t cluster)
++off_t cluster_start(DOS_FS * fs, uint32_t cluster)
+ {
+- return fs->data_start + ((loff_t) cluster -
++ return fs->data_start + ((off_t) cluster -
+ 2) * (uint64_t)fs->cluster_size;
+ }
+
+@@ -475,7 +475,7 @@ void reclaim_file(DOS_FS * fs)
+ /* If this cluster is the head of an orphan chain... */
+ if (get_owner(fs, i) == &orphan && !num_refs[i]) {
+ DIR_ENT de;
+- loff_t offset;
++ off_t offset;
+ files++;
+ offset = alloc_rootdir_entry(fs, &de, "FSCK%04dREC");
+ de.start = htole16(i & 0xffff);
diff --git a/package/dosfstools/patches/patch-src_fat_h b/package/dosfstools/patches/patch-src_fat_h
new file mode 100644
index 000000000..9a5a81b88
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_fat_h
@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/fat.h 2014-01-17 07:07:07.000000000 +0100
++++ dosfstools-3.0.26/src/fat.h 2014-03-26 13:29:04.000000000 +0100
+@@ -49,7 +49,7 @@ uint32_t next_cluster(DOS_FS * fs, uint3
+ last cluster of the respective cluster chain. CLUSTER must not be a bad
+ cluster. */
+
+-loff_t cluster_start(DOS_FS * fs, uint32_t cluster);
++off_t cluster_start(DOS_FS * fs, uint32_t cluster);
+
+ /* Returns the byte offset of CLUSTER, relative to the respective device. */
+
diff --git a/package/dosfstools/patches/patch-src_fatlabel_c b/package/dosfstools/patches/patch-src_fatlabel_c
new file mode 100644
index 000000000..1a5e2c2cf
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_fatlabel_c
@@ -0,0 +1,11 @@
+--- dosfstools-3.0.26.orig/src/fatlabel.c 2014-01-17 07:07:08.000000000 +0100
++++ dosfstools-3.0.26/src/fatlabel.c 2014-03-26 13:23:52.000000000 +0100
+@@ -92,7 +92,7 @@ int main(int argc, char *argv[])
+ char *device = NULL;
+ char label[12] = { 0 };
+
+- loff_t offset;
++ off_t offset;
+ DIR_ENT de;
+
+ check_atari();
diff --git a/package/dosfstools/patches/patch-src_fsck_fat_h b/package/dosfstools/patches/patch-src_fsck_fat_h
new file mode 100644
index 000000000..feaefb58e
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_fsck_fat_h
@@ -0,0 +1,38 @@
+--- dosfstools-3.0.26.orig/src/fsck.fat.h 2014-02-08 18:53:10.000000000 +0100
++++ dosfstools-3.0.26/src/fsck.fat.h 2014-03-26 13:29:32.000000000 +0100
+@@ -143,8 +143,8 @@ typedef struct {
+ typedef struct _dos_file {
+ DIR_ENT dir_ent;
+ char *lfn;
+- loff_t offset;
+- loff_t lfn_offset;
++ off_t offset;
++ off_t lfn_offset;
+ struct _dos_file *parent; /* parent directory */
+ struct _dos_file *next; /* next entry */
+ struct _dos_file *first; /* first entry (directory only) */
+@@ -157,19 +157,19 @@ typedef struct {
+
+ typedef struct {
+ int nfats;
+- loff_t fat_start;
++ off_t fat_start;
+ unsigned int fat_size; /* unit is bytes */
+ unsigned int fat_bits; /* size of a FAT entry */
+ unsigned int eff_fat_bits; /* # of used bits in a FAT entry */
+ uint32_t root_cluster; /* 0 for old-style root dir */
+- loff_t root_start;
++ off_t root_start;
+ unsigned int root_entries;
+- loff_t data_start;
++ off_t data_start;
+ unsigned int cluster_size;
+ uint32_t clusters;
+- loff_t fsinfo_start; /* 0 if not present */
++ off_t fsinfo_start; /* 0 if not present */
+ long free_clusters;
+- loff_t backupboot_start; /* 0 if not present */
++ off_t backupboot_start; /* 0 if not present */
+ unsigned char *fat;
+ DOS_FILE **cluster_owner;
+ char *label;
diff --git a/package/dosfstools/patches/patch-src_io_c b/package/dosfstools/patches/patch-src_io_c
new file mode 100644
index 000000000..fae1ce625
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_io_c
@@ -0,0 +1,59 @@
+--- dosfstools-3.0.26.orig/src/io.c 2014-01-17 07:07:14.000000000 +0100
++++ dosfstools-3.0.26/src/io.c 2014-03-26 13:27:02.000000000 +0100
+@@ -48,7 +48,7 @@
+
+ typedef struct _change {
+ void *data;
+- loff_t pos;
++ off_t pos;
+ int size;
+ struct _change *next;
+ } CHANGE;
+@@ -60,7 +60,7 @@ unsigned device_no;
+
+ #ifdef __DJGPP__
+ #include "volume.h" /* DOS lowlevel disk access functions */
+-loff_t llseek(int fd, loff_t offset, int whence)
++off_t llseek(int fd, off_t offset, int whence)
+ {
+ if ((whence != SEEK_SET) || (fd == 4711))
+ return -1; /* only those supported */
+@@ -72,9 +72,9 @@ loff_t llseek(int fd, loff_t offset, int
+ #define read(a,b,c) ReadVolume(b,c)
+ #define write(a,b,c) WriteVolume(b,c)
+ #else
+-loff_t llseek(int fd, loff_t offset, int whence)
++off_t llseek(int fd, off_t offset, int whence)
+ {
+- return (loff_t) lseek64(fd, (off64_t) offset, whence);
++ return (off_t) lseek64(fd, (off64_t) offset, whence);
+ }
+ #endif
+
+@@ -118,7 +118,7 @@ void fs_open(char *path, int rw)
+ * @param[in] size Number of bytes to read
+ * @param[out] data Where to put the data read
+ */
+-void fs_read(loff_t pos, int size, void *data)
++void fs_read(off_t pos, int size, void *data)
+ {
+ CHANGE *walk;
+ int got;
+@@ -145,7 +145,7 @@ void fs_read(loff_t pos, int size, void
+ }
+ }
+
+-int fs_test(loff_t pos, int size)
++int fs_test(off_t pos, int size)
+ {
+ void *scratch;
+ int okay;
+@@ -158,7 +158,7 @@ int fs_test(loff_t pos, int size)
+ return okay;
+ }
+
+-void fs_write(loff_t pos, int size, void *data)
++void fs_write(off_t pos, int size, void *data)
+ {
+ CHANGE *new;
+ int did;
diff --git a/package/dosfstools/patches/patch-src_io_h b/package/dosfstools/patches/patch-src_io_h
new file mode 100644
index 000000000..3ec0fd809
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_io_h
@@ -0,0 +1,35 @@
+--- dosfstools-3.0.26.orig/src/io.h 2014-02-08 18:53:10.000000000 +0100
++++ dosfstools-3.0.26/src/io.h 2014-03-26 13:27:15.000000000 +0100
+@@ -27,9 +27,9 @@
+ #ifndef _IO_H
+ #define _IO_H
+
+-#include <fcntl.h> /* for loff_t */
++#include <fcntl.h> /* for off_t */
+
+-loff_t llseek(int fd, loff_t offset, int whence);
++off_t llseek(int fd, off_t offset, int whence);
+
+ /* lseek() analogue for large offsets. */
+
+@@ -38,17 +38,17 @@ void fs_open(char *path, int rw);
+ /* Opens the filesystem PATH. If RW is zero, the filesystem is opened
+ read-only, otherwise, it is opened read-write. */
+
+-void fs_read(loff_t pos, int size, void *data);
++void fs_read(off_t pos, int size, void *data);
+
+ /* Reads SIZE bytes starting at POS into DATA. Performs all applicable
+ changes. */
+
+-int fs_test(loff_t pos, int size);
++int fs_test(off_t pos, int size);
+
+ /* Returns a non-zero integer if SIZE bytes starting at POS can be read without
+ errors. Otherwise, it returns zero. */
+
+-void fs_write(loff_t pos, int size, void *data);
++void fs_write(off_t pos, int size, void *data);
+
+ /* If write_immed is non-zero, SIZE bytes are written from DATA to the disk,
+ starting at POS. If write_immed is zero, the change is added to a list in
diff --git a/package/dosfstools/patches/patch-src_lfn_c b/package/dosfstools/patches/patch-src_lfn_c
new file mode 100644
index 000000000..dfda2dc3e
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_lfn_c
@@ -0,0 +1,74 @@
+--- dosfstools-3.0.26.orig/src/lfn.c 2014-01-17 07:07:16.000000000 +0100
++++ dosfstools-3.0.26/src/lfn.c 2014-03-26 13:24:23.000000000 +0100
+@@ -52,7 +52,7 @@ typedef struct {
+ unsigned char *lfn_unicode = NULL;
+ unsigned char lfn_checksum;
+ int lfn_slot = -1;
+-loff_t *lfn_offsets = NULL;
++off_t *lfn_offsets = NULL;
+ int lfn_parts = 0;
+
+ static unsigned char fat_uni2esc[64] = {
+@@ -170,7 +170,7 @@ static void clear_lfn_slots(int start, i
+ }
+ }
+
+-void lfn_fix_checksum(loff_t from, loff_t to, const char *short_name)
++void lfn_fix_checksum(off_t from, off_t to, const char *short_name)
+ {
+ int i;
+ __u8 sum;
+@@ -195,7 +195,7 @@ void lfn_reset(void)
+
+ /* This function is only called with de->attr == VFAT_LN_ATTR. It stores part
+ * of the long name. */
+-void lfn_add_slot(DIR_ENT * de, loff_t dir_offset)
++void lfn_add_slot(DIR_ENT * de, off_t dir_offset)
+ {
+ LFN_ENT *lfn = (LFN_ENT *) de;
+ int slot = lfn->id & LFN_ID_SLOTMASK;
+@@ -253,7 +253,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ lfn_slot = slot;
+ lfn_checksum = lfn->alias_checksum;
+ lfn_unicode = alloc((lfn_slot * CHARS_PER_LFN + 1) * 2);
+- lfn_offsets = alloc(lfn_slot * sizeof(loff_t));
++ lfn_offsets = alloc(lfn_slot * sizeof(off_t));
+ lfn_parts = 0;
+ } else if (lfn_slot == -1 && slot != 0) {
+ /* No LFN in progress, but slot found; start bit missing */
+@@ -272,7 +272,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ switch (interactive ? get_key("123", "?") : '2') {
+ case '1':
+ if (!lfn_offsets)
+- lfn_offsets = alloc(sizeof(loff_t));
++ lfn_offsets = alloc(sizeof(off_t));
+ lfn_offsets[0] = dir_offset;
+ clear_lfn_slots(0, 0);
+ lfn_reset();
+@@ -287,7 +287,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ lfn_slot = slot;
+ lfn_checksum = lfn->alias_checksum;
+ lfn_unicode = alloc((lfn_slot * CHARS_PER_LFN + 1) * 2);
+- lfn_offsets = alloc(lfn_slot * sizeof(loff_t));
++ lfn_offsets = alloc(lfn_slot * sizeof(off_t));
+ lfn_parts = 0;
+ break;
+ }
+@@ -319,7 +319,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+ switch (interactive ? get_key(can_fix ? "123" : "12", "?") : '2') {
+ case '1':
+ if (!lfn_offsets) {
+- lfn_offsets = alloc(sizeof(loff_t));
++ lfn_offsets = alloc(sizeof(off_t));
+ lfn_parts = 0;
+ }
+ lfn_offsets[lfn_parts++] = dir_offset;
+@@ -406,7 +406,7 @@ void lfn_add_slot(DIR_ENT * de, loff_t d
+
+ /* This function is always called when de->attr != VFAT_LN_ATTR is found, to
+ * retrieve the previously constructed LFN. */
+-char *lfn_get(DIR_ENT * de, loff_t * lfn_offset)
++char *lfn_get(DIR_ENT * de, off_t * lfn_offset)
+ {
+ char *lfn;
+ __u8 sum;
diff --git a/package/dosfstools/patches/patch-src_lfn_h b/package/dosfstools/patches/patch-src_lfn_h
new file mode 100644
index 000000000..0027ce035
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_lfn_h
@@ -0,0 +1,20 @@
+--- dosfstools-3.0.26.orig/src/lfn.h 2014-01-17 07:07:17.000000000 +0100
++++ dosfstools-3.0.26/src/lfn.h 2014-03-26 13:24:56.000000000 +0100
+@@ -26,14 +26,14 @@
+ void lfn_reset(void);
+ /* Reset the state of the LFN parser. */
+
+-void lfn_add_slot(DIR_ENT * de, loff_t dir_offset);
++void lfn_add_slot(DIR_ENT * de, off_t dir_offset);
+ /* Process a dir slot that is a VFAT LFN entry. */
+
+-char *lfn_get(DIR_ENT * de, loff_t * lfn_offset);
++char *lfn_get(DIR_ENT * de, off_t * lfn_offset);
+ /* Retrieve the long name for the proper dir entry. */
+
+ void lfn_check_orphaned(void);
+
+-void lfn_fix_checksum(loff_t from, loff_t to, const char *short_name);
++void lfn_fix_checksum(off_t from, off_t to, const char *short_name);
+
+ #endif
diff --git a/package/dosfstools/patches/patch-src_mkfs_fat_c b/package/dosfstools/patches/patch-src_mkfs_fat_c
new file mode 100644
index 000000000..60703d5f5
--- /dev/null
+++ b/package/dosfstools/patches/patch-src_mkfs_fat_c
@@ -0,0 +1,56 @@
+--- dosfstools-3.0.26.orig/src/mkfs.fat.c 2014-02-08 18:53:10.000000000 +0100
++++ dosfstools-3.0.26/src/mkfs.fat.c 2014-03-26 13:37:51.000000000 +0100
+@@ -300,7 +300,7 @@ static long do_check(char *buffer, int t
+ static void alarm_intr(int alnum);
+ static void check_blocks(void);
+ static void get_list_blocks(char *filename);
+-static int valid_offset(int fd, loff_t offset);
++static int valid_offset(int fd, off_t offset);
+ static uint64_t count_blocks(char *filename, int *remainder);
+ static void check_mount(char *device_name);
+ static void establish_params(int device_num, int size);
+@@ -477,7 +477,7 @@ static void get_list_blocks(char *filena
+ /* Given a file descriptor and an offset, check whether the offset is a valid offset for the file - return FALSE if it
+ isn't valid or TRUE if it is */
+
+-static int valid_offset(int fd, loff_t offset)
++static int valid_offset(int fd, off_t offset)
+ {
+ char ch;
+
+@@ -492,7 +492,7 @@ static int valid_offset(int fd, loff_t o
+
+ static uint64_t count_blocks(char *filename, int *remainder)
+ {
+- loff_t high, low;
++ off_t high, low;
+ int fd;
+
+ if ((fd = open(filename, O_RDONLY)) < 0) {
+@@ -506,7 +506,7 @@ static uint64_t count_blocks(char *filen
+ for (high = 1; valid_offset(fd, high); high *= 2)
+ low = high;
+ while (low < high - 1) {
+- const loff_t mid = (low + high) / 2;
++ const off_t mid = (low + high) / 2;
+ if (valid_offset(fd, mid))
+ low = mid;
+ else
+@@ -1299,7 +1299,7 @@ static void setup_tables(void)
+
+ #define seekto(pos,errstr) \
+ do { \
+- loff_t __pos = (pos); \
++ off_t __pos = (pos); \
+ if (llseek (dev, __pos, SEEK_SET) != __pos) \
+ error ("seek to " errstr " failed whilst writing tables"); \
+ } while(0)
+@@ -1679,7 +1679,7 @@ int main(int argc, char **argv)
+ exit(1); /* The error exit code is 1! */
+ }
+ } else {
+- loff_t offset = blocks * BLOCK_SIZE - 1;
++ off_t offset = blocks * BLOCK_SIZE - 1;
+ char null = 0;
+ /* create the file */
+ dev = open(device_name, O_EXCL | O_RDWR | O_CREAT | O_TRUNC, 0666);
diff --git a/package/dovecot/Makefile b/package/dovecot/Makefile
index 369264c6d..0fd736e4d 100644
--- a/package/dovecot/Makefile
+++ b/package/dovecot/Makefile
@@ -4,21 +4,15 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= dovecot
-PKG_VERSION:= 2.0.5
+PKG_VERSION:= 2.2.12
PKG_RELEASE:= 1
-PKG_MD5SUM:= 7168c5bf40fdd38cceb99114547699b8
-PKG_DESCR:= A minimal and secure imap server
+PKG_MD5SUM:= 25395269fa2e0525e2d144d71d0450eb
+PKG_DESCR:= minimal and secure imap server
+PKG_BUILDDEP:= openssl
+PKG_DEPENDS:= libopenssl
PKG_SECTION:= mail
PKG_URL:= http://www.dovecot.org/
-PKG_SITES:= http://www.dovecot.org/releases/2.0/
-
-PKG_CHOICES_DOVECOT:= WITH_OPENSSL WITH_GNUTLS
-PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
-PKGCS_WITH_OPENSSL:= libopenssl
-PKGCB_WITH_OPENSSL:= openssl
-PKGCD_WITH_GNUTLS:= use GnuTLS for crypto
-PKGCS_WITH_GNUTLS:= libgnutls
-PKGCB_WITH_GNUTLS:= gnutls
+PKG_SITES:= http://www.dovecot.org/releases/2.2/
include ${TOPDIR}/mk/package.mk
@@ -45,16 +39,10 @@ CONFIGURE_ARGS+= --with-notify=none \
--without-gssapi \
--without-pam \
--with-ioloop=epoll \
- --with-moduledir=/usr/lib/dovecot/modules
-
-ifeq (${ADK_PACKAGE_DOVECOT_WITH_GNUTLS},y)
-CONFIGURE_ARGS+= --with-ssl=gnutls
-endif
-ifeq (${ADK_PACKAGE_DOVECOT_WITH_OPENSSL},y)
-CONFIGURE_ARGS+= --with-ssl=openssl
-endif
+ --with-moduledir=/usr/lib/dovecot/modules \
+ --with-ssl=openssl
-post-install:
+dovecot-install:
${INSTALL_DIR} ${IDIR_DOVECOT}/etc
${INSTALL_DIR} ${IDIR_DOVECOT}/usr/sbin
${INSTALL_DIR} ${IDIR_DOVECOT}/usr/libexec/dovecot
diff --git a/package/dovecot/patches/patch-ltmain_sh b/package/dovecot/patches/patch-ltmain_sh
deleted file mode 100644
index 8c7c6bc7d..000000000
--- a/package/dovecot/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- dovecot-2.0.5.orig/ltmain.sh 2010-05-24 16:48:06.000000000 +0200
-+++ dovecot-2.0.5/ltmain.sh 2011-01-14 22:05:48.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/dri2proto/Makefile b/package/dri2proto/Makefile
index 402144bfd..f42ef212e 100644
--- a/package/dri2proto/Makefile
+++ b/package/dri2proto/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= dri2proto
-PKG_VERSION:= 2.6
+PKG_VERSION:= 2.8
PKG_RELEASE:= 1
-PKG_MD5SUM:= 873142af5db695537cfe05e01d13541f
-PKG_DESCR:= DRI protocol headers
+PKG_MD5SUM:= 19ea18f63d8ae8053c9fa84b60365b77
+PKG_DESCR:= DRI2 protocol headers
PKG_SECTION:= devel
PKG_SITES:= ${MASTER_SITE_XORG}
PKG_OPTS:= dev devonly
diff --git a/package/dri3proto/Makefile b/package/dri3proto/Makefile
new file mode 100644
index 000000000..7aaac7ac5
--- /dev/null
+++ b/package/dri3proto/Makefile
@@ -0,0 +1,19 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= dri3proto
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 25e84a49a076862277ee12aebd49ff5f
+PKG_DESCR:= DRI protocol headers
+PKG_SECTION:= devel
+PKG_SITES:= ${MASTER_SITE_XORG}
+PKG_OPTS:= dev devonly
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,DRI3PROTO,dri3proto,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ebtables/Makefile b/package/ebtables/Makefile
index 59f2ea6ba..e39f58070 100644
--- a/package/ebtables/Makefile
+++ b/package/ebtables/Makefile
@@ -21,7 +21,7 @@ $(eval $(call PKG_template,EBTABLES,ebtables,${PKG_VERSION}-${PKG_RELEASE},${PKG
CONFIG_STYLE:= manual
-post-install:
+ebtables-install:
${INSTALL_DIR} ${IDIR_EBTABLES}/etc
${INSTALL_DIR} ${IDIR_EBTABLES}/usr/sbin ${IDIR_EBTABLES}/usr/lib
${INSTALL_DATA} ${WRKINST}/etc/ethertypes ${IDIR_EBTABLES}/etc
diff --git a/package/ebtables/patches/patch-Makefile b/package/ebtables/patches/patch-Makefile
index ff5934a70..f4e293eaf 100644
--- a/package/ebtables/patches/patch-Makefile
+++ b/package/ebtables/patches/patch-Makefile
@@ -1,6 +1,6 @@
---- ebtables-v2.0.10-3.orig/Makefile 2011-12-04 10:46:26.000000000 +0100
-+++ ebtables-v2.0.10-3/Makefile 2011-12-11 16:35:34.619464748 +0100
-@@ -10,16 +10,16 @@ LOCKDIR:=$(shell echo $(LOCKFILE) | sed
+--- ebtables-v2.0.10-4.orig/Makefile 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/Makefile 2014-03-23 15:46:20.000000000 +0100
+@@ -10,16 +10,16 @@ LOCKDIR:=$(shell echo $(LOCKFILE) | sed
# default paths
LIBDIR:=/usr/lib
diff --git a/package/ebtables/patches/patch-extensions_ebt_among_c b/package/ebtables/patches/patch-extensions_ebt_among_c
new file mode 100644
index 000000000..08f3fb7f1
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_among_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_among.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_among.c 2014-03-23 15:51:29.000000000 +0100
+@@ -13,7 +13,6 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include "../include/ebtables_u.h"
+-#include <netinet/ether.h>
+ #include "../include/ethernetdb.h"
+ #include <linux/if_ether.h>
+ #include <linux/netfilter_bridge/ebt_among.h>
diff --git a/package/ebtables/patches/patch-extensions_ebt_arpreply_c b/package/ebtables/patches/patch-extensions_ebt_arpreply_c
new file mode 100644
index 000000000..32432efb4
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_arpreply_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_arpreply.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_arpreply.c 2014-03-23 15:50:38.000000000 +0100
+@@ -12,7 +12,6 @@
+ #include <string.h>
+ #include <getopt.h>
+ #include "../include/ebtables_u.h"
+-#include <netinet/ether.h>
+ #include <linux/netfilter_bridge/ebt_arpreply.h>
+
+ static int mac_supplied;
diff --git a/package/ebtables/patches/patch-extensions_ebt_ip6_c b/package/ebtables/patches/patch-extensions_ebt_ip6_c
new file mode 100644
index 000000000..e57677d44
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_ip6_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_ip6.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_ip6.c 2014-03-23 15:51:09.000000000 +0100
+@@ -11,6 +11,7 @@
+ *
+ */
+
++#include <sys/types.h>
+ #include <errno.h>
+ #include <inttypes.h>
+ #include <limits.h>
diff --git a/package/ebtables/patches/patch-extensions_ebt_limit_c b/package/ebtables/patches/patch-extensions_ebt_limit_c
new file mode 100644
index 000000000..5464611c1
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_limit_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_limit.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_limit.c 2014-03-23 15:52:04.000000000 +0100
+@@ -8,6 +8,7 @@
+ * September, 2003
+ */
+
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/ebtables/patches/patch-extensions_ebt_nat_c b/package/ebtables/patches/patch-extensions_ebt_nat_c
new file mode 100644
index 000000000..1a215e9e7
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_nat_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_nat.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_nat.c 2014-03-23 15:50:13.000000000 +0100
+@@ -11,7 +11,6 @@
+ #include <string.h>
+ #include <getopt.h>
+ #include "../include/ebtables_u.h"
+-#include <netinet/ether.h>
+ #include <linux/netfilter_bridge/ebt_nat.h>
+
+ static int to_source_supplied, to_dest_supplied;
diff --git a/package/ebtables/patches/patch-include_ethernetdb_h b/package/ebtables/patches/patch-include_ethernetdb_h
new file mode 100644
index 000000000..1bc877d57
--- /dev/null
+++ b/package/ebtables/patches/patch-include_ethernetdb_h
@@ -0,0 +1,29 @@
+--- ebtables-v2.0.10-4.orig/include/ethernetdb.h 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/include/ethernetdb.h 2014-03-23 15:47:35.000000000 +0100
+@@ -38,21 +38,20 @@ struct ethertypeent {
+
+ /* Open ethertype data base files and mark them as staying open even
+ after a later search if STAY_OPEN is non-zero. */
+-extern void setethertypeent(int __stay_open) __THROW;
++extern void setethertypeent(int __stay_open);
+
+ /* Close ethertype data base files and clear `stay open' flag. */
+-extern void endethertypeent(void) __THROW;
++extern void endethertypeent(void);
+
+ /* Get next entry from ethertype data base file. Open data base if
+ necessary. */
+-extern struct ethertypeent *getethertypeent(void) __THROW;
++extern struct ethertypeent *getethertypeent(void);
+
+ /* Return entry from ethertype data base for network with NAME. */
+-extern struct ethertypeent *getethertypebyname(__const char *__name)
+- __THROW;
++extern struct ethertypeent *getethertypebyname(__const char *__name);
+
+ /* Return entry from ethertype data base which number is PROTO. */
+-extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW;
++extern struct ethertypeent *getethertypebynumber(int __ethertype);
+
+
+ #endif /* ethernetdb.h */
diff --git a/package/ebtables/patches/patch-useful_functions_c b/package/ebtables/patches/patch-useful_functions_c
new file mode 100644
index 000000000..6e851ecd2
--- /dev/null
+++ b/package/ebtables/patches/patch-useful_functions_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/useful_functions.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/useful_functions.c 2014-03-23 15:49:15.000000000 +0100
+@@ -25,7 +25,6 @@
+ #include "include/ebtables_u.h"
+ #include "include/ethernetdb.h"
+ #include <stdio.h>
+-#include <netinet/ether.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <getopt.h>
diff --git a/package/ethtool/Makefile b/package/ethtool/Makefile
index f6be14fb9..7834dcfdb 100644
--- a/package/ethtool/Makefile
+++ b/package/ethtool/Makefile
@@ -4,12 +4,14 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ethtool
-PKG_VERSION:= 2.6.36
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 3b2322695e9ee7bf447ebcdb85f93e83
-PKG_DESCR:= Display or change ethernet card settings
+PKG_VERSION:= 3.13
+PKG_RELEASE:= 2
+PKG_MD5SUM:= dcb8f345d44ee79108282e7d0bdf5013
+PKG_DESCR:= display or change ethernet card settings
PKG_SECTION:= net
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=gkernel/}
+PKG_SITES:= https://www.kernel.org/pub/software/network/ethtool/
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
include ${TOPDIR}/mk/package.mk
diff --git a/package/ethtool/patches/patch-internal_h b/package/ethtool/patches/patch-internal_h
new file mode 100644
index 000000000..280f92ce7
--- /dev/null
+++ b/package/ethtool/patches/patch-internal_h
@@ -0,0 +1,33 @@
+--- ethtool-3.13.orig/internal.h 2014-01-27 02:27:14.000000000 +0100
++++ ethtool-3.13/internal.h 2014-03-23 13:47:54.000000000 +0100
+@@ -7,6 +7,7 @@
+ #include "ethtool-config.h"
+ #endif
+ #include <stdio.h>
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
+@@ -17,16 +18,16 @@
+
+ /* ethtool.h expects these to be defined by <linux/types.h> */
+ #ifndef HAVE_BE_TYPES
+-typedef __uint16_t __be16;
+-typedef __uint32_t __be32;
++typedef uint16_t __be16;
++typedef uint32_t __be32;
+ typedef unsigned long long __be64;
+ #endif
+
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
+-typedef __int32_t s32;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
++typedef int32_t s32;
+
+ #include "ethtool-copy.h"
+ #include "net_tstamp-copy.h"
diff --git a/package/eudev/Makefile b/package/eudev/Makefile
index 4bce0928c..a6939a032 100644
--- a/package/eudev/Makefile
+++ b/package/eudev/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= eudev
-PKG_VERSION:= 1.3
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 164df78f6f0093578a20bdd00335845f
-PKG_DESCR:= udev device manager
+PKG_VERSION:= 1.5.3
+PKG_RELEASE:= 2
+PKG_MD5SUM:= 51380938b489385cc394f4ebabc048f0
+PKG_DESCR:= device manager (udev clone)
PKG_SECTION:= utils
PKG_BUILDDEP:= gperf-host glib
PKG_DEPENDS:= glib
@@ -16,20 +16,22 @@ PKG_SITES:= http://dev.gentoo.org/~blueness/eudev/
PKG_LIBNAME:= libudev
PKG_OPTS:= dev
-PKG_SUBPKGS:= UDEV LIBUDEV LIBGUDEV
-PKGSC_LIBGUDEV:= libs
-PKGSD_LIBGUDEV:= GUDEV library
+PKG_SUBPKGS:= UDEV LIBUDEV
+PKGSD_UDEV:= Dynamic device management manager
PKGSC_LIBUDEV:= libs
-PKGSD_LIBUDEV:= UDEV library
-PKGSD_UDEV:= Dynamic device management subsystem
+PKGSD_LIBUDEV:= Dynamic device management library
+
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS+= libmix
+endif
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,UDEV,udev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
$(eval $(call PKG_template,LIBUDEV,libudev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-$(eval $(call PKG_template,LIBGUDEV,libgudev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
CONFIGURE_ARGS+= --disable-manpages \
+ --datadir=${STAGING_TARGET_PREFIX}/usr/lib \
--disable-gtk-doc
udev-install:
@@ -43,8 +45,4 @@ libudev-install:
${INSTALL_DIR} ${IDIR_LIBUDEV}/usr/lib
$(CP) $(WRKINST)/usr/lib/libudev.so* $(IDIR_LIBUDEV)/usr/lib
-libgudev-install:
- ${INSTALL_DIR} ${IDIR_LIBGUDEV}/usr/lib
- $(CP) $(WRKINST)/usr/lib/libgudev*.so* $(IDIR_LIBGUDEV)/usr/lib
-
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/eudev/patches/patch-rule_generator_write_cd_rules b/package/eudev/patches/patch-rule_generator_write_cd_rules
new file mode 100644
index 000000000..ed67769b9
--- /dev/null
+++ b/package/eudev/patches/patch-rule_generator_write_cd_rules
@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/rule_generator/write_cd_rules 2014-03-22 23:45:54.000000000 +0100
++++ eudev-1.5.3/rule_generator/write_cd_rules 2014-03-24 18:26:38.000000000 +0100
+@@ -27,7 +27,7 @@ if [ -n "$UDEV_LOG" ]; then
+ fi
+ fi
+
+-RULES_FILE="${prefix}/etc/udev/rules.d/70-persistent-cd.rules"
++RULES_FILE="/etc/udev/rules.d/70-persistent-cd.rules"
+
+ . ${prefix}/lib/udev/rule_generator.functions
+
diff --git a/package/eudev/patches/patch-rule_generator_write_net_rules b/package/eudev/patches/patch-rule_generator_write_net_rules
new file mode 100644
index 000000000..e5d14ae2e
--- /dev/null
+++ b/package/eudev/patches/patch-rule_generator_write_net_rules
@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/rule_generator/write_net_rules 2014-03-22 23:45:54.000000000 +0100
++++ eudev-1.5.3/rule_generator/write_net_rules 2014-03-24 18:26:38.000000000 +0100
+@@ -38,7 +38,7 @@ if [ -n "$UDEV_LOG" ]; then
+ fi
+ fi
+
+-RULES_FILE='${prefix}/etc/udev/rules.d/70-persistent-net.rules'
++RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules'
+
+ . ${prefix}/lib/udev/rule_generator.functions
+
diff --git a/package/eudev/patches/patch-src_accelerometer_accelerometer_c b/package/eudev/patches/patch-src_accelerometer_accelerometer_c
new file mode 100644
index 000000000..95735f8c5
--- /dev/null
+++ b/package/eudev/patches/patch-src_accelerometer_accelerometer_c
@@ -0,0 +1,13 @@
+--- eudev-1.5.3.orig/src/accelerometer/accelerometer.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/accelerometer/accelerometer.c 2014-03-24 20:41:59.000000000 +0100
+@@ -58,8 +58,8 @@
+ #include <linux/limits.h>
+ #include <linux/input.h>
+
+-#ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#if defined(__UCLIBC__)
++#define O_CLOEXEC 02000000 /* set close_on_exec */
+ #endif
+
+ #include "libudev.h"
diff --git a/package/eudev/patches/patch-src_accelerometer_accelerometer_c.orig b/package/eudev/patches/patch-src_accelerometer_accelerometer_c.orig
new file mode 100644
index 000000000..7bfc4f0c6
--- /dev/null
+++ b/package/eudev/patches/patch-src_accelerometer_accelerometer_c.orig
@@ -0,0 +1,13 @@
+--- eudev-1.5.3.orig/src/accelerometer/accelerometer.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/accelerometer/accelerometer.c 2014-03-24 20:39:35.000000000 +0100
+@@ -58,10 +58,6 @@
+ #include <linux/limits.h>
+ #include <linux/input.h>
+
+-#ifdef __UCLIBC__
+-#include <linux/fcntl.h>
+-#endif
+-
+ #include "libudev.h"
+ #include "libudev-private.h"
+
diff --git a/package/eudev/patches/patch-src_ata_id_ata_id_c b/package/eudev/patches/patch-src_ata_id_ata_id_c
new file mode 100644
index 000000000..eae35adf7
--- /dev/null
+++ b/package/eudev/patches/patch-src_ata_id_ata_id_c
@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/ata_id/ata_id.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/ata_id/ata_id.c 2014-03-24 20:44:36.000000000 +0100
+@@ -42,7 +42,7 @@
+ #include <arpa/inet.h>
+
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#define O_CLOEXEC 02000000 /* Set close_on_exec. */
+ #endif
+
+ #include "libudev.h"
diff --git a/package/eudev/patches/patch-src_ata_id_ata_id_c.orig b/package/eudev/patches/patch-src_ata_id_ata_id_c.orig
new file mode 100644
index 000000000..0d621ffc6
--- /dev/null
+++ b/package/eudev/patches/patch-src_ata_id_ata_id_c.orig
@@ -0,0 +1,13 @@
+--- eudev-1.5.3.orig/src/ata_id/ata_id.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/ata_id/ata_id.c 2014-03-24 20:43:14.000000000 +0100
+@@ -41,10 +41,6 @@
+ #include <linux/bsg.h>
+ #include <arpa/inet.h>
+
+-#ifdef __UCLIBC__
+-#include <linux/fcntl.h>
+-#endif
+-
+ #include "libudev.h"
+ #include "libudev-private.h"
+ #include "log.h"
diff --git a/package/eudev/patches/patch-src_collect_collect_c b/package/eudev/patches/patch-src_collect_collect_c
new file mode 100644
index 000000000..dbf17c706
--- /dev/null
+++ b/package/eudev/patches/patch-src_collect_collect_c
@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/collect/collect.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/collect/collect.c 2014-03-24 20:45:48.000000000 +0100
+@@ -32,7 +32,7 @@
+ #include <sys/stat.h>
+
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#define O_CLOEXEC 02000000 /* Set close_on_exec. */
+ #endif
+
+ #include "libudev.h"
diff --git a/package/eudev/patches/patch-src_mtd_probe_mtd_probe_c b/package/eudev/patches/patch-src_mtd_probe_mtd_probe_c
new file mode 100644
index 000000000..340f08e94
--- /dev/null
+++ b/package/eudev/patches/patch-src_mtd_probe_mtd_probe_c
@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/mtd_probe/mtd_probe.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/mtd_probe/mtd_probe.c 2014-03-24 20:46:53.000000000 +0100
+@@ -27,7 +27,7 @@
+ #include <stdlib.h>
+
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++# define O_CLOEXEC 02000000 /* Set close_on_exec. */
+ #endif
+
+ int main(int argc, char** argv)
diff --git a/package/eudev/patches/patch-src_scsi_id_scsi_serial_c b/package/eudev/patches/patch-src_scsi_id_scsi_serial_c
new file mode 100644
index 000000000..ab4f23dfd
--- /dev/null
+++ b/package/eudev/patches/patch-src_scsi_id_scsi_serial_c
@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/scsi_id/scsi_serial.c 2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/scsi_id/scsi_serial.c 2014-03-24 20:49:53.000000000 +0100
+@@ -35,7 +35,7 @@
+ #include <linux/bsg.h>
+
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#define O_CLOEXEC 02000000 /* set close_on_exec */
+ #endif
+
+ #include "libudev.h"
diff --git a/package/exmap/Makefile b/package/exmap/Makefile
index 9ea289eaf..6755f89df 100644
--- a/package/exmap/Makefile
+++ b/package/exmap/Makefile
@@ -5,32 +5,23 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= exmap
PKG_VERSION:= 0.4.1
-PKG_RELEASE:= 3
+PKG_RELEASE:= 4
PKG_MD5SUM:= 55aec784e214037e61400287a55b5426
-PKG_DESCR:= memory analysing client tool
+PKG_DESCR:= memory analysing tools
PKG_SECTION:= debug
-PKG_DEPENDS:= exmap-kmod libreadline glib
+PKG_DEPENDS:= libreadline glib
PKG_BUILDDEP:= glib readline autotool
PKG_SITES:= http://labs.o-hand.com/sources/exmap-console/
PKG_ARCH_DEPENDS:= !m68k
PKG_CFLINE_EXMAP:= depends on !ADK_TOOLCHAIN_ONLY
-PKG_SUBPKGS:= EXMAP EXMAPD EXMAPSERVER EXMAP_KMOD
-PKGSD_EXMAPD:= memory analysing daemon
-PKGSD_EXMAPSERVER:= memory analysing server
-PKGSD_EXMAP_KMOD:= memory analysing kernel module
-PKGSC_EXMAP_KMOD:= kernel
-
DISTFILES:= ${PKG_NAME}-console-${PKG_VERSION}.tgz
WRKDIST= ${WRKDIR}/${PKG_NAME}-console-${PKG_VERSION}
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,EXMAP,exmap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,EXMAPD,exmapd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_EXMAPD},${PKG_SECTION}))
-$(eval $(call PKG_template,EXMAPSERVER,exmapserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_EXMAPSERVER},${PKG_SECTION}))
-$(eval $(call PKG_template,EXMAP_KMOD,exmap-kmod,${KERNEL_VERSION}+${PKG_VERSION}-${ADK_TARGET}-${PKG_RELEASE},,${PKGSD_EXMAP_KMOD},${PKGSC_EXMAP_KMOD}))
AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ARGS+= --disable-doc
@@ -39,17 +30,13 @@ CONFIGURE_ENV+= LIBS="-lncurses"
pre-build:
$(MAKE) -C ${WRKBUILD}/kernel $(KERNEL_MODULE_FLAGS)
-post-install:
- ${INSTALL_DIR} ${IDIR_EXMAP_KMOD}/etc/modules.d/
- echo "exmap" > ${IDIR_EXMAP_KMOD}/etc/modules.d/90-exmap
- ${INSTALL_DIR} ${IDIR_EXMAP_KMOD}/lib/modules/${KERNEL_VERSION}/
+exmap-install:
+ ${INSTALL_DIR} ${IDIR_EXMAP}/etc/modules.d/
+ echo "exmap" > ${IDIR_EXMAP}/etc/modules.d/90-exmap
+ ${INSTALL_DIR} ${IDIR_EXMAP}/lib/modules/${KERNEL_VERSION}/
${INSTALL_DATA} ${WRKBUILD}/kernel/exmap.ko \
- ${IDIR_EXMAP_KMOD}/lib/modules/${KERNEL_VERSION}
+ ${IDIR_EXMAP}/lib/modules/${KERNEL_VERSION}
${INSTALL_DIR} ${IDIR_EXMAP}/usr/sbin
- ${INSTALL_BIN} ${WRKBUILD}/src/exmap ${IDIR_EXMAP}/usr/sbin
- ${INSTALL_DIR} ${IDIR_EXMAPD}/usr/sbin
- ${INSTALL_BIN} ${WRKBUILD}/src/exmapd ${IDIR_EXMAPD}/usr/sbin
- ${INSTALL_DIR} ${IDIR_EXMAPSERVER}/usr/sbin
- ${INSTALL_BIN} ${WRKBUILD}/src/exmapserver ${IDIR_EXMAPSERVER}/usr/sbin
+ ${INSTALL_BIN} ${WRKBUILD}/src/exmap* ${IDIR_EXMAP}/usr/sbin
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/fbsplash/Makefile b/package/fbsplash/Makefile
new file mode 100644
index 000000000..0d2ece693
--- /dev/null
+++ b/package/fbsplash/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= fbsplash
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 2
+PKG_MD5SUM:= aa0a9e735e086228bc245b18e231bf6c
+PKG_DESCR:= framebuffer splash utility
+PKG_SECTION:= misc
+PKG_BUILDDEP:= libjpeg-turbo libpng freetype
+PKG_DEPENDS:= libjpeg-turbo libpng libfreetype
+PKG_URL:= https://github.com/alanhaggai/fbsplash
+PKG_SITES:= http://openadk.org/distfiles/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FBSPLASH,fbsplash,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+fbsplash-install:
+ $(INSTALL_DIR) $(IDIR_FBSPLASH)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libfb*.so* $(IDIR_FBSPLASH)/usr/lib
+ $(INSTALL_DIR) $(IDIR_FBSPLASH)/sbin
+ $(INSTALL_BIN) $(WRKINST)/sbin/{fbcondecor_helper,fbsplashctl} \
+ $(IDIR_FBSPLASH)/sbin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/feh/Makefile b/package/feh/Makefile
index 43a90b8b7..4f9f56476 100644
--- a/package/feh/Makefile
+++ b/package/feh/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= feh
-PKG_VERSION:= 1.16.1
+PKG_VERSION:= 2.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1bb080c7b0021db50884a52161251990
+PKG_MD5SUM:= 6714dedeff1db5c3593c4a27b0d9cf50
PKG_DESCR:= image viewer
PKG_SECTION:= multimedia
PKG_BUILDDEP:= imlib2 giblib libXt
diff --git a/package/fetchmail/Makefile b/package/fetchmail/Makefile
index 933333441..0d18d70cc 100644
--- a/package/fetchmail/Makefile
+++ b/package/fetchmail/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= fetchmail
-PKG_VERSION:= 6.3.9
+PKG_VERSION:= 6.3.26
PKG_RELEASE:= 1
-PKG_MD5SUM:= 72c20ad2b9629f1a109668b05a84d823
+PKG_MD5SUM:= d9ae3d939205a3c06a21ea79b8f14793
PKG_DESCR:= fetch mail from a POP or IMAP server
PKG_SECTION:= mail
PKG_URL:= http://fetchmail.berlios.de/
diff --git a/package/findutils/Makefile b/package/findutils/Makefile
index 46c3e6681..2848ac91c 100644
--- a/package/findutils/Makefile
+++ b/package/findutils/Makefile
@@ -5,29 +5,42 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= findutils
PKG_VERSION:= 4.4.2
-PKG_RELEASE:= 2
+PKG_RELEASE:= 4
PKG_MD5SUM:= 351cc4adb07d54877fa15f75fb77d39f
-PKG_DESCR:= GNU utilities for finding files
+PKG_DESCR:= utilities for finding files
PKG_SECTION:= utils
PKG_DEPENDS:= libpthread
+PKG_BUILDDEP:= autotool
+HOST_BUILDDEP:= autotool
PKG_URL:= http://www.gnu.org/software/findutils/
PKG_SITES:= http://ftp.gnu.org/pub/gnu/findutils/
-PKG_SUBPKGS:= FINDUTILS LOCATE
-PKGSD_LOCATE:= Locate utility
+PKG_SUBPKGS:= FIND XARGS LOCATE
+PKGSD_LOCATE:= locate utility
+PKGSD_XARGS:= xargs utility
+include $(TOPDIR)/mk/host.mk
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,FINDUTILS,findutils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call HOST_template,FINDUTILS,findutils,$(PKG_VERSION)-${PKG_RELEASE}))
+$(eval $(call PKG_template,FIND,find,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,XARGS,xargs,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_XARGS},${PKG_SECTION}))
$(eval $(call PKG_template,LOCATE,locate,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LOCATE},${PKG_SECTION}))
+HOST_STYLE:= auto
+AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ENV+= gl_cv_func_wcwidth_works=yes \
ac_cv_func_working_mktime=yes
-findutils-install:
- $(INSTALL_DIR) $(IDIR_FINDUTILS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/{find,oldfind,xargs} \
- $(IDIR_FINDUTILS)/usr/bin
+find-install:
+ $(INSTALL_DIR) $(IDIR_FIND)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/find \
+ $(IDIR_FIND)/usr/bin
+
+xargs-install:
+ $(INSTALL_DIR) $(IDIR_XARGS)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/xargs \
+ $(IDIR_XARGS)/usr/bin
locate-install:
${INSTALL_DIR} ${IDIR_LOCATE}/usr/{bin,libexec}
@@ -35,4 +48,5 @@ locate-install:
$(INSTALL_BIN) $(WRKINST)/usr/libexec/{bigram,code,frcode} \
$(IDIR_LOCATE)/usr/libexec
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/findutils/patches/patch-configure_ac b/package/findutils/patches/patch-configure_ac
new file mode 100644
index 000000000..34c03d76f
--- /dev/null
+++ b/package/findutils/patches/patch-configure_ac
@@ -0,0 +1,11 @@
+--- findutils-4.4.2.orig/configure.ac 2009-05-16 17:27:39.000000000 +0200
++++ findutils-4.4.2/configure.ac 2014-03-23 19:39:22.000000000 +0100
+@@ -77,8 +77,6 @@ AC_PROG_CPP
+ dnl for gnulib
+ gl_EARLY
+
+-AM_C_PROTOTYPES
+-
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ dnl AC_PROG_LIBTOOL
diff --git a/package/findutils/patches/patch-gnulib_lib_freadahead_c b/package/findutils/patches/patch-gnulib_lib_freadahead_c
new file mode 100644
index 000000000..d998fbf6c
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_lib_freadahead_c
@@ -0,0 +1,15 @@
+--- findutils-4.4.2.orig/gnulib/lib/freadahead.c 2009-05-10 23:23:57.000000000 +0200
++++ findutils-4.4.2/gnulib/lib/freadahead.c 2014-03-23 16:27:43.000000000 +0100
+@@ -19,6 +19,7 @@
+ /* Specification. */
+ #include "freadahead.h"
+
++#ifndef HAVE___FREADAHEAD
+ size_t
+ freadahead (FILE *fp)
+ {
+@@ -64,3 +65,4 @@ freadahead (FILE *fp)
+ #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread on your system, then report this to bug-gnulib."
+ #endif
+ }
++#endif
diff --git a/package/findutils/patches/patch-gnulib_lib_freadahead_h b/package/findutils/patches/patch-gnulib_lib_freadahead_h
new file mode 100644
index 000000000..194232201
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_lib_freadahead_h
@@ -0,0 +1,24 @@
+--- findutils-4.4.2.orig/gnulib/lib/freadahead.h 2009-05-10 23:23:57.000000000 +0200
++++ findutils-4.4.2/gnulib/lib/freadahead.h 2014-03-23 16:27:43.000000000 +0100
+@@ -29,8 +29,21 @@ extern "C" {
+
+ STREAM must not be wide-character oriented. */
+
++#if HAVE___FREADAHEAD || (defined(__linux__) && !defined(__GLIBC__) && !defined(__UCLIBC__)) /* musl libc */
++
++#ifndef HAVE___FREADAHEAD
++#define HAVE___FREADAHEAD 1
++#endif
++
++# include <stdio_ext.h>
++# define freadahead(stream) __freadahead (stream)
++
++#else
++
+ extern size_t freadahead (FILE *stream);
+
++#endif
++
+ #ifdef __cplusplus
+ }
+ #endif
diff --git a/package/findutils/patches/patch-gnulib_lib_fseeko_c b/package/findutils/patches/patch-gnulib_lib_fseeko_c
new file mode 100644
index 000000000..aba9a1133
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_lib_fseeko_c
@@ -0,0 +1,18 @@
+--- findutils-4.4.2.orig/gnulib/lib/fseeko.c 2009-05-10 23:25:10.000000000 +0200
++++ findutils-4.4.2/gnulib/lib/fseeko.c 2014-03-23 16:35:34.000000000 +0100
+@@ -94,8 +94,14 @@ rpl_fseeko (FILE *fp, off_t offset, int
+ if ((fp->_Mode & _MWRITE ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend)
+ && fp->_Rback == fp->_Back + sizeof (fp->_Back)
+ && fp->_Rsave == NULL)
++#elif FUNC_FFLUSH_STDIN < 0 && 200809 <= _POSIX_VERSION
++ /* Cross-compiling to some other system advertising conformance to
++ POSIX.1-2008 or later. Assume fseeko and fflush work as advertised.
++ If this assumption is incorrect, please report the bug to
++ bug-gnulib. */
++ if (0)
+ #else
+- #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib."
++ #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib."
+ #endif
+ {
+ off_t pos = lseek (fileno (fp), offset, whence);
diff --git a/package/findutils/patches/patch-gnulib_m4_fflush_m4 b/package/findutils/patches/patch-gnulib_m4_fflush_m4
new file mode 100644
index 000000000..b3dd6a082
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_m4_fflush_m4
@@ -0,0 +1,25 @@
+--- findutils-4.4.2.orig/gnulib/m4/fflush.m4 2009-05-10 23:23:57.000000000 +0200
++++ findutils-4.4.2/gnulib/m4/fflush.m4 2014-03-23 18:40:09.000000000 +0100
+@@ -32,12 +32,18 @@ AC_DEFUN([gl_FUNC_FFLUSH],
+ return 4;
+ return !(lseek (fd, 0, SEEK_CUR) == 5);
+ ]])], [gl_cv_func_fflush_stdin=yes], [gl_cv_func_fflush_stdin=no],
+- [dnl Pessimistically assume fflush is broken. This is wrong for
+- dnl at least glibc and cygwin; but lib/fflush.c takes this into account.
+- gl_cv_func_fflush_stdin=no])
++ [gl_cv_func_fflush_stdin=cross])
+ rm conftest.txt
+ ])
+- if test $gl_cv_func_fflush_stdin = no; then
++ case $gl_cv_func_fflush_stdin in
++ yes) gl_func_fflush_stdin=1 ;;
++ no) gl_func_fflush_stdin=0 ;;
++ *) gl_func_fflush_stdin='(-1)' ;;
++ esac
++ AC_DEFINE_UNQUOTED([FUNC_FFLUSH_STDIN], [$gl_func_fflush_stdin],
++ [Define to 1 if fflush is known to work on stdin as per POSIX.1-2008,
++ 0 if fflush is known to not work, -1 if unknown.])
++ if test $gl_cv_func_fflush_stdin != yes; then
+ gl_REPLACE_FFLUSH
+ fi
+ ])
diff --git a/package/firefox/Makefile b/package/firefox/Makefile
index 1fb663e06..d54996401 100644
--- a/package/firefox/Makefile
+++ b/package/firefox/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= firefox
PKG_VERSION:= 26.0
-PKG_RELEASE:= 2
+PKG_RELEASE:= 4
PKG_MD5SUM:= 91ce51cc6474f1269484e5327643a59c
PKG_DESCR:= graphical webbrowser
PKG_SECTION:= x11/apps
diff --git a/package/firefox/patches/patch-media_mtransport_third_party_nICEr_src_stun_addrs_c b/package/firefox/patches/patch-media_mtransport_third_party_nICEr_src_stun_addrs_c
index 3a79329a3..f2b55cd6a 100644
--- a/package/firefox/patches/patch-media_mtransport_third_party_nICEr_src_stun_addrs_c
+++ b/package/firefox/patches/patch-media_mtransport_third_party_nICEr_src_stun_addrs_c
@@ -1,6 +1,16 @@
--- mozilla-release.orig/media/mtransport/third_party/nICEr/src/stun/addrs.c 2013-12-05 17:07:48.000000000 +0100
-+++ mozilla-release/media/mtransport/third_party/nICEr/src/stun/addrs.c 2014-02-05 07:19:01.000000000 +0100
-@@ -53,7 +53,9 @@ static char *RCSSTRING __UNUSED__="$Id:
++++ mozilla-release/media/mtransport/third_party/nICEr/src/stun/addrs.c 2014-03-16 18:41:03.000000000 +0100
+@@ -45,7 +45,9 @@ static char *RCSSTRING __UNUSED__="$Id:
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #ifndef ANDROID
++#ifdef __GLIBC__
+ #include <sys/sysctl.h>
++#endif
+ #include <sys/syslog.h>
+ #else
+ #include <syslog.h>
+@@ -53,7 +55,9 @@ static char *RCSSTRING __UNUSED__="$Id:
#undef __unused
#include <linux/sysctl.h>
#endif
@@ -10,7 +20,7 @@
#ifndef LINUX
#if !defined(__OpenBSD__) && !defined(__NetBSD__)
#include <net/if_var.h>
-@@ -61,14 +63,17 @@ static char *RCSSTRING __UNUSED__="$Id:
+@@ -61,14 +65,17 @@ static char *RCSSTRING __UNUSED__="$Id:
#include <net/if_dl.h>
#include <net/if_types.h>
#include <sys/sockio.h>
diff --git a/package/firefox/patches/patch-media_webrtc_trunk_webrtc_system_wrappers_source_cpu_info_cc b/package/firefox/patches/patch-media_webrtc_trunk_webrtc_system_wrappers_source_cpu_info_cc
index 809dff52a..5e066a88a 100644
--- a/package/firefox/patches/patch-media_webrtc_trunk_webrtc_system_wrappers_source_cpu_info_cc
+++ b/package/firefox/patches/patch-media_webrtc_trunk_webrtc_system_wrappers_source_cpu_info_cc
@@ -1,6 +1,6 @@
--- mozilla-release.orig/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc 2013-12-05 17:07:50.000000000 +0100
-+++ mozilla-release/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc 2014-02-05 07:19:01.000000000 +0100
-@@ -36,11 +36,6 @@ uint32_t CpuInfo::DetectNumberOfCores()
++++ mozilla-release/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc 2014-03-16 10:56:09.000000000 +0100
+@@ -36,11 +36,6 @@ uint32_t CpuInfo::DetectNumberOfCores()
WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
"Available number of cores:%d", number_of_cores_);
@@ -12,7 +12,7 @@
#elif defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
int name[] = {
CTL_HW,
-@@ -61,8 +56,6 @@ uint32_t CpuInfo::DetectNumberOfCores()
+@@ -61,8 +56,6 @@ uint32_t CpuInfo::DetectNumberOfCores()
"Failed to get number of cores");
number_of_cores_ = 1;
}
diff --git a/package/firefox/patches/patch-netwerk_sctp_src_user_environment_c b/package/firefox/patches/patch-netwerk_sctp_src_user_environment_c
new file mode 100644
index 000000000..a31543c75
--- /dev/null
+++ b/package/firefox/patches/patch-netwerk_sctp_src_user_environment_c
@@ -0,0 +1,14 @@
+--- mozilla-release.orig/netwerk/sctp/src/user_environment.c 2013-12-05 17:07:52.000000000 +0100
++++ mozilla-release/netwerk/sctp/src/user_environment.c 2014-03-16 17:53:08.000000000 +0100
+@@ -35,9 +35,11 @@
+ #include <stdint.h>
+ #if !defined(__Userspace_os_FreeBSD)
+ #if !defined(ANDROID)
++#if defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ #endif
++#endif
+ #include <netinet/sctp_os_userspace.h>
+ #endif
+ #include <user_environment.h>
diff --git a/package/fping/Makefile b/package/fping/Makefile
index fc8b845aa..7009b540e 100644
--- a/package/fping/Makefile
+++ b/package/fping/Makefile
@@ -4,15 +4,13 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= fping
-PKG_VERSION:= 2.4b2_to
-PKG_RELEASE:= 1
-PKG_MD5SUM:= d5e8be59e307cef76bc479e1684df705
-PKG_DESCR:= A program to ping hosts in parallel
+PKG_VERSION:= 3.9
+PKG_RELEASE:= 2
+PKG_MD5SUM:= 7ad0313646681c33e975f7b946d8d283
+PKG_DESCR:= program to ping hosts in parallel
PKG_SECTION:= net
-PKG_URL:= http://fping.sourceforge.net/
-PKG_SITES:= http://fping.sourceforge.net/download/
-
-DISTFILES:= ${PKG_NAME}.tar.gz
+PKG_URL:= http://fping.org
+PKG_SITES:= http://fping.org/dist/
include ${TOPDIR}/mk/package.mk
diff --git a/package/freetype/Makefile b/package/freetype/Makefile
index 55fdd98af..e8bcb24ff 100644
--- a/package/freetype/Makefile
+++ b/package/freetype/Makefile
@@ -4,10 +4,10 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= freetype
-PKG_VERSION:= 2.5.1
+PKG_VERSION:= 2.5.3
PKG_RELEASE:= 1
-PKG_MD5SUM:= a359993ad0dc23323c676b04fdb57110
-PKG_DESCR:= A free, high-quality and portable font engine
+PKG_MD5SUM:= cafe9f210e45360279c730d27bf071e9
+PKG_DESCR:= free, high-quality and portable font engine
PKG_SECTION:= libs
PKG_DEPENDS:= zlib
PKG_BUILDDEP:= zlib freetype-host
@@ -27,8 +27,12 @@ $(eval $(call HOST_template,LIBFREETYPE,libfreetype,${PKG_VERSION}-${PKG_RELEASE
$(eval $(call PKG_template,LIBFREETYPE,libfreetype,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
HOST_STYLE:= auto
-HOST_CONFIGURE_ARGS+= --without-png
-CONFIGURE_ARGS+= --without-png
+HOST_CONFIGURE_ARGS+= --with-zlib \
+ --without-png \
+ --without-bzip2
+CONFIGURE_ARGS+= --with-zlib \
+ --without-png \
+ --without-bzip2
libfreetype-install:
${INSTALL_DIR} ${IDIR_LIBFREETYPE}/usr/lib
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index c0c5f749a..76e58d954 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -21,7 +21,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,GCC,gcc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,GXX,g++,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CPPFLAGS_FOR_BUILD:= -I$(STAGING_HOST_DIR)/include
+CPPFLAGS_FOR_BUILD:= -I$(STAGING_HOST_DIR)/usr/include
CFLAGS_FOR_BUILD:=
LDFLAGS_FOR_BUILD:=
TARGET_CPPFLAGS:=
diff --git a/package/gdb/Makefile b/package/gdb/Makefile
index d8b9a26bd..e282052e3 100644
--- a/package/gdb/Makefile
+++ b/package/gdb/Makefile
@@ -11,8 +11,6 @@ PKG_DEPENDS:= libthread-db libncurses libexpat libgcc zlib
PKG_BUILDDEP:= ncurses readline libiconv-tiny expat zlib
PKG_NOPARALLEL:= 1
-PKG_ARCH_DEPENDS:= !m68k
-
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,GDB,gdb,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -22,27 +20,28 @@ TARGET_CFLAGS+= -static
CONFIGURE_ARGS+= --enable-static
endif
-TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
TARGET_CFLAGS+= ${TARGET_CPPFLAGS} -fPIC
-CONFIGURE_ARGS+= --without-uiout --enable-gdbmi \
- --disable-tui --disable-gdbtk --without-x \
- --without-included-gettext --disable-sim \
- --with-curses --disable-werror \
- --without-auto-load-safe-path \
+CONFIGURE_ARGS+= --without-uiout \
+ --disable-tui \
+ --disable-gdbtk \
+ --without-x \
+ --disable-sim \
+ --disable-werror \
--disable-gdbserver \
- --without-python
+ --without-python \
+ --without-included-gettext \
+ --without-auto-load-safe-path \
+ --with-curses \
+ --enable-gdbmi
+
XAKE_FLAGS+= LDFLAGS='${TARGET_LDFLAGS}'
# disable honour cflags stuff
XAKE_FLAGS+= GCC_HONOUR_COPTS:=s
-post-extract:
- -mv $(STAGING_TARGET_DIR)/usr/lib/libiberty.a $(STAGING_TARGET_DIR)/usr/lib/libiberty.a.bak
-
gdb-install:
${INSTALL_DIR} ${IDIR_GDB}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/gdb ${IDIR_GDB}/usr/bin/
# shipped libbfd conflicts with system wide one
rm -f ${WRKINST}/usr/lib/libbfd*
- -mv $(STAGING_TARGET_DIR)/usr/lib/libiberty.a.bak $(STAGING_TARGET_DIR)/usr/lib/libiberty.a
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gdb/patches/microblaze.patch b/package/gdb/patches/microblaze.patch
new file mode 100644
index 000000000..ce3f9b35b
--- /dev/null
+++ b/package/gdb/patches/microblaze.patch
@@ -0,0 +1,1842 @@
+diff -Nur gdb-7.7.orig/bfd/bfd-in2.h gdb-7.7/bfd/bfd-in2.h
+--- gdb-7.7.orig/bfd/bfd-in2.h 2014-02-06 03:21:29.000000000 +0100
++++ gdb-7.7/bfd/bfd-in2.h 2014-03-26 19:43:36.000000000 +0100
+@@ -5378,6 +5378,11 @@
+ expressions of the form "Symbol Op Symbol" */
+ BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
+
++/* This is a 32 bit reloc that stores the 32 bit pc relative
++value in two words (with an imm instruction). No relocation is
++done here - only used for relaxing */
++ BFD_RELOC_MICROBLAZE_32_NONE,
++
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). No relocation is
+ done here - only used for relaxing */
+diff -Nur gdb-7.7.orig/bfd/elf32-microblaze.c gdb-7.7/bfd/elf32-microblaze.c
+--- gdb-7.7.orig/bfd/elf32-microblaze.c 2013-12-08 05:55:47.000000000 +0100
++++ gdb-7.7/bfd/elf32-microblaze.c 2014-03-27 08:30:48.000000000 +0100
+@@ -177,6 +177,20 @@
+ FALSE), /* PC relative offset? */
+
+ /* This reloc does nothing. Used for relaxation. */
++ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 32, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ NULL, /* Special Function. */
++ "R_MICROBLAZE_32_NONE",/* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
+ HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
+ 0, /* Rightshift. */
+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
+@@ -532,7 +546,10 @@
+ case BFD_RELOC_NONE:
+ microblaze_reloc = R_MICROBLAZE_NONE;
+ break;
+- case BFD_RELOC_MICROBLAZE_64_NONE:
++ case BFD_RELOC_MICROBLAZE_32_NONE:
++ microblaze_reloc = R_MICROBLAZE_32_NONE;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_NONE:
+ microblaze_reloc = R_MICROBLAZE_64_NONE;
+ break;
+ case BFD_RELOC_32:
+@@ -668,6 +685,67 @@
+ return _bfd_elf_is_local_label_name (abfd, name);
+ }
+
++/* Support for core dump NOTE sections. */
++static bfd_boolean
++microblaze_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
++{
++ int offset;
++ unsigned int size;
++
++ switch (note->descsz)
++ {
++ default:
++ return FALSE;
++
++ case 228: /* Linux/MicroBlaze */
++ /* pr_cursig */
++ elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12);
++
++ /* pr_pid */
++ elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24);
++
++ /* pr_reg */
++ offset = 72;
++ size = 50 * 4;
++
++ break;
++ }
++
++ /* Make a ".reg/999" section. */
++ return _bfd_elfcore_make_pseudosection (abfd, ".reg",
++ size, note->descpos + offset);
++}
++
++static bfd_boolean
++microblaze_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
++{
++ switch (note->descsz)
++ {
++ default:
++ return FALSE;
++
++ case 128: /* Linux/MicroBlaze elf_prpsinfo */
++ elf_tdata (abfd)->core->program
++ = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16);
++ elf_tdata (abfd)->core->command
++ = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80);
++ }
++
++ /* Note that for some reason, a spurious space is tacked
++ onto the end of the args in some (at least one anyway)
++ implementations, so strip it off if it exists. */
++
++ {
++ char *command = elf_tdata (abfd)->core->command;
++ int n = strlen (command);
++
++ if (0 < n && command[n - 1] == ' ')
++ command[n - 1] = '\0';
++ }
++
++ return TRUE;
++}
++
+ /* The microblaze linker (like many others) needs to keep track of
+ the number of relocs that it decides to copy as dynamic relocs in
+ check_relocs for each symbol. This is so that it can later discard
+@@ -1023,7 +1101,7 @@
+ {
+ /* External symbol. */
+ bfd_boolean warned ATTRIBUTE_UNUSED;
+- bfd_boolean ignored ATTRIBUTE_UNUSED;
++ bfd_boolean ignored;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+@@ -1852,14 +1930,22 @@
+ }
+ break;
+ case R_MICROBLAZE_NONE:
++ case R_MICROBLAZE_32_NONE:
+ {
+ /* This was a PC-relative instruction that was
+ completely resolved. */
+ int sfix, efix;
++ unsigned int val;
+ bfd_vma target_address;
+ target_address = irel->r_addend + irel->r_offset;
+ sfix = calc_fixup (irel->r_offset, 0, sec);
+ efix = calc_fixup (target_address, 0, sec);
++
++ /* Validate the in-band val. */
++ val = bfd_get_32 (abfd, contents + irel->r_offset);
++ if (val != irel->r_addend && ELF32_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
++ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
++ }
+ irel->r_addend -= (efix - sfix);
+ /* Should use HOWTO. */
+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
+@@ -1907,6 +1993,49 @@
+ irelscanend = irelocs + o->reloc_count;
+ for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
+ {
++ if (1 && ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
++ {
++ unsigned int val;
++
++ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
++
++ /* hax: We only do the following fixup for debug location lists. */
++ if (strcmp(".debug_loc", o->name))
++ continue;
++
++ /* This was a PC-relative instruction that was completely resolved. */
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
++
++ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
++ if (val != irelscan->r_addend) {
++ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
++ }
++
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
++ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
++ irelscan->r_addend);
++ }
+ if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
+ {
+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
+@@ -1966,7 +2095,7 @@
+ elf_section_data (o)->this_hdr.contents = ocontents;
+ }
+ }
+- irelscan->r_addend -= calc_fixup (irel->r_addend
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend
+ + isym->st_value,
+ 0,
+ sec);
+@@ -3506,4 +3635,7 @@
+ #define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
+ #define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
+
++#define elf_backend_grok_prstatus microblaze_elf_grok_prstatus
++#define elf_backend_grok_psinfo microblaze_elf_grok_psinfo
++
+ #include "elf32-target.h"
+diff -Nur gdb-7.7.orig/bfd/libbfd.h gdb-7.7/bfd/libbfd.h
+--- gdb-7.7.orig/bfd/libbfd.h 2014-02-06 03:21:29.000000000 +0100
++++ gdb-7.7/bfd/libbfd.h 2014-03-26 20:02:00.000000000 +0100
+@@ -2615,6 +2615,7 @@
+ "BFD_RELOC_MICROBLAZE_32_ROSDA",
+ "BFD_RELOC_MICROBLAZE_32_RWSDA",
+ "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
++ "BFD_RELOC_MICROBLAZE_32_NONE",
+ "BFD_RELOC_MICROBLAZE_64_NONE",
+ "BFD_RELOC_MICROBLAZE_64_GOTPC",
+ "BFD_RELOC_MICROBLAZE_64_GOT",
+diff -Nur gdb-7.7.orig/gdb/Makefile.in gdb-7.7/gdb/Makefile.in
+--- gdb-7.7.orig/gdb/Makefile.in 2014-02-06 03:21:29.000000000 +0100
++++ gdb-7.7/gdb/Makefile.in 2014-03-26 20:33:32.000000000 +0100
+@@ -849,7 +849,7 @@
+ annotate.h sim-regno.h dictionary.h dfp.h main.h frame-unwind.h \
+ remote-fileio.h i386-linux-tdep.h vax-tdep.h objc-lang.h \
+ sentinel-frame.h bcache.h symfile.h windows-tdep.h linux-tdep.h \
+-gdb_usleep.h jit.h xml-syscall.h microblaze-tdep.h \
++gdb_usleep.h jit.h xml-syscall.h microblaze-tdep.h microblaze-linux-tdep.h \
+ psymtab.h psympriv.h progspace.h bfin-tdep.h ia64-hpux-tdep.h \
+ amd64-darwin-tdep.h charset-list.h \
+ config/djgpp/langinfo.h config/djgpp/nl_types.h darwin-nat.h \
+@@ -1547,7 +1547,7 @@
+ m68kbsd-nat.c m68kbsd-tdep.c \
+ m68klinux-nat.c m68klinux-tdep.c \
+ m88k-tdep.c m88kbsd-nat.c \
+- microblaze-tdep.c microblaze-linux-tdep.c \
++ microblaze-tdep.c microblaze-linux-nat.c microblaze-linux-tdep.c \
+ mingw-hdep.c \
+ mips-linux-nat.c mips-linux-tdep.c \
+ mips-irix-tdep.c \
+diff -Nur gdb-7.7.orig/gdb/config/microblaze/linux.mh gdb-7.7/gdb/config/microblaze/linux.mh
+--- gdb-7.7.orig/gdb/config/microblaze/linux.mh 1970-01-01 01:00:00.000000000 +0100
++++ gdb-7.7/gdb/config/microblaze/linux.mh 2014-03-24 15:52:56.000000000 +0100
+@@ -0,0 +1,10 @@
++# Host: Microblaze, running Linux
++
++NAT_FILE= config/nm-linux.h
++NATDEPFILES= inf-ptrace.o fork-child.o \
++ microblaze-linux-nat.o proc-service.o linux-thread-db.o \
++ linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
++ linux-waitpid.o
++NAT_CDEPS = $(srcdir)/proc-service.list
++
++LOADLIBES = -ldl $(RDYNAMIC)
+diff -Nur gdb-7.7.orig/gdb/configure.host gdb-7.7/gdb/configure.host
+--- gdb-7.7.orig/gdb/configure.host 2013-12-08 05:55:47.000000000 +0100
++++ gdb-7.7/gdb/configure.host 2014-03-26 20:34:44.000000000 +0100
+@@ -59,6 +59,7 @@
+ m68*) gdb_host_cpu=m68k ;;
+ m88*) gdb_host_cpu=m88k ;;
+ mips*) gdb_host_cpu=mips ;;
++microblaze*) gdb_host_cpu=microblaze ;;
+ powerpc* | rs6000) gdb_host_cpu=powerpc ;;
+ sparcv9 | sparc64) gdb_host_cpu=sparc ;;
+ s390*) gdb_host_cpu=s390 ;;
+@@ -133,6 +134,8 @@
+ gdb_host=nbsd ;;
+ mips64*-*-openbsd*) gdb_host=obsd64 ;;
+
++microblaze*-*linux*) gdb_host=linux ;;
++
+ powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
+ gdb_host=aix ;;
+ powerpc*-*-freebsd*) gdb_host=fbsd ;;
+diff -Nur gdb-7.7.orig/gdb/configure.tgt gdb-7.7/gdb/configure.tgt
+--- gdb-7.7.orig/gdb/configure.tgt 2014-02-06 03:21:29.000000000 +0100
++++ gdb-7.7/gdb/configure.tgt 2014-03-26 20:36:23.000000000 +0100
+@@ -340,9 +340,10 @@
+
+ microblaze*-linux-*|microblaze*-*-linux*)
+ # Target: Xilinx MicroBlaze running Linux
+- gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o microblaze-rom.o \
++ gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o microblaze-rom.o glibc-tdep.o \
+ monitor.o dsrec.o solib-svr4.o symfile-mem.o linux-tdep.o"
+ gdb_sim=../sim/microblaze/libsim.a
++ build_gdbserver=yes
+ ;;
+ microblaze*-*-*)
+ # Target: Xilinx MicroBlaze running standalone
+diff -Nur gdb-7.7.orig/gdb/gdbserver/Makefile.in gdb-7.7/gdb/gdbserver/Makefile.in
+--- gdb-7.7.orig/gdb/gdbserver/Makefile.in 2014-02-06 03:21:29.000000000 +0100
++++ gdb-7.7/gdb/gdbserver/Makefile.in 2014-03-26 20:39:22.000000000 +0100
+@@ -148,6 +148,7 @@
+ $(srcdir)/linux-ia64-low.c $(srcdir)/linux-low.c \
+ $(srcdir)/linux-m32r-low.c \
+ $(srcdir)/linux-m68k-low.c $(srcdir)/linux-mips-low.c \
++ $(srcdir)/linux-microblaze-low.c \
+ $(srcdir)/linux-nios2-low.c \
+ $(srcdir)/linux-ppc-low.c \
+ $(srcdir)/linux-s390-low.c \
+@@ -328,6 +329,7 @@
+ rm -f arm-with-iwmmxt.c
+ rm -f arm-with-vfpv2.c arm-with-vfpv3.c arm-with-neon.c
+ rm -f mips-linux.c mips64-linux.c
++ rm -f microblaze-linux.c
+ rm -f nios2-linux.c
+ rm -f powerpc-32.c powerpc-32l.c powerpc-64l.c powerpc-e500l.c
+ rm -f powerpc-altivec32l.c powerpc-cell32l.c powerpc-vsx32l.c
+@@ -600,6 +602,8 @@
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-linux.dat mips64-linux.c
+ mips64-dsp-linux.c : $(srcdir)/../regformats/mips64-dsp-linux.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-dsp-linux.dat mips64-dsp-linux.c
++microblaze-linux.c : $(srcdir)/../regformats/reg-microblaze.dat $(regdat_sh)
++ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-microblaze.dat microblaze-linux.c
+ nios2-linux.c : $(srcdir)/../regformats/nios2-linux.dat $(regdat_sh)
+ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/nios2-linux.dat nios2-linux.c
+ powerpc-32.c : $(srcdir)/../regformats/rs6000/powerpc-32.dat $(regdat_sh)
+diff -Nur gdb-7.7.orig/gdb/gdbserver/configure.srv gdb-7.7/gdb/gdbserver/configure.srv
+--- gdb-7.7.orig/gdb/gdbserver/configure.srv 2014-01-08 10:23:36.000000000 +0100
++++ gdb-7.7/gdb/gdbserver/configure.srv 2014-03-26 20:40:44.000000000 +0100
+@@ -198,6 +198,13 @@
+ srv_linux_usrregs=yes
+ srv_linux_thread_db=yes
+ ;;
++ microblaze*-*-linux*) srv_regobj=microblaze-linux.o
++ srv_tgtobj="$srv_linux_obj linux-microblaze-low.o"
++ srv_linux_usrregs=yes
++ srv_linux_regsets=yes
++ srv_linux_thread_db=yes
++ ;;
++
+ nios2*-*-linux*) srv_regobj="nios2-linux.o"
+ srv_tgtobj="$srv_linux_obj linux-nios2-low.o"
+ srv_xmlfiles="nios2-linux.xml"
+diff -Nur gdb-7.7.orig/gdb/gdbserver/linux-microblaze-low.c gdb-7.7/gdb/gdbserver/linux-microblaze-low.c
+--- gdb-7.7.orig/gdb/gdbserver/linux-microblaze-low.c 1970-01-01 01:00:00.000000000 +0100
++++ gdb-7.7/gdb/gdbserver/linux-microblaze-low.c 2014-03-26 20:41:13.000000000 +0100
+@@ -0,0 +1,228 @@
++/* GNU/Linux/Microblaze specific low level interface, for the remote server for
++ GDB.
++ Copyright (C) 1995-2013 Free Software Foundation, Inc.
++
++ This file is part of GDB.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program 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 General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
++
++#include "server.h"
++#include "linux-low.h"
++
++#include <asm/ptrace.h>
++#include <sys/procfs.h>
++#include <sys/ptrace.h>
++
++#include "gdb_proc_service.h"
++
++static int microblaze_regmap[] =
++ {PT_GPR(0), PT_GPR(1), PT_GPR(2), PT_GPR(3),
++ PT_GPR(4), PT_GPR(5), PT_GPR(6), PT_GPR(7),
++ PT_GPR(8), PT_GPR(9), PT_GPR(10), PT_GPR(11),
++ PT_GPR(12), PT_GPR(13), PT_GPR(14), PT_GPR(15),
++ PT_GPR(16), PT_GPR(17), PT_GPR(18), PT_GPR(19),
++ PT_GPR(20), PT_GPR(21), PT_GPR(22), PT_GPR(23),
++ PT_GPR(24), PT_GPR(25), PT_GPR(26), PT_GPR(27),
++ PT_GPR(28), PT_GPR(29), PT_GPR(30), PT_GPR(31),
++ PT_PC, PT_MSR, PT_EAR, PT_ESR,
++ PT_FSR
++ };
++
++#define microblaze_num_regs (sizeof microblaze_regmap / sizeof microblaze_regmap[0])
++
++/* Defined in auto-generated file microblaze-linux.c. */
++void init_registers_microblaze (void);
++extern const struct target_desc *tdesc_microblaze;
++
++static int
++microblaze_cannot_store_register (int regno)
++{
++ if (microblaze_regmap[regno] == -1 || regno == 0)
++ return 1;
++
++ return 0;
++}
++
++static int
++microblaze_cannot_fetch_register (int regno)
++{
++ return 0;
++}
++
++static CORE_ADDR
++microblaze_get_pc (struct regcache *regcache)
++{
++ unsigned long pc;
++
++ collect_register_by_name (regcache, "pc", &pc);
++ return (CORE_ADDR) pc;
++}
++
++static void
++microblaze_set_pc (struct regcache *regcache, CORE_ADDR pc)
++{
++ unsigned long newpc = pc;
++
++ supply_register_by_name (regcache, "pc", &newpc);
++}
++
++/* dbtrap insn */
++/* brki r16, 0x18; */
++static const unsigned long microblaze_breakpoint = 0xba0c0018;
++#define microblaze_breakpoint_len 4
++
++static int
++microblaze_breakpoint_at (CORE_ADDR where)
++{
++ unsigned long insn;
++
++ (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
++ if (insn == microblaze_breakpoint)
++ return 1;
++ /* If necessary, recognize more trap instructions here. GDB only uses the
++ one. */
++ return 0;
++}
++
++static CORE_ADDR
++microblaze_reinsert_addr (struct regcache *regcache)
++{
++ unsigned long pc;
++ collect_register_by_name (regcache, "r15", &pc);
++ return pc;
++}
++
++#ifdef HAVE_PTRACE_GETREGS
++
++static void
++microblaze_collect_ptrace_register (struct regcache *regcache, int regno, char *buf)
++{
++ int size = register_size (regcache->tdesc, regno);
++
++ memset (buf, 0, sizeof (long));
++
++ if (size < sizeof (long))
++ collect_register (regcache, regno, buf + sizeof (long) - size);
++ else
++ collect_register (regcache, regno, buf);
++}
++
++static void
++microblaze_supply_ptrace_register (struct regcache *regcache,
++ int regno, const char *buf)
++{
++ int size = register_size (regcache->tdesc, regno);
++
++ if (regno == 0) {
++ unsigned long regbuf_0 = 0;
++ /* clobbering r0 so that it is always 0 as enforced by hardware */
++ supply_register (regcache, regno, (const char*)&regbuf_0);
++ } else {
++ if (size < sizeof (long))
++ supply_register (regcache, regno, buf + sizeof (long) - size);
++ else
++ supply_register (regcache, regno, buf);
++ }
++}
++
++/* Provide only a fill function for the general register set. ps_lgetregs
++ will use this for NPTL support. */
++
++static void microblaze_fill_gregset (struct regcache *regcache, void *buf)
++{
++ int i;
++
++ for (i = 0; i < 32; i++)
++ microblaze_collect_ptrace_register (regcache, i, (char *) buf + microblaze_regmap[i]);
++}
++
++static void
++microblaze_store_gregset (struct regcache *regcache, const void *buf)
++{
++ int i;
++
++ for (i = 0; i < 32; i++)
++ supply_register (regcache, i, (char *) buf + microblaze_regmap[i]);
++}
++
++#endif /* HAVE_PTRACE_GETREGS */
++
++static struct regset_info microblaze_regsets[] = {
++#ifdef HAVE_PTRACE_GETREGS
++ { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, microblaze_fill_gregset, microblaze_store_gregset },
++ { 0, 0, 0, -1, -1, NULL, NULL },
++#endif /* HAVE_PTRACE_GETREGS */
++ { 0, 0, 0, -1, -1, NULL, NULL }
++};
++
++static struct regsets_info microblaze_regsets_info =
++ {
++ microblaze_regsets, /* regsets */
++ 0, /* num_regsets */
++ NULL, /* disabled_regsets */
++ };
++
++static struct usrregs_info microblaze_usrregs_info =
++ {
++ microblaze_num_regs,
++ microblaze_regmap,
++ };
++
++static struct regs_info regs_info =
++ {
++ NULL, /* regset_bitmap */
++ &microblaze_usrregs_info,
++ &microblaze_regsets_info
++ };
++
++static const struct regs_info *
++microblaze_regs_info (void)
++{
++ return &regs_info;
++}
++
++static void
++microblaze_arch_setup (void)
++{
++ current_process ()->tdesc = tdesc_microblaze;
++}
++
++struct linux_target_ops the_low_target = {
++ microblaze_arch_setup,
++ microblaze_regs_info,
++ microblaze_cannot_fetch_register,
++ microblaze_cannot_store_register,
++ NULL, /* fetch_register */
++ microblaze_get_pc,
++ microblaze_set_pc,
++ (const unsigned char *) &microblaze_breakpoint,
++ microblaze_breakpoint_len,
++ microblaze_reinsert_addr,
++ 0,
++ microblaze_breakpoint_at,
++ NULL,
++ NULL,
++ NULL,
++ NULL,
++ microblaze_collect_ptrace_register,
++ microblaze_supply_ptrace_register,
++};
++
++void
++initialize_low_arch (void)
++{
++ init_registers_microblaze ();
++
++ initialize_regsets_info (&microblaze_regsets_info);
++}
+\ No newline at end of file
+diff -Nur gdb-7.7.orig/gdb/microblaze-linux-nat.c gdb-7.7/gdb/microblaze-linux-nat.c
+--- gdb-7.7.orig/gdb/microblaze-linux-nat.c 1970-01-01 01:00:00.000000000 +0100
++++ gdb-7.7/gdb/microblaze-linux-nat.c 2014-03-27 09:51:56.000000000 +0100
+@@ -0,0 +1,430 @@
++/* Microblaze GNU/Linux native support.
++
++ Copyright (C) 1988-1989, 1991-1992, 1994, 1996, 2000-2012 Free
++ Software Foundation, Inc.
++
++ This file is part of GDB.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program 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 General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
++
++#include "defs.h"
++#include "arch-utils.h"
++#include "dis-asm.h"
++#include "frame.h"
++#include "trad-frame.h"
++#include "symtab.h"
++#include "value.h"
++#include "gdbcmd.h"
++#include "breakpoint.h"
++#include "inferior.h"
++#include "regcache.h"
++#include "target.h"
++#include "frame.h"
++#include "frame-base.h"
++#include "frame-unwind.h"
++#include "dwarf2-frame.h"
++#include "osabi.h"
++
++#include "gdb_assert.h"
++#include "target-descriptions.h"
++#include "opcodes/microblaze-opcm.h"
++#include "opcodes/microblaze-dis.h"
++
++#include "linux-nat.h"
++#include "target-descriptions.h"
++
++#include <sys/user.h>
++#include <sys/utsname.h>
++#include <sys/procfs.h>
++#include <sys/ptrace.h>
++
++/* Prototypes for supply_gregset etc. */
++#include "gregset.h"
++
++#include "microblaze-tdep.h"
++
++#include <elf/common.h>
++#include "auxv.h"
++
++/* Defines ps_err_e, struct ps_prochandle. */
++#include "gdb_proc_service.h"
++
++/* On GNU/Linux, threads are implemented as pseudo-processes, in which
++ case we may be tracing more than one process at a time. In that
++ case, inferior_ptid will contain the main process ID and the
++ individual thread (process) ID. get_thread_id () is used to get
++ the thread id if it's available, and the process id otherwise. */
++
++int
++get_thread_id (ptid_t ptid)
++{
++ int tid = ptid_get_lwp (ptid);
++ if (0 == tid)
++ tid = ptid_get_pid (ptid);
++ return tid;
++}
++
++#define GET_THREAD_ID(PTID) get_thread_id (PTID)
++
++/* Non-zero if our kernel may support the PTRACE_GETREGS and
++ PTRACE_SETREGS requests, for reading and writing the
++ general-purpose registers. Zero if we've tried one of
++ them and gotten an error. */
++int have_ptrace_getsetregs = 1;
++
++static int
++microblaze_register_u_addr (struct gdbarch *gdbarch, int regno)
++{
++ int u_addr = -1;
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
++ interface, and not the wordsize of the program's ABI. */
++ int wordsize = sizeof (long);
++
++ /* General purpose registers occupy 1 slot each in the buffer. */
++ if (regno >= MICROBLAZE_R0_REGNUM
++ && regno <= MICROBLAZE_FSR_REGNUM)
++ u_addr = (regno * wordsize);
++
++ return u_addr;
++}
++
++
++static void
++fetch_register (struct regcache *regcache, int tid, int regno)
++{
++ struct gdbarch *gdbarch = get_regcache_arch (regcache);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ /* This isn't really an address. But ptrace thinks of it as one. */
++ CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
++ int bytes_transferred;
++ unsigned int offset; /* Offset of registers within the u area. */
++ char buf[MAX_REGISTER_SIZE];
++
++ if (regaddr == -1)
++ {
++ memset (buf, '\0', register_size (gdbarch, regno)); /* Supply zeroes */
++ regcache_raw_supply (regcache, regno, buf);
++ return;
++ }
++
++ /* Read the raw register using sizeof(long) sized chunks. On a
++ 32-bit platform, 64-bit floating-point registers will require two
++ transfers. */
++ for (bytes_transferred = 0;
++ bytes_transferred < register_size (gdbarch, regno);
++ bytes_transferred += sizeof (long))
++ {
++ long l;
++
++ errno = 0;
++ l = ptrace (PTRACE_PEEKUSER, tid, (PTRACE_TYPE_ARG3) regaddr, 0);
++ regaddr += sizeof (long);
++ if (errno != 0)
++ {
++ char message[128];
++ sprintf (message, "reading register %s (#%d)",
++ gdbarch_register_name (gdbarch, regno), regno);
++ perror_with_name (message);
++ }
++ memcpy (&buf[bytes_transferred], &l, sizeof (l));
++ }
++
++ /* Now supply the register. Keep in mind that the regcache's idea
++ of the register's size may not be a multiple of sizeof
++ (long). */
++ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
++ {
++ /* Little-endian values are always found at the left end of the
++ bytes transferred. */
++ regcache_raw_supply (regcache, regno, buf);
++ }
++ else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
++ {
++ /* Big-endian values are found at the right end of the bytes
++ transferred. */
++ size_t padding = (bytes_transferred - register_size (gdbarch, regno));
++ regcache_raw_supply (regcache, regno, buf + padding);
++ }
++ else
++ internal_error (__FILE__, __LINE__,
++ _("fetch_register: unexpected byte order: %d"),
++ gdbarch_byte_order (gdbarch));
++}
++
++/* This function actually issues the request to ptrace, telling
++ it to get all general-purpose registers and put them into the
++ specified regset.
++
++ If the ptrace request does not exist, this function returns 0
++ and properly sets the have_ptrace_* flag. If the request fails,
++ this function calls perror_with_name. Otherwise, if the request
++ succeeds, then the regcache gets filled and 1 is returned. */
++static int
++fetch_all_gp_regs (struct regcache *regcache, int tid)
++{
++ struct gdbarch *gdbarch = get_regcache_arch (regcache);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ gdb_gregset_t gregset;
++
++ if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
++ {
++ if (errno == EIO)
++ {
++ have_ptrace_getsetregs = 0;
++ return 0;
++ }
++ perror_with_name (_("Couldn't get general-purpose registers."));
++ }
++
++ supply_gregset (regcache, (const gdb_gregset_t *) &gregset);
++
++ return 1;
++}
++
++
++/* This is a wrapper for the fetch_all_gp_regs function. It is
++ responsible for verifying if this target has the ptrace request
++ that can be used to fetch all general-purpose registers at one
++ shot. If it doesn't, then we should fetch them using the
++ old-fashioned way, which is to iterate over the registers and
++ request them one by one. */
++static void
++fetch_gp_regs (struct regcache *regcache, int tid)
++{
++ struct gdbarch *gdbarch = get_regcache_arch (regcache);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ int i;
++
++ if (have_ptrace_getsetregs)
++ if (fetch_all_gp_regs (regcache, tid))
++ return;
++
++ /* If we've hit this point, it doesn't really matter which
++ architecture we are using. We just need to read the
++ registers in the "old-fashioned way". */
++ for (i = MICROBLAZE_R0_REGNUM; i <= MICROBLAZE_FSR_REGNUM; i++)
++ fetch_register (regcache, tid, i);
++}
++
++
++static void
++store_register (const struct regcache *regcache, int tid, int regno)
++{
++ struct gdbarch *gdbarch = get_regcache_arch (regcache);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ /* This isn't really an address. But ptrace thinks of it as one. */
++ CORE_ADDR regaddr = microblaze_register_u_addr (gdbarch, regno);
++ int i;
++ size_t bytes_to_transfer;
++ char buf[MAX_REGISTER_SIZE];
++
++ if (regaddr == -1)
++ return;
++
++ /* First collect the register. Keep in mind that the regcache's
++ idea of the register's size may not be a multiple of sizeof
++ (long). */
++ memset (buf, 0, sizeof buf);
++ bytes_to_transfer = align_up (register_size (gdbarch, regno), sizeof (long));
++ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
++ {
++ /* Little-endian values always sit at the left end of the buffer. */
++ regcache_raw_collect (regcache, regno, buf);
++ }
++ else if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
++ {
++ /* Big-endian values sit at the right end of the buffer. */
++ size_t padding = (bytes_to_transfer - register_size (gdbarch, regno));
++ regcache_raw_collect (regcache, regno, buf + padding);
++ }
++
++ for (i = 0; i < bytes_to_transfer; i += sizeof (long))
++ {
++ long l;
++
++ memcpy (&l, &buf[i], sizeof (l));
++ errno = 0;
++ ptrace (PTRACE_POKEUSER, tid, (PTRACE_TYPE_ARG3) regaddr, l);
++ regaddr += sizeof (long);
++
++ if (errno != 0)
++ {
++ char message[128];
++ sprintf (message, "writing register %s (#%d)",
++ gdbarch_register_name (gdbarch, regno), regno);
++ perror_with_name (message);
++ }
++ }
++}
++
++/* This function actually issues the request to ptrace, telling
++ it to store all general-purpose registers present in the specified
++ regset.
++
++ If the ptrace request does not exist, this function returns 0
++ and properly sets the have_ptrace_* flag. If the request fails,
++ this function calls perror_with_name. Otherwise, if the request
++ succeeds, then the regcache is stored and 1 is returned. */
++static int
++store_all_gp_regs (const struct regcache *regcache, int tid, int regno)
++{
++ struct gdbarch *gdbarch = get_regcache_arch (regcache);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ gdb_gregset_t gregset;
++
++ if (ptrace (PTRACE_GETREGS, tid, 0, (void *) &gregset) < 0)
++ {
++ if (errno == EIO)
++ {
++ have_ptrace_getsetregs = 0;
++ return 0;
++ }
++ perror_with_name (_("Couldn't get general-purpose registers."));
++ }
++
++ fill_gregset (regcache, &gregset, regno);
++
++ if (ptrace (PTRACE_SETREGS, tid, 0, (void *) &gregset) < 0)
++ {
++ if (errno == EIO)
++ {
++ have_ptrace_getsetregs = 0;
++ return 0;
++ }
++ perror_with_name (_("Couldn't set general-purpose registers."));
++ }
++
++ return 1;
++}
++
++/* This is a wrapper for the store_all_gp_regs function. It is
++ responsible for verifying if this target has the ptrace request
++ that can be used to store all general-purpose registers at one
++ shot. If it doesn't, then we should store them using the
++ old-fashioned way, which is to iterate over the registers and
++ store them one by one. */
++static void
++store_gp_regs (const struct regcache *regcache, int tid, int regno)
++{
++ struct gdbarch *gdbarch = get_regcache_arch (regcache);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ int i;
++
++ if (have_ptrace_getsetregs)
++ if (store_all_gp_regs (regcache, tid, regno))
++ return;
++
++ /* If we hit this point, it doesn't really matter which
++ architecture we are using. We just need to store the
++ registers in the "old-fashioned way". */
++ for (i = MICROBLAZE_R0_REGNUM; i <= MICROBLAZE_FSR_REGNUM; i++)
++ store_register (regcache, tid, i);
++}
++
++
++/* Fetch registers from the child process. Fetch all registers if
++ regno == -1, otherwise fetch all general registers or all floating
++ point registers depending upon the value of regno. */
++
++static void
++microblaze_linux_fetch_inferior_registers (struct target_ops *ops,
++ struct regcache *regcache, int regno)
++{
++ /* Get the thread id for the ptrace call. */
++ int tid = GET_THREAD_ID (inferior_ptid);
++
++ if (regno == -1)
++ fetch_gp_regs (regcache, tid);
++ else
++ fetch_register (regcache, tid, regno);
++}
++
++/* Store registers back into the inferior. Store all registers if
++ regno == -1, otherwise store all general registers or all floating
++ point registers depending upon the value of regno. */
++
++static void
++microblaze_linux_store_inferior_registers (struct target_ops *ops,
++ struct regcache *regcache, int regno)
++{
++ /* Get the thread id for the ptrace call. */
++ int tid = GET_THREAD_ID (inferior_ptid);
++
++ if (regno >= 0)
++ store_register (regcache, tid, regno);
++ else
++ store_gp_regs (regcache, tid, -1);
++}
++
++/* Wrapper functions for the standard regset handling, used by
++ thread debugging. */
++
++void
++fill_gregset (const struct regcache *regcache,
++ gdb_gregset_t *gregsetp, int regno)
++{
++ microblaze_collect_gregset (NULL, regcache, regno, gregsetp);
++}
++
++void
++supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
++{
++ microblaze_supply_gregset (NULL, regcache, -1, gregsetp);
++}
++
++void
++fill_fpregset (const struct regcache *regcache,
++ gdb_fpregset_t *fpregsetp, int regno)
++{
++ /* FIXME. */
++}
++
++void
++supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
++{
++ /* FIXME. */
++}
++
++static const struct target_desc *
++microblaze_linux_read_description (struct target_ops *ops)
++{
++ CORE_ADDR microblaze_hwcap = 0;
++
++ if (target_auxv_search (ops, AT_HWCAP, &microblaze_hwcap) != 1)
++ return NULL;
++
++ return NULL;
++}
++
++
++void _initialize_microblaze_linux_nat (void);
++
++void
++_initialize_microblaze_linux_nat (void)
++{
++ struct target_ops *t;
++
++ /* Fill in the generic GNU/Linux methods. */
++ t = linux_target ();
++
++ /* Add our register access methods. */
++ t->to_fetch_registers = microblaze_linux_fetch_inferior_registers;
++ t->to_store_registers = microblaze_linux_store_inferior_registers;
++
++ t->to_read_description = microblaze_linux_read_description;
++
++ /* Register the target. */
++ linux_nat_add_target (t);
++}
+diff -Nur gdb-7.7.orig/gdb/microblaze-linux-tdep.c gdb-7.7/gdb/microblaze-linux-tdep.c
+--- gdb-7.7.orig/gdb/microblaze-linux-tdep.c 2014-01-08 10:23:36.000000000 +0100
++++ gdb-7.7/gdb/microblaze-linux-tdep.c 2014-03-26 10:11:41.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Target-dependent code for Xilinx MicroBlaze.
+
+- Copyright (C) 2009-2014 Free Software Foundation, Inc.
++ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+@@ -32,11 +32,28 @@
+ #include "regset.h"
+ #include "solib-svr4.h"
+ #include "microblaze-tdep.h"
++#include "glibc-tdep.h"
+ #include "trad-frame.h"
+ #include "frame-unwind.h"
+ #include "tramp-frame.h"
+ #include "linux-tdep.h"
+
++static int microblaze_debug_flag = 0;
++
++static void
++microblaze_debug (const char *fmt, ...)
++{
++ if (microblaze_debug_flag)
++ {
++ va_list args;
++
++ va_start (args, fmt);
++ printf_unfiltered ("MICROBLAZE LINUX: ");
++ vprintf_unfiltered (fmt, args);
++ va_end (args);
++ }
++}
++
+ static int
+ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
+ struct bp_target_info *bp_tgt)
+@@ -46,20 +63,27 @@
+ int val;
+ int bplen;
+ gdb_byte old_contents[BREAKPOINT_MAX];
++ struct cleanup *cleanup;
+
+ /* Determine appropriate breakpoint contents and size for this address. */
+ bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
+ if (bp == NULL)
+ error (_("Software breakpoints not implemented for this target."));
+
++ /* Make sure we see the memory breakpoints. */
++ cleanup = make_show_memory_breakpoints_cleanup (1);
+ val = target_read_memory (addr, old_contents, bplen);
+
+ /* If our breakpoint is no longer at the address, this means that the
+ program modified the code on us, so it is wrong to put back the
+ old value. */
+ if (val == 0 && memcmp (bp, old_contents, bplen) == 0)
+- val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
++ {
++ val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
++ microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr);
++ }
+
++ do_cleanups (cleanup);
+ return val;
+ }
+
+@@ -116,6 +140,43 @@
+ microblaze_linux_sighandler_cache_init
+ };
+
++const struct microblaze_gregset microblaze_linux_core_gregset;
++
++static void
++microblaze_linux_supply_core_gregset (const struct regset *regset,
++ struct regcache *regcache,
++ int regnum, const void *gregs, size_t len)
++{
++ microblaze_supply_gregset (&microblaze_linux_core_gregset, regcache,
++ regnum, gregs);
++}
++
++static void
++microblaze_linux_collect_core_gregset (const struct regset *regset,
++ const struct regcache *regcache,
++ int regnum, void *gregs, size_t len)
++{
++ microblaze_collect_gregset (&microblaze_linux_core_gregset, regcache,
++ regnum, gregs);
++}
++
++static void
++microblaze_linux_supply_core_fpregset (const struct regset *regset,
++ struct regcache *regcache,
++ int regnum, const void *fpregs, size_t len)
++{
++ /* FIXME. */
++ microblaze_supply_fpregset (regcache, regnum, fpregs);
++}
++
++static void
++microblaze_linux_collect_core_fpregset (const struct regset *regset,
++ const struct regcache *regcache,
++ int regnum, void *fpregs, size_t len)
++{
++ /* FIXME. */
++ microblaze_collect_fpregset (regcache, regnum, fpregs);
++}
+
+ static void
+ microblaze_linux_init_abi (struct gdbarch_info info,
+@@ -123,6 +184,10 @@
+ {
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
++ tdep->gregset = regset_alloc (gdbarch, microblaze_linux_supply_core_gregset,
++ microblaze_linux_collect_core_gregset);
++ tdep->sizeof_gregset = 200;
++
+ linux_init_abi (info, gdbarch);
+
+ set_gdbarch_memory_remove_breakpoint (gdbarch,
+@@ -135,6 +200,25 @@
+ /* Trampolines. */
+ tramp_frame_prepend_unwinder (gdbarch,
+ &microblaze_linux_sighandler_tramp_frame);
++
++ /* BFD target for core files. */
++ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
++ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblaze");
++ else
++ set_gdbarch_gcore_bfd_target (gdbarch, "elf32-microblazeel");
++
++
++ /* Shared library handling. */
++ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
++ set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
++
++ set_gdbarch_regset_from_core_section (gdbarch,
++ microblaze_regset_from_core_section);
++
++ /* Enable TLS support. */
++ set_gdbarch_fetch_tls_load_module_address (gdbarch,
++ svr4_fetch_objfile_link_map);
++
+ }
+
+ /* -Wmissing-prototypes */
+diff -Nur gdb-7.7.orig/gdb/microblaze-rom.c gdb-7.7/gdb/microblaze-rom.c
+--- gdb-7.7.orig/gdb/microblaze-rom.c 2014-01-08 10:23:36.000000000 +0100
++++ gdb-7.7/gdb/microblaze-rom.c 2014-03-27 08:56:48.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Remote debugging interface to Xilinx MicroBlaze.
+
+- Copyright (C) 2009-2014 Free Software Foundation, Inc.
++ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+@@ -21,7 +21,6 @@
+ #include "gdbcore.h"
+ #include "target.h"
+ #include "monitor.h"
+-#include <string.h>
+ #include "serial.h"
+ #include "regcache.h"
+
+diff -Nur gdb-7.7.orig/gdb/microblaze-tdep.c gdb-7.7/gdb/microblaze-tdep.c
+--- gdb-7.7.orig/gdb/microblaze-tdep.c 2014-02-06 03:21:29.000000000 +0100
++++ gdb-7.7/gdb/microblaze-tdep.c 2014-03-27 08:46:21.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Target-dependent code for Xilinx MicroBlaze.
+
+- Copyright (C) 2009-2014 Free Software Foundation, Inc.
++ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+@@ -29,13 +29,13 @@
+ #include "inferior.h"
+ #include "regcache.h"
+ #include "target.h"
++#include "frame.h"
+ #include "frame-base.h"
+ #include "frame-unwind.h"
+ #include "dwarf2-frame.h"
+ #include "osabi.h"
+
+ #include "gdb_assert.h"
+-#include <string.h>
+ #include "target-descriptions.h"
+ #include "opcodes/microblaze-opcm.h"
+ #include "opcodes/microblaze-dis.h"
+@@ -73,7 +73,8 @@
+ "rpc", "rmsr", "rear", "resr", "rfsr", "rbtr",
+ "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
+ "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
+- "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi"
++ "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
++ "rslr", "rshr"
+ };
+
+ #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
+@@ -145,6 +146,14 @@
+ return sp;
+ }
+
++static CORE_ADDR
++microblaze_store_arguments (struct regcache *regcache, int nargs,
++ struct value **args, CORE_ADDR sp,
++ int struct_return, CORE_ADDR struct_addr)
++{
++ error (_("store_arguments not implemented"));
++ return sp;
++}
+
+ static CORE_ADDR
+ microblaze_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
+@@ -156,14 +165,52 @@
+ return sp;
+ }
+
++static int
++microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
++ struct bp_target_info *bp_tgt)
++{
++ CORE_ADDR addr = bp_tgt->placed_address;
++ const unsigned char *bp;
++ int val;
++ int bplen;
++ gdb_byte old_contents[BREAKPOINT_MAX];
++ struct cleanup *cleanup;
++
++ /* Determine appropriate breakpoint contents and size for this address. */
++ bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
++ if (bp == NULL)
++ error (_("Software breakpoints not implemented for this target."));
++
++ /* Make sure we see the memory breakpoints. */
++ cleanup = make_show_memory_breakpoints_cleanup (1);
++ val = target_read_memory (addr, old_contents, bplen);
++
++ /* If our breakpoint is no longer at the address, this means that the
++ program modified the code on us, so it is wrong to put back the
++ old value. */
++ if (val == 0 && memcmp (bp, old_contents, bplen) == 0)
++ {
++ val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen);
++ microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr);
++ }
++
++ do_cleanups (cleanup);
++ return val;
++}
++
+ static const gdb_byte *
+ microblaze_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pc,
+ int *len)
+ {
++ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+ static gdb_byte break_insn[] = MICROBLAZE_BREAKPOINT;
++ static gdb_byte break_insn_le[] = MICROBLAZE_BREAKPOINT_LE;
+
+ *len = sizeof (break_insn);
+- return break_insn;
++ if (byte_order == BFD_ENDIAN_BIG)
++ return break_insn;
++ else
++ return break_insn_le;
+ }
+
+ /* Allocate and initialize a frame cache. */
+@@ -178,6 +225,7 @@
+ /* Base address. */
+ cache->base = 0;
+ cache->pc = 0;
++ cache->saved_sp = 0;
+
+ /* Frameless until proven otherwise. */
+ cache->frameless_p = 1;
+@@ -234,6 +282,8 @@
+ int flags = 0;
+ int save_hidden_pointer_found = 0;
+ int non_stack_instruction_found = 0;
++ int n_insns;
++ unsigned int *insn_block;
+
+ /* Find the start of this function. */
+ find_pc_partial_function (pc, &name, &func_addr, &func_end);
+@@ -273,11 +323,18 @@
+ name, paddress (gdbarch, func_addr),
+ paddress (gdbarch, stop));
+
++/* Do a block read to minimize the transaction with the Debug Agent */
++ n_insns = (stop == func_addr) ? 1 : ((stop - func_addr) / INST_WORD_SIZE);
++ insn_block = calloc(n_insns, sizeof(unsigned long));
++
++ target_read_memory (func_addr, (void*) insn_block, n_insns * INST_WORD_SIZE );
++
+ for (addr = func_addr; addr < stop; addr += INST_WORD_SIZE)
+ {
+ insn = microblaze_fetch_instruction (addr);
++ //insn = insn_block[(addr - func_addr) / INST_WORD_SIZE];
+ op = microblaze_decode_insn (insn, &rd, &ra, &rb, &imm);
+- microblaze_debug ("%s %08lx\n", paddress (gdbarch, pc), insn);
++ microblaze_debug ("%s %08lx op=%x r%d r%d imm=%d\n", paddress (gdbarch, addr), insn, op, rd, ra, imm);
+
+ /* This code is very sensitive to what functions are present in the
+ prologue. It assumes that the (addi, addik, swi, sw) can be the
+@@ -291,6 +348,7 @@
+ cache->frameless_p = 0; /* Frame found. */
+ save_hidden_pointer_found = 0;
+ non_stack_instruction_found = 0;
++ cache->register_offsets[rd] = -imm;
+ continue;
+ }
+ else if (IS_SPILL_SP(op, rd, ra))
+@@ -401,8 +459,8 @@
+ part of the prologue. */
+ if (save_hidden_pointer_found)
+ prologue_end_addr -= INST_WORD_SIZE;
+-
+- return prologue_end_addr;
++ free(insn_block);
++ return prologue_end_addr;
+ }
+
+ static CORE_ADDR
+@@ -452,6 +510,7 @@
+ return start_pc;
+ }
+
++enum { REG_UNAVAIL = (CORE_ADDR) -1 };
+ /* Normal frames. */
+
+ static struct microblaze_frame_cache *
+@@ -459,7 +518,7 @@
+ {
+ struct microblaze_frame_cache *cache;
+ struct gdbarch *gdbarch = get_frame_arch (next_frame);
+- CORE_ADDR func;
++ CORE_ADDR current_pc;
+ int rn;
+
+ if (*this_cache)
+@@ -473,9 +532,18 @@
+ for (rn = 0; rn < gdbarch_num_regs (gdbarch); rn++)
+ cache->register_offsets[rn] = -1;
+
+- func = get_frame_func (next_frame);
++ cache->pc = get_frame_func (next_frame);
++ current_pc = get_frame_pc (next_frame);
++
++ if (cache->pc)
++ microblaze_analyze_prologue (gdbarch, cache->pc, current_pc,
++ cache);
+
+- cache->pc = get_frame_address_in_block (next_frame);
++ cache->base = get_frame_register_unsigned (next_frame, gdbarch_sp_regnum (gdbarch));
++ cache->saved_sp = cache->base + cache->framesize;
++
++ cache->register_offsets[MICROBLAZE_PREV_PC_REGNUM] = cache->base;
++ cache->register_offsets[MICROBLAZE_SP_REGNUM] = cache->saved_sp;
+
+ return cache;
+ }
+@@ -501,6 +569,14 @@
+ struct microblaze_frame_cache *cache =
+ microblaze_frame_cache (this_frame, this_cache);
+
++ if ((regnum == MICROBLAZE_SP_REGNUM &&
++ cache->register_offsets[MICROBLAZE_SP_REGNUM])
++ || (regnum == MICROBLAZE_FP_REGNUM &&
++ cache->register_offsets[MICROBLAZE_SP_REGNUM]))
++
++ return frame_unwind_got_constant (this_frame, regnum,
++ cache->register_offsets[MICROBLAZE_SP_REGNUM]);
++
+ if (cache->frameless_p)
+ {
+ if (regnum == MICROBLAZE_PC_REGNUM)
+@@ -508,11 +584,18 @@
+ if (regnum == MICROBLAZE_SP_REGNUM)
+ regnum = 1;
+ return trad_frame_get_prev_register (this_frame,
+- cache->saved_regs, regnum);
++ cache->saved_regs, regnum);
+ }
+- else
+- return trad_frame_get_prev_register (this_frame, cache->saved_regs,
+- regnum);
++
++ if (regnum == MICROBLAZE_PC_REGNUM)
++ {
++ regnum = 15;
++ return frame_unwind_got_memory (this_frame, regnum,
++ cache->register_offsets[MICROBLAZE_PREV_PC_REGNUM]);
++ }
++
++ return trad_frame_get_prev_register (this_frame, cache->saved_regs,
++ regnum);
+
+ }
+
+@@ -536,6 +619,12 @@
+ return cache->base;
+ }
+
++static const struct frame_unwind *
++microblaze_frame_sniffer (struct frame_info *next_frame)
++{
++ return &microblaze_frame_unwind;
++}
++
+ static const struct frame_base microblaze_frame_base =
+ {
+ &microblaze_frame_unwind,
+@@ -628,6 +717,109 @@
+ return (TYPE_LENGTH (type) == 16);
+ }
+
++int
++microblaze_software_single_step (struct frame_info *frame)
++{
++ struct gdbarch *arch = get_frame_arch (frame);
++ struct address_space *aspace = get_frame_address_space (frame);
++ struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
++ static char le_breakp[] = MICROBLAZE_BREAKPOINT_LE;
++ static char be_breakp[] = MICROBLAZE_BREAKPOINT;
++ enum bfd_endian byte_order = gdbarch_byte_order (arch);
++ char *breakp = byte_order == BFD_ENDIAN_BIG ? be_breakp : le_breakp;
++ int ret = 0;
++
++ /* Save the address and the values of the next_pc and the target */
++ static struct sstep_breaks
++ {
++ CORE_ADDR address;
++ bfd_boolean valid;
++ /* Shadow contents. */
++ char data[INST_WORD_SIZE];
++ } stepbreaks[2];
++ int ii;
++
++ if (1)
++ {
++ CORE_ADDR pc;
++ long insn;
++ enum microblaze_instr minstr;
++ bfd_boolean isunsignednum;
++ enum microblaze_instr_type insn_type;
++ short delay_slots;
++ int imm;
++ bfd_boolean immfound = FALSE;
++
++ /* Set a breakpoint at the next instruction */
++ /* If the current instruction is an imm, set it at the inst after */
++ /* If the instruction has a delay slot, skip the delay slot */
++ pc = get_frame_pc (frame);
++ insn = microblaze_fetch_instruction (pc);
++ minstr = get_insn_microblaze (insn, &isunsignednum, &insn_type, &delay_slots);
++ if (insn_type == immediate_inst)
++ {
++ int rd, ra, rb;
++ immfound = TRUE;
++ minstr = microblaze_decode_insn (insn, &rd, &ra, &rb, &imm);
++ pc = pc + INST_WORD_SIZE;
++ insn = microblaze_fetch_instruction (pc);
++ minstr = get_insn_microblaze (insn, &isunsignednum, &insn_type, &delay_slots);
++ }
++ stepbreaks[0].address = pc + (delay_slots * INST_WORD_SIZE) + INST_WORD_SIZE;
++ if (insn_type != return_inst) {
++ stepbreaks[0].valid = TRUE;
++ } else {
++ stepbreaks[0].valid = FALSE;
++ }
++
++ microblaze_debug ("single-step insn_type=%x insn=%x\n", insn_type, insn);
++ /* Now check for branch or return instructions */
++ if (insn_type == branch_inst || insn_type == return_inst) {
++ int limm;
++ int lrd, lra, lrb;
++ int ra, rb;
++ bfd_boolean targetvalid;
++ bfd_boolean unconditionalbranch;
++ microblaze_decode_insn(insn, &lrd, &lra, &lrb, &limm);
++ if (lra >= 0 && lra < MICROBLAZE_NUM_REGS)
++ ra = get_frame_register_unsigned (frame, lra);
++ else
++ ra = 0;
++ if (lrb >= 0 && lrb < MICROBLAZE_NUM_REGS)
++ rb = get_frame_register_unsigned (frame, lrb);
++ else
++ rb = 0;
++
++ stepbreaks[1].address = microblaze_get_target_address (insn, immfound, imm, pc, ra, rb, &targetvalid, &unconditionalbranch);
++ microblaze_debug ("single-step uncondbr=%d targetvalid=%d target=%x\n", unconditionalbranch, targetvalid, stepbreaks[1].address);
++
++ if (unconditionalbranch)
++ stepbreaks[0].valid = FALSE; /* This is a unconditional branch: will not come to the next address */
++ if (targetvalid && (stepbreaks[0].valid == FALSE ||
++ (stepbreaks[0].address != stepbreaks[1].address))
++ && (stepbreaks[1].address != pc)) {
++ stepbreaks[1].valid = TRUE;
++ } else {
++ stepbreaks[1].valid = FALSE;
++ }
++ } else {
++ stepbreaks[1].valid = FALSE;
++ }
++
++ /* Insert the breakpoints */
++ for (ii = 0; ii < 2; ++ii)
++ {
++
++ /* ignore invalid breakpoint. */
++ if (stepbreaks[ii].valid) {
++ insert_single_step_breakpoint (arch, aspace, stepbreaks[ii].address);
++ ret = 1;
++ }
++ }
++ }
++ return ret;
++}
++
+ static void
+ microblaze_write_pc (struct regcache *regcache, CORE_ADDR pc)
+ {
+@@ -664,6 +856,70 @@
+ return dwarf2_to_reg_map[reg];
+ }
+
++
++void
++microblaze_supply_gregset (const struct microblaze_gregset *gregset,
++ struct regcache *regcache,
++ int regnum, const void *gregs)
++{
++ unsigned int *regs = gregs;
++ if (regnum >= 0)
++ regcache_raw_supply (regcache, regnum, regs + regnum);
++
++ if (regnum == -1) {
++ int i;
++
++ for (i = 0; i < 50; i++) {
++ regcache_raw_supply (regcache, i, regs + i);
++ }
++ }
++}
++
++
++void
++microblaze_collect_gregset (const struct microblaze_gregset *gregset,
++ const struct regcache *regcache,
++ int regnum, void *gregs)
++{
++ /* FIXME. */
++}
++
++void
++microblaze_supply_fpregset (struct regcache *regcache,
++ int regnum, const void *fpregs)
++{
++ /* FIXME. */
++}
++
++void
++microblaze_collect_fpregset (const struct regcache *regcache,
++ int regnum, void *fpregs)
++{
++ /* FIXME. */
++}
++
++
++/* Return the appropriate register set for the core section identified
++ by SECT_NAME and SECT_SIZE. */
++
++const struct regset *
++microblaze_regset_from_core_section (struct gdbarch *gdbarch,
++ const char *sect_name, size_t sect_size)
++{
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++
++ microblaze_debug ("microblaze_regset_from_core_section, sect_name = %s\n", sect_name);
++
++ if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
++ return tdep->gregset;
++
++ if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
++ return tdep->fpregset;
++
++ microblaze_debug ("microblaze_regset_from_core_section returning null :-( \n");
++ return NULL;
++}
++
+ static struct gdbarch *
+ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+ {
+@@ -679,6 +935,11 @@
+ tdep = XMALLOC (struct gdbarch_tdep);
+ gdbarch = gdbarch_alloc (&info, tdep);
+
++ tdep->gregset = NULL;
++ tdep->sizeof_gregset = 0;
++ tdep->fpregset = NULL;
++ tdep->sizeof_fpregset = 0;
++
+ set_gdbarch_long_double_bit (gdbarch, 128);
+
+ set_gdbarch_num_regs (gdbarch, MICROBLAZE_NUM_REGS);
+@@ -706,7 +967,10 @@
+ /* Stack grows downward. */
+ set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
+
++ set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint);
++
+ set_gdbarch_breakpoint_from_pc (gdbarch, microblaze_breakpoint_from_pc);
++ set_gdbarch_software_single_step (gdbarch, microblaze_software_single_step);
+
+ set_gdbarch_frame_args_skip (gdbarch, 8);
+
+@@ -725,6 +989,13 @@
+ dwarf2_append_unwinders (gdbarch);
+ frame_unwind_append_unwinder (gdbarch, &microblaze_frame_unwind);
+ frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
++ //frame_base_append_sniffer (gdbarch, microblaze_frame_sniffer);
++
++ /* If we have register sets, enable the generic core file support. */
++ if (tdep->gregset) {
++ set_gdbarch_regset_from_core_section (gdbarch,
++ microblaze_regset_from_core_section);
++ }
+
+ return gdbarch;
+ }
+diff -Nur gdb-7.7.orig/gdb/microblaze-tdep.h gdb-7.7/gdb/microblaze-tdep.h
+--- gdb-7.7.orig/gdb/microblaze-tdep.h 2014-01-08 10:23:36.000000000 +0100
++++ gdb-7.7/gdb/microblaze-tdep.h 2014-03-26 10:11:41.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Target-dependent code for Xilinx MicroBlaze.
+
+- Copyright (C) 2009-2014 Free Software Foundation, Inc.
++ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+@@ -22,8 +22,22 @@
+
+
+ /* Microblaze architecture-specific information. */
++struct microblaze_gregset
++{
++ unsigned int gregs[32];
++ unsigned int fpregs[32];
++ unsigned int pregs[16];
++};
++
+ struct gdbarch_tdep
+ {
++ int dummy; // declare something.
++
++ /* Register sets. */
++ struct regset *gregset;
++ size_t sizeof_gregset;
++ struct regset *fpregset;
++ size_t sizeof_fpregset;
+ };
+
+ struct microblaze_frame_cache
+@@ -42,7 +56,8 @@
+ int fp_regnum;
+
+ /* Offsets to saved registers. */
+- int register_offsets[57]; /* Must match MICROBLAZE_NUM_REGS. */
++ int register_offsets[59]; /* Must match MICROBLAZE_NUM_REGS. */
++ CORE_ADDR saved_sp;
+
+ /* Table of saved registers. */
+ struct trad_frame_saved_reg *saved_regs;
+@@ -66,11 +81,11 @@
+ MICROBLAZE_R12_REGNUM,
+ MICROBLAZE_R13_REGNUM,
+ MICROBLAZE_R14_REGNUM,
+- MICROBLAZE_R15_REGNUM,
++ MICROBLAZE_R15_REGNUM, MICROBLAZE_PREV_PC_REGNUM = MICROBLAZE_R15_REGNUM,
+ MICROBLAZE_R16_REGNUM,
+ MICROBLAZE_R17_REGNUM,
+ MICROBLAZE_R18_REGNUM,
+- MICROBLAZE_R19_REGNUM,
++ MICROBLAZE_R19_REGNUM, MICROBLAZE_FP_REGNUM = MICROBLAZE_R19_REGNUM,
+ MICROBLAZE_R20_REGNUM,
+ MICROBLAZE_R21_REGNUM,
+ MICROBLAZE_R22_REGNUM,
+@@ -107,7 +122,9 @@
+ MICROBLAZE_RTLBX_REGNUM,
+ MICROBLAZE_RTLBSX_REGNUM,
+ MICROBLAZE_RTLBLO_REGNUM,
+- MICROBLAZE_RTLBHI_REGNUM
++ MICROBLAZE_RTLBHI_REGNUM,
++ MICROBLAZE_SLR_REGNUM,
++ MICROBLAZE_SHR_REGNUM
+ };
+
+ /* All registers are 32 bits. */
+@@ -115,6 +132,21 @@
+
+ /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
+ Only used for native debugging. */
+-#define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60}
++#define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
++#define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
++
++extern void microblaze_supply_gregset (const struct microblaze_gregset *gregset,
++ struct regcache *regcache,
++ int regnum, const void *gregs);
++extern void microblaze_collect_gregset (const struct microblaze_gregset *gregset,
++ const struct regcache *regcache,
++ int regnum, void *gregs);
++extern void microblaze_supply_fpregset (struct regcache *regcache,
++ int regnum, const void *fpregs);
++extern void microblaze_collect_fpregset (const struct regcache *regcache,
++ int regnum, void *fpregs);
++
++extern const struct regset * microblaze_regset_from_core_section (struct gdbarch *gdbarch,
++ const char *sect_name, size_t sect_size);
+
+ #endif /* microblaze-tdep.h */
+diff -Nur gdb-7.7.orig/gdb/regformats/reg-microblaze.dat gdb-7.7/gdb/regformats/reg-microblaze.dat
+--- gdb-7.7.orig/gdb/regformats/reg-microblaze.dat 1970-01-01 01:00:00.000000000 +0100
++++ gdb-7.7/gdb/regformats/reg-microblaze.dat 2014-03-26 20:43:54.000000000 +0100
+@@ -0,0 +1,41 @@
++name:microblaze
++expedite:r1,pc
++32:r0
++32:r1
++32:r2
++32:r3
++32:r4
++32:r5
++32:r6
++32:r7
++32:r8
++32:r9
++32:r10
++32:r11
++32:r12
++32:r13
++32:r14
++32:r15
++32:r16
++32:r17
++32:r18
++32:r19
++32:r20
++32:r21
++32:r22
++32:r23
++32:r24
++32:r25
++32:r26
++32:r27
++32:r28
++32:r29
++32:r30
++32:r31
++32:pc
++32:msr
++32:ear
++32:esr
++32:fsr
++32:slr
++32:shr
+diff -Nur gdb-7.7.orig/include/elf/microblaze.h gdb-7.7/include/elf/microblaze.h
+--- gdb-7.7.orig/include/elf/microblaze.h 2013-12-08 05:11:51.000000000 +0100
++++ gdb-7.7/include/elf/microblaze.h 2014-03-26 20:44:34.000000000 +0100
+@@ -58,6 +58,7 @@
+ RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27) /* TLS Offset Within TLS Block */
+ RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */
+ RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29) /* TLS Offset From Thread Pointer */
++ RELOC_NUMBER (R_MICROBLAZE_32_NONE, 30)
+
+ END_RELOC_NUMBERS (R_MICROBLAZE_max)
+
+diff -Nur gdb-7.7.orig/opcodes/microblaze-opc.h gdb-7.7/opcodes/microblaze-opc.h
+--- gdb-7.7.orig/opcodes/microblaze-opc.h 2013-12-08 05:11:52.000000000 +0100
++++ gdb-7.7/opcodes/microblaze-opc.h 2014-03-26 20:45:46.000000000 +0100
+@@ -91,6 +91,7 @@
+ #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
+ #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
+ #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
++#define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
+ #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
+
+ /* New Mask for msrset, msrclr insns. */
+@@ -101,7 +102,7 @@
+ #define DELAY_SLOT 1
+ #define NO_DELAY_SLOT 0
+
+-#define MAX_OPCODES 289
++#define MAX_OPCODES 291
+
+ struct op_code_struct
+ {
+@@ -174,7 +175,9 @@
+ {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst },
+ {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst },
+ {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst },
++ {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
+ {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
++ {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
+ {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
+ {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
+ {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
+diff -Nur gdb-7.7.orig/opcodes/microblaze-opcm.h gdb-7.7/opcodes/microblaze-opcm.h
+--- gdb-7.7.orig/opcodes/microblaze-opcm.h 2013-12-08 05:11:52.000000000 +0100
++++ gdb-7.7/opcodes/microblaze-opcm.h 2014-03-26 20:45:46.000000000 +0100
+@@ -31,9 +31,9 @@
+ idiv, idivu, bsll, bsra, bsrl, get, put, nget, nput, cget, cput,
+ ncget, ncput, muli, bslli, bsrai, bsrli, mului, or, and, xor,
+ andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
+- wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd,
+- brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
+- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
++ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar,
++ br, brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned,
++ blt, bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
+ imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
+ brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
+ bgtid, bgei, bgeid, lbu, lbur, lhu, lhur, lw, lwr, lwx, sb, sbr, sh,
diff --git a/package/genext2fs/Makefile b/package/genext2fs/Makefile
new file mode 100644
index 000000000..4e8fea5bd
--- /dev/null
+++ b/package/genext2fs/Makefile
@@ -0,0 +1,24 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= genext2fs
+PKG_VERSION:= 1.4.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= b7b6361bcce2cedff1ae437fadafe53b
+PKG_DESCR:= genext2fs utility
+PKG_SECTION:= fs
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=genext2fs/}
+
+PKG_CFLINE_GENEXT2FS:= depends on ADK_HOST_ONLY
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,GENEXT2FS,genext2fs,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:= auto
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gkrellm/Makefile b/package/gkrellm/Makefile
index 1b4a6b118..e8efdabd4 100644
--- a/package/gkrellm/Makefile
+++ b/package/gkrellm/Makefile
@@ -4,10 +4,10 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= gkrellm
-PKG_VERSION:= 2.3.4
+PKG_VERSION:= 2.3.5
PKG_RELEASE:= 1
-PKG_MD5SUM:= 600f4daa395112ed19a3633deb0829ff
-PKG_DESCR:= The GNU Krell Monitors Server
+PKG_MD5SUM:= 05d00fa8d6376038b0c7e967583c0b8d
+PKG_DESCR:= GNU krell monitors server
PKG_SECTION:= net/misc
PKG_DEPENDS:= glib libpthread
PKG_BUILDDEP:= glib
diff --git a/package/gkrellm/patches/patch-server_Makefile b/package/gkrellm/patches/patch-server_Makefile
deleted file mode 100644
index a1a8747e7..000000000
--- a/package/gkrellm/patches/patch-server_Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
---- gkrellm-2.3.4.orig/server/Makefile 2008-10-03 23:52:48.000000000 +0200
-+++ gkrellm-2.3.4/server/Makefile 2011-05-17 11:34:14.926610183 +0200
-@@ -26,7 +26,7 @@ SMANDIR ?= $(INSTALLROOT)/share/man/man1
- MANMODE ?= 644
- MANDIRMODE ?= 755
- INSTALL ?= install
--LINK_FLAGS ?= -Wl,-E
-+LINK_FLAGS ?= -Wl,-E $(LDFLAGS)
- EXTRAOBJS =
-
- SHARED_PATH = ../shared
-@@ -109,15 +109,15 @@ endif
-
- override CC += -Wall $(FLAGS)
-
--OS_NAME=$(shell uname -s)
--OS_RELEASE=$(shell uname -r)
-+OS_NAME=Linux
-+OS_RELEASE=2.6
-
- OBJS = main.o monitor.o mail.o plugins.o glib.o utils.o sysdeps-unix.o log.o
-
- all: gkrellmd
-
- gkrellmd: $(OBJS) $(EXTRAOBJS)
-- $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd $(LIBS) $(LINK_FLAGS)
-+ $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd $(LINK_FLAGS) $(LIBS)
-
- static: $(OBJS) $(EXTRAOBJS)
- $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd.static -static \
diff --git a/package/gkrellm/patches/patch-server_main_c b/package/gkrellm/patches/patch-server_main_c
new file mode 100644
index 000000000..c02fb8930
--- /dev/null
+++ b/package/gkrellm/patches/patch-server_main_c
@@ -0,0 +1,24 @@
+--- gkrellm-2.3.5.orig/server/main.c 2010-10-02 18:13:29.000000000 +0200
++++ gkrellm-2.3.5/server/main.c 2014-03-23 16:06:59.000000000 +0100
+@@ -39,21 +39,6 @@
+ #include <syslog.h>
+ #endif // !WIN32
+
+-// win32 defines addrinfo but only supports getaddrinfo call on winxp or newer
+-#if !defined(HAVE_GETADDRINFO) && !defined(WIN32)
+-struct addrinfo
+- {
+- int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
+- int ai_family; /* PF_xxx */
+- int ai_socktype; /* SOCK_xxx */
+- int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
+- size_t ai_addrlen; /* length of ai_addr */
+- char *ai_canonname; /* canonical name for hostname */
+- struct sockaddr *ai_addr; /* binary address */
+- struct addrinfo *ai_next; /* next structure in linked list */
+- };
+-#endif // !HAVE_GETADDRINFO
+-
+ #if !defined(IPV6_V6ONLY) && defined(IPV6_BINDV6ONLY)
+ #define IPV6_V6ONLY IPV6_BINDV6ONLY
+ #endif
diff --git a/package/gkrellm/patches/patch-server_sysdeps-unix_c b/package/gkrellm/patches/patch-server_sysdeps-unix_c
new file mode 100644
index 000000000..e69631735
--- /dev/null
+++ b/package/gkrellm/patches/patch-server_sysdeps-unix_c
@@ -0,0 +1,10 @@
+--- gkrellm-2.3.5.orig/server/sysdeps-unix.c 2010-09-14 18:34:34.000000000 +0200
++++ gkrellm-2.3.5/server/sysdeps-unix.c 2014-03-23 16:13:57.000000000 +0100
+@@ -145,6 +145,7 @@ gkrellm_sensors_linux_name_fix(gchar *id
+ #endif
+ }
+
++#define HAVE_GETADDRINFO 1
+ #ifdef SENSORS_COMMON
+ gint
+ gkrellm_connect_to(gchar *server, gint server_port)
diff --git a/package/glib/Makefile b/package/glib/Makefile
index e1ce6bca4..d92294b8e 100644
--- a/package/glib/Makefile
+++ b/package/glib/Makefile
@@ -5,13 +5,14 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= glib
PKG_VERSION:= 2.38.2
-PKG_RELEASE:= 1
+PKG_RELEASE:= 3
PKG_EXTRAVER:= 2.38
PKG_MD5SUM:= 26d1d08e478fc48c181ca8be44f5b69f
PKG_DESCR:= low-level core library that forms the basis of GTK+
PKG_SECTION:= libs
PKG_DEPENDS:= libpthread
-PKG_BUILDDEP:= libffi gettext-tiny libiconv-tiny glib-host zlib libelf dbus
+PKG_BUILDDEP:= glib-host libffi gettext-tiny libiconv-tiny zlib libelf dbus
+HOST_BUILDDEP:= libffi-host gettext-tiny-host libiconv-tiny-host
PKG_URL:= http://www.gtk.org/
PKG_SITES:= http://ftp.gnome.org/pub/gnome/sources/glib/${PKG_EXTRAVER}/
PKG_NOPARALLEL:= 1
@@ -29,9 +30,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call HOST_template,GLIB,glib,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,GLIB,glib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-HOST_STYLE:= auto
TARGET_CPPFLAGS+= -D_GNU_SOURCE
-TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
CONFIGURE_ARGS+= --disable-mem-pools \
--disable-rebuilds \
--disable-fam \
@@ -43,7 +42,9 @@ CONFIGURE_ENV+= glib_cv_long_long_format=ll \
ac_cv_func_posix_getpwuid_r=yes \
ac_cv_func_posix_getgrgid_r=yes
+HOST_STYLE:= auto
HOST_CONFIGURE_ARGS+= --disable-fam \
+ --enable-static \
--disable-compile-warnings
glib-install:
diff --git a/package/glibc/Makefile b/package/glibc/Makefile
index 17c49f3af..9fa4cf7bb 100644
--- a/package/glibc/Makefile
+++ b/package/glibc/Makefile
@@ -32,7 +32,7 @@ INSTALL_STYLE:= manual
do-install:
${INSTALL_DIR} ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH)
$(CP) $(STAGING_TARGET_DIR)/lib/ld*.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH)
- for file in libc libcrypt libdl libm libnsl libresolv libutil libnss_compat libnss_dns libnss_files; do \
+ for file in libc libcrypt libdl libm libnsl libresolv libutil libnss_dns libnss_files; do \
$(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
$(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \
done
diff --git a/package/glproto/Makefile b/package/glproto/Makefile
index 6c3e5e715..437d208e6 100644
--- a/package/glproto/Makefile
+++ b/package/glproto/Makefile
@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= glproto
-PKG_VERSION:= 1.4.15
+PKG_VERSION:= 1.4.17
PKG_RELEASE:= 1
PKG_DESCR:= OpenGL headers
PKG_SECTION:= devel
-PKG_MD5SUM:= be7c4e3c289db480b9e1238c03637eb7
+PKG_MD5SUM:= d69554c1b51a83f2c6976a640819911b
PKG_SITES:= ${MASTER_SITE_XORG}
PKG_OPTS:= dev devonly
diff --git a/package/gnutls/Makefile b/package/gnutls/Makefile
index b160c1d5f..c75f02ea9 100644
--- a/package/gnutls/Makefile
+++ b/package/gnutls/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= gnutls
-PKG_VERSION:= 3.2.9
+PKG_VERSION:= 3.2.12
PKG_RELEASE:= 1
-PKG_MD5SUM:= 9ae2bfa55d4c12dd6005cfb7014977f9
+PKG_MD5SUM:= f507365940de8f095e1d867c6f0842f6
PKG_DESCR:= GNU TLS library
PKG_SECTION:= crypto
PKG_DEPENDS:= libgcrypt libtasn1 zlib libnettle libgmp
@@ -45,7 +45,6 @@ ifneq ($(ADK_PACKAGE_LIBGNUTLS_WITH_CRYPTODEV),)
CONFIGURE_ARGS+= --enable-cryptodev
endif
-TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
TARGET_LDFLAGS+= -pthread
CONFIGURE_ARGS+= --disable-rpath \
--without-libz-prefix \
diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile
index a161d860f..4c21e15ee 100644
--- a/package/gpsd/Makefile
+++ b/package/gpsd/Makefile
@@ -5,12 +5,12 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= gpsd
PKG_VERSION:= 3.10
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= fc5b03aae38b9b5b6880b31924d0ace3
PKG_DESCR:= An interface daemon for GPS receivers
PKG_SECTION:= misc
PKG_DEPENDS:= libpthread
-PKG_BUILDDEP:= ncurses scons-host bzip2-host python2-host
+PKG_BUILDDEP:= scons-host ncurses
PKG_URL:= http://catb.org/gpsd/
PKG_SITES:= http://download-mirror.savannah.gnu.org/releases/gpsd/
diff --git a/package/gpsd/patches/patch-gpsmon_c b/package/gpsd/patches/patch-gpsmon_c
new file mode 100644
index 000000000..ac52866d0
--- /dev/null
+++ b/package/gpsd/patches/patch-gpsmon_c
@@ -0,0 +1,13 @@
+--- gpsd-3.10.orig/gpsmon.c 2013-11-21 09:57:44.000000000 +0100
++++ gpsd-3.10/gpsmon.c 2014-03-16 09:08:34.000000000 +0100
+@@ -505,6 +505,10 @@ static /*@null@*/ char *curses_get_comma
+ static char line[80];
+ int c;
+
++#ifndef __GLIBC__
++#define CTRL(x) (x&037)
++#endif
++
+ c = wgetch(cmdwin);
+ if (c == CTRL('L')) {
+ (void)clearok(stdscr, true);
diff --git a/package/grub-bin/Makefile b/package/grub-bin/Makefile
index 7b52cdafa..352c2b572 100644
--- a/package/grub-bin/Makefile
+++ b/package/grub-bin/Makefile
@@ -18,7 +18,6 @@ PKG_ARCH_DEPENDS:= x86 x86_64
PKG_CFLINE_GRUB_BIN:= select BUSYBOX_FEATURE_STAT_FORMAT@
PKG_CFLINE_GRUB_BIN+= depends on !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS
-PKG_DFLT_GRUB_BIN:= y if !ADK_TOOLCHAIN_ONLY && !ADK_TOOLCHAIN_ARCHIVE
include ${TOPDIR}/mk/package.mk
diff --git a/package/hdparm/Makefile b/package/hdparm/Makefile
index 61925e59c..91d0d0c03 100644
--- a/package/hdparm/Makefile
+++ b/package/hdparm/Makefile
@@ -7,7 +7,7 @@ PKG_NAME:= hdparm
PKG_VERSION:= 9.43
PKG_RELEASE:= 1
PKG_MD5SUM:= f73233be118d86c779a8463d8b6a3cdb
-PKG_DESCR:= get/set ATA drive parameters
+PKG_DESCR:= get/set ATA/SATA drive parameters
PKG_SECTION:= fs
PKG_URL:= http://sourceforge.net/projects/hdparm
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=hdparm/}
diff --git a/package/heirloom-cpio/Makefile b/package/heirloom-cpio/Makefile
new file mode 100644
index 000000000..a91b71ecf
--- /dev/null
+++ b/package/heirloom-cpio/Makefile
@@ -0,0 +1,32 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= heirloom-cpio
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 1
+PKG_DESCR:= patched version of heirloom cpio
+PKG_SECTION:= archive
+
+PKG_CFLINE_HEIRLOOM_CPIO:= depends on ADK_HOST_ONLY
+
+NO_DISTFILES:= 1
+
+include ${TOPDIR}/mk/host.mk
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call HOST_template,HEIRLOOM_CPIO,heirloom-cpio,${PKG_VERSION}-${PKG_RELEASE}))
+
+HOST_STYLE:= manual
+
+host-build:
+ (cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+
+heirloom-cpio-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/cpio ${STAGING_HOST_DIR}/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/heirloom-cpio/src/Makefile b/package/heirloom-cpio/src/Makefile
new file mode 100644
index 000000000..ecaf82243
--- /dev/null
+++ b/package/heirloom-cpio/src/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+all: cpio
+
+SRCS:= ib_open.c \
+ ib_close.c \
+ ib_read.c \
+ ib_alloc.c \
+ ib_free.c \
+ ib_getlin.c \
+ sfile.c \
+ gmatch.c \
+ sigset.c \
+ memalign.c \
+ version.c \
+ blast.c \
+ crc32.c \
+ expand.c \
+ explode.c \
+ flags.c \
+ inflate.c \
+ unshrink.c \
+ nonpax.c \
+ cpio.c
+
+cpio: ${SRCS}
+ $(CC) $(CFLAGS_FOR_BUILD) -D_GNU_SOURCE -I. -o $@ $^
diff --git a/tools/cpio/src/_alloca.h b/package/heirloom-cpio/src/_alloca.h
index dc2afe5b4..dc2afe5b4 100644
--- a/tools/cpio/src/_alloca.h
+++ b/package/heirloom-cpio/src/_alloca.h
diff --git a/tools/cpio/src/_malloc.h b/package/heirloom-cpio/src/_malloc.h
index 1693e3673..1693e3673 100644
--- a/tools/cpio/src/_malloc.h
+++ b/package/heirloom-cpio/src/_malloc.h
diff --git a/tools/cpio/src/_utmpx.h b/package/heirloom-cpio/src/_utmpx.h
index c32bd9527..c32bd9527 100644
--- a/tools/cpio/src/_utmpx.h
+++ b/package/heirloom-cpio/src/_utmpx.h
diff --git a/tools/cpio/src/asciitype.c b/package/heirloom-cpio/src/asciitype.c
index f7f322173..f7f322173 100644
--- a/tools/cpio/src/asciitype.c
+++ b/package/heirloom-cpio/src/asciitype.c
diff --git a/tools/cpio/src/asciitype.h b/package/heirloom-cpio/src/asciitype.h
index 6ac1961a1..6ac1961a1 100644
--- a/tools/cpio/src/asciitype.h
+++ b/package/heirloom-cpio/src/asciitype.h
diff --git a/tools/cpio/src/atoll.h b/package/heirloom-cpio/src/atoll.h
index 8283aff64..8283aff64 100644
--- a/tools/cpio/src/atoll.h
+++ b/package/heirloom-cpio/src/atoll.h
diff --git a/tools/cpio/src/blank.h b/package/heirloom-cpio/src/blank.h
index 1ab3d57b8..1ab3d57b8 100644
--- a/tools/cpio/src/blank.h
+++ b/package/heirloom-cpio/src/blank.h
diff --git a/tools/cpio/src/blast.c b/package/heirloom-cpio/src/blast.c
index b62efd585..b62efd585 100644
--- a/tools/cpio/src/blast.c
+++ b/package/heirloom-cpio/src/blast.c
diff --git a/tools/cpio/src/blast.h b/package/heirloom-cpio/src/blast.h
index 0c16d1391..0c16d1391 100644
--- a/tools/cpio/src/blast.h
+++ b/package/heirloom-cpio/src/blast.h
diff --git a/tools/cpio/src/cpio.1 b/package/heirloom-cpio/src/cpio.1
index 9c8b1f98c..9c8b1f98c 100644
--- a/tools/cpio/src/cpio.1
+++ b/package/heirloom-cpio/src/cpio.1
diff --git a/tools/cpio/src/cpio.c b/package/heirloom-cpio/src/cpio.c
index e5090e4c9..e5090e4c9 100644
--- a/tools/cpio/src/cpio.c
+++ b/package/heirloom-cpio/src/cpio.c
diff --git a/tools/cpio/src/cpio.h b/package/heirloom-cpio/src/cpio.h
index 131a3d388..131a3d388 100644
--- a/tools/cpio/src/cpio.h
+++ b/package/heirloom-cpio/src/cpio.h
diff --git a/tools/cpio/src/crc32.c b/package/heirloom-cpio/src/crc32.c
index 084cb52cf..084cb52cf 100644
--- a/tools/cpio/src/crc32.c
+++ b/package/heirloom-cpio/src/crc32.c
diff --git a/tools/cpio/src/expand.c b/package/heirloom-cpio/src/expand.c
index 5a5233f3e..5a5233f3e 100644
--- a/tools/cpio/src/expand.c
+++ b/package/heirloom-cpio/src/expand.c
diff --git a/tools/cpio/src/explode.c b/package/heirloom-cpio/src/explode.c
index 863dbf672..863dbf672 100644
--- a/tools/cpio/src/explode.c
+++ b/package/heirloom-cpio/src/explode.c
diff --git a/tools/cpio/src/flags.c b/package/heirloom-cpio/src/flags.c
index e06c8e80d..e06c8e80d 100644
--- a/tools/cpio/src/flags.c
+++ b/package/heirloom-cpio/src/flags.c
diff --git a/tools/cpio/src/getdir.c b/package/heirloom-cpio/src/getdir.c
index 245b7641e..245b7641e 100644
--- a/tools/cpio/src/getdir.c
+++ b/package/heirloom-cpio/src/getdir.c
diff --git a/tools/cpio/src/getdir.h b/package/heirloom-cpio/src/getdir.h
index 29d107b6f..29d107b6f 100644
--- a/tools/cpio/src/getdir.h
+++ b/package/heirloom-cpio/src/getdir.h
diff --git a/tools/cpio/src/getopt.c b/package/heirloom-cpio/src/getopt.c
index 0a68ac8e9..0a68ac8e9 100644
--- a/tools/cpio/src/getopt.c
+++ b/package/heirloom-cpio/src/getopt.c
diff --git a/tools/cpio/src/gmatch.c b/package/heirloom-cpio/src/gmatch.c
index a2c5eb7ba..a2c5eb7ba 100644
--- a/tools/cpio/src/gmatch.c
+++ b/package/heirloom-cpio/src/gmatch.c
diff --git a/tools/cpio/src/ib_alloc.c b/package/heirloom-cpio/src/ib_alloc.c
index 4020940ce..4020940ce 100644
--- a/tools/cpio/src/ib_alloc.c
+++ b/package/heirloom-cpio/src/ib_alloc.c
diff --git a/tools/cpio/src/ib_close.c b/package/heirloom-cpio/src/ib_close.c
index 946bb9ef6..946bb9ef6 100644
--- a/tools/cpio/src/ib_close.c
+++ b/package/heirloom-cpio/src/ib_close.c
diff --git a/tools/cpio/src/ib_free.c b/package/heirloom-cpio/src/ib_free.c
index 72143afef..72143afef 100644
--- a/tools/cpio/src/ib_free.c
+++ b/package/heirloom-cpio/src/ib_free.c
diff --git a/tools/cpio/src/ib_getlin.c b/package/heirloom-cpio/src/ib_getlin.c
index ddee226b4..ddee226b4 100644
--- a/tools/cpio/src/ib_getlin.c
+++ b/package/heirloom-cpio/src/ib_getlin.c
diff --git a/tools/cpio/src/ib_getw.c b/package/heirloom-cpio/src/ib_getw.c
index b7f2e6762..b7f2e6762 100644
--- a/tools/cpio/src/ib_getw.c
+++ b/package/heirloom-cpio/src/ib_getw.c
diff --git a/tools/cpio/src/ib_open.c b/package/heirloom-cpio/src/ib_open.c
index 18e09c776..18e09c776 100644
--- a/tools/cpio/src/ib_open.c
+++ b/package/heirloom-cpio/src/ib_open.c
diff --git a/tools/cpio/src/ib_popen.c b/package/heirloom-cpio/src/ib_popen.c
index 9aa873042..9aa873042 100644
--- a/tools/cpio/src/ib_popen.c
+++ b/package/heirloom-cpio/src/ib_popen.c
diff --git a/tools/cpio/src/ib_read.c b/package/heirloom-cpio/src/ib_read.c
index 3794f3e95..3794f3e95 100644
--- a/tools/cpio/src/ib_read.c
+++ b/package/heirloom-cpio/src/ib_read.c
diff --git a/tools/cpio/src/ib_seek.c b/package/heirloom-cpio/src/ib_seek.c
index 48b2f99bc..48b2f99bc 100644
--- a/tools/cpio/src/ib_seek.c
+++ b/package/heirloom-cpio/src/ib_seek.c
diff --git a/tools/cpio/src/iblok.h b/package/heirloom-cpio/src/iblok.h
index 66964627f..66964627f 100644
--- a/tools/cpio/src/iblok.h
+++ b/package/heirloom-cpio/src/iblok.h
diff --git a/tools/cpio/src/inflate.c b/package/heirloom-cpio/src/inflate.c
index 2c6d3e59f..2c6d3e59f 100644
--- a/tools/cpio/src/inflate.c
+++ b/package/heirloom-cpio/src/inflate.c
diff --git a/tools/cpio/src/mbtowi.h b/package/heirloom-cpio/src/mbtowi.h
index 525ad08d1..525ad08d1 100644
--- a/tools/cpio/src/mbtowi.h
+++ b/package/heirloom-cpio/src/mbtowi.h
diff --git a/tools/cpio/src/memalign.c b/package/heirloom-cpio/src/memalign.c
index 268949b20..268949b20 100644
--- a/tools/cpio/src/memalign.c
+++ b/package/heirloom-cpio/src/memalign.c
diff --git a/tools/cpio/src/memalign.h b/package/heirloom-cpio/src/memalign.h
index edaef031b..edaef031b 100644
--- a/tools/cpio/src/memalign.h
+++ b/package/heirloom-cpio/src/memalign.h
diff --git a/tools/cpio/src/msgselect.h b/package/heirloom-cpio/src/msgselect.h
index 94a5daa9f..94a5daa9f 100644
--- a/tools/cpio/src/msgselect.h
+++ b/package/heirloom-cpio/src/msgselect.h
diff --git a/tools/cpio/src/nonpax.c b/package/heirloom-cpio/src/nonpax.c
index d0eb585b7..d0eb585b7 100644
--- a/tools/cpio/src/nonpax.c
+++ b/package/heirloom-cpio/src/nonpax.c
diff --git a/tools/cpio/src/oblok.c b/package/heirloom-cpio/src/oblok.c
index 38859ba6d..38859ba6d 100644
--- a/tools/cpio/src/oblok.c
+++ b/package/heirloom-cpio/src/oblok.c
diff --git a/tools/cpio/src/oblok.h b/package/heirloom-cpio/src/oblok.h
index 1ee91b1c5..1ee91b1c5 100644
--- a/tools/cpio/src/oblok.h
+++ b/package/heirloom-cpio/src/oblok.h
diff --git a/tools/cpio/src/pathconf.c b/package/heirloom-cpio/src/pathconf.c
index a6b91ef86..a6b91ef86 100644
--- a/tools/cpio/src/pathconf.c
+++ b/package/heirloom-cpio/src/pathconf.c
diff --git a/tools/cpio/src/pathconf.h b/package/heirloom-cpio/src/pathconf.h
index 79696b6da..79696b6da 100644
--- a/tools/cpio/src/pathconf.h
+++ b/package/heirloom-cpio/src/pathconf.h
diff --git a/tools/cpio/src/pax.1 b/package/heirloom-cpio/src/pax.1
index 4fb9206f9..4fb9206f9 100644
--- a/tools/cpio/src/pax.1
+++ b/package/heirloom-cpio/src/pax.1
diff --git a/tools/cpio/src/pax.c b/package/heirloom-cpio/src/pax.c
index 50632b6b1..50632b6b1 100644
--- a/tools/cpio/src/pax.c
+++ b/package/heirloom-cpio/src/pax.c
diff --git a/tools/cpio/src/pfmt.c b/package/heirloom-cpio/src/pfmt.c
index 8adc22f23..8adc22f23 100644
--- a/tools/cpio/src/pfmt.c
+++ b/package/heirloom-cpio/src/pfmt.c
diff --git a/tools/cpio/src/pfmt.h b/package/heirloom-cpio/src/pfmt.h
index 012667b0b..012667b0b 100644
--- a/tools/cpio/src/pfmt.h
+++ b/package/heirloom-cpio/src/pfmt.h
diff --git a/tools/cpio/src/pfmt_label.c b/package/heirloom-cpio/src/pfmt_label.c
index 5b1a53f0a..5b1a53f0a 100644
--- a/tools/cpio/src/pfmt_label.c
+++ b/package/heirloom-cpio/src/pfmt_label.c
diff --git a/tools/cpio/src/regexp.h b/package/heirloom-cpio/src/regexp.h
index 5b1fee5e6..5b1fee5e6 100644
--- a/tools/cpio/src/regexp.h
+++ b/package/heirloom-cpio/src/regexp.h
diff --git a/tools/cpio/src/regexpr.c b/package/heirloom-cpio/src/regexpr.c
index 40dceb525..40dceb525 100644
--- a/tools/cpio/src/regexpr.c
+++ b/package/heirloom-cpio/src/regexpr.c
diff --git a/tools/cpio/src/regexpr.h b/package/heirloom-cpio/src/regexpr.h
index 74f4a1426..74f4a1426 100644
--- a/tools/cpio/src/regexpr.h
+++ b/package/heirloom-cpio/src/regexpr.h
diff --git a/tools/cpio/src/setlabel.c b/package/heirloom-cpio/src/setlabel.c
index a1db0646e..a1db0646e 100644
--- a/tools/cpio/src/setlabel.c
+++ b/package/heirloom-cpio/src/setlabel.c
diff --git a/tools/cpio/src/setuxlabel.c b/package/heirloom-cpio/src/setuxlabel.c
index 9d304869e..9d304869e 100644
--- a/tools/cpio/src/setuxlabel.c
+++ b/package/heirloom-cpio/src/setuxlabel.c
diff --git a/tools/cpio/src/sfile.c b/package/heirloom-cpio/src/sfile.c
index 089d85fdf..089d85fdf 100644
--- a/tools/cpio/src/sfile.c
+++ b/package/heirloom-cpio/src/sfile.c
diff --git a/tools/cpio/src/sfile.h b/package/heirloom-cpio/src/sfile.h
index 53d832a6f..53d832a6f 100644
--- a/tools/cpio/src/sfile.h
+++ b/package/heirloom-cpio/src/sfile.h
diff --git a/tools/cpio/src/sighold.c b/package/heirloom-cpio/src/sighold.c
index bae3bc393..bae3bc393 100644
--- a/tools/cpio/src/sighold.c
+++ b/package/heirloom-cpio/src/sighold.c
diff --git a/tools/cpio/src/sigignore.c b/package/heirloom-cpio/src/sigignore.c
index 6938ef676..6938ef676 100644
--- a/tools/cpio/src/sigignore.c
+++ b/package/heirloom-cpio/src/sigignore.c
diff --git a/tools/cpio/src/signal.c b/package/heirloom-cpio/src/signal.c
index 1f9d51cb7..1f9d51cb7 100644
--- a/tools/cpio/src/signal.c
+++ b/package/heirloom-cpio/src/signal.c
diff --git a/tools/cpio/src/sigpause.c b/package/heirloom-cpio/src/sigpause.c
index 504a5ed4d..504a5ed4d 100644
--- a/tools/cpio/src/sigpause.c
+++ b/package/heirloom-cpio/src/sigpause.c
diff --git a/tools/cpio/src/sigrelse.c b/package/heirloom-cpio/src/sigrelse.c
index d74de74bf..d74de74bf 100644
--- a/tools/cpio/src/sigrelse.c
+++ b/package/heirloom-cpio/src/sigrelse.c
diff --git a/tools/cpio/src/sigset.c b/package/heirloom-cpio/src/sigset.c
index d561d541d..d561d541d 100644
--- a/tools/cpio/src/sigset.c
+++ b/package/heirloom-cpio/src/sigset.c
diff --git a/tools/cpio/src/sigset.h b/package/heirloom-cpio/src/sigset.h
index ada73a884..ada73a884 100644
--- a/tools/cpio/src/sigset.h
+++ b/package/heirloom-cpio/src/sigset.h
diff --git a/tools/cpio/src/strtol.c b/package/heirloom-cpio/src/strtol.c
index cd8ecfe7a..cd8ecfe7a 100644
--- a/tools/cpio/src/strtol.c
+++ b/package/heirloom-cpio/src/strtol.c
diff --git a/tools/cpio/src/unshrink.c b/package/heirloom-cpio/src/unshrink.c
index 61f5c507c..61f5c507c 100644
--- a/tools/cpio/src/unshrink.c
+++ b/package/heirloom-cpio/src/unshrink.c
diff --git a/tools/cpio/src/unzip.h b/package/heirloom-cpio/src/unzip.h
index d53f81024..d53f81024 100644
--- a/tools/cpio/src/unzip.h
+++ b/package/heirloom-cpio/src/unzip.h
diff --git a/tools/cpio/src/utmpx.c b/package/heirloom-cpio/src/utmpx.c
index d88a627a7..d88a627a7 100644
--- a/tools/cpio/src/utmpx.c
+++ b/package/heirloom-cpio/src/utmpx.c
diff --git a/tools/cpio/src/version.c b/package/heirloom-cpio/src/version.c
index a9d4a4681..a9d4a4681 100644
--- a/tools/cpio/src/version.c
+++ b/package/heirloom-cpio/src/version.c
diff --git a/tools/cpio/src/vpfmt.c b/package/heirloom-cpio/src/vpfmt.c
index fdbb4ccb0..fdbb4ccb0 100644
--- a/tools/cpio/src/vpfmt.c
+++ b/package/heirloom-cpio/src/vpfmt.c
diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile
index 0b8d3aa7a..99ca40234 100644
--- a/package/hostapd/Makefile
+++ b/package/hostapd/Makefile
@@ -16,7 +16,7 @@ PKG_SITES:= http://hostap.epitest.fi/releases/
PKG_MULTI:= 1
PKG_SUBPKGS:= HOSTAPD HOSTAPD_UTILS
-PKG_CHOICES_HOSTAPD:= WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_HOSTAPD:= WITH_GNUTLS WITH_OPENSSL
PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
PKGCS_WITH_OPENSSL:= libopenssl
PKGCB_WITH_OPENSSL:= openssl
diff --git a/package/igmpproxy/patches/patch-src_igmpproxy_h b/package/igmpproxy/patches/patch-src_igmpproxy_h
new file mode 100644
index 000000000..0d2bbbc4d
--- /dev/null
+++ b/package/igmpproxy/patches/patch-src_igmpproxy_h
@@ -0,0 +1,10 @@
+--- igmpproxy-0.1.orig/src/igmpproxy.h 2009-10-05 20:19:26.000000000 +0200
++++ igmpproxy-0.1/src/igmpproxy.h 2014-03-26 18:05:47.000000000 +0100
+@@ -48,6 +48,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <sys/ioctl.h>
+ #include <sys/param.h>
+
diff --git a/package/inputproto/Makefile b/package/inputproto/Makefile
index 53180cfbe..6f873ba0b 100644
--- a/package/inputproto/Makefile
+++ b/package/inputproto/Makefile
@@ -4,12 +4,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= inputproto
-PKG_VERSION:= 2.2
+PKG_VERSION:= 2.3
PKG_RELEASE:= 1
PKG_DESCR:= X Input Extension headers
PKG_SECTION:= devel
PKG_BUILDDEP:= inputproto-host
-PKG_MD5SUM:= e0047823230413e67d74e92af77fbe58
+PKG_MD5SUM:= 5ea366d32a9a78d6204a47ea35d9dc5c
PKG_SITES:= ${MASTER_SITE_XORG}
PKG_OPTS:= dev devonly
diff --git a/package/ipcad/Makefile b/package/ipcad/Makefile
index 5ee22cba2..57b4d7111 100644
--- a/package/ipcad/Makefile
+++ b/package/ipcad/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= ipcad
PKG_VERSION:= 3.7.3
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 125605249958894148ec26d3c88189f5
PKG_DESCR:= IP Cisco Accounting Daemon
PKG_SECTION:= net
diff --git a/package/ipcad/patches/patch-Makefile b/package/ipcad/patches/patch-Makefile
new file mode 100644
index 000000000..8ced9f13a
--- /dev/null
+++ b/package/ipcad/patches/patch-Makefile
@@ -0,0 +1,169 @@
+--- ipcad-3.7.3.orig/Makefile 2007-04-22 10:08:45.000000000 +0200
++++ ipcad-3.7.3/Makefile 2014-03-23 17:59:56.000000000 +0100
+@@ -1,4 +1,163 @@
+-all: bootstrap
+
+-bootstrap:
+- ./configure && make
++prefix= /usr
++exec_prefix= ${prefix}
++bindir= /usr/bin
++sysconfdir= /etc
++datadir= /usr/share
++
++CC= /home/wbx/hudson/toolchain_x86_64-linux-gnu/usr/bin/arm-openadk-linux-muslgnueabihf-gcc
++LDFLAGS= -L/home/wbx/hudson/target_arm_musl_eabihf/lib -L/home/wbx/hudson/target_arm_musl_eabihf/usr/lib -Wl,-O1 -Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link -Wl,/home/wbx/hudson/target_arm_musl_eabihf/usr/lib -Wl,-z,relro,-z,now
++LIBS= -lpcap
++CFLAGS= -march=armv6 -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -fwrapv -fno-ident -fhonour-copts -fomit-frame-pointer -Os -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables -g3 -DHAVE_CONFIG_H -W -Wall
++CPPFLAGS=-DIPCAD_VERSION=\"3.7.3\"
++CPPFLAGS+=-DCONFIG_FILE=\"${sysconfdir}/ipcad.conf\"
++CPPFLAGS+=-DHAVE_CONFIG_H -D_REENTRANT -D_THREAD_SAFE
++CPPFLAGS+=-DPSRC_pcap -DIFST_linux
++
++YACC=bison -y
++LEX=flex
++INSTALL=/usr/bin/install -c
++
++MANROOT=/usr/share/man/man
++MAN8=${MANROOT}8
++MAN5=${MANROOT}5
++
++NROFF= groff -Tascii -mandoc
++
++PACKAGE=ipcad
++TARGETS=ipcad
++VERSION=3.7.3
++
++IPCAD_OBJS= main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o
++IPCAD_OBJS+= ifst_linux.o # Interface statistics
++IPCAD_OBJS+= ifs_list.o # Interface statistics
++IPCAD_OBJS+= loop-pcap.o # Method of capturing
++IPCAD_OBJS+= loop-file.o # Method of capturing
++IPCAD_OBJS+= loop-divert.o # Method of capturing
++IPCAD_OBJS+= loop-dynamic.o # Method of capturing
++IPCAD_OBJS+= loop-ulog.o loop-ipq.o # Methods of capturing
++IPCAD_OBJS+= psrc.o psrc-pcap.o # Initialize capturers
++IPCAD_OBJS+= psrc-ipq.o psrc-ulog.o # Initialize capturers
++IPCAD_OBJS+= psrc-file.o # Initialize capturers
++IPCAD_OBJS+= psrc-dynamic.o # Initialize capturers
++IPCAD_OBJS+= psrc-divert.o # Initialize capturers
++IPCAD_OBJS+= wrap_oclose.o # Special file descriptors cache
++IPCAD_OBJS+= genhash.o # General hashing
++
++all: ${TARGETS} man
++
++ipcad: ${IPCAD_OBJS}
++ ${CC} ${CFLAGS} -o $@ ${IPCAD_OBJS} ${LDFLAGS} ${LIBS}
++
++.SUFFIXES:
++.SUFFIXES: .o .c .0 .8 .5
++
++.c.o:
++ ${CC} ${CPPFLAGS} ${CFLAGS} -o $@ -c $<
++
++.8.0:
++ ${NROFF} $< > $@
++
++.5.0:
++ ${NROFF} $< > $@
++
++cfgy.h cfgy.c: cfg.y
++ ${YACC} -p ipcacfg -d cfg.y
++ @mv y.tab.c cfgy.c
++ @mv y.tab.h cfgy.h
++
++cshelly.h cshelly.c: cshell.y
++ ${YACC} -p CS -d cshell.y
++ @mv y.tab.c cshelly.c
++ @mv y.tab.h cshelly.h
++
++cslex.c: cslex.l
++ ${LEX} -s -p -Cem -ocslex.c -PCS cslex.l
++
++cfglex.c: cfglex.l
++ ${LEX} -s -p -Cem -ocfglex.c -Pipcacfg cfglex.l
++
++
++man: ipcad.8 ipcad.conf.5
++
++distdir = $(PACKAGE)-$(VERSION)
++distdir:
++ rm -rf $(distdir)
++ mkdir $(distdir)
++ cp *.c *.h $(distdir)
++ cp ipcad.8 ipcad.conf.5 $(distdir)
++ cp *.y *.l $(distdir)
++ cp *.in configure install-sh $(distdir)
++ cp ipcad.conf.default $(distdir)
++ cp ipcad.conf.simple $(distdir)
++ cp ipcad.spec.in $(distdir)
++ cp Makefile.in Makefile $(distdir)
++ cp ChangeLog INSTALL README TODO BUGS AUTHORS COPYING FAQ $(distdir)
++ cd $(distdir) && make distclean
++
++dist: distdir
++ tar chof - $(distdir) | GZIP="--best" gzip -c > $(distdir).tar.gz
++ rm -rf $(distdir)
++
++clean:
++ rm -f *.o ${TARGETS} *.core 1
++ rm -f *.0
++
++distclean: clean
++ rm -f config.h
++ rm -f config.cache config.log config.status
++ rm -f Makefile
++ rm -f $(distdir).tar.gz
++ rm -f ipcad.spec
++ (echo "all: bootstrap"; echo; echo "bootstrap:"; \
++ echo " ./configure && make") > Makefile
++
++maintainer-clean: distclean
++ @echo "This command is intended for maintainers to use; it"
++ @echo "deletes files that may need special tools to rebuild."
++ rm -f Makefile
++ rm -f *.tab.* cfgy.? *lex.c
++ rm -f config.h.in configure
++
++install: all install-bin install-conf
++
++install-bin:
++ @${INSTALL} -d $(DESTDIR)${bindir}
++ ${INSTALL} ipcad $(DESTDIR)${bindir}
++
++install-man: man
++ ${INSTALL} -m 444 ipcad.8 $(DESTDIR)${MAN8}/ipcad.8
++ ${INSTALL} -m 444 ipcad.conf.5 $(DESTDIR)${MAN5}/ipcad.conf.5
++
++install-conf:
++ @${INSTALL} -d $(DESTDIR)${sysconfdir}
++ ${INSTALL} -m 644 ipcad.conf.simple $(DESTDIR)${sysconfdir}/ipcad.conf.simple
++ -@diff ${sysconfdir}/ipcad.conf \
++ ${sysconfdir}/ipcad.conf.default >/dev/null 2>&1; \
++ if [ "$$?" -eq 0 ] || [ ! -f ${sysconfdir}/ipcad.conf ]; then \
++ echo ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ echo ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf; \
++ ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf; \
++ echo "**********************************************"; \
++ echo "* Please customize ${sysconfdir}/ipcad.conf *"; \
++ echo "**********************************************"; \
++ else \
++ echo ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ echo "*********************************************"; \
++ echo "* Updated ${sysconfdir}/ipcad.conf.default *"; \
++ echo "*********************************************"; \
++ fi
++ @echo ""
++ @echo "Now you might want to 'make install-man'"
++ @echo ""
++
++
++uninstall:
++ rm -f ${bindir}/ipcad
++ rm -f ${sysconfdir}/ipcad.conf.default
++ rm -f ${sysconfdir}/ipcad.conf.simple
++ rm -f ${MAN8}/ipcad.8
++ rm -f ${MAN5}/ipcad.conf.5
++
diff --git a/package/ipcad/patches/patch-Makefile_in b/package/ipcad/patches/patch-Makefile_in
index 40bcdf546..2fb2eaece 100644
--- a/package/ipcad/patches/patch-Makefile_in
+++ b/package/ipcad/patches/patch-Makefile_in
@@ -1,5 +1,5 @@
--- ipcad-3.7.3.orig/Makefile.in 2007-04-22 10:08:45.000000000 +0200
-+++ ipcad-3.7.3/Makefile.in 2011-01-11 17:16:15.000000000 +0100
++++ ipcad-3.7.3/Makefile.in 2014-03-23 17:58:49.000000000 +0100
@@ -6,10 +6,10 @@ sysconfdir= @sysconfdir@
datadir= @datadir@
@@ -15,3 +15,12 @@
CPPFLAGS+=-DCONFIG_FILE=\"${sysconfdir}/ipcad.conf\"
CPPFLAGS+=@DEFS@ -D_REENTRANT -D_THREAD_SAFE
CPPFLAGS+=-DPSRC_@PSRC@ -DIFST_@IFST@
+@@ -28,7 +28,7 @@ PACKAGE=ipcad
+ TARGETS=ipcad
+ VERSION=@IPCAD_VERSION@
+
+-IPCAD_OBJS= main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o rsh.o rshp.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o
++IPCAD_OBJS= main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o
+ IPCAD_OBJS+= ifst_@IFST@.o # Interface statistics
+ IPCAD_OBJS+= ifs_list.o # Interface statistics
+ IPCAD_OBJS+= loop-@PSRC@.o # Method of capturing
diff --git a/package/ipcad/patches/patch-cfg_y b/package/ipcad/patches/patch-cfg_y
new file mode 100644
index 000000000..11fbc7564
--- /dev/null
+++ b/package/ipcad/patches/patch-cfg_y
@@ -0,0 +1,60 @@
+--- ipcad-3.7.3.orig/cfg.y 2007-04-22 10:08:45.000000000 +0200
++++ ipcad-3.7.3/cfg.y 2014-03-23 18:03:07.000000000 +0100
+@@ -3,7 +3,6 @@
+ #include "headers.h"
+ #include "cfgvar.h"
+ #include "servers.h"
+-#include "rsh.h"
+ #include "opt.h"
+ #include "storage.h"
+
+@@ -214,49 +213,6 @@ block:
+ | CAPTURE_PORTS DENY {
+ conf->capture_ports = 0;
+ }
+- | RSH ALLOW at_ip {
+- if(add_server(rsh_server, "RSH Server", &($3), 514))
+- return yyerror("Failed to install RSH server");
+- fprintf(stderr, "Configured RSH Server listening at %s\n",
+- inet_ntoa($3));
+- }
+- | RSH DENY at_ip {
+- fprintf(stderr, "Warning: Option at line %d has no effect\n",
+- ipcacfglineno);
+- }
+- | RSH TIMEOUT EQ TOK_STRING {
+- int to_ms;
+- to_ms = atoi($4);
+- free($4);
+- if(to_ms < 0)
+- to_ms = -1; /* INFTIM */
+- else
+- to_ms = to_ms * 1000;
+- rsh_rw_timeout = to_ms;
+- }
+- | RSH TOK_STRING privlevel {
+- cfg_add_rsh_host("", $2, $3);
+- free($2);
+- }
+- | RSH AT TOK_STRING privlevel {
+- cfg_add_rsh_host("", $3, $4);
+- free($3);
+- }
+- | RSH TOK_STRING AT TOK_STRING privlevel {
+- cfg_add_rsh_host($2, $4, $5);
+- free($2); free($4);
+- }
+- | RSH TTL EQ TOK_STRING {
+- conf->rsh_ttl = atoi($4);
+- free($4);
+- }
+- | TTL EQ TOK_STRING {
+- fprintf(stderr, "WARNING: \"ttl = %s;\" at line %d: "
+- "Obsolete syntax. Please use \"rsh ttl = %s;\"\n",
+- $3, ipcacfglineno, $3);
+- conf->rsh_ttl = atoi($3);
+- free($3);
+- }
+ | NetFlow
+ | CHROOT EQ TOK_STRING {
+ if(conf->chroot_to)
diff --git a/package/iptables-snmp/Makefile b/package/iptables-snmp/Makefile
index 28aa8c8ef..130872cf9 100644
--- a/package/iptables-snmp/Makefile
+++ b/package/iptables-snmp/Makefile
@@ -13,6 +13,8 @@ PKG_BUILDDEP:= net-snmp
PKG_URL:= http://www.nobiscuit.com/iptables-snmp/
PKG_SITES:= http://www.nobiscuit.com/iptables-snmp/
+PKG_LIBC_DEPENDS:= uclibc glibc
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,IPTABLES_SNMP,iptables-snmp,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/iptables/Makefile b/package/iptables/Makefile
index 89c9994c9..d9fa9fd2a 100644
--- a/package/iptables/Makefile
+++ b/package/iptables/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= iptables
PKG_VERSION:= 1.4.21
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 536d048c8e8eeebcd9757d0863ebb0c0
PKG_DESCR:= The netfilter firewalling software
PKG_SECTION:= firewall
diff --git a/package/iptables/patches/patch-include_linux_netfilter_xt_osf_h b/package/iptables/patches/patch-include_linux_netfilter_xt_osf_h
deleted file mode 100644
index 00dd62ca8..000000000
--- a/package/iptables/patches/patch-include_linux_netfilter_xt_osf_h
+++ /dev/null
@@ -1,12 +0,0 @@
---- iptables-1.4.20.orig/include/linux/netfilter/xt_osf.h 2013-08-06 17:48:43.000000000 +0200
-+++ iptables-1.4.20/include/linux/netfilter/xt_osf.h 2013-09-04 11:34:30.000000000 +0200
-@@ -21,6 +21,9 @@
- #define _XT_OSF_H
-
- #include <linux/types.h>
-+#if !defined(__GLIBC__)
-+#include <linux/tcp.h>
-+#endif
-
- #define MAXGENRELEN 32
-
diff --git a/package/kbd/Makefile b/package/kbd/Makefile
index 0293849de..7923783ca 100644
--- a/package/kbd/Makefile
+++ b/package/kbd/Makefile
@@ -4,17 +4,22 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= kbd
-PKG_VERSION:= 1.15.3
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 8143e179a0f3c25646ce5085e8777200
+PKG_VERSION:= 2.0.1
+PKG_RELEASE:= 2
+PKG_MD5SUM:= e9f2b7046312c11cec9e52e22f307b6a
PKG_DESCR:= keyboard utility
PKG_SECTION:= utils
-PKG_SITES:= ftp://ftp.altlinux.org/pub/people/legion/kbd/
+PKG_DEPENDS:= libcheck
+PKG_BUILDDEP:= flex-host bison-host check
+PKG_URL:= http://kbd-project.org/
+PKG_SITES:= http://kbd-project.org/download/
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,KBD,kbd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ARGS+= --disable-vlock
+
kbd-install:
$(INSTALL_DIR) $(IDIR_KBD)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/bin/loadkeys \
diff --git a/package/kbd/patches/patch-src_dumpkeys_c b/package/kbd/patches/patch-src_dumpkeys_c
new file mode 100644
index 000000000..f77b2d841
--- /dev/null
+++ b/package/kbd/patches/patch-src_dumpkeys_c
@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/dumpkeys.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/dumpkeys.c 2014-03-24 22:38:21.000000000 +0100
+@@ -3,6 +3,8 @@
+ *
+ * derived from version 0.81 - aeb@cwi.nl
+ */
++
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <ctype.h>
diff --git a/package/kbd/patches/patch-src_kbdinfo_c b/package/kbd/patches/patch-src_kbdinfo_c
new file mode 100644
index 000000000..cd322eb3c
--- /dev/null
+++ b/package/kbd/patches/patch-src_kbdinfo_c
@@ -0,0 +1,46 @@
+--- kbd-2.0.1.orig/src/kbdinfo.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/kbdinfo.c 2014-03-24 13:24:51.000000000 +0100
+@@ -1,6 +1,6 @@
+ #include <stdio.h>
+ #include <errno.h>
+-#include <error.h>
++#include <err.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <linux/kd.h>
+@@ -75,7 +75,7 @@ main(int argc, char **argv) {
+
+ if (!strcasecmp("GETMODE", action)) {
+ if (ioctl(fd, KDGETMODE, &mode) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ switch (mode) {
+ case KD_TEXT: rc = answer("text"); break;
+@@ -84,7 +84,7 @@ main(int argc, char **argv) {
+
+ } else if (!strcasecmp("GKBMODE", action)) {
+ if (ioctl(fd, KDGKBMODE, &mode) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ switch (mode) {
+ case K_RAW: rc = answer("raw"); break;
+@@ -95,7 +95,7 @@ main(int argc, char **argv) {
+
+ } else if (!strcasecmp("GKBMETA", action)) {
+ if (ioctl(fd, KDGKBMETA, &mode) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ switch (mode) {
+ case K_METABIT: rc = answer("metabit"); break;
+@@ -104,7 +104,7 @@ main(int argc, char **argv) {
+
+ } else if (!strcasecmp("GKBLED", action)) {
+ if (ioctl(fd, KDGKBLED, &flags) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ mode = (flags & 0x7);
+
diff --git a/package/kbd/patches/patch-src_kbdrate_c b/package/kbd/patches/patch-src_kbdrate_c
new file mode 100644
index 000000000..8d267789d
--- /dev/null
+++ b/package/kbd/patches/patch-src_kbdrate_c
@@ -0,0 +1,10 @@
+--- kbd-2.0.1.orig/src/kbdrate.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/kbdrate.c 2014-03-24 12:40:34.000000000 +0100
+@@ -68,6 +68,7 @@ beats rebuilding the kernel!
+
+ */
+
++#include <fcntl.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
diff --git a/package/kbd/patches/patch-src_libkeymap_analyze_l b/package/kbd/patches/patch-src_libkeymap_analyze_l
new file mode 100644
index 000000000..56396f23e
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_analyze_l
@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/libkeymap/analyze.l 2013-10-04 15:28:49.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/analyze.l 2014-03-24 22:34:35.000000000 +0100
+@@ -12,6 +12,8 @@
+ %}
+
+ %top {
++#include <stdarg.h>
++#include <stdio.h>
+ #include "keymap.h"
+ int stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner);
+ int stack_pop(struct lk_ctx *ctx, void *scanner);
diff --git a/package/kbd/patches/patch-src_libkeymap_common_c b/package/kbd/patches/patch-src_libkeymap_common_c
new file mode 100644
index 000000000..bbdb8726f
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_common_c
@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/libkeymap/common.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/common.c 2014-03-24 21:30:58.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <string.h>
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
+
diff --git a/package/kbd/patches/patch-src_libkeymap_dump_c b/package/kbd/patches/patch-src_libkeymap_dump_c
new file mode 100644
index 000000000..cf3aca4d8
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_dump_c
@@ -0,0 +1,12 @@
+--- kbd-2.0.1.orig/src/libkeymap/dump.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/dump.c 2014-03-24 21:46:08.000000000 +0100
+@@ -9,6 +9,9 @@
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
++
++#include <sys/types.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
diff --git a/package/kbd/patches/patch-src_libkeymap_kernel_c b/package/kbd/patches/patch-src_libkeymap_kernel_c
new file mode 100644
index 000000000..70cff9735
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_kernel_c
@@ -0,0 +1,13 @@
+--- kbd-2.0.1.orig/src/libkeymap/kernel.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/kernel.c 2014-03-24 21:45:01.000000000 +0100
+@@ -6,7 +6,10 @@
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
++
++#include <stdarg.h>
+ #include <string.h>
++#include <stdio.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
+
diff --git a/package/kbd/patches/patch-src_libkeymap_kmap_c b/package/kbd/patches/patch-src_libkeymap_kmap_c
new file mode 100644
index 000000000..3f945e5da
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_kmap_c
@@ -0,0 +1,10 @@
+--- kbd-2.0.1.orig/src/libkeymap/kmap.c 2013-10-07 16:13:31.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/kmap.c 2014-03-24 21:46:56.000000000 +0100
+@@ -1,4 +1,7 @@
++#include <sys/types.h>
++#include <stdarg.h>
+ #include <stdlib.h>
++#include <stdio.h>
+ #include <string.h>
+
+ #include "nls.h"
diff --git a/package/kbd/patches/patch-src_libkeymap_ksyms_c b/package/kbd/patches/patch-src_libkeymap_ksyms_c
new file mode 100644
index 000000000..13c1be329
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_ksyms_c
@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/libkeymap/ksyms.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/ksyms.c 2014-03-24 22:37:11.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <linux/keyboard.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
diff --git a/package/kbd/patches/patch-src_libkeymap_loadkeys_c b/package/kbd/patches/patch-src_libkeymap_loadkeys_c
new file mode 100644
index 000000000..ca368041b
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_loadkeys_c
@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/libkeymap/loadkeys.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/loadkeys.c 2014-03-24 21:48:35.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <errno.h>
++#include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
diff --git a/package/kbd/patches/patch-src_libkeymap_parser_y b/package/kbd/patches/patch-src_libkeymap_parser_y
new file mode 100644
index 000000000..f06797961
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_parser_y
@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/libkeymap/parser.y 2013-10-07 16:13:39.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/parser.y 2014-03-24 21:49:52.000000000 +0100
+@@ -12,6 +12,8 @@
+ %{
+ #define YY_HEADER_EXPORT_START_CONDITIONS 1
+
++#include <stdarg.h>
++
+ #include "nls.h"
+ #include "kbd.h"
+
diff --git a/package/kbd/patches/patch-src_libkeymap_summary_c b/package/kbd/patches/patch-src_libkeymap_summary_c
new file mode 100644
index 000000000..de2ec90b7
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_summary_c
@@ -0,0 +1,13 @@
+--- kbd-2.0.1.orig/src/libkeymap/summary.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/summary.c 2014-03-24 21:47:48.000000000 +0100
+@@ -6,6 +6,10 @@
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
++
++#include <sys/types.h>
++#include <stdarg.h>
++#include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
diff --git a/package/kbd/patches/patch-src_loadkeys_c b/package/kbd/patches/patch-src_loadkeys_c
new file mode 100644
index 000000000..11d44825f
--- /dev/null
+++ b/package/kbd/patches/patch-src_loadkeys_c
@@ -0,0 +1,10 @@
+--- kbd-2.0.1.orig/src/loadkeys.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/loadkeys.c 2014-03-24 22:39:26.000000000 +0100
+@@ -10,6 +10,7 @@
+ * which should be included with kbd as the file COPYING.
+ */
+
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/kbd/patches/patch-src_openvt_c b/package/kbd/patches/patch-src_openvt_c
new file mode 100644
index 000000000..efb8736cc
--- /dev/null
+++ b/package/kbd/patches/patch-src_openvt_c
@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/openvt.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/openvt.c 2014-03-24 12:48:07.000000000 +0100
+@@ -1,3 +1,5 @@
++#include <fcntl.h>
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <unistd.h>
diff --git a/package/kbd/patches/patch-src_setvtrgb_c b/package/kbd/patches/patch-src_setvtrgb_c
new file mode 100644
index 000000000..fc72c2409
--- /dev/null
+++ b/package/kbd/patches/patch-src_setvtrgb_c
@@ -0,0 +1,70 @@
+--- kbd-2.0.1.orig/src/setvtrgb.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/setvtrgb.c 2014-03-24 13:10:47.000000000 +0100
+@@ -5,7 +5,7 @@
+ #include <sys/ioctl.h>
+ #include <linux/kd.h>
+ #include <errno.h>
+-#include <error.h>
++#include <err.h>
+ #include "kbd.h"
+ #include "getfd.h"
+ #include "nls.h"
+@@ -60,7 +60,7 @@ set_colormap(unsigned char *colormap)
+
+ /* Apply the color map to the tty via ioctl */
+ if (ioctl(fd, PIO_CMAP, colormap) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ close(fd);
+ }
+@@ -72,7 +72,7 @@ parse_file(FILE *fd, const char *filenam
+ unsigned int rows, cols, val;
+
+ if ((cmap = calloc(3 * 16, sizeof(unsigned char))) == NULL)
+- error(EXIT_FAILURE, errno, "calloc");
++ err(EXIT_FAILURE, "calloc");
+
+ for (rows = 0; rows < 3; rows++) {
+ cols = 0;
+@@ -80,26 +80,26 @@ parse_file(FILE *fd, const char *filenam
+ while (cols < 16) {
+ if ((c = fscanf(fd, "%u", &val)) != 1) {
+ if (c == EOF)
+- error(EXIT_FAILURE, errno, "fscanf");
++ err(EXIT_FAILURE, "fscanf");
+
+- error(EXIT_FAILURE, 0, _("Error: %s: Invalid value in field %u in line %u."),
++ err(EXIT_FAILURE, _("Error: %s: Invalid value in field %u in line %u."),
+ filename, rows + 1, cols + 1);
+ }
+
+ cmap[rows + cols * 3] = (unsigned char) val;
+
+ if (cols < 15 && fgetc(fd) != ',')
+- error(EXIT_FAILURE, 0, _("Error: %s: Insufficient number of fields in line %u."),
++ err(EXIT_FAILURE, _("Error: %s: Insufficient number of fields in line %u."),
+ filename, rows + 1);
+ cols++;
+ }
+
+ if ((c = fgetc(fd)) == EOF)
+- error(EXIT_FAILURE, 0, _("Error: %s: Line %u has ended unexpectedly.\n"),
++ err(EXIT_FAILURE, _("Error: %s: Line %u has ended unexpectedly.\n"),
+ filename, rows + 1);
+
+ if (c != '\n')
+- error(EXIT_FAILURE, 0, _("Error: %s: Line %u is too long.\n"),
++ err(EXIT_FAILURE, _("Error: %s: Line %u is too long.\n"),
+ filename, rows + 1);
+ }
+ }
+@@ -141,7 +141,7 @@ main(int argc, char **argv) {
+
+ } else {
+ if ((fd = fopen(file, "r")) == NULL)
+- error(EXIT_FAILURE, errno, "fopen");
++ err(EXIT_FAILURE, "fopen");
+
+ parse_file(fd, file);
+ fclose(fd);
diff --git a/package/kbd/patches/patch-tests_libkeymap-bkeymap_c b/package/kbd/patches/patch-tests_libkeymap-bkeymap_c
new file mode 100644
index 000000000..66247229b
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-bkeymap_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-bkeymap.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-bkeymap.c 2014-03-24 22:43:01.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-charset_c b/package/kbd/patches/patch-tests_libkeymap-charset_c
new file mode 100644
index 000000000..629bc06cd
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-charset_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-charset.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-charset.c 2014-03-24 22:51:27.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-dumpkeys_c b/package/kbd/patches/patch-tests_libkeymap-dumpkeys_c
new file mode 100644
index 000000000..85c242608
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-dumpkeys_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-dumpkeys.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-dumpkeys.c 2014-03-24 22:40:50.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-init_c b/package/kbd/patches/patch-tests_libkeymap-init_c
new file mode 100644
index 000000000..7c9d9f1e1
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-init_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-init.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-init.c 2014-03-24 22:45:25.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-keys_c b/package/kbd/patches/patch-tests_libkeymap-keys_c
new file mode 100644
index 000000000..b2656fa25
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-keys_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-keys.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-keys.c 2014-03-24 22:49:03.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-kmap_c b/package/kbd/patches/patch-tests_libkeymap-kmap_c
new file mode 100644
index 000000000..a07347d55
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-kmap_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-kmap.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-kmap.c 2014-03-24 22:46:30.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-mktable_c b/package/kbd/patches/patch-tests_libkeymap-mktable_c
new file mode 100644
index 000000000..adc5b722d
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-mktable_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-mktable.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-mktable.c 2014-03-24 22:41:52.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-parse_c b/package/kbd/patches/patch-tests_libkeymap-parse_c
new file mode 100644
index 000000000..53293e773
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-parse_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-parse.c 2013-10-07 14:55:01.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-parse.c 2014-03-24 22:50:11.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>
diff --git a/package/kbd/patches/patch-tests_libkeymap-showmaps_c b/package/kbd/patches/patch-tests_libkeymap-showmaps_c
new file mode 100644
index 000000000..29bc6dea9
--- /dev/null
+++ b/package/kbd/patches/patch-tests_libkeymap-showmaps_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-showmaps.c 2013-10-07 16:13:31.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-showmaps.c 2014-03-24 22:44:16.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/kexec-tools/Makefile b/package/kexec-tools/Makefile
index 157d9db03..3ebdc2f6b 100644
--- a/package/kexec-tools/Makefile
+++ b/package/kexec-tools/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= kexec-tools
PKG_VERSION:= 2.0.5
-PKG_RELEASE:= 1
+PKG_RELEASE:= 3
PKG_MD5SUM:= da5887e30eec16895e9d98ef072dc257
PKG_DESCR:= kexec tools
PKG_SECTION:= misc
diff --git a/package/kexec-tools/patches/patch-kexec_kexec_c b/package/kexec-tools/patches/patch-kexec_kexec_c
index 68dc2bee9..8ce2ac370 100644
--- a/package/kexec-tools/patches/patch-kexec_kexec_c
+++ b/package/kexec-tools/patches/patch-kexec_kexec_c
@@ -1,6 +1,6 @@
---- kexec-tools-2.0.2.orig/kexec/kexec.c 2010-07-29 06:19:59.000000000 +0200
-+++ kexec-tools-2.0.2/kexec/kexec.c 2011-09-05 18:50:27.679232756 +0200
-@@ -796,17 +796,14 @@ int k_unload (unsigned long kexec_flags)
+--- kexec-tools-2.0.5.orig/kexec/kexec.c 2013-12-13 01:52:47.000000000 +0100
++++ kexec-tools-2.0.5/kexec/kexec.c 2014-03-18 14:46:58.000000000 +0100
+@@ -807,17 +807,14 @@ static int k_unload (unsigned long kexec
static int my_shutdown(void)
{
char *args[] = {
diff --git a/package/kexec-tools/patches/patch-vmcore-dmesg_vmcore-dmesg_c b/package/kexec-tools/patches/patch-vmcore-dmesg_vmcore-dmesg_c
new file mode 100644
index 000000000..5f6484789
--- /dev/null
+++ b/package/kexec-tools/patches/patch-vmcore-dmesg_vmcore-dmesg_c
@@ -0,0 +1,41 @@
+--- kexec-tools-2.0.5.orig/vmcore-dmesg/vmcore-dmesg.c 2014-01-15 00:51:14.000000000 +0100
++++ kexec-tools-2.0.5/vmcore-dmesg/vmcore-dmesg.c 2014-03-18 15:00:45.000000000 +0100
+@@ -26,14 +26,14 @@ static Elf64_Ehdr ehdr;
+ static Elf64_Phdr *phdr;
+
+ static char osrelease[4096];
+-static loff_t log_buf_vaddr;
+-static loff_t log_end_vaddr;
+-static loff_t log_buf_len_vaddr;
+-static loff_t logged_chars_vaddr;
++static off_t log_buf_vaddr;
++static off_t log_end_vaddr;
++static off_t log_buf_len_vaddr;
++static off_t logged_chars_vaddr;
+
+ /* record format logs */
+-static loff_t log_first_idx_vaddr;
+-static loff_t log_next_idx_vaddr;
++static off_t log_first_idx_vaddr;
++static off_t log_next_idx_vaddr;
+
+ /* struct log size */
+ static uint64_t log_sz;
+@@ -266,7 +266,7 @@ static void scan_vmcoreinfo(char *start,
+ const char *str;
+ const char *name;
+ size_t len;
+- loff_t *vaddr;
++ off_t *vaddr;
+ } symbol[] = {
+ SYMBOL(log_buf),
+ SYMBOL(log_end),
+@@ -344,7 +344,7 @@ static void scan_vmcoreinfo(char *start,
+ }
+ }
+
+-static void scan_notes(int fd, loff_t start, loff_t lsize)
++static void scan_notes(int fd, off_t start, off_t lsize)
+ {
+ char *buf, *last, *note, *next;
+ size_t size;
diff --git a/package/libdrm/Makefile b/package/libdrm/Makefile
index 9ef7660d7..dac18add6 100644
--- a/package/libdrm/Makefile
+++ b/package/libdrm/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libdrm
-PKG_VERSION:= 2.4.44
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 205fbaedfab827a874265420d38547f0
+PKG_VERSION:= 2.4.52
+PKG_RELEASE:= 1
+PKG_MD5SUM:= cb3547ccb435be6d80df68840da6b2ee
PKG_DESCR:= DRM library
PKG_SECTION:= libs
PKG_BUILDDEP:= libpthread-stubs cairo libpciaccess
diff --git a/package/libffi/Makefile b/package/libffi/Makefile
index 0b316720d..a7e957582 100644
--- a/package/libffi/Makefile
+++ b/package/libffi/Makefile
@@ -10,6 +10,7 @@ PKG_MD5SUM:= 45f3b6dbc9ee7c7dfbbbc5feba571529
PKG_DESCR:= Foreign Function Interface library
PKG_SECTION:= libs
PKG_BUILDDEP:= autotool libffi-host
+HOST_BUILDDEP:= autotool
PKG_URL:= http://sourceware.org/libffi/
PKG_SITES:= ftp://sourceware.org/pub/libffi/
PKG_OPTS:= dev
diff --git a/package/liblzo/Makefile b/package/liblzo/Makefile
index 3f79d0317..cd6783111 100644
--- a/package/liblzo/Makefile
+++ b/package/liblzo/Makefile
@@ -9,7 +9,6 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 95380bd4081f85ef08c5209f4107e9f8
PKG_DESCR:= a real-time data compression library
PKG_SECTION:= libs
-PKG_BUILDDEP:= liblzo-host
PKG_URL:= http://www.oberhumer.com/opensource/lzo
PKG_SITES:= http://www.oberhumer.com/opensource/lzo/download/
PKG_LIBNAME:= liblzo
diff --git a/package/libmodplug/Makefile b/package/libmodplug/Makefile
index f08435ee4..421243c03 100644
--- a/package/libmodplug/Makefile
+++ b/package/libmodplug/Makefile
@@ -4,13 +4,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libmodplug
-PKG_VERSION:= 0.8.8.4
-PKG_RELEASE:= 2
-PKG_MD5SUM:= fddc3c704c5489de2a3cf0fedfec59db
+PKG_VERSION:= 0.8.8.5
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 5f30241db109d647781b784e62ddfaa1
PKG_DESCR:= a MOD player library
PKG_SECTION:= libs
PKG_URL:= http://modplug-xmms.sourceforge.net
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=modplug-xmms/libmodplug/0.8.8.4/}
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=modplug-xmms/libmodplug/0.8.8.5/}
PKG_OPTS:= dev
include $(TOPDIR)/mk/package.mk
diff --git a/package/libnetfilter_queue/Makefile b/package/libnetfilter_queue/Makefile
index 40669556d..8e976cb5d 100644
--- a/package/libnetfilter_queue/Makefile
+++ b/package/libnetfilter_queue/Makefile
@@ -15,6 +15,8 @@ PKG_URL:= http://www.netfilter.org/projects/libnetfilter_queue/
PKG_SITES:= http://www.netfilter.org/projects/libnetfilter_queue/files/
PKG_OPTS:= dev
+PKG_LIBC_DEPENDS:= uclibc glibc
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
include $(TOPDIR)/mk/package.mk
diff --git a/package/libpciaccess/Makefile b/package/libpciaccess/Makefile
index 8b598d792..cc2df0005 100644
--- a/package/libpciaccess/Makefile
+++ b/package/libpciaccess/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libpciaccess
-PKG_VERSION:= 0.13.1
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 3a95b70913621840bf8af616ea01d7d9
+PKG_VERSION:= 0.13.2
+PKG_RELEASE:= 1
+PKG_MD5SUM:= c49bd638c78fa4124e11432c1a94b5f4
PKG_DESCR:= X.org PCI access library
PKG_SECTION:= x11/libs
PKG_SITES:= ${MASTER_SITE_XORG}
diff --git a/package/libpciaccess/patches/patch-src_freebsd_pci_c b/package/libpciaccess/patches/patch-src_freebsd_pci_c
new file mode 100644
index 000000000..3a1c22fd1
--- /dev/null
+++ b/package/libpciaccess/patches/patch-src_freebsd_pci_c
@@ -0,0 +1,18 @@
+--- libpciaccess-0.13.2.orig/src/freebsd_pci.c 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/freebsd_pci.c 2014-03-24 13:26:10.476152263 +0100
+@@ -579,6 +579,7 @@ pci_device_freebsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #elif defined(PCI_MAGIC_IO_RANGE)
+ ret->memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
+@@ -588,6 +589,7 @@ pci_device_freebsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #else
+ return NULL;
diff --git a/package/libpciaccess/patches/patch-src_linux_sysfs_c b/package/libpciaccess/patches/patch-src_linux_sysfs_c
index ad31ac509..eb91062c2 100644
--- a/package/libpciaccess/patches/patch-src_linux_sysfs_c
+++ b/package/libpciaccess/patches/patch-src_linux_sysfs_c
@@ -1,14 +1,11 @@
---- libpciaccess-0.13.1.orig/src/linux_sysfs.c 2012-04-09 19:02:57.000000000 +0200
-+++ libpciaccess-0.13.1/src/linux_sysfs.c 2013-12-01 18:26:04.000000000 +0100
-@@ -34,6 +34,7 @@
-
- #define _GNU_SOURCE
-
+--- libpciaccess-0.13.2.orig/src/linux_sysfs.c 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/linux_sysfs.c 2014-03-24 21:01:44.000000000 +0100
+@@ -41,11 +41,12 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+#include <limits.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
-@@ -45,7 +46,7 @@
+ #include <sys/mman.h>
#include <dirent.h>
#include <errno.h>
@@ -17,3 +14,125 @@
#include <sys/io.h>
#else
#define inb(x) -1
+@@ -759,6 +760,7 @@ pci_device_linux_sysfs_open_device_io(st
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 0;
+
+ return ret;
+ }
+@@ -796,6 +798,7 @@ pci_device_linux_sysfs_open_legacy_io(st
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+
+ return ret;
+ }
+@@ -813,10 +816,14 @@ pci_device_linux_sysfs_read32(struct pci
+ {
+ uint32_t ret;
+
+- if (handle->fd > -1)
+- pread(handle->fd, &ret, 4, port + handle->base);
+- else
++ if (handle->fd > -1) {
++ if (handle->is_legacy)
++ pread(handle->fd, &ret, 4, port + handle->base);
++ else
++ pread(handle->fd, &ret, 4, port);
++ } else {
+ ret = inl(port + handle->base);
++ }
+
+ return ret;
+ }
+@@ -826,10 +833,14 @@ pci_device_linux_sysfs_read16(struct pci
+ {
+ uint16_t ret;
+
+- if (handle->fd > -1)
+- pread(handle->fd, &ret, 2, port + handle->base);
+- else
++ if (handle->fd > -1) {
++ if (handle->is_legacy)
++ pread(handle->fd, &ret, 2, port + handle->base);
++ else
++ pread(handle->fd, &ret, 2, port);
++ } else {
+ ret = inw(port + handle->base);
++ }
+
+ return ret;
+ }
+@@ -839,10 +850,14 @@ pci_device_linux_sysfs_read8(struct pci_
+ {
+ uint8_t ret;
+
+- if (handle->fd > -1)
+- pread(handle->fd, &ret, 1, port + handle->base);
+- else
++ if (handle->fd > -1) {
++ if (handle->is_legacy)
++ pread(handle->fd, &ret, 1, port + handle->base);
++ else
++ pread(handle->fd, &ret, 1, port);
++ } else {
+ ret = inb(port + handle->base);
++ }
+
+ return ret;
+ }
+@@ -851,30 +866,42 @@ static void
+ pci_device_linux_sysfs_write32(struct pci_io_handle *handle, uint32_t port,
+ uint32_t data)
+ {
+- if (handle->fd > -1)
+- pwrite(handle->fd, &data, 4, port + handle->base);
+- else
++ if (handle->fd > -1) {
++ if (handle->is_legacy)
++ pwrite(handle->fd, &data, 4, port + handle->base);
++ else
++ pwrite(handle->fd, &data, 4, port);
++ } else {
+ outl(data, port + handle->base);
++ }
+ }
+
+ static void
+ pci_device_linux_sysfs_write16(struct pci_io_handle *handle, uint32_t port,
+ uint16_t data)
+ {
+- if (handle->fd > -1)
+- pwrite(handle->fd, &data, 2, port + handle->base);
+- else
++ if (handle->fd > -1) {
++ if (handle->is_legacy)
++ pwrite(handle->fd, &data, 2, port + handle->base);
++ else
++ pwrite(handle->fd, &data, 2, port);
++ } else {
+ outw(data, port + handle->base);
++ }
+ }
+
+ static void
+ pci_device_linux_sysfs_write8(struct pci_io_handle *handle, uint32_t port,
+ uint8_t data)
+ {
+- if (handle->fd > -1)
+- pwrite(handle->fd, &data, 1, port + handle->base);
+- else
++ if (handle->fd > -1) {
++ if (handle->is_legacy)
++ pwrite(handle->fd, &data, 1, port + handle->base);
++ else
++ pwrite(handle->fd, &data, 1, port);
++ } else {
+ outb(data, port + handle->base);
++ }
+ }
+
+ static int
diff --git a/package/libpciaccess/patches/patch-src_netbsd_pci_c b/package/libpciaccess/patches/patch-src_netbsd_pci_c
new file mode 100644
index 000000000..9b7a31b7e
--- /dev/null
+++ b/package/libpciaccess/patches/patch-src_netbsd_pci_c
@@ -0,0 +1,18 @@
+--- libpciaccess-0.13.2.orig/src/netbsd_pci.c 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/netbsd_pci.c 2014-03-24 13:26:10.484152334 +0100
+@@ -733,6 +733,7 @@ pci_device_netbsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #elif defined(__amd64__)
+ struct x86_64_iopl_args ia;
+@@ -743,6 +744,7 @@ pci_device_netbsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #else
+ return NULL;
diff --git a/package/libpciaccess/patches/patch-src_openbsd_pci_c b/package/libpciaccess/patches/patch-src_openbsd_pci_c
new file mode 100644
index 000000000..0c7180b72
--- /dev/null
+++ b/package/libpciaccess/patches/patch-src_openbsd_pci_c
@@ -0,0 +1,26 @@
+--- libpciaccess-0.13.2.orig/src/openbsd_pci.c 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/openbsd_pci.c 2014-03-24 13:26:10.484152334 +0100
+@@ -412,6 +412,7 @@ pci_device_openbsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #elif defined(__amd64__)
+ struct amd64_iopl_args ia;
+@@ -422,6 +423,7 @@ pci_device_openbsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #elif defined(PCI_MAGIC_IO_RANGE)
+ ret->memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
+@@ -431,6 +433,7 @@ pci_device_openbsd_open_legacy_io(struct
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ #else
+ return NULL;
diff --git a/package/libpciaccess/patches/patch-src_pciaccess_private_h b/package/libpciaccess/patches/patch-src_pciaccess_private_h
new file mode 100644
index 000000000..e3ec7d0f1
--- /dev/null
+++ b/package/libpciaccess/patches/patch-src_pciaccess_private_h
@@ -0,0 +1,10 @@
+--- libpciaccess-0.13.2.orig/src/pciaccess_private.h 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/pciaccess_private.h 2014-03-24 13:26:10.492152406 +0100
+@@ -109,6 +109,7 @@ struct pci_io_handle {
+ pciaddr_t size;
+ void *memory;
+ int fd;
++ int is_legacy;
+ };
+
+ struct pci_device_private {
diff --git a/package/libpciaccess/patches/patch-src_solx_devfs_c b/package/libpciaccess/patches/patch-src_solx_devfs_c
new file mode 100644
index 000000000..f6ee2c03e
--- /dev/null
+++ b/package/libpciaccess/patches/patch-src_solx_devfs_c
@@ -0,0 +1,10 @@
+--- libpciaccess-0.13.2.orig/src/solx_devfs.c 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/solx_devfs.c 2014-03-24 13:26:10.496152442 +0100
+@@ -911,6 +911,7 @@ pci_device_solx_devfs_open_legacy_io(str
+ if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) == 0) {
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+ return ret;
+ }
+ #endif
diff --git a/package/libpciaccess/patches/patch-src_x86_pci_c b/package/libpciaccess/patches/patch-src_x86_pci_c
new file mode 100644
index 000000000..07c18d419
--- /dev/null
+++ b/package/libpciaccess/patches/patch-src_x86_pci_c
@@ -0,0 +1,10 @@
+--- libpciaccess-0.13.2.orig/src/x86_pci.c 2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/x86_pci.c 2014-03-24 13:26:10.496152442 +0100
+@@ -558,6 +558,7 @@ pci_device_x86_open_legacy_io(struct pci
+
+ ret->base = base;
+ ret->size = size;
++ ret->is_legacy = 1;
+
+ return ret;
+ }
diff --git a/package/libpng/Makefile b/package/libpng/Makefile
index ea4c3a1f8..3f16ecf3f 100644
--- a/package/libpng/Makefile
+++ b/package/libpng/Makefile
@@ -4,10 +4,10 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= libpng
-PKG_VERSION:= 1.6.8
+PKG_VERSION:= 1.6.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 29b7065906e2551508a0d7eacd19174e
-PKG_DESCR:= A library for reading/writing PNG images
+PKG_MD5SUM:= b0f0c38a02dc92f70f0053a40abc7e0b
+PKG_DESCR:= library for reading/writing PNG images
PKG_SECTION:= libs
PKG_DEPENDS:= zlib
PKG_BUILDDEP:= zlib
@@ -23,8 +23,6 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBPNG,libpng,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
-
libpng-install:
${INSTALL_DIR} ${IDIR_LIBPNG}/usr/lib
${CP} ${WRKINST}/usr/lib/libpng*.so* ${IDIR_LIBPNG}/usr/lib
diff --git a/package/libpthread/Makefile b/package/libpthread/Makefile
index cdb84d5fe..9d7806bc5 100644
--- a/package/libpthread/Makefile
+++ b/package/libpthread/Makefile
@@ -36,6 +36,7 @@ libpthread-install:
ifeq ($(ADK_TARGET_LIB_MUSL),)
${INSTALL_DIR} ${IDIR_LIBPTHREAD}/$(ADK_TARGET_LIBC_PATH)
${CP} ${STAGING_TARGET_DIR}/lib/libpthread*.so* ${IDIR_LIBPTHREAD}/$(ADK_TARGET_LIBC_PATH)
+ (cd ${IDIR_LIBPTHREAD}/$(ADK_TARGET_LIBC_PATH); ln -sf libpthread.so.0 libpthread.so)
endif
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libpthread/files/libpthread.postinst b/package/libpthread/files/libpthread.postinst
deleted file mode 100644
index 76a6c81a4..000000000
--- a/package/libpthread/files/libpthread.postinst
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-if [ ! -z $IPKG_INSTROOT ];then
- (cd $IPKG_INSTROOT/lib && ln -sf libpthread.so.0 libpthread.so)
-fi
diff --git a/package/libssh/Makefile b/package/libssh/Makefile
index 6a49c346a..2543a7863 100644
--- a/package/libssh/Makefile
+++ b/package/libssh/Makefile
@@ -4,17 +4,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libssh
-PKG_VERSION:= 0.5.3
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 9ad01838d3b89d98e900e0f6260a88cc
+PKG_VERSION:= 0.6.3
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 66cf16e77f60913b4d54f18c92cdbf71
PKG_DESCR:= SSH library
PKG_SECTION:= libs
PKG_DEPENDS:= libopenssl zlib
PKG_BUILDDEP:= cmake-host openssl zlib
PKG_URL:= http://www.libssh.org/
-PKG_SITES:= http://www.libssh.org/files/0.5/
+PKG_SITES:= https://red.libssh.org/attachments/download/87/
PKG_OPTS:= dev
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBSSH,libssh,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
diff --git a/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake b/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake
index a67998250..b8e077b94 100644
--- a/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake
+++ b/package/libssh/patches/patch-cmake_Modules_DefineCompilerFlags_cmake
@@ -1,6 +1,6 @@
---- libssh-0.5.3.orig/cmake/Modules/DefineCompilerFlags.cmake 2012-11-20 12:41:49.000000000 +0100
-+++ libssh-0.5.3/cmake/Modules/DefineCompilerFlags.cmake 2013-12-17 13:20:04.073723090 +0100
-@@ -20,11 +20,6 @@ if (UNIX AND NOT WIN32)
+--- libssh-0.6.3.orig/cmake/Modules/DefineCompilerFlags.cmake 2014-02-06 10:20:57.000000000 +0100
++++ libssh-0.6.3/cmake/Modules/DefineCompilerFlags.cmake 2014-03-14 09:10:56.621673326 +0100
+@@ -21,11 +21,6 @@ if (UNIX AND NOT WIN32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif (WITH_FPIC)
@@ -9,6 +9,6 @@
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
- endif (WITH_STACK_PROTECTOR)
-
- check_c_compiler_flag("-D_FORTIFY_SOURCE=2" WITH_FORTIFY_SOURCE)
- if (WITH_FORTIFY_SOURCE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FORTIFY_SOURCE=2")
+ if (CMAKE_BUILD_TYPE)
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
+ if (CMAKE_BUILD_TYPE_LOWER MATCHES (release|relwithdebinfo|minsizerel))
diff --git a/package/libssh/patches/patch-cmake_Modules_FindZLIB_cmake b/package/libssh/patches/patch-cmake_Modules_FindZLIB_cmake
index 9a140e652..e7fcdfd2d 100644
--- a/package/libssh/patches/patch-cmake_Modules_FindZLIB_cmake
+++ b/package/libssh/patches/patch-cmake_Modules_FindZLIB_cmake
@@ -1,5 +1,5 @@
---- libssh-0.5.3.orig/cmake/Modules/FindZLIB.cmake 2012-11-20 12:41:49.000000000 +0100
-+++ libssh-0.5.3/cmake/Modules/FindZLIB.cmake 2014-01-11 12:11:52.000000000 +0100
+--- libssh-0.6.3.orig/cmake/Modules/FindZLIB.cmake 2013-12-21 18:37:12.000000000 +0100
++++ libssh-0.6.3/cmake/Modules/FindZLIB.cmake 2014-03-14 09:07:03.296701809 +0100
@@ -61,11 +61,11 @@ else (ZLIB_LIBRARIES AND ZLIB_INCLUDE_DI
NAMES
zlib.h
@@ -13,9 +13,9 @@
)
mark_as_advanced(ZLIB_INCLUDE_DIR)
-@@ -98,12 +98,12 @@ else (ZLIB_LIBRARIES AND ZLIB_INCLUDE_DI
- zlib
+@@ -99,12 +99,12 @@ else (ZLIB_LIBRARIES AND ZLIB_INCLUDE_DI
zlib1
+ zlibd
PATHS
+ ${ZLIB_ROOT_DIR}/lib
/usr/local/lib
diff --git a/package/libssh/patches/patch-include_libssh_libssh_h b/package/libssh/patches/patch-include_libssh_libssh_h
index 8811f79fb..dc60939bf 100644
--- a/package/libssh/patches/patch-include_libssh_libssh_h
+++ b/package/libssh/patches/patch-include_libssh_libssh_h
@@ -1,6 +1,6 @@
---- libssh-0.5.3.orig/include/libssh/libssh.h 2012-11-20 12:41:49.000000000 +0100
-+++ libssh-0.5.3/include/libssh/libssh.h 2014-01-11 12:04:00.000000000 +0100
-@@ -57,6 +57,7 @@
+--- libssh-0.6.3.orig/include/libssh/libssh.h 2014-03-04 13:20:48.000000000 +0100
++++ libssh-0.6.3/include/libssh/libssh.h 2014-03-14 09:07:03.304701842 +0100
+@@ -56,6 +56,7 @@
typedef unsigned long long uint64_t;
typedef int mode_t;
#else /* _MSC_VER */
diff --git a/package/libthread_db/Makefile b/package/libthread_db/Makefile
index a2e14cd10..773c4c8f2 100644
--- a/package/libthread_db/Makefile
+++ b/package/libthread_db/Makefile
@@ -19,8 +19,6 @@ PKG_SECTION:= libs
PKG_CFLINE_LIBTHREAD_DB:=depends on ADK_PACKAGE_GDB || ADK_PACKAGE_GDBSERVER
-PKG_ARCH_DEPENDS:= !m68k
-
NO_DISTFILES:= 1
include ${TOPDIR}/mk/package.mk
diff --git a/package/libtirpc/Makefile b/package/libtirpc/Makefile
index a1bfab5d1..61ae3a9b5 100644
--- a/package/libtirpc/Makefile
+++ b/package/libtirpc/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= libtirpc
PKG_VERSION:= 0.2.3
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= b70e6c12a369a91e69fcc3b9feb23d61
PKG_DESCR:= a transport independent RPC library
PKG_SECTION:= libs
@@ -15,8 +15,6 @@ PKG_URL:= http://sourceforge.net/projects/libtirpc/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=libtirpc/}
PKG_OPTS:= dev
-PKG_LIBC_DEPENDS:= uclibc glibc
-
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
include ${TOPDIR}/mk/package.mk
diff --git a/package/libtirpc/patches/patch-src_auth_des_c b/package/libtirpc/patches/patch-src_auth_des_c
new file mode 100644
index 000000000..d91177fdc
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_auth_des_c
@@ -0,0 +1,18 @@
+--- libtirpc-0.2.3.orig/src/auth_des.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_des.c 2014-03-22 13:20:52.000000000 +0100
+@@ -38,7 +38,6 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+-#include <sys/cdefs.h>
+ #include <rpc/des_crypt.h>
+ #include <syslog.h>
+ #include <rpc/types.h>
+@@ -52,7 +51,6 @@
+
+ #if defined(LIBC_SCCS) && !defined(lint)
+ #endif
+-#include <sys/cdefs.h>
+
+ #define USEC_PER_SEC 1000000
+ #define RTIME_TIMEOUT 5 /* seconds to wait for sync */
diff --git a/package/libtirpc/patches/patch-src_auth_none_c b/package/libtirpc/patches/patch-src_auth_none_c
new file mode 100644
index 000000000..d8fd74f3d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_auth_none_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/auth_none.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_none.c 2014-03-22 13:20:53.000000000 +0100
+@@ -31,7 +31,6 @@
+ static char *sccsid = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
+ static char *sccsid = "@(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC";
+ #endif
+-#include <sys/cdefs.h>
+ __FBSDID("$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.12 2002/03/22 23:18:35 obrien Exp $");
+ */
+
diff --git a/package/libtirpc/patches/patch-src_auth_time_c b/package/libtirpc/patches/patch-src_auth_time_c
index 5ce7de419..b6319db96 100644
--- a/package/libtirpc/patches/patch-src_auth_time_c
+++ b/package/libtirpc/patches/patch-src_auth_time_c
@@ -1,6 +1,14 @@
---- libtirpc-0.2.2.orig/src/auth_time.c 2011-05-02 14:10:40.000000000 +0200
-+++ libtirpc-0.2.2/src/auth_time.c 2012-03-22 19:02:30.422855534 +0100
-@@ -43,7 +43,7 @@
+--- libtirpc-0.2.3.orig/src/auth_time.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_time.c 2014-03-22 13:20:53.000000000 +0100
+@@ -25,7 +25,6 @@
+ * needed to deal with TCP connections.
+ */
+
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+@@ -43,7 +42,7 @@
//#include <clnt_soc.h>
#include <sys/select.h>
#undef NIS
@@ -9,7 +17,7 @@
#ifdef TESTING
-@@ -138,6 +138,7 @@ free_eps(eps, num)
+@@ -138,6 +137,7 @@ free_eps(eps, num)
* NIS+ server will call __rpc_get_time_offset() with the nis_server
* structure already populated.
*/
@@ -17,7 +25,7 @@
static nis_server *
get_server(sin, host, srv, eps, maxep)
struct sockaddr_in *sin;
-@@ -491,3 +492,4 @@ error:
+@@ -491,3 +491,4 @@ error:
return (time_valid);
}
diff --git a/package/libtirpc/patches/patch-src_auth_unix_c b/package/libtirpc/patches/patch-src_auth_unix_c
new file mode 100644
index 000000000..3d5fb990e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_auth_unix_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/auth_unix.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_unix.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * auth_unix.c, Implements UNIX style authentication parameters.
diff --git a/package/libtirpc/patches/patch-src_authdes_prot_c b/package/libtirpc/patches/patch-src_authdes_prot_c
new file mode 100644
index 000000000..f829ed45e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_authdes_prot_c
@@ -0,0 +1,7 @@
+--- libtirpc-0.2.3.orig/src/authdes_prot.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/authdes_prot.c 2014-03-22 13:20:53.000000000 +0100
+@@ -1,4 +1,3 @@
+-#include <sys/cdefs.h>
+ /*
+ * Copyright (c) 2009, Sun Microsystems, Inc.
+ * All rights reserved.
diff --git a/package/libtirpc/patches/patch-src_authunix_prot_c b/package/libtirpc/patches/patch-src_authunix_prot_c
new file mode 100644
index 000000000..178436474
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_authunix_prot_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/authunix_prot.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/authunix_prot.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * authunix_prot.c
diff --git a/package/libtirpc/patches/patch-src_bindresvport_c b/package/libtirpc/patches/patch-src_bindresvport_c
new file mode 100644
index 000000000..4e828a005
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_bindresvport_c
@@ -0,0 +1,18 @@
+--- libtirpc-0.2.3.orig/src/bindresvport.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/bindresvport.c 2014-03-22 13:24:36.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * Copyright (c) 1987 by Sun Microsystems, Inc.
+@@ -38,6 +37,7 @@
+ #include <sys/socket.h>
+
+ #include <netinet/in.h>
++#include <netdb.h>
+
+ #include <errno.h>
+ #include <string.h>
diff --git a/package/libtirpc/patches/patch-src_clnt_bcast_c b/package/libtirpc/patches/patch-src_clnt_bcast_c
new file mode 100644
index 000000000..e803b1721
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_bcast_c
@@ -0,0 +1,22 @@
+--- libtirpc-0.2.3.orig/src/clnt_bcast.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_bcast.c 2014-03-22 14:19:29.000000000 +0100
+@@ -28,7 +28,6 @@
+ /*
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+-#include <sys/cdefs.h>
+
+ /*
+ * clnt_bcast.c
+@@ -41,10 +40,8 @@
+ */
+ #include <sys/socket.h>
+ #include <sys/types.h>
+-#include <sys/queue.h>
+
+-/* new queue functions */
+-#include <misc/queue.h>
++#include "queue.h"
+
+ #include <net/if.h>
+ #include <netinet/in.h>
diff --git a/package/libtirpc/patches/patch-src_clnt_perror_c b/package/libtirpc/patches/patch-src_clnt_perror_c
new file mode 100644
index 000000000..5c3c9169a
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_perror_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/clnt_perror.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_perror.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ */
+
+ /*
+-#include <sys/cdefs.h>
+ */
+ /*
+ * clnt_perror.c
diff --git a/package/libtirpc/patches/patch-src_clnt_simple_c b/package/libtirpc/patches/patch-src_clnt_simple_c
new file mode 100644
index 000000000..8db2f1b8e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_simple_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/clnt_simple.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_simple.c 2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * clnt_simple.c
diff --git a/package/libtirpc/patches/patch-src_crypt_client_c b/package/libtirpc/patches/patch-src_crypt_client_c
new file mode 100644
index 000000000..3768305f8
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_crypt_client_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/crypt_client.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/crypt_client.c 2014-03-22 13:20:53.000000000 +0100
+@@ -30,7 +30,6 @@
+ * SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include <err.h>
+ #include <sys/types.h>
diff --git a/package/libtirpc/patches/patch-src_des_crypt_c b/package/libtirpc/patches/patch-src_des_crypt_c
index 22c03d78b..c1c313dee 100644
--- a/package/libtirpc/patches/patch-src_des_crypt_c
+++ b/package/libtirpc/patches/patch-src_des_crypt_c
@@ -1,6 +1,10 @@
--- libtirpc-0.2.3.orig/src/des_crypt.c 2013-02-13 16:13:59.000000000 +0100
-+++ libtirpc-0.2.3/src/des_crypt.c 2013-08-12 16:47:07.000000000 +0200
-@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)des_crypt.c
++++ libtirpc-0.2.3/src/des_crypt.c 2014-03-22 13:20:53.000000000 +0100
+@@ -39,11 +39,10 @@
+ static char sccsid[] = "@(#)des_crypt.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/08 SMI";
+ #endif
+ #endif
+-#include <sys/cdefs.h>
static int common_crypt( char *, char *, unsigned, unsigned, struct desparams * );
int (*__des_crypt_LOCAL)() = 0;
@@ -9,7 +13,7 @@
/*
* Copy 8 bytes
*/
-@@ -145,10 +145,6 @@ common_crypt(key, buf, len, mode, desp)
+@@ -145,10 +144,6 @@ common_crypt(key, buf, len, mode, desp)
if (!__des_crypt_LOCAL(buf, len, desp)) {
return (DESERR_HWERROR);
}
diff --git a/package/libtirpc/patches/patch-src_des_soft_c b/package/libtirpc/patches/patch-src_des_soft_c
new file mode 100644
index 000000000..675a6a265
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_des_soft_c
@@ -0,0 +1,9 @@
+--- libtirpc-0.2.3.orig/src/des_soft.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/des_soft.c 2014-03-22 13:20:53.000000000 +0100
+@@ -1,5 +1,4 @@
+-//#include <sys/cdefs.h>
+-
++//
+ /*
+ * Copyright (c) 2009, Sun Microsystems, Inc.
+ * All rights reserved.
diff --git a/package/libtirpc/patches/patch-src_getnetconfig_c b/package/libtirpc/patches/patch-src_getnetconfig_c
new file mode 100644
index 000000000..fb1f285a1
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getnetconfig_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getnetconfig.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getnetconfig.c 2014-03-22 13:20:53.000000000 +0100
+@@ -32,7 +32,6 @@
+
+ #include <pthread.h>
+ #include <reentrant.h>
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <netconfig.h>
diff --git a/package/libtirpc/patches/patch-src_getnetpath_c b/package/libtirpc/patches/patch-src_getnetpath_c
new file mode 100644
index 000000000..73788ea04
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getnetpath_c
@@ -0,0 +1,16 @@
+--- libtirpc-0.2.3.orig/src/getnetpath.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getnetpath.c 2014-03-22 13:20:53.000000000 +0100
+@@ -25,13 +25,11 @@
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+-#include <sys/cdefs.h>
+
+ /*
+ * Copyright (c) 1989 by Sun Microsystems, Inc.
+ */
+
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <netconfig.h>
diff --git a/package/libtirpc/patches/patch-src_getpeereid_c b/package/libtirpc/patches/patch-src_getpeereid_c
new file mode 100644
index 000000000..1af375563
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getpeereid_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getpeereid.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getpeereid.c 2014-03-22 13:20:52.000000000 +0100
+@@ -24,7 +24,6 @@
+ * SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include <sys/param.h>
+ #include <sys/socket.h>
diff --git a/package/libtirpc/patches/patch-src_getpublickey_c b/package/libtirpc/patches/patch-src_getpublickey_c
new file mode 100644
index 000000000..a41eca54a
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getpublickey_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getpublickey.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getpublickey.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+ /*
+-#include <sys/cdefs.h>
+ */
+
+ /*
diff --git a/package/libtirpc/patches/patch-src_key_call_c b/package/libtirpc/patches/patch-src_key_call_c
new file mode 100644
index 000000000..f7e7fb44d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_key_call_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/key_call.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/key_call.c 2014-03-22 13:20:52.000000000 +0100
+@@ -30,7 +30,6 @@
+ */
+
+
+-#include <sys/cdefs.h>
+
+ /*
+ * key_call.c, Interface to keyserver
diff --git a/package/libtirpc/patches/patch-src_key_prot_xdr_c b/package/libtirpc/patches/patch-src_key_prot_xdr_c
new file mode 100644
index 000000000..5dcf3f0f8
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_key_prot_xdr_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/key_prot_xdr.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/key_prot_xdr.c 2014-03-22 13:20:53.000000000 +0100
+@@ -33,7 +33,6 @@
+ */
+ /* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * Compiled from key_prot.x using rpcgen.
diff --git a/package/libtirpc/patches/patch-src_mt_misc_c b/package/libtirpc/patches/patch-src_mt_misc_c
new file mode 100644
index 000000000..27e711159
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_mt_misc_c
@@ -0,0 +1,8 @@
+--- libtirpc-0.2.3.orig/src/mt_misc.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/mt_misc.c 2014-03-22 13:20:53.000000000 +0100
+@@ -1,5 +1,4 @@
+
+-#include <sys/cdefs.h>
+ #include <pthread.h>
+ #include <reentrant.h>
+ #include <rpc/rpc.h>
diff --git a/package/libtirpc/patches/patch-src_pmap_clnt_c b/package/libtirpc/patches/patch-src_pmap_clnt_c
new file mode 100644
index 000000000..30b5deb86
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_pmap_clnt_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/pmap_clnt.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/pmap_clnt.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * pmap_clnt.c
diff --git a/package/libtirpc/patches/patch-src_pmap_getmaps_c b/package/libtirpc/patches/patch-src_pmap_getmaps_c
new file mode 100644
index 000000000..1d9c984be
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_pmap_getmaps_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/pmap_getmaps.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/pmap_getmaps.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * pmap_getmap.c
diff --git a/package/libtirpc/patches/patch-src_rpc_com_h b/package/libtirpc/patches/patch-src_rpc_com_h
new file mode 100644
index 000000000..c327a0152
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpc_com_h
@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/src/rpc_com.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpc_com.h 2014-03-22 13:20:53.000000000 +0100
+@@ -40,7 +40,6 @@
+ #ifndef _TIRPC_RPCCOM_H
+ #define _TIRPC_RPCCOM_H
+
+-#include <sys/cdefs.h>
+
+ /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */
+
+@@ -54,7 +53,9 @@
+ #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
+ (u_int32_t)(now)->tv_usec)
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern u_int __rpc_get_a_size(int);
+ extern int __rpc_dtbsize(void);
+ extern struct netconfig * __rpcgettp(int);
+@@ -90,6 +91,8 @@ void __xprt_set_raddr(SVCXPRT *, const s
+ SVCXPRT **__svc_xports;
+ int __svc_maxrec;
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _TIRPC_RPCCOM_H */
diff --git a/package/libtirpc/patches/patch-src_rpc_generic_c b/package/libtirpc/patches/patch-src_rpc_generic_c
new file mode 100644
index 000000000..aa567ce27
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpc_generic_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpc_generic.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpc_generic.c 2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * rpc_generic.c, Miscl routines for RPC.
diff --git a/package/libtirpc/patches/patch-src_rpcb_st_xdr_c b/package/libtirpc/patches/patch-src_rpcb_st_xdr_c
new file mode 100644
index 000000000..30eeeee9d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpcb_st_xdr_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpcb_st_xdr.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpcb_st_xdr.c 2014-03-22 13:20:53.000000000 +0100
+@@ -35,7 +35,6 @@
+ * routines used with the rpcbind stats facility.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include <rpc/rpc.h>
+
diff --git a/package/libtirpc/patches/patch-src_rpcdname_c b/package/libtirpc/patches/patch-src_rpcdname_c
new file mode 100644
index 000000000..b66b0a46f
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpcdname_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpcdname.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpcdname.c 2014-03-22 13:20:53.000000000 +0100
+@@ -25,7 +25,6 @@
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+-#include <sys/cdefs.h>
+
+ /*
+ * rpcdname.c
diff --git a/package/libtirpc/patches/patch-src_svc_dg_c b/package/libtirpc/patches/patch-src_svc_dg_c
new file mode 100644
index 000000000..88622d951
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_svc_dg_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_dg.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_dg.c 2014-03-22 13:20:52.000000000 +0100
+@@ -31,7 +31,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * svc_dg.c, Server side for connectionless RPC.
diff --git a/package/libtirpc/patches/patch-src_svc_simple_c b/package/libtirpc/patches/patch-src_svc_simple_c
new file mode 100644
index 000000000..ed994e4f5
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_svc_simple_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_simple.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_simple.c 2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * svc_simple.c
diff --git a/package/libtirpc/patches/patch-src_svc_vc_c b/package/libtirpc/patches/patch-src_svc_vc_c
new file mode 100644
index 000000000..8e43f4b8d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_svc_vc_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_vc.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_vc.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * svc_vc.c, Server side for Connection Oriented based RPC.
diff --git a/package/libtirpc/patches/patch-src_xdr_array_c b/package/libtirpc/patches/patch-src_xdr_array_c
new file mode 100644
index 000000000..dfa17d673
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_array_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_array.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_array.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_array.c, Generic XDR routines impelmentation.
diff --git a/package/libtirpc/patches/patch-src_xdr_c b/package/libtirpc/patches/patch-src_xdr_c
new file mode 100644
index 000000000..22211757b
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr.c, Generic XDR routines implementation.
diff --git a/package/libtirpc/patches/patch-src_xdr_float_c b/package/libtirpc/patches/patch-src_xdr_float_c
new file mode 100644
index 000000000..db18981e1
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_float_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_float.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_float.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_float.c, Generic XDR routines implementation.
diff --git a/package/libtirpc/patches/patch-src_xdr_mem_c b/package/libtirpc/patches/patch-src_xdr_mem_c
new file mode 100644
index 000000000..670bba01e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_mem_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_mem.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_mem.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_mem.h, XDR implementation using memory buffers.
diff --git a/package/libtirpc/patches/patch-src_xdr_rec_c b/package/libtirpc/patches/patch-src_xdr_rec_c
new file mode 100644
index 000000000..f4a2672d3
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_rec_c
@@ -0,0 +1,11 @@
+--- libtirpc-0.2.3.orig/src/xdr_rec.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_rec.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,8 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking"
diff --git a/package/libtirpc/patches/patch-src_xdr_reference_c b/package/libtirpc/patches/patch-src_xdr_reference_c
new file mode 100644
index 000000000..a0b284380
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_reference_c
@@ -0,0 +1,11 @@
+--- libtirpc-0.2.3.orig/src/xdr_reference.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_reference.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,8 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_reference.c, Generic XDR routines impelmentation.
diff --git a/package/libtirpc/patches/patch-src_xdr_sizeof_c b/package/libtirpc/patches/patch-src_xdr_sizeof_c
new file mode 100644
index 000000000..0246ffa7d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_sizeof_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_sizeof.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_sizeof.c 2014-03-22 13:20:53.000000000 +0100
+@@ -34,7 +34,6 @@
+ * when serialized using XDR.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include "namespace.h"
+ #include <rpc/types.h>
diff --git a/package/libtirpc/patches/patch-src_xdr_stdio_c b/package/libtirpc/patches/patch-src_xdr_stdio_c
new file mode 100644
index 000000000..90dabf120
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_stdio_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_stdio.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_stdio.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_stdio.c, XDR implementation on standard i/o file.
diff --git a/package/libtirpc/patches/patch-tirpc_misc_event_h b/package/libtirpc/patches/patch-tirpc_misc_event_h
new file mode 100644
index 000000000..7fc07813f
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_misc_event_h
@@ -0,0 +1,24 @@
+--- libtirpc-0.2.3.orig/tirpc/misc/event.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/misc/event.h 2014-03-22 13:20:52.000000000 +0100
+@@ -186,15 +186,18 @@ extern int kqueue_del_filteropts(int fil
+
+ #else /* !_KERNEL */
+
+-#include <sys/cdefs.h>
+ struct timespec;
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int kqueue(void);
+ int kevent(int kq, const struct kevent *changelist, int nchanges,
+ struct kevent *eventlist, int nevents,
+ const struct timespec *timeout);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_KERNEL */
+
diff --git a/package/libtirpc/patches/patch-tirpc_netconfig_h b/package/libtirpc/patches/patch-tirpc_netconfig_h
new file mode 100644
index 000000000..2f17d5fd4
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_netconfig_h
@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/netconfig.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/netconfig.h 2014-03-22 13:20:52.000000000 +0100
+@@ -74,7 +74,9 @@ typedef struct {
+ #define NC_UDP "udp"
+ #define NC_ICMP "icmp"
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ extern void *setnetconfig (void);
+ extern struct netconfig *getnetconfig (void *);
+@@ -89,6 +91,8 @@ extern int endnetpath (void *);
+ extern void nc_perror (const char *);
+ extern char *nc_sperror (void);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _NETCONFIG_H_ */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_des_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_des_h
new file mode 100644
index 000000000..c072f8871
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_des_h
@@ -0,0 +1,32 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_des.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_des.h 2014-03-22 13:20:52.000000000 +0100
+@@ -114,17 +114,25 @@ struct authdes_verf {
+ * Map a des credential into a unix cred.
+ *
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int authdes_getucred( struct authdes_cred *, uid_t *, gid_t *, int *, gid_t * );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_authdes_cred(XDR *, struct authdes_cred *);
+ extern bool_t xdr_authdes_verf(XDR *, struct authdes_verf *);
+ extern int rtime(dev_t, struct netbuf *, int, struct timeval *,
+ struct timeval *);
+ extern void kgetnetname(char *);
+ extern enum auth_stat _svcauth_des(struct svc_req *, struct rpc_msg *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* ndef _TI_AUTH_DES_ */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h
new file mode 100644
index 000000000..2d1a07987
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h
@@ -0,0 +1,53 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_gss.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_gss.h 2014-03-22 13:20:52.000000000 +0100
+@@ -104,28 +104,32 @@ struct rpc_gss_init_res {
+ #define MAXSEQ 0x80000000
+
+ /* Prototypes. */
+-__BEGIN_DECLS
+-bool_t xdr_rpc_gss_cred __P((XDR *xdrs, struct rpc_gss_cred *p));
+-bool_t xdr_rpc_gss_init_args __P((XDR *xdrs, gss_buffer_desc *p));
+-bool_t xdr_rpc_gss_init_res __P((XDR *xdrs, struct rpc_gss_init_res *p));
+-bool_t xdr_rpc_gss_data __P((XDR *xdrs, xdrproc_t xdr_func,
++#ifdef __cplusplus
++extern "C" {
++#endif
++bool_t xdr_rpc_gss_cred (XDR *xdrs, struct rpc_gss_cred *p);
++bool_t xdr_rpc_gss_init_args (XDR *xdrs, gss_buffer_desc *p);
++bool_t xdr_rpc_gss_init_res (XDR *xdrs, struct rpc_gss_init_res *p);
++bool_t xdr_rpc_gss_data (XDR *xdrs, xdrproc_t xdr_func,
+ caddr_t xdr_ptr, gss_ctx_id_t ctx,
+ gss_qop_t qop, rpc_gss_svc_t svc,
+- u_int seq));
++ u_int seq);
+
+-AUTH *authgss_create __P((CLIENT *, gss_name_t,
+- struct rpc_gss_sec *));
+-AUTH *authgss_create_default __P((CLIENT *, char *, struct rpc_gss_sec *));
+-bool_t authgss_service __P((AUTH *auth, int svc));
+-bool_t authgss_get_private_data __P((AUTH *auth,
+- struct authgss_private_data *));
+-bool_t authgss_free_private_data __P((struct authgss_private_data *));
++AUTH *authgss_create (CLIENT *, gss_name_t,
++ struct rpc_gss_sec *);
++AUTH *authgss_create_default (CLIENT *, char *, struct rpc_gss_sec *);
++bool_t authgss_service (AUTH *auth, int svc);
++bool_t authgss_get_private_data (AUTH *auth,
++ struct authgss_private_data *);
++bool_t authgss_free_private_data (struct authgss_private_data *);
+
+-void gss_log_debug __P((const char *fmt, ...));
+-void gss_log_status __P((char *m, OM_uint32 major,
+- OM_uint32 minor));
+-void gss_log_hexdump __P((const u_char *buf, int len, int offset));
++void gss_log_debug (const char *fmt, ...);
++void gss_log_status (char *m, OM_uint32 major,
++ OM_uint32 minor);
++void gss_log_hexdump (const u_char *buf, int len, int offset);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_AUTH_GSS_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_h
new file mode 100644
index 000000000..b000f85f7
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_h
@@ -0,0 +1,192 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth.h 2014-03-22 13:20:52.000000000 +0100
+@@ -48,7 +48,6 @@
+
+ #include <rpc/xdr.h>
+ #include <rpc/clnt_stat.h>
+-#include <sys/cdefs.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <stdio.h>
+@@ -165,9 +164,13 @@ union des_block {
+ char c[8];
+ };
+ typedef union des_block des_block;
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_des_block(XDR *, des_block *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Authentication info. Opaque to client.
+@@ -288,9 +291,13 @@ auth_put(AUTH *auth)
+ xfunc, xwhere))
+
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern struct opaque_auth _null_auth;
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Any style authentication. These routines can be used by any
+@@ -311,11 +318,15 @@ int authany_wrap(void), authany_unwrap(v
+ * int len;
+ * int *aup_gids;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *);
+ extern AUTH *authunix_create_default(void); /* takes no parameters */
+ extern AUTH *authnone_create(void); /* takes no parameters */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ /*
+ * DES style authentication
+ * AUTH *authsecdes_create(servername, window, timehost, ckey)
+@@ -324,15 +335,23 @@ __END_DECLS
+ * const char *timehost; - optional hostname to sync with
+ * des_block *ckey; - optional conversation key to use
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *);
+ extern AUTH *authdes_seccreate (const char *, const u_int, const char *,
+ const des_block *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #define authsys_create(c,i1,i2,i3,ip) authunix_create((c),(i1),(i2),(i3),(ip))
+ #define authsys_create_default() authunix_create_default()
+@@ -340,36 +359,48 @@ __END_DECLS
+ /*
+ * Netname manipulation routines.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int getnetname(char *);
+ extern int host2netname(char *, const char *, const char *);
+ extern int user2netname(char *, const uid_t, const char *);
+ extern int netname2user(char *, uid_t *, gid_t *, int *, gid_t *);
+ extern int netname2host(char *, char *, const int);
+ extern void passwd2des ( char *, char * );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ *
+ * These routines interface to the keyserv daemon
+ *
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int key_decryptsession(const char *, des_block *);
+ extern int key_encryptsession(const char *, des_block *);
+ extern int key_gendes(des_block *);
+ extern int key_setsecret(const char *);
+ extern int key_secretkey_is_set(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Publickey routines.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int getpublickey (const char *, char *);
+ extern int getpublicandprivatekey (char *, char *);
+ extern int getsecretkey (char *, char *, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #ifdef KERBEROS
+ /*
+@@ -382,10 +413,14 @@ __END_DECLS
+ * const char *timehost; - optional hostname to sync with
+ * int *status; - kerberos status returned
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authkerb_seccreate(const char *, const char *, const char *,
+ const u_int, const char *, int *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Map a kerberos credential into a unix cred.
+@@ -398,19 +433,27 @@ __END_DECLS
+ * int *groups;
+ *
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int authkerb_getucred(/* struct svc_req *, uid_t *, gid_t *,
+ short *, int * */);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif /* KERBEROS */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ struct svc_req;
+ struct rpc_msg;
+ enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #define AUTH_NONE 0 /* no authentication */
+ #define AUTH_NULL 0 /* backward compatibility */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h
new file mode 100644
index 000000000..a0c70ece5
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h
@@ -0,0 +1,26 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_unix.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_unix.h 2014-03-22 13:20:52.000000000 +0100
+@@ -45,7 +45,6 @@
+
+ #ifndef _TIRPC_AUTH_UNIX_H
+ #define _TIRPC_AUTH_UNIX_H
+-#include <sys/cdefs.h>
+
+ /* The machine name is part of a credential; it may not exceed 255 bytes */
+ #define MAX_MACHINE_NAME 255
+@@ -67,9 +66,13 @@ struct authunix_parms {
+
+ #define authsys_parms authunix_parms
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * If a response verifier has flavor AUTH_SHORT,
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_clnt_h b/package/libtirpc/patches/patch-tirpc_rpc_clnt_h
new file mode 100644
index 000000000..ddd1f73ae
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_clnt_h
@@ -0,0 +1,132 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/clnt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/clnt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -42,7 +42,6 @@
+ #include <rpc/clnt_stat.h>
+ #include <rpc/auth.h>
+
+-#include <sys/cdefs.h>
+ #include <netconfig.h>
+ #include <sys/un.h>
+
+@@ -267,7 +266,9 @@ struct rpc_timers {
+ * Generic client creation routine. Supported protocols are those that
+ * belong to the nettype namespace (/etc/netconfig).
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t,
+ const char *);
+ /*
+@@ -414,32 +415,46 @@ extern CLIENT *clnt_dg_create(const int,
+ */
+ extern CLIENT *clnt_raw_create(rpcprog_t, rpcvers_t);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Print why creation failed
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_pcreateerror(const char *); /* stderr */
+ extern char *clnt_spcreateerror(const char *); /* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Like clnt_perror(), but is more verbose in its output
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_perrno(enum clnt_stat); /* stderr */
+ extern char *clnt_sperrno(enum clnt_stat); /* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Print an English error message, given the client error code
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_perror(CLIENT *, const char *); /* stderr */
+ extern char *clnt_sperror(CLIENT *, const char *); /* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+@@ -450,9 +465,13 @@ struct rpc_createerr {
+ struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
+ };
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern struct rpc_createerr *__rpc_createerr(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #define get_rpc_createerr() (*(__rpc_createerr()))
+ #define rpc_createerr (*(__rpc_createerr()))
+
+@@ -469,12 +488,16 @@ __END_DECLS
+ * char *out;
+ * const char *nettype;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum clnt_stat rpc_call(const char *, const rpcprog_t,
+ const rpcvers_t, const rpcproc_t,
+ const xdrproc_t, const char *,
+ const xdrproc_t, char *, const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * RPC broadcast interface
+@@ -522,7 +545,9 @@ __END_DECLS
+
+ typedef bool_t (*resultproc_t)(caddr_t, ...);
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum clnt_stat rpc_broadcast(const rpcprog_t, const rpcvers_t,
+ const rpcproc_t, const xdrproc_t,
+ caddr_t, const xdrproc_t, caddr_t,
+@@ -532,7 +557,9 @@ extern enum clnt_stat rpc_broadcast_exp(
+ caddr_t, const xdrproc_t, caddr_t,
+ const resultproc_t, const int,
+ const int, const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /* For backward compatibility */
+ #include <rpc/clnt_soc.h>
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h b/package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h
new file mode 100644
index 000000000..3112aeee5
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h
@@ -0,0 +1,78 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/clnt_soc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/clnt_soc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -46,7 +46,6 @@
+ * with TS-RPC.
+ */
+
+-#include <sys/cdefs.h>
+
+ #define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */
+
+@@ -61,27 +60,39 @@
+ * u_int sendsz;
+ * u_int recvsz;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnttcp_create(struct sockaddr_in *, u_long, u_long, int *,
+ u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Raw (memory) rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clntraw_create(u_long, u_long);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ IPv6 socket version
+ */
+ #ifdef INET6
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnttcp6_create(struct sockaddr_in6 *, u_long, u_long, int *,
+ u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ /*
+@@ -105,7 +116,9 @@ __END_DECLS
+ * u_int sendsz;
+ * u_int recvsz;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clntudp_create(struct sockaddr_in *, u_long, u_long,
+ struct timeval, int *);
+ extern CLIENT *clntudp_bufcreate(struct sockaddr_in *, u_long, u_long,
+@@ -116,7 +129,9 @@ extern CLIENT *clntudp6_create(struct so
+ extern CLIENT *clntudp6_bufcreate(struct sockaddr_in6 *, u_long, u_long,
+ struct timeval, int *, u_int, u_int);
+ #endif
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ #endif /* _RPC_CLNT_SOC_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h b/package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h
new file mode 100644
index 000000000..d55657f95
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h
@@ -0,0 +1,52 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/des_crypt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/des_crypt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -43,7 +43,6 @@
+ #ifndef _DES_DES_CRYPT_H
+ #define _DES_DES_CRYPT_H
+
+-#include <sys/cdefs.h>
+ #include <rpc/rpc.h>
+
+ #define DES_MAXDATA 8192 /* max bytes encrypted in one call */
+@@ -83,23 +82,35 @@
+ /*
+ * Cipher Block Chaining mode
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int cbc_crypt( char *, char *, unsigned int, unsigned int, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Electronic Code Book mode
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int ecb_crypt( char *, char *, unsigned int, unsigned int );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Set des parity for a key.
+ * DES parity is odd and in the low bit of each byte
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ void des_setparity( char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _DES_DES_CRYPT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_nettype_h b/package/libtirpc/patches/patch-tirpc_rpc_nettype_h
new file mode 100644
index 000000000..60759caad
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_nettype_h
@@ -0,0 +1,20 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/nettype.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/nettype.h 2014-03-22 13:20:52.000000000 +0100
+@@ -53,11 +53,15 @@
+ #define _RPC_TCP 7
+ #define _RPC_UDP 8
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void *__rpc_setconf(const char *);
+ extern void __rpc_endconf(void *);
+ extern struct netconfig *__rpc_getconf(void *);
+ extern struct netconfig *__rpc_getconfip(const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_NETTYPE_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h b/package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h
new file mode 100644
index 000000000..7fda59939
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h
@@ -0,0 +1,25 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_clnt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_clnt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -63,9 +63,10 @@
+
+ #ifndef _RPC_PMAP_CLNT_H_
+ #define _RPC_PMAP_CLNT_H_
+-#include <sys/cdefs.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t pmap_set(u_long, u_long, int, int);
+ extern bool_t pmap_unset(u_long, u_long);
+ extern struct pmaplist *pmap_getmaps(struct sockaddr_in *);
+@@ -80,6 +81,8 @@ extern enum clnt_stat clnt_broadcast(u_l
+ resultproc_t);
+ extern u_short pmap_getport(struct sockaddr_in *,
+ u_long, u_long, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_PMAP_CLNT_H_ */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h b/package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h
new file mode 100644
index 000000000..891991b98
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h
@@ -0,0 +1,27 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_prot.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_prot.h 2014-03-22 13:20:52.000000000 +0100
+@@ -71,7 +71,6 @@
+
+ #ifndef _RPC_PMAP_PROT_H
+ #define _RPC_PMAP_PROT_H
+-#include <sys/cdefs.h>
+
+ #define PMAPPORT ((u_short)111)
+ #define PMAPPROG ((u_long)100000)
+@@ -97,10 +96,14 @@ struct pmaplist {
+ struct pmaplist *pml_next;
+ };
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_pmap(XDR *, struct pmap *);
+ extern bool_t xdr_pmaplist(XDR *, struct pmaplist **);
+ extern bool_t xdr_pmaplist_ptr(XDR *, struct pmaplist *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_PMAP_PROT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h b/package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h
new file mode 100644
index 000000000..98a494105
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h
@@ -0,0 +1,26 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_rmt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_rmt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -41,7 +41,6 @@
+
+ #ifndef _RPC_PMAP_RMT_H
+ #define _RPC_PMAP_RMT_H
+-#include <sys/cdefs.h>
+
+ struct rmtcallargs {
+ u_long prog, vers, proc, arglen;
+@@ -56,9 +55,13 @@ struct rmtcallres {
+ xdrproc_t xdr_results;
+ };
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_rmtcall_args(XDR *, struct rmtcallargs *);
+ extern bool_t xdr_rmtcallres(XDR *, struct rmtcallres *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_PMAP_RMT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h b/package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h
new file mode 100644
index 000000000..59f0283d3
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h
@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc_com.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc_com.h 2014-03-22 13:20:52.000000000 +0100
+@@ -41,7 +41,6 @@
+ #ifndef _RPC_RPCCOM_H
+ #define _RPC_RPCCOM_H
+
+-#include <sys/cdefs.h>
+
+ /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */
+
+@@ -55,7 +54,9 @@
+ #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
+ (u_int32_t)(now)->tv_usec)
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern u_int __rpc_get_a_size(int);
+ extern int __rpc_dtbsize(void);
+ extern int _rpc_dtablesize(void);
+@@ -77,6 +78,8 @@ bool_t rpc_control(int,void *);
+
+ char *_get_next_token(char *, int);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _RPC_RPCCOM_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpc_h b/package/libtirpc/patches/patch-tirpc_rpc_rpc_h
new file mode 100644
index 000000000..7e1f000a2
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpc_h
@@ -0,0 +1,44 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -79,9 +79,11 @@
+ #define UDPMSGSIZE 8800
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int get_myaddress(struct sockaddr_in *);
+-extern int bindresvport(int, struct sockaddr_in *) __THROW;
++extern int bindresvport(int, struct sockaddr_in *);
+ extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]),
+ xdrproc_t, xdrproc_t);
+ extern int callrpc(const char *, int, int, int, xdrproc_t, void *,
+@@ -93,18 +95,24 @@ struct netbuf *uaddr2taddr(const struct
+
+ struct sockaddr;
+ extern int bindresvport_sa(int, struct sockaddr *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * The following are not exported interfaces, they are for internal library
+ * and rpcbind use only. Do not use, they may change without notice.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int __rpc_nconf2fd(const struct netconfig *);
+ int __rpc_nconf2fd_flags(const struct netconfig *, int);
+ int __rpc_nconf2sockinfo(const struct netconfig *, struct __rpc_sockinfo *);
+ int __rpc_fd2sockinfo(int, struct __rpc_sockinfo *);
+ u_int __rpc_get_t_size(int, int, int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_RPC_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h b/package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h
new file mode 100644
index 000000000..caee024d8
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h
@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc_msg.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc_msg.h 2014-03-22 13:20:52.000000000 +0100
+@@ -161,7 +161,9 @@ struct rpc_msg {
+ #define acpted_rply ru.RM_rmb.ru.RP_ar
+ #define rjcted_rply ru.RM_rmb.ru.RP_dr
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+ * XDR routine to handle a rpc message.
+ * xdr_callmsg(xdrs, cmsg)
+@@ -210,6 +212,8 @@ extern bool_t xdr_rejected_reply(XDR *,
+ * struct rpc_err *error;
+ */
+ extern void _seterr_reply(struct rpc_msg *, struct rpc_err *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_RPC_MSG_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h b/package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h
new file mode 100644
index 000000000..b0bc44ae6
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h
@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpcb_clnt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpcb_clnt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -59,7 +59,9 @@
+
+ #include <rpc/types.h>
+ #include <rpc/rpcb_prot.h>
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t rpcb_set(const rpcprog_t, const rpcvers_t,
+ const struct netconfig *, const struct netbuf *);
+ extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
+@@ -78,6 +80,8 @@ extern bool_t rpcb_getaddr(const rpcprog
+ extern bool_t rpcb_gettime(const char *, time_t *);
+ extern char *rpcb_taddr2uaddr(struct netconfig *, struct netbuf *);
+ extern struct netbuf *rpcb_uaddr2taddr(struct netconfig *, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_RPCB_CLNT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpcent_h b/package/libtirpc/patches/patch-tirpc_rpc_rpcent_h
new file mode 100644
index 000000000..badea8121
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpcent_h
@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpcent.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpcent.h 2014-03-22 14:22:44.000000000 +0100
+@@ -44,10 +44,12 @@
+ /* #pragma ident "@(#)rpcent.h 1.13 94/04/25 SMI" */
+ /* @(#)rpcent.h 1.1 88/12/06 SMI */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /* These are defined in /usr/include/rpc/netdb.h */
+-#if 0
++#if !defined(__GLIBC__)
+ struct rpcent {
+ char *r_name; /* name of server for this rpc program */
+ char **r_aliases; /* alias list */
+@@ -60,8 +62,10 @@ extern struct rpcent *getrpcbynumber(int
+ extern struct rpcent *getrpcent(void);
+ #endif
+
+-extern void setrpcent(int) __THROW;
+-extern void endrpcent(void) __THROW;
+-__END_DECLS
++extern void setrpcent(int);
++extern void endrpcent(void);
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_CENT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h b/package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h
new file mode 100644
index 000000000..1abf29cde
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h
@@ -0,0 +1,20 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc_auth.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc_auth.h 2014-03-22 13:20:52.000000000 +0100
+@@ -65,11 +65,15 @@ typedef struct SVCAUTH {
+ /*
+ * Server side authenticator
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum auth_stat _authenticate(struct svc_req *, struct rpc_msg *);
+ extern int svc_auth_reg(int, enum auth_stat (*)(struct svc_req *,
+ struct rpc_msg *));
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_SVC_AUTH_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_svc_h b/package/libtirpc/patches/patch-tirpc_rpc_svc_h
new file mode 100644
index 000000000..fcaf5b172
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_svc_h
@@ -0,0 +1,152 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -40,7 +40,6 @@
+
+ #ifndef _TIRPC_SVC_H
+ #define _TIRPC_SVC_H
+-#include <sys/cdefs.h>
+
+ /*
+ * This interface must manage two items concerning remote procedure calling:
+@@ -200,11 +199,15 @@ struct svc_req {
+ * const struct netconfig *nconf;
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t svc_reg(SVCXPRT *, const rpcprog_t, const rpcvers_t,
+ void (*)(struct svc_req *, SVCXPRT *),
+ const struct netconfig *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Service un-registration
+@@ -214,9 +217,13 @@ __END_DECLS
+ * const rpcvers_t vers;
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void svc_unreg(const rpcprog_t, const rpcvers_t);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Transport registration.
+@@ -224,9 +231,13 @@ __END_DECLS
+ * xprt_register(xprt)
+ * SVCXPRT *xprt;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void xprt_register(SVCXPRT *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Transport un-register
+@@ -234,9 +245,13 @@ __END_DECLS
+ * xprt_unregister(xprt)
+ * SVCXPRT *xprt;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void xprt_unregister(SVCXPRT *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+@@ -265,7 +280,9 @@ __END_DECLS
+ * deadlock the caller and server processes!
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t svc_sendreply(SVCXPRT *, xdrproc_t, void *);
+ extern void svcerr_decode(SVCXPRT *);
+ extern void svcerr_weakauth(SVCXPRT *);
+@@ -277,7 +294,9 @@ extern void svcerr_systemerr(SVCXPRT *);
+ extern int rpc_reg(rpcprog_t, rpcvers_t, rpcproc_t,
+ char *(*)(char *), xdrproc_t, xdrproc_t,
+ char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Lowest level dispatching -OR- who owns this process anyway.
+@@ -306,11 +325,17 @@ extern int svc_fds;
+ * a small program implemented by the svc_rpc implementation itself;
+ * also see clnt.h for protocol numbers.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void rpctest_service(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void svc_getreq(int);
+ extern void svc_getreqset(fd_set *);
+ extern void svc_getreq_common(int);
+@@ -319,7 +344,9 @@ extern void svc_getreq_poll(struct pollf
+
+ extern void svc_run(void);
+ extern void svc_exit(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Socket to use on svcxxx_create call to get default socket
+@@ -331,7 +358,9 @@ __END_DECLS
+ * These are the existing service side transport implementations
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+ * Transport independent svc_create routine.
+ */
+@@ -427,7 +456,9 @@ int svc_dg_enablecache(SVCXPRT *, const
+
+ int __rpc_get_local_uid(SVCXPRT *_transp, uid_t *_uid);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /* for backward compatibility */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h b/package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h
new file mode 100644
index 000000000..9f7c22259
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h
@@ -0,0 +1,102 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc_soc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc_soc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -38,7 +38,6 @@
+
+ #ifndef _RPC_SVC_SOC_H
+ #define _RPC_SVC_SOC_H
+-#include <sys/cdefs.h>
+
+ /* #pragma ident "@(#)svc_soc.h 1.11 94/04/25 SMI" */
+ /* svc_soc.h 1.8 89/05/01 SMI */
+@@ -64,10 +63,14 @@
+ * void (*dispatch)();
+ * int protocol; like TCP or UDP, zero means do not register
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t svc_register(SVCXPRT *, u_long, u_long,
+ void (*)(struct svc_req *, SVCXPRT *), int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Service un-registration
+@@ -76,44 +79,64 @@ __END_DECLS
+ * u_long prog;
+ * u_long vers;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void svc_unregister(u_long, u_long);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Memory based rpc for testing and timing.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcraw_create(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Udp based rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcudp_create(int);
+ extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int);
+ extern int svcudp_enablecache(SVCXPRT *, u_long);
+ extern SVCXPRT *svcudp6_create(int);
+ extern SVCXPRT *svcudp6_bufcreate(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Tcp based rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svctcp_create(int, u_int, u_int);
+ extern SVCXPRT *svctcp6_create(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Fd based rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcfd_create(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_SVC_SOC_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_xdr_h b/package/libtirpc/patches/patch-tirpc_rpc_xdr_h
new file mode 100644
index 000000000..0f43e3702
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_xdr_h
@@ -0,0 +1,53 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/xdr.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/xdr.h 2014-03-22 13:20:52.000000000 +0100
+@@ -40,7 +40,6 @@
+
+ #ifndef _TIRPC_XDR_H
+ #define _TIRPC_XDR_H
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <netinet/in.h>
+
+@@ -287,7 +286,9 @@ struct xdr_discrim {
+ /*
+ * These are the "generic" xdr routines.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_void(void);
+ extern bool_t xdr_int(XDR *, int *);
+ extern bool_t xdr_u_int(XDR *, u_int *);
+@@ -322,7 +323,9 @@ extern bool_t xdr_hyper(XDR *, quad_t *)
+ extern bool_t xdr_u_hyper(XDR *, u_quad_t *);
+ extern bool_t xdr_longlong_t(XDR *, quad_t *);
+ extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Common opaque bytes objects used by many rpc protocols;
+@@ -340,7 +343,9 @@ extern bool_t xdr_netobj(XDR *, struct
+ * These are the public routines for the various implementations of
+ * xdr streams.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /* XDR using memory buffers */
+ extern void xdrmem_create(XDR *, char *, u_int, enum xdr_op);
+
+@@ -361,6 +366,8 @@ extern bool_t xdrrec_skiprecord(XDR *);
+ /* true if no more input */
+ extern bool_t xdrrec_eof(XDR *);
+ extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_XDR_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x b/package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x
new file mode 100644
index 000000000..872800b1d
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x
@@ -0,0 +1,12 @@
+--- libtirpc-0.2.3.orig/tirpc/rpcsvc/crypt.x 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpcsvc/crypt.x 2014-03-22 13:20:52.000000000 +0100
+@@ -31,8 +31,7 @@
+ */
+
+ #ifndef RPC_HDR
+-%#include <sys/cdefs.h>
+-%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
++%%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
+ #endif
+
+ /*
diff --git a/package/libtirpc/src/src/queue.h b/package/libtirpc/src/src/queue.h
new file mode 100644
index 000000000..daf4553d3
--- /dev/null
+++ b/package/libtirpc/src/src/queue.h
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)queue.h 8.5 (Berkeley) 8/20/94
+ */
+
+#ifndef _SYS_QUEUE_H_
+#define _SYS_QUEUE_H_
+
+/*
+ * This file defines five types of data structures: singly-linked lists,
+ * lists, simple queues, tail queues, and circular queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The
+ * elements are singly linked for minimum space and pointer manipulation
+ * overhead at the expense of O(n) removal for arbitrary elements. New
+ * elements can be added to the list after an existing element or at the
+ * head of the list. Elements being removed from the head of the list
+ * should use the explicit macro for this purpose for optimum
+ * efficiency. A singly-linked list may only be traversed in the forward
+ * direction. Singly-linked lists are ideal for applications with large
+ * datasets and few or no removals or for implementing a LIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A simple queue is headed by a pair of pointers, one the head of the
+ * list and the other to the tail of the list. The elements are singly
+ * linked to save space, so elements can only be removed from the
+ * head of the list. New elements can be added to the list after
+ * an existing element, at the head of the list, or at the end of the
+ * list. A simple queue may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * A circle queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or after
+ * an existing element, at the head of the list, or at the end of the list.
+ * A circle queue may be traversed in either direction, but has a more
+ * complex end of list detection.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ */
+
+/*
+ * List definitions.
+ */
+#define LIST_HEAD(name, type) \
+struct name { \
+ struct type *lh_first; /* first element */ \
+}
+
+#define LIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define LIST_ENTRY(type) \
+struct { \
+ struct type *le_next; /* next element */ \
+ struct type **le_prev; /* address of previous next element */ \
+}
+
+/*
+ * List functions.
+ */
+#define LIST_INIT(head) do { \
+ (head)->lh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_AFTER(listelm, elm, field) do { \
+ if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
+ (listelm)->field.le_next->field.le_prev = \
+ &(elm)->field.le_next; \
+ (listelm)->field.le_next = (elm); \
+ (elm)->field.le_prev = &(listelm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.le_prev = (listelm)->field.le_prev; \
+ (elm)->field.le_next = (listelm); \
+ *(listelm)->field.le_prev = (elm); \
+ (listelm)->field.le_prev = &(elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.le_next = (head)->lh_first) != NULL) \
+ (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
+ (head)->lh_first = (elm); \
+ (elm)->field.le_prev = &(head)->lh_first; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_REMOVE(elm, field) do { \
+ if ((elm)->field.le_next != NULL) \
+ (elm)->field.le_next->field.le_prev = \
+ (elm)->field.le_prev; \
+ *(elm)->field.le_prev = (elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_FOREACH(var, head, field) \
+ for ((var) = ((head)->lh_first); \
+ (var); \
+ (var) = ((var)->field.le_next))
+
+/*
+ * List access methods.
+ */
+#define LIST_EMPTY(head) ((head)->lh_first == NULL)
+#define LIST_FIRST(head) ((head)->lh_first)
+#define LIST_NEXT(elm, field) ((elm)->field.le_next)
+
+
+/*
+ * Singly-linked List definitions.
+ */
+#define SLIST_HEAD(name, type) \
+struct name { \
+ struct type *slh_first; /* first element */ \
+}
+
+#define SLIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define SLIST_ENTRY(type) \
+struct { \
+ struct type *sle_next; /* next element */ \
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define SLIST_INIT(head) do { \
+ (head)->slh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
+ (elm)->field.sle_next = (slistelm)->field.sle_next; \
+ (slistelm)->field.sle_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.sle_next = (head)->slh_first; \
+ (head)->slh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE_HEAD(head, field) do { \
+ (head)->slh_first = (head)->slh_first->field.sle_next; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE(head, elm, type, field) do { \
+ if ((head)->slh_first == (elm)) { \
+ SLIST_REMOVE_HEAD((head), field); \
+ } \
+ else { \
+ struct type *curelm = (head)->slh_first; \
+ while(curelm->field.sle_next != (elm)) \
+ curelm = curelm->field.sle_next; \
+ curelm->field.sle_next = \
+ curelm->field.sle_next->field.sle_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_FOREACH(var, head, field) \
+ for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
+
+/*
+ * Singly-linked List access methods.
+ */
+#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
+#define SLIST_FIRST(head) ((head)->slh_first)
+#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
+
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define STAILQ_HEAD(name, type) \
+struct name { \
+ struct type *stqh_first; /* first element */ \
+ struct type **stqh_last; /* addr of last next element */ \
+}
+
+#define STAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).stqh_first }
+
+#define STAILQ_ENTRY(type) \
+struct { \
+ struct type *stqe_next; /* next element */ \
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define STAILQ_INIT(head) do { \
+ (head)->stqh_first = NULL; \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (head)->stqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.stqe_next = NULL; \
+ *(head)->stqh_last = (elm); \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (listelm)->field.stqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->stqh_first == (elm)) { \
+ STAILQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->stqh_first; \
+ while (curelm->field.stqe_next != (elm)) \
+ curelm = curelm->field.stqe_next; \
+ if ((curelm->field.stqe_next = \
+ curelm->field.stqe_next->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(curelm)->field.stqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->stqh_first); \
+ (var); \
+ (var) = ((var)->field.stqe_next))
+
+#define STAILQ_CONCAT(head1, head2) do { \
+ if (!STAILQ_EMPTY((head2))) { \
+ *(head1)->stqh_last = (head2)->stqh_first; \
+ (head1)->stqh_last = (head2)->stqh_last; \
+ STAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Singly-linked Tail queue access methods.
+ */
+#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
+#define STAILQ_FIRST(head) ((head)->stqh_first)
+#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
+
+
+/*
+ * Simple queue definitions.
+ */
+#define SIMPLEQ_HEAD(name, type) \
+struct name { \
+ struct type *sqh_first; /* first element */ \
+ struct type **sqh_last; /* addr of last next element */ \
+}
+
+#define SIMPLEQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).sqh_first }
+
+#define SIMPLEQ_ENTRY(type) \
+struct { \
+ struct type *sqe_next; /* next element */ \
+}
+
+/*
+ * Simple queue functions.
+ */
+#define SIMPLEQ_INIT(head) do { \
+ (head)->sqh_first = NULL; \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (head)->sqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.sqe_next = NULL; \
+ *(head)->sqh_last = (elm); \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (listelm)->field.sqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->sqh_first == (elm)) { \
+ SIMPLEQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->sqh_first; \
+ while (curelm->field.sqe_next != (elm)) \
+ curelm = curelm->field.sqe_next; \
+ if ((curelm->field.sqe_next = \
+ curelm->field.sqe_next->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(curelm)->field.sqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->sqh_first); \
+ (var); \
+ (var) = ((var)->field.sqe_next))
+
+/*
+ * Simple queue access methods.
+ */
+#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
+#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
+#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
+
+
+/*
+ * Tail queue definitions.
+ */
+#define _TAILQ_HEAD(name, type, qual) \
+struct name { \
+ qual type *tqh_first; /* first element */ \
+ qual type *qual *tqh_last; /* addr of last next element */ \
+}
+#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
+
+#define TAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).tqh_first }
+
+#define _TAILQ_ENTRY(type, qual) \
+struct { \
+ qual type *tqe_next; /* next element */ \
+ qual type *qual *tqe_prev; /* address of previous next element */\
+}
+#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
+
+/*
+ * Tail queue functions.
+ */
+#define TAILQ_INIT(head) do { \
+ (head)->tqh_first = NULL; \
+ (head)->tqh_last = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
+ (head)->tqh_first->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (head)->tqh_first = (elm); \
+ (elm)->field.tqe_prev = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.tqe_next = NULL; \
+ (elm)->field.tqe_prev = (head)->tqh_last; \
+ *(head)->tqh_last = (elm); \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
+ (elm)->field.tqe_next->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (listelm)->field.tqe_next = (elm); \
+ (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
+ (elm)->field.tqe_next = (listelm); \
+ *(listelm)->field.tqe_prev = (elm); \
+ (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_REMOVE(head, elm, field) do { \
+ if (((elm)->field.tqe_next) != NULL) \
+ (elm)->field.tqe_next->field.tqe_prev = \
+ (elm)->field.tqe_prev; \
+ else \
+ (head)->tqh_last = (elm)->field.tqe_prev; \
+ *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->tqh_first); \
+ (var); \
+ (var) = ((var)->field.tqe_next))
+
+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
+ for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
+ (var); \
+ (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Tail queue access methods.
+ */
+#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
+#define TAILQ_FIRST(head) ((head)->tqh_first)
+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define TAILQ_LAST(head, headname) \
+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
+#define TAILQ_PREV(elm, headname, field) \
+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+
+/*
+ * Circular queue definitions.
+ */
+#define CIRCLEQ_HEAD(name, type) \
+struct name { \
+ struct type *cqh_first; /* first element */ \
+ struct type *cqh_last; /* last element */ \
+}
+
+#define CIRCLEQ_HEAD_INITIALIZER(head) \
+ { (void *)&head, (void *)&head }
+
+#define CIRCLEQ_ENTRY(type) \
+struct { \
+ struct type *cqe_next; /* next element */ \
+ struct type *cqe_prev; /* previous element */ \
+}
+
+/*
+ * Circular queue functions.
+ */
+#define CIRCLEQ_INIT(head) do { \
+ (head)->cqh_first = (void *)(head); \
+ (head)->cqh_last = (void *)(head); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm)->field.cqe_next; \
+ (elm)->field.cqe_prev = (listelm); \
+ if ((listelm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (listelm)->field.cqe_next->field.cqe_prev = (elm); \
+ (listelm)->field.cqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm); \
+ (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
+ if ((listelm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (listelm)->field.cqe_prev->field.cqe_next = (elm); \
+ (listelm)->field.cqe_prev = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.cqe_next = (head)->cqh_first; \
+ (elm)->field.cqe_prev = (void *)(head); \
+ if ((head)->cqh_last == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (head)->cqh_first->field.cqe_prev = (elm); \
+ (head)->cqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.cqe_next = (void *)(head); \
+ (elm)->field.cqe_prev = (head)->cqh_last; \
+ if ((head)->cqh_first == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (head)->cqh_last->field.cqe_next = (elm); \
+ (head)->cqh_last = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_REMOVE(head, elm, field) do { \
+ if ((elm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm)->field.cqe_prev; \
+ else \
+ (elm)->field.cqe_next->field.cqe_prev = \
+ (elm)->field.cqe_prev; \
+ if ((elm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm)->field.cqe_next; \
+ else \
+ (elm)->field.cqe_prev->field.cqe_next = \
+ (elm)->field.cqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->cqh_first); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_next))
+
+#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
+ for ((var) = ((head)->cqh_last); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_prev))
+
+/*
+ * Circular queue access methods.
+ */
+#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
+#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
+#define CIRCLEQ_LAST(head) ((head)->cqh_last)
+#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
+#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
+
+#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
+ (((elm)->field.cqe_next == (void *)(head)) \
+ ? ((head)->cqh_first) \
+ : (elm->field.cqe_next))
+#define CIRCLEQ_LOOP_PREV(head, elm, field) \
+ (((elm)->field.cqe_prev == (void *)(head)) \
+ ? ((head)->cqh_last) \
+ : (elm->field.cqe_prev))
+
+#endif /* sys/queue.h */
diff --git a/package/libxcb/Makefile b/package/libxcb/Makefile
index 713a6c3a3..c126b66ac 100644
--- a/package/libxcb/Makefile
+++ b/package/libxcb/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libxcb
-PKG_VERSION:= 1.9.1
+PKG_VERSION:= 1.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 324c76024a73dba8a902638696ba87de
+PKG_MD5SUM:= a484793fbfb974b09d54fa1ebf44b2e4
PKG_DESCR:= X11 keyboard library
PKG_SECTION:= x11/libs
PKG_BUILDDEP:= libXau-host libpthread-stubs-host xcb-proto-host
diff --git a/package/libxml2/Makefile b/package/libxml2/Makefile
index 76df60864..8c5ee7689 100644
--- a/package/libxml2/Makefile
+++ b/package/libxml2/Makefile
@@ -10,7 +10,8 @@ PKG_MD5SUM:= 9c0cfef285d5c4a5c80d00904ddab380
PKG_DESCR:= XML C parser and toolkit
PKG_SECTION:= libs
PKG_DEPENDS:= zlib
-PKG_BUILDDEP:= autotool gettext-tiny bzip2-host python2-host libxml2-host zlib
+PKG_BUILDDEP:= libxml2-host zlib
+HOST_BUILDDEP:= python2-host
PKG_URL:= http://www.xmlsoft.org/
PKG_SITES:= http://xmlsoft.org/sources/
PKG_OPTS:= dev
diff --git a/package/libxshmfence/Makefile b/package/libxshmfence/Makefile
new file mode 100644
index 000000000..d81b9c679
--- /dev/null
+++ b/package/libxshmfence/Makefile
@@ -0,0 +1,23 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= libxshmfence
+PKG_VERSION:= 1.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 323bb06c70765a2395df1d9c7ec3d14a
+PKG_DESCR:= X11 xshmfence library
+PKG_SECTION:= x11/libs
+PKG_SITES:= ${MASTER_SITE_XORG}
+PKG_OPTS:= dev
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBXSHMFENCE,libxshmfence,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+libxshmfence-install:
+ ${INSTALL_DIR} ${IDIR_LIBXSHMFENCE}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libxshmfence.so* ${IDIR_LIBXSHMFENCE}/usr/lib
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/logrotate/Makefile b/package/logrotate/Makefile
index 32ced2e60..375746034 100644
--- a/package/logrotate/Makefile
+++ b/package/logrotate/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= logrotate
-PKG_VERSION:= 3.7.8
+PKG_VERSION:= 3.8.7
PKG_RELEASE:= 1
-PKG_MD5SUM:= b3589bea6d8d5afc8a84134fddaae973
+PKG_MD5SUM:= 99e08503ef24c3e2e3ff74cc5f3be213
PKG_DESCR:= logfile rotation utility
PKG_SECTION:= misc
PKG_DEPENDS:= libpopt
diff --git a/package/logrotate/patches/patch-Makefile b/package/logrotate/patches/patch-Makefile
index 755e612b1..c2b81fbbc 100644
--- a/package/logrotate/patches/patch-Makefile
+++ b/package/logrotate/patches/patch-Makefile
@@ -1,60 +1,33 @@
---- logrotate-3.7.8.orig/Makefile 2008-05-19 12:25:54.000000000 +0200
-+++ logrotate-3.7.8/Makefile 2011-01-15 23:45:59.000000000 +0100
-@@ -1,10 +1,10 @@
+--- logrotate-3.8.7.orig/Makefile 2013-06-10 13:29:16.000000000 +0200
++++ logrotate-3.8.7/Makefile 2014-03-23 15:16:09.000000000 +0100
+@@ -1,11 +1,11 @@
VERSION = $(shell awk '/Version:/ { print $$2 }' logrotate.spec)
-OS_NAME = $(shell uname -s)
+OS_NAME = Linux
LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`)
--CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
-+CFLAGS ?= -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
+ CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
PROG = logrotate
MAN = logrotate.8
+ MAN5 = logrotate.conf.5
-LOADLIBES = -lpopt
+LIBS = -lpopt
SVNURL= svn+ssh://svn.fedorahosted.org/svn/logrotate
SVNPUBURL = http://svn.fedorahosted.org/svn/logrotate
SVNTAG = r$(subst .,-,$(VERSION))
-@@ -68,10 +68,7 @@ MANDIR = $(BASEDIR)/man
- OBJS = logrotate.o log.o config.o basenames.o
- SOURCES = $(subst .o,.c,$(OBJS) $(LIBOBJS))
+@@ -64,7 +64,7 @@ endif
+ # Red Hat Linux
+ ifeq ($(OS_NAME),Linux)
+ INSTALL = install
+- BASEDIR = /usr
++ BASEDIR = $(DESTDIR)/usr
+ endif
--ifeq ($(RPM_OPT_FLAGS),)
--CFLAGS += -g
--LDFLAGS = -g
--endif
-+LDFLAGS ?=
-
- ifeq (.depend,$(wildcard .depend))
- TARGET=$(PROG)
-@@ -84,6 +81,7 @@ RCSVERSION = $(subst .,-,$(VERSION))
- all: $(TARGET)
+ # FreeBSD
+@@ -117,6 +117,7 @@ RCSVERSION = $(subst .,-,$(VERSION))
+ all: $(TARGET) pretest
$(PROG): $(OBJS)
+ $(CC) $(LDFLAGS) -o $(PROG) $^ $(LIBS)
clean:
rm -f $(OBJS) $(PROG) core* .depend
-@@ -96,16 +94,16 @@ test: $(TARGET)
- (cd test; ./test)
-
- install:
-- [ -d $(PREFIX)/$(BINDIR) ] || mkdir -p $(PREFIX)/$(BINDIR)
-- [ -d $(PREFIX)/$(MANDIR) ] || mkdir -p $(PREFIX)/$(MANDIR)
-- [ -d $(PREFIX)/$(MANDIR)/man8 ] || mkdir -p $(PREFIX)/$(MANDIR)/man8
-+ [ -d $(DESTDIR)/$(BINDIR) ] || mkdir -p $(DESTDIR)/$(BINDIR)
-+ [ -d $(DESTDIR)/$(MANDIR) ] || mkdir -p $(DESTDIR)/$(MANDIR)
-+ [ -d $(DESTDIR)/$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)/$(MANDIR)/man8
-
- if [ "$(OS_NAME)" = HP-UX ]; then \
-- $(INSTALL) $(PROG) $(PREFIX)/$(BINDIR) 0755 bin bin; \
-- $(INSTALL) $(MAN) $(PREFIX)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"` 0644 bin bin; \
-+ $(INSTALL) $(PROG) $(DESTDIR)/$(BINDIR) 0755 bin bin; \
-+ $(INSTALL) $(MAN) $(DESTDIR)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"` 0644 bin bin; \
- else \
-- $(INSTALL) -m 755 $(PROG) $(PREFIX)/$(BINDIR); \
-- $(INSTALL) -m 644 $(MAN) $(PREFIX)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \
-+ $(INSTALL) -m 755 $(PROG) $(DESTDIR)/$(BINDIR); \
-+ $(INSTALL) -m 644 $(MAN) $(DESTDIR)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \
- fi
-
- co:
diff --git a/package/logrotate/patches/patch-config_c b/package/logrotate/patches/patch-config_c
new file mode 100644
index 000000000..ea58cd4ce
--- /dev/null
+++ b/package/logrotate/patches/patch-config_c
@@ -0,0 +1,8 @@
+--- logrotate-3.8.7.orig/config.c 2013-07-31 13:34:31.000000000 +0200
++++ logrotate-3.8.7/config.c 2014-03-23 15:11:39.000000000 +0100
+@@ -1,4 +1,4 @@
+-#include <sys/queue.h>
++#include "queue.h"
+ /* Alloca is defined in stdlib.h in NetBSD */
+ #ifndef __NetBSD__
+ #include <alloca.h>
diff --git a/package/logrotate/patches/patch-logrotate_c b/package/logrotate/patches/patch-logrotate_c
new file mode 100644
index 000000000..d2ee8dd83
--- /dev/null
+++ b/package/logrotate/patches/patch-logrotate_c
@@ -0,0 +1,8 @@
+--- logrotate-3.8.7.orig/logrotate.c 2013-10-10 10:43:36.000000000 +0200
++++ logrotate-3.8.7/logrotate.c 2014-03-23 15:10:21.000000000 +0100
+@@ -1,4 +1,4 @@
+-#include <sys/queue.h>
++#include "queue.h"
+ /* alloca() is defined in stdlib.h in NetBSD */
+ #ifndef __NetBSD__
+ #include <alloca.h>
diff --git a/package/logrotate/patches/patch-logrotate_h b/package/logrotate/patches/patch-logrotate_h
new file mode 100644
index 000000000..7bc3c06ef
--- /dev/null
+++ b/package/logrotate/patches/patch-logrotate_h
@@ -0,0 +1,11 @@
+--- logrotate-3.8.7.orig/logrotate.h 2013-06-10 13:29:16.000000000 +0200
++++ logrotate-3.8.7/logrotate.h 2014-03-23 15:11:06.000000000 +0100
+@@ -2,7 +2,7 @@
+ #define H_LOGROTATE
+
+ #include <sys/types.h>
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <glob.h>
+
+ #include "config.h"
diff --git a/package/logrotate/src/queue.h b/package/logrotate/src/queue.h
new file mode 100644
index 000000000..daf4553d3
--- /dev/null
+++ b/package/logrotate/src/queue.h
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)queue.h 8.5 (Berkeley) 8/20/94
+ */
+
+#ifndef _SYS_QUEUE_H_
+#define _SYS_QUEUE_H_
+
+/*
+ * This file defines five types of data structures: singly-linked lists,
+ * lists, simple queues, tail queues, and circular queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The
+ * elements are singly linked for minimum space and pointer manipulation
+ * overhead at the expense of O(n) removal for arbitrary elements. New
+ * elements can be added to the list after an existing element or at the
+ * head of the list. Elements being removed from the head of the list
+ * should use the explicit macro for this purpose for optimum
+ * efficiency. A singly-linked list may only be traversed in the forward
+ * direction. Singly-linked lists are ideal for applications with large
+ * datasets and few or no removals or for implementing a LIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A simple queue is headed by a pair of pointers, one the head of the
+ * list and the other to the tail of the list. The elements are singly
+ * linked to save space, so elements can only be removed from the
+ * head of the list. New elements can be added to the list after
+ * an existing element, at the head of the list, or at the end of the
+ * list. A simple queue may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * A circle queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or after
+ * an existing element, at the head of the list, or at the end of the list.
+ * A circle queue may be traversed in either direction, but has a more
+ * complex end of list detection.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ */
+
+/*
+ * List definitions.
+ */
+#define LIST_HEAD(name, type) \
+struct name { \
+ struct type *lh_first; /* first element */ \
+}
+
+#define LIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define LIST_ENTRY(type) \
+struct { \
+ struct type *le_next; /* next element */ \
+ struct type **le_prev; /* address of previous next element */ \
+}
+
+/*
+ * List functions.
+ */
+#define LIST_INIT(head) do { \
+ (head)->lh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_AFTER(listelm, elm, field) do { \
+ if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
+ (listelm)->field.le_next->field.le_prev = \
+ &(elm)->field.le_next; \
+ (listelm)->field.le_next = (elm); \
+ (elm)->field.le_prev = &(listelm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.le_prev = (listelm)->field.le_prev; \
+ (elm)->field.le_next = (listelm); \
+ *(listelm)->field.le_prev = (elm); \
+ (listelm)->field.le_prev = &(elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.le_next = (head)->lh_first) != NULL) \
+ (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
+ (head)->lh_first = (elm); \
+ (elm)->field.le_prev = &(head)->lh_first; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_REMOVE(elm, field) do { \
+ if ((elm)->field.le_next != NULL) \
+ (elm)->field.le_next->field.le_prev = \
+ (elm)->field.le_prev; \
+ *(elm)->field.le_prev = (elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_FOREACH(var, head, field) \
+ for ((var) = ((head)->lh_first); \
+ (var); \
+ (var) = ((var)->field.le_next))
+
+/*
+ * List access methods.
+ */
+#define LIST_EMPTY(head) ((head)->lh_first == NULL)
+#define LIST_FIRST(head) ((head)->lh_first)
+#define LIST_NEXT(elm, field) ((elm)->field.le_next)
+
+
+/*
+ * Singly-linked List definitions.
+ */
+#define SLIST_HEAD(name, type) \
+struct name { \
+ struct type *slh_first; /* first element */ \
+}
+
+#define SLIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define SLIST_ENTRY(type) \
+struct { \
+ struct type *sle_next; /* next element */ \
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define SLIST_INIT(head) do { \
+ (head)->slh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
+ (elm)->field.sle_next = (slistelm)->field.sle_next; \
+ (slistelm)->field.sle_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.sle_next = (head)->slh_first; \
+ (head)->slh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE_HEAD(head, field) do { \
+ (head)->slh_first = (head)->slh_first->field.sle_next; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE(head, elm, type, field) do { \
+ if ((head)->slh_first == (elm)) { \
+ SLIST_REMOVE_HEAD((head), field); \
+ } \
+ else { \
+ struct type *curelm = (head)->slh_first; \
+ while(curelm->field.sle_next != (elm)) \
+ curelm = curelm->field.sle_next; \
+ curelm->field.sle_next = \
+ curelm->field.sle_next->field.sle_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_FOREACH(var, head, field) \
+ for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
+
+/*
+ * Singly-linked List access methods.
+ */
+#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
+#define SLIST_FIRST(head) ((head)->slh_first)
+#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
+
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define STAILQ_HEAD(name, type) \
+struct name { \
+ struct type *stqh_first; /* first element */ \
+ struct type **stqh_last; /* addr of last next element */ \
+}
+
+#define STAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).stqh_first }
+
+#define STAILQ_ENTRY(type) \
+struct { \
+ struct type *stqe_next; /* next element */ \
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define STAILQ_INIT(head) do { \
+ (head)->stqh_first = NULL; \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (head)->stqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.stqe_next = NULL; \
+ *(head)->stqh_last = (elm); \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (listelm)->field.stqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->stqh_first == (elm)) { \
+ STAILQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->stqh_first; \
+ while (curelm->field.stqe_next != (elm)) \
+ curelm = curelm->field.stqe_next; \
+ if ((curelm->field.stqe_next = \
+ curelm->field.stqe_next->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(curelm)->field.stqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->stqh_first); \
+ (var); \
+ (var) = ((var)->field.stqe_next))
+
+#define STAILQ_CONCAT(head1, head2) do { \
+ if (!STAILQ_EMPTY((head2))) { \
+ *(head1)->stqh_last = (head2)->stqh_first; \
+ (head1)->stqh_last = (head2)->stqh_last; \
+ STAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Singly-linked Tail queue access methods.
+ */
+#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
+#define STAILQ_FIRST(head) ((head)->stqh_first)
+#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
+
+
+/*
+ * Simple queue definitions.
+ */
+#define SIMPLEQ_HEAD(name, type) \
+struct name { \
+ struct type *sqh_first; /* first element */ \
+ struct type **sqh_last; /* addr of last next element */ \
+}
+
+#define SIMPLEQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).sqh_first }
+
+#define SIMPLEQ_ENTRY(type) \
+struct { \
+ struct type *sqe_next; /* next element */ \
+}
+
+/*
+ * Simple queue functions.
+ */
+#define SIMPLEQ_INIT(head) do { \
+ (head)->sqh_first = NULL; \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (head)->sqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.sqe_next = NULL; \
+ *(head)->sqh_last = (elm); \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (listelm)->field.sqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->sqh_first == (elm)) { \
+ SIMPLEQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->sqh_first; \
+ while (curelm->field.sqe_next != (elm)) \
+ curelm = curelm->field.sqe_next; \
+ if ((curelm->field.sqe_next = \
+ curelm->field.sqe_next->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(curelm)->field.sqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->sqh_first); \
+ (var); \
+ (var) = ((var)->field.sqe_next))
+
+/*
+ * Simple queue access methods.
+ */
+#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
+#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
+#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
+
+
+/*
+ * Tail queue definitions.
+ */
+#define _TAILQ_HEAD(name, type, qual) \
+struct name { \
+ qual type *tqh_first; /* first element */ \
+ qual type *qual *tqh_last; /* addr of last next element */ \
+}
+#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
+
+#define TAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).tqh_first }
+
+#define _TAILQ_ENTRY(type, qual) \
+struct { \
+ qual type *tqe_next; /* next element */ \
+ qual type *qual *tqe_prev; /* address of previous next element */\
+}
+#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
+
+/*
+ * Tail queue functions.
+ */
+#define TAILQ_INIT(head) do { \
+ (head)->tqh_first = NULL; \
+ (head)->tqh_last = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
+ (head)->tqh_first->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (head)->tqh_first = (elm); \
+ (elm)->field.tqe_prev = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.tqe_next = NULL; \
+ (elm)->field.tqe_prev = (head)->tqh_last; \
+ *(head)->tqh_last = (elm); \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
+ (elm)->field.tqe_next->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (listelm)->field.tqe_next = (elm); \
+ (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
+ (elm)->field.tqe_next = (listelm); \
+ *(listelm)->field.tqe_prev = (elm); \
+ (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_REMOVE(head, elm, field) do { \
+ if (((elm)->field.tqe_next) != NULL) \
+ (elm)->field.tqe_next->field.tqe_prev = \
+ (elm)->field.tqe_prev; \
+ else \
+ (head)->tqh_last = (elm)->field.tqe_prev; \
+ *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->tqh_first); \
+ (var); \
+ (var) = ((var)->field.tqe_next))
+
+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
+ for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
+ (var); \
+ (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Tail queue access methods.
+ */
+#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
+#define TAILQ_FIRST(head) ((head)->tqh_first)
+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define TAILQ_LAST(head, headname) \
+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
+#define TAILQ_PREV(elm, headname, field) \
+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+
+/*
+ * Circular queue definitions.
+ */
+#define CIRCLEQ_HEAD(name, type) \
+struct name { \
+ struct type *cqh_first; /* first element */ \
+ struct type *cqh_last; /* last element */ \
+}
+
+#define CIRCLEQ_HEAD_INITIALIZER(head) \
+ { (void *)&head, (void *)&head }
+
+#define CIRCLEQ_ENTRY(type) \
+struct { \
+ struct type *cqe_next; /* next element */ \
+ struct type *cqe_prev; /* previous element */ \
+}
+
+/*
+ * Circular queue functions.
+ */
+#define CIRCLEQ_INIT(head) do { \
+ (head)->cqh_first = (void *)(head); \
+ (head)->cqh_last = (void *)(head); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm)->field.cqe_next; \
+ (elm)->field.cqe_prev = (listelm); \
+ if ((listelm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (listelm)->field.cqe_next->field.cqe_prev = (elm); \
+ (listelm)->field.cqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm); \
+ (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
+ if ((listelm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (listelm)->field.cqe_prev->field.cqe_next = (elm); \
+ (listelm)->field.cqe_prev = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.cqe_next = (head)->cqh_first; \
+ (elm)->field.cqe_prev = (void *)(head); \
+ if ((head)->cqh_last == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (head)->cqh_first->field.cqe_prev = (elm); \
+ (head)->cqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.cqe_next = (void *)(head); \
+ (elm)->field.cqe_prev = (head)->cqh_last; \
+ if ((head)->cqh_first == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (head)->cqh_last->field.cqe_next = (elm); \
+ (head)->cqh_last = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_REMOVE(head, elm, field) do { \
+ if ((elm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm)->field.cqe_prev; \
+ else \
+ (elm)->field.cqe_next->field.cqe_prev = \
+ (elm)->field.cqe_prev; \
+ if ((elm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm)->field.cqe_next; \
+ else \
+ (elm)->field.cqe_prev->field.cqe_next = \
+ (elm)->field.cqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->cqh_first); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_next))
+
+#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
+ for ((var) = ((head)->cqh_last); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_prev))
+
+/*
+ * Circular queue access methods.
+ */
+#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
+#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
+#define CIRCLEQ_LAST(head) ((head)->cqh_last)
+#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
+#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
+
+#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
+ (((elm)->field.cqe_next == (void *)(head)) \
+ ? ((head)->cqh_first) \
+ : (elm->field.cqe_next))
+#define CIRCLEQ_LOOP_PREV(head, elm, field) \
+ (((elm)->field.cqe_prev == (void *)(head)) \
+ ? ((head)->cqh_last) \
+ : (elm->field.cqe_prev))
+
+#endif /* sys/queue.h */
diff --git a/package/lynx/Makefile b/package/lynx/Makefile
index 77cb6ef3e..b15da35e6 100644
--- a/package/lynx/Makefile
+++ b/package/lynx/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= lynx
-PKG_VERSION:= 2.8.7
+PKG_VERSION:= 2.8.8
PKG_RELEASE:= 1
-PKG_MD5SUM:= e36d70f3f09b2d502055ca67f09e363c
+PKG_MD5SUM:= 7caa6773f94e136556c1c30629fe1431
PKG_DESCR:= Standard text browser
PKG_SECTION:= browser
PKG_DEPENDS:= libncurses libopenssl zlib
@@ -17,7 +17,7 @@ PKG_SITES:= http://lynx.isc.org/${PKG_NAME}${PKG_VERSION}/
PKG_NOPARALLEL:= 1
DISTFILES= ${PKG_NAME}${PKG_VERSION}.tar.gz
-WRKDIST= ${WRKDIR}/lynx2-8-7
+WRKDIST= ${WRKDIR}/lynx2-8-8
include ${TOPDIR}/mk/package.mk
diff --git a/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h b/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
index d16953cca..c8217b70e 100644
--- a/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
+++ b/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
@@ -1,6 +1,6 @@
---- lynx2-8-7.orig/WWW/Library/Implementation/HTUtils.h 2009-05-25 23:05:31.000000000 +0200
-+++ lynx2-8-7/WWW/Library/Implementation/HTUtils.h 2010-05-29 12:56:42.125000000 +0200
-@@ -677,6 +677,8 @@ extern int WWW_TraceMask;
+--- lynx2-8-8.orig/WWW/Library/Implementation/HTUtils.h 2014-02-05 01:50:18.000000000 +0100
++++ lynx2-8-8/WWW/Library/Implementation/HTUtils.h 2014-03-21 22:14:07.000000000 +0100
+@@ -725,6 +725,8 @@ extern int WWW_TraceMask;
#define SHORTENED_RBIND /* FIXME: do this in configure-script */
@@ -9,15 +9,15 @@
#ifdef USE_SSL
#define free_func free__func
-@@ -717,6 +719,7 @@ extern int WWW_TraceMask;
+@@ -765,6 +767,7 @@ extern int WWW_TraceMask;
#undef free_func
#endif /* USE_SSL */
+#endif
- #ifdef HAVE_LIBDMALLOC
- #include <dmalloc.h> /* Gray Watson's library */
-@@ -747,11 +750,14 @@ extern "C" {
+ #ifdef HAVE_BSD_STDLIB_H
+ #include <bsd/stdlib.h> /* prototype for arc4random.h */
+@@ -801,11 +804,14 @@ extern "C" {
extern FILE *TraceFP(void);
diff --git a/package/lynx/patches/patch-makefile_in b/package/lynx/patches/patch-makefile_in
new file mode 100644
index 000000000..5cb6b5962
--- /dev/null
+++ b/package/lynx/patches/patch-makefile_in
@@ -0,0 +1,11 @@
+--- lynx2-8-8.orig/makefile.in 2014-03-09 22:43:10.000000000 +0100
++++ lynx2-8-8/makefile.in 2014-03-21 23:17:26.000000000 +0100
+@@ -210,7 +210,7 @@ SRC_CFLAGS = \
+ WWWINC=$(WWW_DIR) \
+ WWWLIB="../$(WWW_DIR)/libwww.a"
+
+-actual_PROG = `echo lynx| sed '$(transform)'`
++actual_PROG = lynx
+ binary_PROG = $(actual_PROG)$x
+
+ all lynx$x: cfg_defs.h LYHelp.h
diff --git a/package/lynx/patches/patch-src_chrtrans_makeuctb_c b/package/lynx/patches/patch-src_chrtrans_makeuctb_c
index 9f23671e7..9972a6f8c 100644
--- a/package/lynx/patches/patch-src_chrtrans_makeuctb_c
+++ b/package/lynx/patches/patch-src_chrtrans_makeuctb_c
@@ -1,23 +1,10 @@
---- lynx2-8-7.orig/src/chrtrans/makeuctb.c 2009-02-02 02:41:02.000000000 +0100
-+++ lynx2-8-7/src/chrtrans/makeuctb.c 2010-05-29 12:55:33.031250000 +0200
-@@ -18,6 +18,7 @@
- * version 2, or at your option any later version.
- */
-
-+
- #ifndef HAVE_CONFIG_H
- /* override HTUtils.h fallbacks for cross-compiling */
- #undef HAVE_LSTAT
-@@ -28,10 +29,12 @@
+--- lynx2-8-8.orig/src/chrtrans/makeuctb.c 2013-11-29 01:52:56.000000000 +0100
++++ lynx2-8-8/src/chrtrans/makeuctb.c 2014-03-21 22:12:13.000000000 +0100
+@@ -28,6 +28,7 @@
#define DONT_USE_GETTEXT
#define DONT_USE_SOCKS5
+#define DONT_USE_SSL
#include <UCDefs.h>
#include <UCkd.h>
- #include <LYUtils.h>
-+
- /*
- * Don't try to use LYexit() since this is a standalone file.
- */
diff --git a/package/lzma/Makefile b/package/lzma/Makefile
new file mode 100644
index 000000000..7d2a2e653
--- /dev/null
+++ b/package/lzma/Makefile
@@ -0,0 +1,28 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= lzma
+PKG_VERSION:= 4.32.7
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 2a748b77a2f8c3cbc322dbd0b4c9d06a
+PKG_DESCR:= LZMA compression utility
+PKG_SECTION:= archive
+PKG_URL:= http://tukaani.org/lzma/
+PKG_SITES:= http://tukaani.org/lzma/
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,LZMA,lzma,$(PKG_VERSION)-${PKG_RELEASE}))
+$(eval $(call PKG_template,LZMA,lzma,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+HOST_STYLE:= auto
+
+lzma-install:
+ $(INSTALL_DIR) $(IDIR_LZMA)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/lzma $(IDIR_LZMA)/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/lzop/Makefile b/package/lzop/Makefile
index f939092a5..95278fcd3 100644
--- a/package/lzop/Makefile
+++ b/package/lzop/Makefile
@@ -11,15 +11,21 @@ PKG_DESCR:= LZO compression utility
PKG_SECTION:= archive
PKG_DEPENDS:= liblzo
PKG_BUILDDEP:= liblzo
+HOST_BUILDDEP:= liblzo-host
PKG_URL:= http://www.lzop.org/
PKG_SITES:= http://www.lzop.org/download/
+include $(TOPDIR)/mk/host.mk
include $(TOPDIR)/mk/package.mk
+$(eval $(call HOST_template,LZOP,lzop,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,LZOP,lzop,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+HOST_STYLE:= auto
+
lzop-install:
$(INSTALL_DIR) $(IDIR_LZOP)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/bin/lzop $(IDIR_LZOP)/usr/bin
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mkimage/Makefile b/package/mkimage/Makefile
new file mode 100644
index 000000000..3d6fbc45d
--- /dev/null
+++ b/package/mkimage/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= mkimage
+PKG_VERSION:= 0.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 1b7a781fb4cf8938842279bd3e8ee852
+PKG_DESCR:= stripped down mkimage utility
+PKG_SECTION:= misc
+
+NO_DISTFILES:= 1
+
+PKG_CFLINE_MKIMAGE:= depends on ADK_HOST_ONLY
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,MKIMAGE,mkimage,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:= manual
+
+host-build:
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o ${WRKBUILD}/mkimage ${WRKBUILD}/mkimage.c ${WRKBUILD}/crc32.c
+
+mkimage-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/mkimage \
+ ${STAGING_HOST_DIR}/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/tools/mkimage/crc32.c b/package/mkimage/src/crc32.c
index 067b3106c..067b3106c 100644
--- a/tools/mkimage/crc32.c
+++ b/package/mkimage/src/crc32.c
diff --git a/tools/mkimage/image.h b/package/mkimage/src/image.h
index cb62cde5b..cb62cde5b 100644
--- a/tools/mkimage/image.h
+++ b/package/mkimage/src/image.h
diff --git a/tools/mkimage/mkimage.c b/package/mkimage/src/mkimage.c
index 7c0432bad..7c0432bad 100644
--- a/tools/mkimage/mkimage.c
+++ b/package/mkimage/src/mkimage.c
diff --git a/package/mksh/Makefile b/package/mksh/Makefile
index c40d9d807..4f65a97f7 100644
--- a/package/mksh/Makefile
+++ b/package/mksh/Makefile
@@ -17,24 +17,44 @@ PKG_DFLT_MKSH:= y if !ADK_TOOLCHAIN_ONLY
DISTFILES= ${PKG_NAME}-R${PKG_VERSION}.tgz
WRKDIST= ${WRKDIR}/${PKG_NAME}
+include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,MKSH,mksh,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call HOST_template,MKSH,mksh,${PKG_VERSION}-${PKG_RELEASE}))
+$(eval $(call PKG_template,MKSH,mksh,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR},${PKG_SECTION}))
+
+ifeq ($(ADK_STATIC),y)
+TARGET_CFLAGS+= -static
+TARGET_LDFLAGS+= -static
+endif
TARGET_CPPFLAGS+= -DMKSH_SMALL=1
+TARGET_LDFLAGS+= -static-libgcc
+
+HOST_STYLE:= manual
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
+host-build:
+ cd ${WRKBUILD} && HAVE_CAN_FSTACKPROTECTORALL=0 \
+ TARGET_OS=Linux ${BASH} ${WRKSRC}/Build.sh -Q -r -c lto
+
+mksh-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/mksh \
+ ${STAGING_HOST_DIR}/usr/bin
+
do-build:
cd ${WRKBUILD} && CC='${TARGET_CC}' CFLAGS='${TARGET_CFLAGS}' \
CPPFLAGS='${TARGET_CPPFLAGS}' LDFLAGS='${TARGET_LDFLAGS}' \
HAVE_CAN_FSTACKPROTECTORALL=0 \
TARGET_OS=Linux ${BASH} ${WRKSRC}/Build.sh -Q -r -c lto
-do-install:
+mksh-install:
${INSTALL_DIR} ${IDIR_MKSH}/bin ${IDIR_MKSH}/root
${INSTALL_BIN} ${WRKBUILD}/mksh ${IDIR_MKSH}/bin/
${CP} ${WRKSRC}/dot.mkshrc ${IDIR_MKSH}/root/.mkshrc
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/moc/Makefile b/package/moc/Makefile
index 11bc9243c..797e76b06 100644
--- a/package/moc/Makefile
+++ b/package/moc/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= moc
-PKG_VERSION:= 2.5.0-beta1
+PKG_VERSION:= 2.5.0-beta2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 795ecba86847e082aa2f21937cc04804
+PKG_MD5SUM:= da87b90b57934234589b63e347921458
PKG_DESCR:= console music player
PKG_SECTION:= multimedia
PKG_DEPENDS:= libmad libvorbis libcurl libflac
@@ -22,6 +22,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,MOC,moc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ARGS+= --without-jack \
--without-oss \
diff --git a/package/mpd/Makefile b/package/mpd/Makefile
index c1ad710dc..b104f00f5 100644
--- a/package/mpd/Makefile
+++ b/package/mpd/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= mpd
PKG_VERSION:= 0.18.9
-PKG_RELEASE:= 1
+PKG_RELEASE:= 3
PKG_MD5SUM:= 0e5156a831d4302d2032998bcfd5c36f
PKG_DESCR:= A music player daemon
PKG_SECTION:= multimedia
@@ -16,8 +16,6 @@ PKG_URL:= http://www.musicpd.org/
PKG_SITES:= http://www.musicpd.org/download/mpd/0.18/
PKG_NEED_CXX:= 1
-PKG_ARCH_DEPENDS:= !m68k
-
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
PKG_FLAVOURS_MPD:= WITH_ALSA WITH_AO WITH_MP3 WITH_MP4 WITH_TREMOR
diff --git a/package/mpd/patches/patch-src_db_SimpleDatabasePlugin_cxx b/package/mpd/patches/patch-src_db_SimpleDatabasePlugin_cxx
deleted file mode 100644
index 0f28de720..000000000
--- a/package/mpd/patches/patch-src_db_SimpleDatabasePlugin_cxx
+++ /dev/null
@@ -1,91 +0,0 @@
---- mpd-0.18.5.orig/src/db/SimpleDatabasePlugin.cxx 2013-11-22 00:33:30.000000000 +0100
-+++ mpd-0.18.5/src/db/SimpleDatabasePlugin.cxx 2013-11-30 19:17:55.000000000 +0100
-@@ -35,6 +35,9 @@
-
- #include <sys/types.h>
- #include <errno.h>
-+#include <sys/mount.h>
-+#include <mntent.h>
-+#include <string.h>
-
- static constexpr Domain simple_db_domain("simple_db");
-
-@@ -95,8 +98,8 @@ SimpleDatabase::Check(Error &error) cons
- return false;
- }
-
-- /* Check if we can write to the directory */
-- if (!CheckAccess(dirPath, X_OK | W_OK)) {
-+ /* Check if we can change into the directory */
-+ if (!CheckAccess(dirPath, X_OK)) {
- const int e = errno;
- const std::string dirPath_utf8 = dirPath.ToUTF8();
- error.FormatErrno(e, "Can't create db file in \"%s\"",
-@@ -122,9 +125,9 @@ SimpleDatabase::Check(Error &error) cons
- return false;
- }
-
-- /* And check that we can write to it */
-- if (!CheckAccess(path, R_OK | W_OK)) {
-- error.FormatErrno("Can't open db file \"%s\" for reading/writing",
-+ /* And check that we can read it */
-+ if (!CheckAccess(path, R_OK)) {
-+ error.FormatErrno("Can't open db file \"%s\" for reading",
- path_utf8.c_str());
- return false;
- }
-@@ -281,6 +284,10 @@ SimpleDatabase::GetStats(const DatabaseS
- bool
- SimpleDatabase::Save(Error &error)
- {
-+ struct mntent *mnt;
-+ int remount;
-+ FILE *f;
-+
- db_lock();
-
- LogDebug(simple_db_domain, "removing empty directories from DB");
-@@ -293,6 +300,26 @@ SimpleDatabase::Save(Error &error)
-
- LogDebug(simple_db_domain, "writing DB");
-
-+ remount = 0;
-+ /* check if /data is mounted read-only */
-+ if ((f = setmntent("/proc/mounts", "r")) == NULL)
-+ error.Format(simple_db_domain, "Checking /proc/mounts failed");
-+
-+ while ((mnt = getmntent(f)) != NULL) {
-+ if (strcmp(mnt->mnt_dir, "/data") == 0 &&
-+ hasmntopt(mnt, MNTOPT_RO) != NULL) {
-+ remount = 1;
-+ }
-+ }
-+ endmntent(f);
-+
-+ if (remount) {
-+ if (mount("","/data",0,MS_REMOUNT,0)<0) {
-+ error.Format(simple_db_domain, "Remounting /data rw failed");
-+ }
-+ LogDebug(simple_db_domain, "Mounted /data successfully in read-write mode");
-+ }
-+
- FILE *fp = FOpen(path, FOpenMode::WriteText);
- if (!fp) {
- error.FormatErrno("unable to write to db file \"%s\"",
-@@ -310,6 +337,16 @@ SimpleDatabase::Save(Error &error)
-
- fclose(fp);
-
-+ if (remount) {
-+ sync();
-+ if (mount("","/data",0,MS_REMOUNT|MS_RDONLY,0)<0) {
-+ error.Format(simple_db_domain, "Remounting /data ro failed");
-+ }
-+ LogDebug(simple_db_domain, "Mounted /data successfully in read-only mode");
-+ }
-+
-+ LogDebug(simple_db_domain, "Successfully written database");
-+
- struct stat st;
- if (StatFile(path, st))
- mtime = st.st_mtime;
diff --git a/package/mpd/patches/patch-src_thread_Id_hxx b/package/mpd/patches/patch-src_thread_Id_hxx
index dabee4007..21dd19846 100644
--- a/package/mpd/patches/patch-src_thread_Id_hxx
+++ b/package/mpd/patches/patch-src_thread_Id_hxx
@@ -1,5 +1,5 @@
---- mpd-0.18.5.orig/src/thread/Id.hxx 2013-11-18 23:50:46.000000000 +0100
-+++ mpd-0.18.5/src/thread/Id.hxx 2013-11-29 20:50:36.000000000 +0100
+--- mpd-0.18.9.orig/src/thread/Id.hxx 2013-12-11 20:51:53.000000000 +0100
++++ mpd-0.18.9/src/thread/Id.hxx 2014-03-26 09:04:04.000000000 +0100
@@ -84,7 +84,7 @@ public:
#ifdef WIN32
return id == other.id;
diff --git a/package/mpg123/Makefile b/package/mpg123/Makefile
index 350a7a097..0fdbe17b4 100644
--- a/package/mpg123/Makefile
+++ b/package/mpg123/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= mpg123
-PKG_VERSION:= 1.13.3
+PKG_VERSION:= 1.19.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= b1f990ce76dcf2fdf9d53ac39fc6bc7e
+PKG_MD5SUM:= 87731f1437cfd8c50537a606d81130e4
PKG_DESCR:= mp3 console player
PKG_SECTION:= multimedia
PKG_DEPENDS:= libpthread alsa-lib
diff --git a/package/mplayer/Makefile b/package/mplayer/Makefile
index a6851f3fa..0a98de806 100644
--- a/package/mplayer/Makefile
+++ b/package/mplayer/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= mplayer
PKG_VERSION:= 1.1.1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 39dd55f30eb5403f219a606e79a6648a
PKG_DESCR:= popular video player
PKG_SECTION:= multimedia
@@ -34,9 +34,8 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,MPLAYER,mplayer,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc
XAKE_FLAGS+= GCC_HONOUR_COPTS=s
-# gcc 4.5 produces internal compiler error with -Os
-#TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS))
TARGET_CFLAGS+= -D_POSIX_SOURCE -D_GNU_SOURCE
CONFIG_STYLE:= minimal
diff --git a/package/mtd-utils/Makefile b/package/mtd-utils/Makefile
new file mode 100644
index 000000000..19c81ae4a
--- /dev/null
+++ b/package/mtd-utils/Makefile
@@ -0,0 +1,35 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= mtd-utils
+PKG_VERSION:= 1.5.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= a4df1ad29684be79b0fa699bdae01faf
+PKG_DESCR:= mtd-utils filesystem utilities
+PKG_SECTION:= fs
+HOST_BUILDDEP:= liblzo-host
+PKG_SITES:= http://openadk.org/distfiles/
+
+PKG_CFLINE_MTD_UTILS:= depends on ADK_HOST_ONLY
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,MTD_UTILS,mtd-utils,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:= manual
+CPPFLAGS_FOR_BUILD+= -DWITHOUT_XATTR=1 -I./include
+
+host-build:
+ (cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+
+mtd-utils-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/mkfs.jffs2 \
+ ${STAGING_HOST_DIR}/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/tools/mtd-utils/patches/lzo.patch b/package/mtd-utils/patches/patch-Makefile
index 52f16146c..53ed8640e 100644
--- a/tools/mtd-utils/patches/lzo.patch
+++ b/package/mtd-utils/patches/patch-Makefile
@@ -1,29 +1,6 @@
-diff -Nur mtd-utils-1.5.0.orig/compr.c mtd-utils-1.5.0/compr.c
---- mtd-utils-1.5.0.orig/compr.c 2012-05-07 09:19:39.000000000 +0200
-+++ mtd-utils-1.5.0/compr.c 2014-02-25 21:05:20.000000000 +0100
-@@ -517,9 +517,6 @@
- #ifdef CONFIG_JFFS2_RTIME
- jffs2_rtime_init();
- #endif
--#ifdef CONFIG_JFFS2_LZO
-- jffs2_lzo_init();
--#endif
- return 0;
- }
-
-@@ -531,8 +528,5 @@
- #ifdef CONFIG_JFFS2_ZLIB
- jffs2_zlib_exit();
- #endif
--#ifdef CONFIG_JFFS2_LZO
-- jffs2_lzo_exit();
--#endif
- return 0;
- }
-diff -Nur mtd-utils-1.5.0.orig/Makefile mtd-utils-1.5.0/Makefile
--- mtd-utils-1.5.0.orig/Makefile 2012-05-07 09:19:39.000000000 +0200
-+++ mtd-utils-1.5.0/Makefile 2014-02-25 21:13:03.000000000 +0100
-@@ -16,27 +16,13 @@
++++ mtd-utils-1.5.0/Makefile 2014-03-30 15:49:30.000000000 +0200
+@@ -16,27 +16,13 @@ endif
TESTS = tests
@@ -52,7 +29,7 @@ diff -Nur mtd-utils-1.5.0.orig/Makefile mtd-utils-1.5.0/Makefile
OBJDEPS = $(BUILDDIR)/include/version.h
-@@ -83,12 +69,12 @@
+@@ -83,12 +69,12 @@ $(BUILDDIR)/include/version.h.tmp:
#
# Utils in top level
#
@@ -70,7 +47,7 @@ diff -Nur mtd-utils-1.5.0.orig/Makefile mtd-utils-1.5.0/Makefile
$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
-@@ -103,7 +89,7 @@
+@@ -103,7 +89,7 @@ $(call _mkdep,lib/,libmtd.a)
#
obj-mkfs.ubifs = crc16.o lpt.o compr.o devtable.o \
hashtable/hashtable.o hashtable/hashtable_itr.o
@@ -79,7 +56,7 @@ diff -Nur mtd-utils-1.5.0.orig/Makefile mtd-utils-1.5.0/Makefile
$(call mkdep,mkfs.ubifs/,mkfs.ubifs,,ubi-utils/libubi.a)
#
-@@ -117,6 +103,3 @@
+@@ -117,6 +103,3 @@ obj-libubigen.a = libubigen.o
obj-mtdinfo = libubigen.a
obj-ubinize = libubigen.a libiniparser.a
obj-ubiformat = libubigen.a libscan.a
diff --git a/package/mtd-utils/patches/patch-common_mk b/package/mtd-utils/patches/patch-common_mk
new file mode 100644
index 000000000..6881db87e
--- /dev/null
+++ b/package/mtd-utils/patches/patch-common_mk
@@ -0,0 +1,11 @@
+--- mtd-utils-1.5.0.orig/common.mk 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/common.mk 2014-03-30 15:49:26.000000000 +0200
+@@ -13,8 +13,6 @@ WFLAGS := -Wall \
+ $(call cc-option,-Wwrite-strings) \
+ $(call cc-option,-Wno-sign-compare)
+ CFLAGS += $(WFLAGS)
+-SECTION_CFLAGS := $(call cc-option,-ffunction-sections -fdata-sections -Wl$(comma)--gc-sections)
+-CFLAGS += $(SECTION_CFLAGS)
+
+ ifneq ($(WITHOUT_LARGEFILE), 1)
+ CPPFLAGS += -D_FILE_OFFSET_BITS=64
diff --git a/package/mtd-utils/patches/patch-compr_c b/package/mtd-utils/patches/patch-compr_c
new file mode 100644
index 000000000..c69e133b9
--- /dev/null
+++ b/package/mtd-utils/patches/patch-compr_c
@@ -0,0 +1,21 @@
+--- mtd-utils-1.5.0.orig/compr.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/compr.c 2014-03-30 15:49:30.000000000 +0200
+@@ -517,9 +517,6 @@ int jffs2_compressors_init(void)
+ #ifdef CONFIG_JFFS2_RTIME
+ jffs2_rtime_init();
+ #endif
+-#ifdef CONFIG_JFFS2_LZO
+- jffs2_lzo_init();
+-#endif
+ return 0;
+ }
+
+@@ -531,8 +528,5 @@ int jffs2_compressors_exit(void)
+ #ifdef CONFIG_JFFS2_ZLIB
+ jffs2_zlib_exit();
+ #endif
+-#ifdef CONFIG_JFFS2_LZO
+- jffs2_lzo_exit();
+-#endif
+ return 0;
+ }
diff --git a/package/mtd-utils/patches/patch-compr_lzo_c b/package/mtd-utils/patches/patch-compr_lzo_c
new file mode 100644
index 000000000..98f235c5b
--- /dev/null
+++ b/package/mtd-utils/patches/patch-compr_lzo_c
@@ -0,0 +1,10 @@
+--- mtd-utils-1.5.0.orig/compr_lzo.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/compr_lzo.c 2014-03-30 15:49:26.000000000 +0200
+@@ -26,7 +26,6 @@
+ #include <string.h>
+
+ #ifndef WITHOUT_LZO
+-#include <asm/types.h>
+ #include <linux/jffs2.h>
+ #include <lzo/lzo1x.h>
+ #include "compr.h"
diff --git a/package/mtd-utils/patches/patch-compr_zlib_c b/package/mtd-utils/patches/patch-compr_zlib_c
new file mode 100644
index 000000000..200bb55ce
--- /dev/null
+++ b/package/mtd-utils/patches/patch-compr_zlib_c
@@ -0,0 +1,10 @@
+--- mtd-utils-1.5.0.orig/compr_zlib.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/compr_zlib.c 2014-03-30 15:49:26.000000000 +0200
+@@ -39,7 +39,6 @@
+ #include <zlib.h>
+ #undef crc32
+ #include <stdio.h>
+-#include <asm/types.h>
+ #include <linux/jffs2.h>
+ #include "common.h"
+ #include "compr.h"
diff --git a/package/mtd-utils/patches/patch-include_mtd_jffs2-user_h b/package/mtd-utils/patches/patch-include_mtd_jffs2-user_h
new file mode 100644
index 000000000..1373b66f2
--- /dev/null
+++ b/package/mtd-utils/patches/patch-include_mtd_jffs2-user_h
@@ -0,0 +1,16 @@
+--- mtd-utils-1.5.0.orig/include/mtd/jffs2-user.h 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/include/mtd/jffs2-user.h 2014-03-30 15:49:26.000000000 +0200
+@@ -9,8 +9,13 @@
+
+ /* This file is blessed for inclusion by userspace */
+ #include <linux/jffs2.h>
++#if defined(__APPLE__)
++#include "endian.h"
++#include "byteswap.h"
++#else
+ #include <endian.h>
+ #include <byteswap.h>
++#endif
+
+ #undef cpu_to_je16
+ #undef cpu_to_je32
diff --git a/package/mtd-utils/patches/patch-include_mtd_mtd-abi_h b/package/mtd-utils/patches/patch-include_mtd_mtd-abi_h
new file mode 100644
index 000000000..9a95c4127
--- /dev/null
+++ b/package/mtd-utils/patches/patch-include_mtd_mtd-abi_h
@@ -0,0 +1,14 @@
+--- mtd-utils-1.5.0.orig/include/mtd/mtd-abi.h 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/include/mtd/mtd-abi.h 2014-03-30 15:49:26.000000000 +0200
+@@ -171,9 +171,9 @@ struct otp_info {
+ /* Get info about OOB modes (e.g., RAW, PLACE, AUTO) - legacy interface */
+ #define MEMGETOOBSEL _IOR('M', 10, struct nand_oobinfo)
+ /* Check if an eraseblock is bad */
+-#define MEMGETBADBLOCK _IOW('M', 11, __kernel_loff_t)
++#define MEMGETBADBLOCK _IOW('M', 11, off_t)
+ /* Mark an eraseblock as bad */
+-#define MEMSETBADBLOCK _IOW('M', 12, __kernel_loff_t)
++#define MEMSETBADBLOCK _IOW('M', 12, off_t)
+ /* Set OTP (One-Time Programmable) mode (factory vs. user) */
+ #define OTPSELECT _IOR('M', 13, int)
+ /* Get number of OTP (One-Time Programmable) regions */
diff --git a/package/mtd-utils/patches/patch-include_mtd_ubi-media_h b/package/mtd-utils/patches/patch-include_mtd_ubi-media_h
new file mode 100644
index 000000000..33feabf92
--- /dev/null
+++ b/package/mtd-utils/patches/patch-include_mtd_ubi-media_h
@@ -0,0 +1,18 @@
+--- mtd-utils-1.5.0.orig/include/mtd/ubi-media.h 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/include/mtd/ubi-media.h 2014-03-30 15:49:26.000000000 +0200
+@@ -30,7 +30,15 @@
+ #ifndef __UBI_MEDIA_H__
+ #define __UBI_MEDIA_H__
+
++#ifdef __linux__
+ #include <asm/byteorder.h>
++#else
++#include <stdint.h>
++typedef uint8_t __u8;
++typedef uint16_t __be16;
++typedef uint32_t __be32;
++typedef uint64_t __be64;
++#endif
+
+ /* The version of UBI images supported by this implementation */
+ #define UBI_VERSION 1
diff --git a/package/mtd-utils/patches/patch-lib_libfec_c b/package/mtd-utils/patches/patch-lib_libfec_c
new file mode 100644
index 000000000..7b198d0fb
--- /dev/null
+++ b/package/mtd-utils/patches/patch-lib_libfec_c
@@ -0,0 +1,20 @@
+--- mtd-utils-1.5.0.orig/lib/libfec.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/lib/libfec.c 2014-03-30 15:49:26.000000000 +0200
+@@ -61,8 +61,6 @@ struct timeval {
+ };
+ #define gettimeofday(x, dummy) { (x)->ticks = clock() ; }
+ #define DIFF_T(a,b) (1+ 1000000*(a.ticks - b.ticks) / CLOCKS_PER_SEC )
+-typedef unsigned long u_long ;
+-typedef unsigned short u_short ;
+ #else /* typically, unix systems */
+ #include <sys/time.h>
+ #define DIFF_T(a,b) \
+@@ -625,7 +623,7 @@ init_fec(void)
+ #define FEC_MAGIC 0xFECC0DEC
+
+ struct fec_parms {
+- u_long magic ;
++ unsigned long magic ;
+ int k, n ; /* parameters of the code */
+ gf *enc_matrix ;
+ } ;
diff --git a/package/mtd-utils/patches/patch-lib_libmtd_c b/package/mtd-utils/patches/patch-lib_libmtd_c
new file mode 100644
index 000000000..af0f9a837
--- /dev/null
+++ b/package/mtd-utils/patches/patch-lib_libmtd_c
@@ -0,0 +1,38 @@
+--- mtd-utils-1.5.0.orig/lib/libmtd.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/lib/libmtd.c 2014-03-30 15:49:26.000000000 +0200
+@@ -1006,7 +1006,7 @@ out:
+ int mtd_is_bad(const struct mtd_dev_info *mtd, int fd, int eb)
+ {
+ int ret;
+- loff_t seek;
++ off_t seek;
+
+ ret = mtd_valid_erase_block(mtd, eb);
+ if (ret)
+@@ -1015,7 +1015,7 @@ int mtd_is_bad(const struct mtd_dev_info
+ if (!mtd->bb_allowed)
+ return 0;
+
+- seek = (loff_t)eb * mtd->eb_size;
++ seek = (off_t)eb * mtd->eb_size;
+ ret = ioctl(fd, MEMGETBADBLOCK, &seek);
+ if (ret == -1)
+ return mtd_ioctl_error(mtd, eb, "MEMGETBADBLOCK");
+@@ -1025,7 +1025,7 @@ int mtd_is_bad(const struct mtd_dev_info
+ int mtd_mark_bad(const struct mtd_dev_info *mtd, int fd, int eb)
+ {
+ int ret;
+- loff_t seek;
++ off_t seek;
+
+ if (!mtd->bb_allowed) {
+ errno = EINVAL;
+@@ -1036,7 +1036,7 @@ int mtd_mark_bad(const struct mtd_dev_in
+ if (ret)
+ return ret;
+
+- seek = (loff_t)eb * mtd->eb_size;
++ seek = (off_t)eb * mtd->eb_size;
+ ret = ioctl(fd, MEMSETBADBLOCK, &seek);
+ if (ret == -1)
+ return mtd_ioctl_error(mtd, eb, "MEMSETBADBLOCK");
diff --git a/package/mtd-utils/patches/patch-lib_libmtd_legacy_c b/package/mtd-utils/patches/patch-lib_libmtd_legacy_c
new file mode 100644
index 000000000..bcd66374f
--- /dev/null
+++ b/package/mtd-utils/patches/patch-lib_libmtd_legacy_c
@@ -0,0 +1,11 @@
+--- mtd-utils-1.5.0.orig/lib/libmtd_legacy.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/lib/libmtd_legacy.c 2014-03-30 15:49:26.000000000 +0200
+@@ -234,7 +234,7 @@ int legacy_get_dev_info(const char *node
+ struct stat st;
+ struct mtd_info_user ui;
+ int fd, ret;
+- loff_t offs = 0;
++ off_t offs = 0;
+ struct proc_parse_info pi;
+
+ if (stat(node, &st)) {
diff --git a/package/mtd-utils/patches/patch-mkfs_jffs2_c b/package/mtd-utils/patches/patch-mkfs_jffs2_c
new file mode 100644
index 000000000..766e2204a
--- /dev/null
+++ b/package/mtd-utils/patches/patch-mkfs_jffs2_c
@@ -0,0 +1,15 @@
+--- mtd-utils-1.5.0.orig/mkfs.jffs2.c 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/mkfs.jffs2.c 2014-03-30 15:49:26.000000000 +0200
+@@ -70,7 +70,12 @@
+ #include <sys/xattr.h>
+ #include <sys/acl.h>
+ #endif
++#if defined(__APPLE__)
++#include "endian.h"
++#include "byteswap.h"
++#else
+ #include <byteswap.h>
++#endif
+ #include <crc32.h>
+ #include <inttypes.h>
+
diff --git a/package/mtd-utils/patches/patch-rbtree_h b/package/mtd-utils/patches/patch-rbtree_h
new file mode 100644
index 000000000..b7d34b937
--- /dev/null
+++ b/package/mtd-utils/patches/patch-rbtree_h
@@ -0,0 +1,12 @@
+--- mtd-utils-1.5.0.orig/rbtree.h 2012-05-07 09:19:39.000000000 +0200
++++ mtd-utils-1.5.0/rbtree.h 2014-03-30 15:49:26.000000000 +0200
+@@ -94,8 +94,7 @@ static inline struct page * rb_insert_pa
+ #ifndef _LINUX_RBTREE_H
+ #define _LINUX_RBTREE_H
+
+-#include <linux/kernel.h>
+-#include <linux/stddef.h>
++#include <stddef.h>
+
+ struct rb_node
+ {
diff --git a/package/mutt/Makefile b/package/mutt/Makefile
index 0454d4627..05bb5096e 100644
--- a/package/mutt/Makefile
+++ b/package/mutt/Makefile
@@ -4,15 +4,16 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= mutt
-PKG_VERSION:= 1.5.20
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 027cdd9959203de0c3c64149a7ee351c
-PKG_DESCR:= Mail text client
+PKG_VERSION:= 1.5.23
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 11f5b6a3eeba1afa1257fe93c9f26bff
+PKG_DESCR:= mail text client
PKG_SECTION:= mail
PKG_DEPENDS:= libncurses libopenssl
PKG_BUILDDEP:= ncurses openssl
PKG_URL:= http://www.mutt.org/
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=mutt/}
+PKG_SITES:= ftp://ftp.mutt.org/mutt/devel/ \
+ http://ftp.hi.is/pub/mutt/
include ${TOPDIR}/mk/package.mk
diff --git a/package/mutt/patches/patch-Makefile_in b/package/mutt/patches/patch-Makefile_in
index 3a6601abe..c4bcb93db 100644
--- a/package/mutt/patches/patch-Makefile_in
+++ b/package/mutt/patches/patch-Makefile_in
@@ -1,20 +1,20 @@
---- mutt-1.5.20.orig/Makefile.in 2009-06-09 08:50:44.000000000 +0200
-+++ mutt-1.5.20/Makefile.in 2010-05-30 13:43:47.001613117 +0200
-@@ -155,7 +155,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGE
- distdir dist dist-all distcheck
+--- mutt-1.5.23.orig/Makefile.in 2014-03-12 17:26:44.000000000 +0100
++++ mutt-1.5.23/Makefile.in 2014-03-27 11:06:17.000000000 +0100
+@@ -259,7 +259,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
+ CSCOPE = cscope
-DIST_SUBDIRS = m4 po intl doc contrib imap
+DIST_SUBDIRS = m4 po intl contrib imap
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
-@@ -340,7 +340,7 @@ top_srcdir = @top_srcdir@
+@@ -451,7 +451,7 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.6 foreign
@BUILD_IMAP_TRUE@IMAP_SUBDIR = imap
@BUILD_IMAP_TRUE@IMAP_INCLUDES = -I$(top_srcdir)/imap
-SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
+SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR)
bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
- BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h hcversion.h
- mutt_SOURCES = \
+ @BUILD_HCACHE_TRUE@HCVERSION = hcversion.h
+ BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h conststrings.c $(HCVERSION)
diff --git a/package/mutt/patches/patch-mutt_ssl_c b/package/mutt/patches/patch-mutt_ssl_c
deleted file mode 100644
index 160dc668c..000000000
--- a/package/mutt/patches/patch-mutt_ssl_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- mutt-1.5.20.orig/mutt_ssl.c 2009-06-10 07:08:29.000000000 +0200
-+++ mutt-1.5.20/mutt_ssl.c 2010-06-02 19:53:33.141613592 +0200
-@@ -652,7 +652,7 @@ static int check_host (X509 *x509cert, c
- char *buf = NULL;
- int bufsize;
- /* needed to get the DNS subjectAltNames: */
-- STACK *subj_alt_names;
-+ STACK_OF(GENERAL_NAME) *subj_alt_names;
- int subj_alt_names_count;
- GENERAL_NAME *subj_alt_name;
- /* did we find a name matching hostname? */
-@@ -735,7 +735,7 @@ static int ssl_cache_trusted_cert (X509
- {
- dprint (1, (debugfile, "trusted: %s\n", c->name));
- if (!SslSessionCerts)
-- SslSessionCerts = sk_new_null();
-+ SslSessionCerts = sk_X509_new_null();
- return (sk_X509_push (SslSessionCerts, X509_dup(c)));
- }
-
diff --git a/package/ncurses/Makefile b/package/ncurses/Makefile
index 2453064f5..6b193dc12 100644
--- a/package/ncurses/Makefile
+++ b/package/ncurses/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= ncurses
PKG_VERSION:= 5.9
-PKG_RELEASE:= 3
+PKG_RELEASE:= 5
PKG_MD5SUM:= 8cb9c412e5f2d96bc6f459aa8c6282a1
PKG_DESCR:= a terminal handling library
PKG_SECTION:= libs
@@ -50,6 +50,7 @@ CONFIGURE_ARGS+= --without-cxx \
ALL_TARGET:= libs
INSTALL_TARGET:= install.libs install.data
+HOST_STYLE:= auto
# use sth which does not exist
HOST_ALL_TARGET:= progs
HOST_INSTALL_TARGET:= install.includes install.progs
@@ -69,9 +70,6 @@ HOST_CONFIGURE_ARGS+= --without-shared \
--without-debug \
--without-profile
-libncurses-hostinstall:
- ${CP} ${HOST_WRKINST}/usr/bin/* ${STAGING_HOST_DIR}/usr/bin
-
libncurses-install:
rm -rf ${WRKINST}/usr/lib/terminfo
# this is installed as libncurses - make libcurses a "link"
@@ -81,18 +79,13 @@ libncurses-install:
${INSTALL_DIR} ${IDIR_LIBNCURSES}/usr/lib
${CP} ${WRKINST}/usr/lib/lib{tinfo,form,menu,ncurses,panel}.so* \
${IDIR_LIBNCURSES}/usr/lib
- for ti in rxvt rxvt-unicode; do \
- TERMINFO=${WRKINST}/usr/share/terminfo \
- PATH=$(HOST_PATH) \
- tic$(EXEEXT) -x ./files/$$ti.ti; \
- done
ifeq (${ADK_PACKAGE_LIBNCURSES_FULL_TERMINFO},y)
${INSTALL_DIR} ${IDIR_LIBNCURSES}/usr/share
${CP} ${WRKINST}/usr/share/terminfo ${IDIR_LIBNCURSES}/usr/share/
else
${INSTALL_DIR} ${IDIR_LIBNCURSES}/usr/share/terminfo/
for f in ansi dumb linux screen vt100 vt102 \
- rxvt rxvt-unicode vt220 xterm xterm-color xterm-xfree86; do \
+ vt220 xterm xterm-color xterm-xfree86; do \
${INSTALL_DIR} ${IDIR_LIBNCURSES}/usr/share/terminfo/$${f:0:1}; \
${INSTALL_DATA} ${WRKINST}/usr/share/terminfo/*/$$f \
${IDIR_LIBNCURSES}/usr/share/terminfo/$${f:0:1}/$$f; \
diff --git a/package/ntfs-3g/Makefile b/package/ntfs-3g/Makefile
index 5151bfd21..b893cdb53 100644
--- a/package/ntfs-3g/Makefile
+++ b/package/ntfs-3g/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ntfs-3g
-PKG_VERSION:= 2013.1.13
+PKG_VERSION:= 2014.2.15
PKG_RELEASE:= 1
-PKG_MD5SUM:= 2d6fb47ddf62b51733227126fe9227fe
+PKG_MD5SUM:= f11d563816249d730a00498983485f3a
PKG_DESCR:= ntfs filesystem driver
PKG_SECTION:= fs
PKG_DEPENDS:= kmod-fuse-fs
diff --git a/package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c b/package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c
new file mode 100644
index 000000000..eb11b0bf0
--- /dev/null
+++ b/package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c
@@ -0,0 +1,10 @@
+--- ntfs-3g_ntfsprogs-2014.2.15.orig/libfuse-lite/fusermount.c 2014-02-15 15:07:52.000000000 +0100
++++ ntfs-3g_ntfsprogs-2014.2.15/libfuse-lite/fusermount.c 2014-03-23 09:53:10.000000000 +0100
+@@ -18,6 +18,7 @@
+ #include <getopt.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <paths.h>
+ #include <pwd.h>
+
+ #ifdef __SOLARIS__
diff --git a/package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c b/package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c
new file mode 100644
index 000000000..1a3d8e8c5
--- /dev/null
+++ b/package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c
@@ -0,0 +1,10 @@
+--- ntfs-3g_ntfsprogs-2014.2.15.orig/libfuse-lite/mount_util.c 2014-02-15 15:07:52.000000000 +0100
++++ ntfs-3g_ntfsprogs-2014.2.15/libfuse-lite/mount_util.c 2014-03-23 09:54:19.000000000 +0100
+@@ -12,6 +12,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <paths.h>
+ #include <dirent.h>
+ #include <errno.h>
+ #include <limits.h>
diff --git a/package/olsrd/Makefile b/package/olsrd/Makefile
index 20cb90ee2..5a6b1c9e7 100644
--- a/package/olsrd/Makefile
+++ b/package/olsrd/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= olsrd
-PKG_VERSION:= 0.6.0
+PKG_VERSION:= 0.6.6.1
PKG_RELEASE:= 1
-PKG_MD5SUM:= 84e9295457cab50539f776118939b343
+PKG_MD5SUM:= 65181a5280391d69411908c186fd0c1f
PKG_DESCR:= Optimized Link State Routing protocol
PKG_SECTION:= wifi
PKG_URL:= http://www.olsr.org/
@@ -33,19 +33,17 @@ $(eval $(call PKG_template,OLSRD,olsrd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN
$(eval $(call PKG_template,OLSRD_MOD_DYN_GW,olsrd-mod-dyn-gw,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,OLSRD_MOD_HTTPINFO,olsrd-mod-httpinfo,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,OLSRD_MOD_NAMESERVICE,olsrd-mod-nameservice,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,OLSRD_MOD_TAS,olsrd-mod-tas,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_mod_template,OLSRD_MOD_DYN_GW,dyn_gw))
$(eval $(call PKG_mod_template,OLSRD_MOD_HTTPINFO,httpinfo))
$(eval $(call PKG_mod_template,OLSRD_MOD_NAMESERVICE,nameservice))
-$(eval $(call PKG_mod_template,OLSRD_MOD_TAS,tas))
CONFIG_STYLE:= manual
-TARGET_CFLAGS+= -fPIC
+TARGET_CFLAGS+= -fPIC -D_GNU_SOURCE
ALL_TARGET+= libs
INSTALL_TARGET+= install_libs
-MAKE_ENV+= OS="linux" NODEBUG=1 STRIP="true" OFLAGS="${TARGET_CFLAGS}"
+MAKE_ENV+= OS="linux" DEBUG=0 STRIP="true" OFLAGS="${TARGET_CFLAGS}" prefix="/usr"
post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${INSTALL_DIR} ${IDIR_OLSRD}/usr/sbin ${IDIR_OLSRD}/etc
diff --git a/package/olsrd/patches/patch-Makefile b/package/olsrd/patches/patch-Makefile
deleted file mode 100644
index 1e0318707..000000000
--- a/package/olsrd/patches/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- olsrd-0.6.0.orig/Makefile 2010-05-13 12:52:55.000000000 +0200
-+++ olsrd-0.6.0/Makefile 2010-10-10 14:34:11.000000000 +0200
-@@ -144,7 +144,7 @@ rpm:
-
- # This is quite ugly but at least it works
- ifeq ($(OS),linux)
--SUBDIRS = $(notdir $(shell find lib -maxdepth 2 -name Makefile -not -path lib/Makefile -printf "%h\n"|sort))
-+SUBDIRS = arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo mini nameservice pgraph quagga secure tas txtinfo
- else
- ifeq ($(OS),win32)
- SUBDIRS := dot_draw httpinfo mini pgraph secure txtinfo
diff --git a/package/olsrd/patches/patch-make_Makefile_linux b/package/olsrd/patches/patch-make_Makefile_linux
deleted file mode 100644
index d3ca1cdee..000000000
--- a/package/olsrd/patches/patch-make_Makefile_linux
+++ /dev/null
@@ -1,23 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- olsrd-0.6.0.orig/make/Makefile.linux 2010-03-31 19:03:53.000000000 +0200
-+++ olsrd-0.6.0/make/Makefile.linux 2010-10-10 14:34:11.000000000 +0200
-@@ -4,7 +4,7 @@
-
- ARCH := $(shell uname -m)
- DESTDIR ?=
--LIBDIR = $(DESTDIR)$(shell if [ "$(ARCH)" = "x86_64" -a -d "/usr/lib64" ]; then echo "/usr/lib64"; else echo "/usr/lib"; fi)
-+LIBDIR = $(DESTDIR)/usr/lib
-
- SRCS += $(wildcard src/linux/*.c src/unix/*.c)
- HDRS += $(wildcard src/linux/*.h src/unix/*.h)
-@@ -13,8 +13,8 @@ CPPFLAGS += -Dlinux -DLINUX_NETLINK_ROU
- LIBS +=
-
- PLUGIN_FULLNAME ?= $(PLUGIN_NAME).so.$(PLUGIN_VER)
--INSTALL_LIB = install -D -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME); \
-- /sbin/ldconfig -n $(LIBDIR)
-+INSTALL_LIB = install -d -m 755 $(LIBDIR); \
-+ install -m 755 $(PLUGIN_FULLNAME) $(LIBDIR)/$(PLUGIN_FULLNAME);
-
- ifdef OLSRD_PLUGIN
- GENERATE_PIC = true
diff --git a/package/olsrd/patches/patch-src_unix_ifnet_c b/package/olsrd/patches/patch-src_unix_ifnet_c
deleted file mode 100644
index 67705012b..000000000
--- a/package/olsrd/patches/patch-src_unix_ifnet_c
+++ /dev/null
@@ -1,13 +0,0 @@
---- olsrd-0.6.0.orig/src/unix/ifnet.c 2010-04-22 17:11:11.000000000 +0200
-+++ olsrd-0.6.0/src/unix/ifnet.c 2010-10-10 14:34:54.000000000 +0200
-@@ -547,10 +547,8 @@ chk_if_up(struct olsr_if *iface, int deb
- struct ifreq ifr;
- union olsr_ip_addr null_addr;
- size_t name_size;
--#ifdef linux
- int precedence = IPTOS_PREC(olsr_cnf->tos);
- int tos_bits = IPTOS_TOS(olsr_cnf->tos);
--#endif
-
- if (iface->host_emul)
- return -1;
diff --git a/package/openssh/Makefile b/package/openssh/Makefile
index 409e63c0a..4d0c4e9da 100644
--- a/package/openssh/Makefile
+++ b/package/openssh/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= openssh
-PKG_VERSION:= 6.5p1
+PKG_VERSION:= 6.6p1
PKG_RELEASE:= 1
-PKG_MD5SUM:= a084e7272b8cbd25afe0f5dce4802fef
+PKG_MD5SUM:= 3e9800e6bca1fbac0eea4d41baa7f239
PKG_DESCR:= OpenSSH
PKG_SECTION:= net/security
PKG_BUILDDEP:= zlib openssl
diff --git a/package/openssh/patches/patch-digest_c b/package/openssh/patches/patch-digest-openssl_c
index feead7711..dc8aeb4f6 100644
--- a/package/openssh/patches/patch-digest_c
+++ b/package/openssh/patches/patch-digest-openssl_c
@@ -1,5 +1,5 @@
---- openssh-6.5p1.orig/digest.c 2014-01-20 02:41:53.000000000 +0100
-+++ openssh-6.5p1/digest.c 2014-02-11 17:41:23.000000000 +0100
+--- openssh-6.6p1.orig/digest-openssl.c 2014-02-04 01:25:45.000000000 +0100
++++ openssh-6.6p1/digest-openssl.c 2014-03-24 13:42:01.000000000 +0100
@@ -44,7 +44,9 @@ struct ssh_digest {
/* NB. Indexed directly by algorithm number */
const struct ssh_digest digests[] = {
diff --git a/package/openssh/patches/patch-mac_c b/package/openssh/patches/patch-mac_c
deleted file mode 100644
index 7812de4b2..000000000
--- a/package/openssh/patches/patch-mac_c
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Nur openssh-6.2p1.orig/mac.c openssh-6.2p1/mac.c
---- openssh-6.5p1.orig/mac.c 2014-01-10 00:37:05.000000000 +0100
-+++ openssh-6.5p1/mac.c 2014-02-11 15:26:16.000000000 +0100
-@@ -70,8 +70,10 @@ static const struct macalg macs[] = {
- #endif
- { "hmac-md5", SSH_EVP, EVP_md5, 0, 0, 0, 0 },
- { "hmac-md5-96", SSH_EVP, EVP_md5, 96, 0, 0, 0 },
-+#ifndef OPENSSL_NO_RIPEMD
- { "hmac-ripemd160", SSH_EVP, EVP_ripemd160, 0, 0, 0, 0 },
- { "hmac-ripemd160@openssh.com", SSH_EVP, EVP_ripemd160, 0, 0, 0, 0 },
-+#endif
- { "umac-64@openssh.com", SSH_UMAC, NULL, 0, 128, 64, 0 },
- { "umac-128@openssh.com", SSH_UMAC128, NULL, 0, 128, 128, 0 },
-
-@@ -84,7 +86,9 @@ static const struct macalg macs[] = {
- #endif
- { "hmac-md5-etm@openssh.com", SSH_EVP, EVP_md5, 0, 0, 0, 1 },
- { "hmac-md5-96-etm@openssh.com", SSH_EVP, EVP_md5, 96, 0, 0, 1 },
-+#ifndef OPENSSL_NO_RIPEMD
- { "hmac-ripemd160-etm@openssh.com", SSH_EVP, EVP_ripemd160, 0, 0, 0, 1 },
-+#endif
- { "umac-64-etm@openssh.com", SSH_UMAC, NULL, 0, 128, 64, 1 },
- { "umac-128-etm@openssh.com", SSH_UMAC128, NULL, 0, 128, 128, 1 },
-
diff --git a/package/openswan/Makefile b/package/openswan/Makefile
index efea0b004..a2ed17906 100644
--- a/package/openswan/Makefile
+++ b/package/openswan/Makefile
@@ -20,6 +20,9 @@ PKG_URL:= http://www.openswan.org/
PKG_SITES:= http://www.openswan.org/download/
PKG_NOPARALLEL:= 1
+# GLOB_BRACE usage
+PKG_LIBC_DEPENDS:= uclibc glibc
+
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,OPENSWAN,openswan,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/openswan/patches/patch-include_arpa_nameser_h b/package/openswan/patches/patch-include_arpa_nameser_h
new file mode 100644
index 000000000..a59cd15b2
--- /dev/null
+++ b/package/openswan/patches/patch-include_arpa_nameser_h
@@ -0,0 +1,128 @@
+--- openswan-2.6.38.orig/include/arpa/nameser.h 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/include/arpa/nameser.h 2014-03-26 19:50:18.000000000 +0100
+@@ -55,7 +55,6 @@
+
+ #include <sys/param.h>
+ #include <sys/types.h>
+-#include <sys/cdefs.h>
+
+ /*
+ * Revision information. This is the release date in YYYYMMDD format.
+@@ -505,62 +504,66 @@ typedef enum __ns_cert_types {
+ #define ns_makecanon __ns_makecanon
+ #define ns_samename __ns_samename
+
+-__BEGIN_DECLS
+-int ns_msg_getflag __P((ns_msg, int));
+-u_int ns_get16 __P((const u_char *));
+-u_long ns_get32 __P((const u_char *));
+-void ns_put16 __P((u_int, u_char *));
+-void ns_put32 __P((u_long, u_char *));
+-int ns_initparse __P((const u_char *, int, ns_msg *));
+-int ns_skiprr __P((const u_char *, const u_char *, ns_sect, int));
+-int ns_parserr __P((ns_msg *, ns_sect, int, ns_rr *));
+-int ns_sprintrr __P((const ns_msg *, const ns_rr *,
+- const char *, const char *, char *, size_t));
+-int ns_sprintrrf __P((const u_char *, size_t, const char *,
++#ifdef __cplusplus
++extern "C" {
++#endif
++int ns_msg_getflag (ns_msg, int);
++u_int ns_get16 (const u_char *);
++u_long ns_get32 (const u_char *);
++void ns_put16 (u_int, u_char *);
++void ns_put32 (u_long, u_char *);
++int ns_initparse (const u_char *, int, ns_msg *);
++int ns_skiprr (const u_char *, const u_char *, ns_sect, int);
++int ns_parserr (ns_msg *, ns_sect, int, ns_rr *);
++int ns_sprintrr (const ns_msg *, const ns_rr *,
++ const char *, const char *, char *, size_t);
++int ns_sprintrrf (const u_char *, size_t, const char *,
+ ns_class, ns_type, u_long, const u_char *,
+ size_t, const char *, const char *,
+- char *, size_t));
+-int ns_format_ttl __P((u_long, char *, size_t));
+-int ns_parse_ttl __P((const char *, u_long *));
+-u_int32_t ns_datetosecs __P((const char *cp, int *errp));
+-int ns_name_ntol __P((const u_char *, u_char *, size_t));
+-int ns_name_ntop __P((const u_char *, char *, size_t));
+-int ns_name_pton __P((const char *, u_char *, size_t));
+-int ns_name_unpack __P((const u_char *, const u_char *,
+- const u_char *, u_char *, size_t));
+-int ns_name_pack __P((const u_char *, u_char *, int,
+- const u_char **, const u_char **));
+-int ns_name_uncompress __P((const u_char *, const u_char *,
+- const u_char *, char *, size_t));
+-int ns_name_compress __P((const char *, u_char *, size_t,
+- const u_char **, const u_char **));
+-int ns_name_skip __P((const u_char **, const u_char *));
+-void ns_name_rollback __P((const u_char *, const u_char **,
+- const u_char **));
+-int ns_sign __P((u_char *, int *, int, int, void *,
+- const u_char *, int, u_char *, int *, time_t));
+-int ns_sign2 __P((u_char *, int *, int, int, void *,
++ char *, size_t);
++int ns_format_ttl (u_long, char *, size_t);
++int ns_parse_ttl (const char *, u_long *);
++u_int32_t ns_datetosecs (const char *cp, int *errp);
++int ns_name_ntol (const u_char *, u_char *, size_t);
++int ns_name_ntop (const u_char *, char *, size_t);
++int ns_name_pton (const char *, u_char *, size_t);
++int ns_name_unpack (const u_char *, const u_char *,
++ const u_char *, u_char *, size_t);
++int ns_name_pack (const u_char *, u_char *, int,
++ const u_char **, const u_char **);
++int ns_name_uncompress (const u_char *, const u_char *,
++ const u_char *, char *, size_t);
++int ns_name_compress (const char *, u_char *, size_t,
++ const u_char **, const u_char **);
++int ns_name_skip (const u_char **, const u_char *);
++void ns_name_rollback (const u_char *, const u_char **,
++ const u_char **);
++int ns_sign (u_char *, int *, int, int, void *,
++ const u_char *, int, u_char *, int *, time_t);
++int ns_sign2 (u_char *, int *, int, int, void *,
+ const u_char *, int, u_char *, int *, time_t,
+- u_char **, u_char **));
+-int ns_sign_tcp __P((u_char *, int *, int, int,
+- ns_tcp_tsig_state *, int));
+-int ns_sign_tcp2 __P((u_char *, int *, int, int,
++ u_char **, u_char **);
++int ns_sign_tcp (u_char *, int *, int, int,
++ ns_tcp_tsig_state *, int);
++int ns_sign_tcp2 (u_char *, int *, int, int,
+ ns_tcp_tsig_state *, int,
+- u_char **, u_char **));
+-int ns_sign_tcp_init __P((void *, const u_char *, int,
+- ns_tcp_tsig_state *));
+-u_char *ns_find_tsig __P((u_char *, u_char *));
+-int ns_verify __P((u_char *, int *, void *,
++ u_char **, u_char **);
++int ns_sign_tcp_init (void *, const u_char *, int,
++ ns_tcp_tsig_state *);
++u_char *ns_find_tsig (u_char *, u_char *);
++int ns_verify (u_char *, int *, void *,
+ const u_char *, int, u_char *, int *,
+- time_t *, int));
+-int ns_verify_tcp __P((u_char *, int *, ns_tcp_tsig_state *, int));
+-int ns_verify_tcp_init __P((void *, const u_char *, int,
+- ns_tcp_tsig_state *));
+-int ns_samedomain __P((const char *, const char *));
+-int ns_subdomain __P((const char *, const char *));
+-int ns_makecanon __P((const char *, char *, size_t));
+-int ns_samename __P((const char *, const char *));
+-__END_DECLS
++ time_t *, int);
++int ns_verify_tcp (u_char *, int *, ns_tcp_tsig_state *, int);
++int ns_verify_tcp_init (void *, const u_char *, int,
++ ns_tcp_tsig_state *);
++int ns_samedomain (const char *, const char *);
++int ns_subdomain (const char *, const char *);
++int ns_makecanon (const char *, char *, size_t);
++int ns_samename (const char *, const char *);
++#ifdef __cplusplus
++}
++#endif
+
+ #ifdef BIND_4_COMPAT
+ #include <arpa/nameser_compat.h>
diff --git a/package/openswan/patches/patch-lib_libipsecconf_cmp_c b/package/openswan/patches/patch-lib_libipsecconf_cmp_c
new file mode 100644
index 000000000..c9e93a241
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_cmp_c
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libipsecconf/cmp.c 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libipsecconf/cmp.c 2014-03-27 08:42:09.000000000 +0100
+@@ -15,7 +15,7 @@
+ *
+ */
+
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <string.h>
+
+ #include "ipsecconf/keywords.h"
diff --git a/package/openswan/patches/patch-lib_libipsecconf_confread_c b/package/openswan/patches/patch-lib_libipsecconf_confread_c
new file mode 100644
index 000000000..5d28ed79f
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_confread_c
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libipsecconf/confread.c 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libipsecconf/confread.c 2014-03-26 21:15:56.000000000 +0100
+@@ -20,7 +20,7 @@
+ #include <string.h>
+ #include <limits.h>
+ #include <assert.h>
+-#include <sys/queue.h>
++#include "queue.h"
+
+ #include "oswalloc.h"
+
diff --git a/package/openswan/patches/patch-lib_libipsecconf_confwrite_c b/package/openswan/patches/patch-lib_libipsecconf_confwrite_c
new file mode 100644
index 000000000..d3fced0b3
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_confwrite_c
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libipsecconf/confwrite.c 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libipsecconf/confwrite.c 2014-03-26 21:19:22.000000000 +0100
+@@ -18,7 +18,7 @@
+ #include <string.h>
+ #include <limits.h>
+ #include <assert.h>
+-#include <sys/queue.h>
++#include "queue.h"
+
+ #include "ipsecconf/parser.h"
+ #include "ipsecconf/confread.h"
diff --git a/package/openswan/patches/patch-lib_libipsecconf_parser_l b/package/openswan/patches/patch-lib_libipsecconf_parser_l
new file mode 100644
index 000000000..7c4bff2d3
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_parser_l
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libipsecconf/parser.l 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libipsecconf/parser.l 2014-03-27 08:47:12.000000000 +0100
+@@ -19,7 +19,7 @@
+ *
+ */
+
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <string.h>
+ #include <stdlib.h>
+ #include <assert.h>
diff --git a/package/openswan/patches/patch-lib_libipsecconf_parser_y b/package/openswan/patches/patch-lib_libipsecconf_parser_y
new file mode 100644
index 000000000..81037eb64
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_parser_y
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libipsecconf/parser.y 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libipsecconf/parser.y 2014-03-27 08:44:37.000000000 +0100
+@@ -15,7 +15,7 @@
+ *
+ */
+
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/openswan/patches/patch-lib_libipsecconf_starterwhack_c b/package/openswan/patches/patch-lib_libipsecconf_starterwhack_c
new file mode 100644
index 000000000..2bc7e6910
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libipsecconf_starterwhack_c
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libipsecconf/starterwhack.c 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libipsecconf/starterwhack.c 2014-03-26 21:21:22.000000000 +0100
+@@ -17,7 +17,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/package/openswan/patches/patch-lib_libopenswan_kernel_alg_c b/package/openswan/patches/patch-lib_libopenswan_kernel_alg_c
new file mode 100644
index 000000000..36cf64ee4
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libopenswan_kernel_alg_c
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libopenswan/kernel_alg.c 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libopenswan/kernel_alg.c 2014-03-26 20:04:18.000000000 +0100
+@@ -27,7 +27,7 @@
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <unistd.h>
+-#include <sys/queue.h>
++#include "queue.h"
+
+ #include <openswan.h>
+
diff --git a/package/openswan/patches/patch-lib_libopenswan_oswlog_c b/package/openswan/patches/patch-lib_libopenswan_oswlog_c
new file mode 100644
index 000000000..a093b4e1b
--- /dev/null
+++ b/package/openswan/patches/patch-lib_libopenswan_oswlog_c
@@ -0,0 +1,11 @@
+--- openswan-2.6.38.orig/lib/libopenswan/oswlog.c 2012-03-23 22:33:43.000000000 +0100
++++ openswan-2.6.38/lib/libopenswan/oswlog.c 2014-03-26 21:09:43.000000000 +0100
+@@ -24,7 +24,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <signal.h> /* used only if MSG_NOSIGNAL not defined */
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <libgen.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
diff --git a/package/openswan/src/ports/linux/include/queue.h b/package/openswan/src/ports/linux/include/queue.h
new file mode 100644
index 000000000..daf4553d3
--- /dev/null
+++ b/package/openswan/src/ports/linux/include/queue.h
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)queue.h 8.5 (Berkeley) 8/20/94
+ */
+
+#ifndef _SYS_QUEUE_H_
+#define _SYS_QUEUE_H_
+
+/*
+ * This file defines five types of data structures: singly-linked lists,
+ * lists, simple queues, tail queues, and circular queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The
+ * elements are singly linked for minimum space and pointer manipulation
+ * overhead at the expense of O(n) removal for arbitrary elements. New
+ * elements can be added to the list after an existing element or at the
+ * head of the list. Elements being removed from the head of the list
+ * should use the explicit macro for this purpose for optimum
+ * efficiency. A singly-linked list may only be traversed in the forward
+ * direction. Singly-linked lists are ideal for applications with large
+ * datasets and few or no removals or for implementing a LIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A simple queue is headed by a pair of pointers, one the head of the
+ * list and the other to the tail of the list. The elements are singly
+ * linked to save space, so elements can only be removed from the
+ * head of the list. New elements can be added to the list after
+ * an existing element, at the head of the list, or at the end of the
+ * list. A simple queue may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * A circle queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or after
+ * an existing element, at the head of the list, or at the end of the list.
+ * A circle queue may be traversed in either direction, but has a more
+ * complex end of list detection.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ */
+
+/*
+ * List definitions.
+ */
+#define LIST_HEAD(name, type) \
+struct name { \
+ struct type *lh_first; /* first element */ \
+}
+
+#define LIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define LIST_ENTRY(type) \
+struct { \
+ struct type *le_next; /* next element */ \
+ struct type **le_prev; /* address of previous next element */ \
+}
+
+/*
+ * List functions.
+ */
+#define LIST_INIT(head) do { \
+ (head)->lh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_AFTER(listelm, elm, field) do { \
+ if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
+ (listelm)->field.le_next->field.le_prev = \
+ &(elm)->field.le_next; \
+ (listelm)->field.le_next = (elm); \
+ (elm)->field.le_prev = &(listelm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.le_prev = (listelm)->field.le_prev; \
+ (elm)->field.le_next = (listelm); \
+ *(listelm)->field.le_prev = (elm); \
+ (listelm)->field.le_prev = &(elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.le_next = (head)->lh_first) != NULL) \
+ (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
+ (head)->lh_first = (elm); \
+ (elm)->field.le_prev = &(head)->lh_first; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_REMOVE(elm, field) do { \
+ if ((elm)->field.le_next != NULL) \
+ (elm)->field.le_next->field.le_prev = \
+ (elm)->field.le_prev; \
+ *(elm)->field.le_prev = (elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_FOREACH(var, head, field) \
+ for ((var) = ((head)->lh_first); \
+ (var); \
+ (var) = ((var)->field.le_next))
+
+/*
+ * List access methods.
+ */
+#define LIST_EMPTY(head) ((head)->lh_first == NULL)
+#define LIST_FIRST(head) ((head)->lh_first)
+#define LIST_NEXT(elm, field) ((elm)->field.le_next)
+
+
+/*
+ * Singly-linked List definitions.
+ */
+#define SLIST_HEAD(name, type) \
+struct name { \
+ struct type *slh_first; /* first element */ \
+}
+
+#define SLIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define SLIST_ENTRY(type) \
+struct { \
+ struct type *sle_next; /* next element */ \
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define SLIST_INIT(head) do { \
+ (head)->slh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
+ (elm)->field.sle_next = (slistelm)->field.sle_next; \
+ (slistelm)->field.sle_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.sle_next = (head)->slh_first; \
+ (head)->slh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE_HEAD(head, field) do { \
+ (head)->slh_first = (head)->slh_first->field.sle_next; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE(head, elm, type, field) do { \
+ if ((head)->slh_first == (elm)) { \
+ SLIST_REMOVE_HEAD((head), field); \
+ } \
+ else { \
+ struct type *curelm = (head)->slh_first; \
+ while(curelm->field.sle_next != (elm)) \
+ curelm = curelm->field.sle_next; \
+ curelm->field.sle_next = \
+ curelm->field.sle_next->field.sle_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_FOREACH(var, head, field) \
+ for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
+
+/*
+ * Singly-linked List access methods.
+ */
+#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
+#define SLIST_FIRST(head) ((head)->slh_first)
+#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
+
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define STAILQ_HEAD(name, type) \
+struct name { \
+ struct type *stqh_first; /* first element */ \
+ struct type **stqh_last; /* addr of last next element */ \
+}
+
+#define STAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).stqh_first }
+
+#define STAILQ_ENTRY(type) \
+struct { \
+ struct type *stqe_next; /* next element */ \
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define STAILQ_INIT(head) do { \
+ (head)->stqh_first = NULL; \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (head)->stqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.stqe_next = NULL; \
+ *(head)->stqh_last = (elm); \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (listelm)->field.stqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->stqh_first == (elm)) { \
+ STAILQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->stqh_first; \
+ while (curelm->field.stqe_next != (elm)) \
+ curelm = curelm->field.stqe_next; \
+ if ((curelm->field.stqe_next = \
+ curelm->field.stqe_next->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(curelm)->field.stqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->stqh_first); \
+ (var); \
+ (var) = ((var)->field.stqe_next))
+
+#define STAILQ_CONCAT(head1, head2) do { \
+ if (!STAILQ_EMPTY((head2))) { \
+ *(head1)->stqh_last = (head2)->stqh_first; \
+ (head1)->stqh_last = (head2)->stqh_last; \
+ STAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Singly-linked Tail queue access methods.
+ */
+#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
+#define STAILQ_FIRST(head) ((head)->stqh_first)
+#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
+
+
+/*
+ * Simple queue definitions.
+ */
+#define SIMPLEQ_HEAD(name, type) \
+struct name { \
+ struct type *sqh_first; /* first element */ \
+ struct type **sqh_last; /* addr of last next element */ \
+}
+
+#define SIMPLEQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).sqh_first }
+
+#define SIMPLEQ_ENTRY(type) \
+struct { \
+ struct type *sqe_next; /* next element */ \
+}
+
+/*
+ * Simple queue functions.
+ */
+#define SIMPLEQ_INIT(head) do { \
+ (head)->sqh_first = NULL; \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (head)->sqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.sqe_next = NULL; \
+ *(head)->sqh_last = (elm); \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (listelm)->field.sqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->sqh_first == (elm)) { \
+ SIMPLEQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->sqh_first; \
+ while (curelm->field.sqe_next != (elm)) \
+ curelm = curelm->field.sqe_next; \
+ if ((curelm->field.sqe_next = \
+ curelm->field.sqe_next->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(curelm)->field.sqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->sqh_first); \
+ (var); \
+ (var) = ((var)->field.sqe_next))
+
+/*
+ * Simple queue access methods.
+ */
+#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
+#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
+#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
+
+
+/*
+ * Tail queue definitions.
+ */
+#define _TAILQ_HEAD(name, type, qual) \
+struct name { \
+ qual type *tqh_first; /* first element */ \
+ qual type *qual *tqh_last; /* addr of last next element */ \
+}
+#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
+
+#define TAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).tqh_first }
+
+#define _TAILQ_ENTRY(type, qual) \
+struct { \
+ qual type *tqe_next; /* next element */ \
+ qual type *qual *tqe_prev; /* address of previous next element */\
+}
+#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
+
+/*
+ * Tail queue functions.
+ */
+#define TAILQ_INIT(head) do { \
+ (head)->tqh_first = NULL; \
+ (head)->tqh_last = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
+ (head)->tqh_first->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (head)->tqh_first = (elm); \
+ (elm)->field.tqe_prev = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.tqe_next = NULL; \
+ (elm)->field.tqe_prev = (head)->tqh_last; \
+ *(head)->tqh_last = (elm); \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
+ (elm)->field.tqe_next->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (listelm)->field.tqe_next = (elm); \
+ (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
+ (elm)->field.tqe_next = (listelm); \
+ *(listelm)->field.tqe_prev = (elm); \
+ (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_REMOVE(head, elm, field) do { \
+ if (((elm)->field.tqe_next) != NULL) \
+ (elm)->field.tqe_next->field.tqe_prev = \
+ (elm)->field.tqe_prev; \
+ else \
+ (head)->tqh_last = (elm)->field.tqe_prev; \
+ *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->tqh_first); \
+ (var); \
+ (var) = ((var)->field.tqe_next))
+
+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
+ for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
+ (var); \
+ (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Tail queue access methods.
+ */
+#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
+#define TAILQ_FIRST(head) ((head)->tqh_first)
+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define TAILQ_LAST(head, headname) \
+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
+#define TAILQ_PREV(elm, headname, field) \
+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+
+/*
+ * Circular queue definitions.
+ */
+#define CIRCLEQ_HEAD(name, type) \
+struct name { \
+ struct type *cqh_first; /* first element */ \
+ struct type *cqh_last; /* last element */ \
+}
+
+#define CIRCLEQ_HEAD_INITIALIZER(head) \
+ { (void *)&head, (void *)&head }
+
+#define CIRCLEQ_ENTRY(type) \
+struct { \
+ struct type *cqe_next; /* next element */ \
+ struct type *cqe_prev; /* previous element */ \
+}
+
+/*
+ * Circular queue functions.
+ */
+#define CIRCLEQ_INIT(head) do { \
+ (head)->cqh_first = (void *)(head); \
+ (head)->cqh_last = (void *)(head); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm)->field.cqe_next; \
+ (elm)->field.cqe_prev = (listelm); \
+ if ((listelm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (listelm)->field.cqe_next->field.cqe_prev = (elm); \
+ (listelm)->field.cqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm); \
+ (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
+ if ((listelm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (listelm)->field.cqe_prev->field.cqe_next = (elm); \
+ (listelm)->field.cqe_prev = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.cqe_next = (head)->cqh_first; \
+ (elm)->field.cqe_prev = (void *)(head); \
+ if ((head)->cqh_last == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (head)->cqh_first->field.cqe_prev = (elm); \
+ (head)->cqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.cqe_next = (void *)(head); \
+ (elm)->field.cqe_prev = (head)->cqh_last; \
+ if ((head)->cqh_first == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (head)->cqh_last->field.cqe_next = (elm); \
+ (head)->cqh_last = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_REMOVE(head, elm, field) do { \
+ if ((elm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm)->field.cqe_prev; \
+ else \
+ (elm)->field.cqe_next->field.cqe_prev = \
+ (elm)->field.cqe_prev; \
+ if ((elm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm)->field.cqe_next; \
+ else \
+ (elm)->field.cqe_prev->field.cqe_next = \
+ (elm)->field.cqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->cqh_first); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_next))
+
+#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
+ for ((var) = ((head)->cqh_last); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_prev))
+
+/*
+ * Circular queue access methods.
+ */
+#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
+#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
+#define CIRCLEQ_LAST(head) ((head)->cqh_last)
+#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
+#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
+
+#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
+ (((elm)->field.cqe_next == (void *)(head)) \
+ ? ((head)->cqh_first) \
+ : (elm->field.cqe_next))
+#define CIRCLEQ_LOOP_PREV(head, elm, field) \
+ (((elm)->field.cqe_prev == (void *)(head)) \
+ ? ((head)->cqh_last) \
+ : (elm->field.cqe_prev))
+
+#endif /* sys/queue.h */
diff --git a/package/openvpn/Makefile b/package/openvpn/Makefile
index e3a5e4ac0..5f4073100 100644
--- a/package/openvpn/Makefile
+++ b/package/openvpn/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= openvpn
PKG_VERSION:= 2.3.2
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 06e5f93dbf13f2c19647ca15ffc23ac1
PKG_DESCR:= Open Source VPN solution using SSL
PKG_SECTION:= net/security
@@ -14,9 +14,7 @@ PKG_DEPENDS:= kmod-tun ip
PKG_URL:= http://openvpn.net/
PKG_SITES:= http://swupdate.openvpn.org/community/releases/
-PKG_FLAVOURS_OPENVPN:= WITH_LZO WITH_MANAGEMENT WITH_HTTPPROXY WITH_SOCKS SERVER CLIENT
-PKGFD_SERVER:= deliver server example configuration
-PKGFD_CLIENT:= deliver client example configuration
+PKG_FLAVOURS_OPENVPN:= WITH_LZO WITH_MANAGEMENT WITH_HTTPPROXY WITH_SOCKS
PKGFD_WITH_LZO:= enable LZO compression support
PKGFS_WITH_LZO:= liblzo
PKGFB_WITH_LZO:= liblzo
@@ -77,13 +75,7 @@ CONFIGURE_ARGS+= --disable-plugins \
openvpn-install:
${INSTALL_DIR} $(IDIR_OPENVPN)/usr/sbin $(IDIR_OPENVPN)/etc/openvpn
${INSTALL_BIN} $(WRKINST)/usr/sbin/openvpn $(IDIR_OPENVPN)/usr/sbin/
-ifeq ($(ADK_PACKAGE_OPENVPN_SERVER),y)
- $(CP) ./files/server.conf $(IDIR_OPENVPN)/etc/openvpn/
- echo "/etc/openvpn/server.conf" > ./files/openvpn.conffiles
-endif
-ifeq ($(ADK_PACKAGE_OPENVPN_CLIENT),y)
- $(CP) ./files/client.conf $(IDIR_OPENVPN)/etc/openvpn/
- echo "/etc/openvpn/client.conf" > ./files/openvpn.conffiles
-endif
+ $(CP) ./files/server.conf $(IDIR_OPENVPN)/etc/openvpn/server.conf.example
+ $(CP) ./files/client.conf $(IDIR_OPENVPN)/etc/openvpn/client.conf.example
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/orbit2/Makefile b/package/orbit2/Makefile
index 4f656ea59..d256095f8 100644
--- a/package/orbit2/Makefile
+++ b/package/orbit2/Makefile
@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= ORBit2
PKG_VERSION:= 2.14.19
PKG_EXTRAVER:= 2.14
-PKG_RELEASE:= 4
+PKG_RELEASE:= 5
PKG_MD5SUM:= 87c69c56c6d0bdafa4de5e18ae115cc9
PKG_DESCR:= a CORBA 2.4-compliant Object Request Broker
PKG_SECTION:= libs
-PKG_BUILDDEP:= gettext-tiny glib-host libIDL-host libIDL
+PKG_BUILDDEP:= gettext-tiny glib-host libIDL-host glib libIDL
PKG_URL:= http://projects.gnome.org/ORBit2/
PKG_SITES:= ftp://ftp.gnome.org//pub/gnome/sources/ORBit2/${PKG_EXTRAVER}/
PKG_LIBNAME:= orbit2
@@ -21,8 +21,10 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,ORBIT2,orbit2,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
CFLAGS_FOR_BUILD+= $(shell PATH=$(HOST_PATH) libIDL-config-2 --cflags)
-LDFLAGS_FOR_BUILD+= $(shell PATH=$(HOST_PATH) libIDL-config-2 --libs)
-LDFLAGS_FOR_BUILD+= -lgmodule-2.0
+LDFLAGS_FOR_BUILD+= -static
+LIBS_FOR_BUILD:= $(shell PATH=$(HOST_PATH) libIDL-config-2 --libs)
+LIBS_FOR_BUILD+= -lgmodule-2.0 -ldl -lpthread -lrt -lglib-2.0
+XAKE_FLAGS+= LIBS_FOR_BUILD="${LIBS_FOR_BUILD}"
CONFIGURE_ENV+= ac_cv_alignof_CORBA_octet=1 \
ac_cv_alignof_CORBA_boolean=1 \
ac_cv_alignof_CORBA_char=1 \
diff --git a/package/orbit2/patches/patch-src_idl-compiler_Makefile_in b/package/orbit2/patches/patch-src_idl-compiler_Makefile_in
index ec73ef4f3..f46b6169b 100644
--- a/package/orbit2/patches/patch-src_idl-compiler_Makefile_in
+++ b/package/orbit2/patches/patch-src_idl-compiler_Makefile_in
@@ -1,5 +1,5 @@
--- ORBit2-2.14.19.orig/src/idl-compiler/Makefile.in 2010-09-28 11:39:39.000000000 +0200
-+++ ORBit2-2.14.19/src/idl-compiler/Makefile.in 2011-03-25 20:28:46.000000000 +0100
++++ ORBit2-2.14.19/src/idl-compiler/Makefile.in 2014-03-15 20:45:12.000000000 +0100
@@ -66,15 +66,13 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -43,3 +43,12 @@
orbit_idl_2_LDADD = \
$(ORBIT_IDL_LIBS) \
+@@ -383,7 +380,7 @@ clean-binPROGRAMS:
+ rm -f $$list
+ orbit-idl-2$(EXEEXT): $(orbit_idl_2_OBJECTS) $(orbit_idl_2_DEPENDENCIES)
+ @rm -f orbit-idl-2$(EXEEXT)
+- $(LINK) $(orbit_idl_2_OBJECTS) $(orbit_idl_2_LDADD) $(LIBS)
++ $(LINK) $(orbit_idl_2_OBJECTS) $(orbit_idl_2_LDADD) $(LIBS) $(LIBS_FOR_BUILD)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
diff --git a/package/parted/Makefile b/package/parted/Makefile
index 8223abe7b..97ea55df3 100644
--- a/package/parted/Makefile
+++ b/package/parted/Makefile
@@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= parted
PKG_VERSION:= 3.1
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= 5d89d64d94bcfefa9ce8f59f4b81bdcb
PKG_DESCR:= partition table editor
PKG_SECTION:= fs
-PKG_DEPENDS:= libuuid libreadline libpthread libgcc
+PKG_DEPENDS:= libblkid libuuid libreadline libpthread libgcc
PKG_BUILDDEP:= util-linux readline
PKG_URL:= http://www.gnu.org/software/parted/index.shtml
PKG_SITES:= ${MASTER_SITE_GNU:=parted/}
diff --git a/package/pcc/Makefile b/package/pcc/Makefile
index 891651d3a..ef3e70b28 100644
--- a/package/pcc/Makefile
+++ b/package/pcc/Makefile
@@ -22,19 +22,17 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,PCC,pcc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
# we cross-compile a native compiler for the target system
-CONFIGURE_ARGS+= --host=${GNU_TARGET_NAME}
-CONFIGURE_ARGS+= --target=${GNU_TARGET_NAME}
-CONFIGURE_ARGS+= --with-assembler=/usr/bin/as
-CONFIGURE_ARGS+= --with-linker=/usr/bin/ld
+CONFIGURE_ARGS+= --host=${GNU_TARGET_NAME} \
+ --target=${GNU_TARGET_NAME} \
+ --with-assembler=/usr/bin/as \
+ --with-linker=/usr/bin/ld
ifeq ($(ADK_TARGET_LIB_GLIBC),y)
TARGET_CPPFLAGS+= -DADK_FOR_GLIBC
-else
+endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
TARGET_CPPFLAGS+= -DADK_FOR_UCLIBC
endif
-endif
-endif
pcc-install:
$(INSTALL_DIR) $(IDIR_PCC)
diff --git a/package/pcre/Makefile b/package/pcre/Makefile
index 12738c2cb..174315a81 100644
--- a/package/pcre/Makefile
+++ b/package/pcre/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= pcre
-PKG_VERSION:= 8.31
-PKG_RELEASE:= 2
-PKG_MD5SUM:= fab1bb3b91a4c35398263a5c1e0858c1
+PKG_VERSION:= 8.34
+PKG_RELEASE:= 1
+PKG_MD5SUM:= eb34b2c9c727fd64940d6fd9a00995eb
PKG_DESCR:= a Perl Compatible Regular Expression library
PKG_SECTION:= libs
PKG_BUILDDEPS:= gettext-tiny
@@ -22,11 +22,15 @@ ifeq ($(ADK_STATIC),y)
PKG_OPTS+= libmix
endif
+include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
+$(eval $(call HOST_template,PCRE,pcre,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBPCRE,libpcre,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
$(eval $(call PKG_template,LIBPCRECPP,libpcrecpp,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBPCRECPP},${PKG_SECTION}))
+HOST_STYLE:= auto
+CONFIGURE_ARGS+= --enable-utf
XAKE_FLAGS+= ${TARGET_CONFIGURE_OPTS}
libpcre-install:
@@ -37,4 +41,5 @@ libpcrecpp-install:
${INSTALL_DIR} ${IDIR_LIBPCRECPP}/usr/lib
${CP} ${WRKINST}/usr/lib/libpcrecpp.so* ${IDIR_LIBPCRECPP}/usr/lib
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/pcrepp/Makefile b/package/pcrepp/Makefile
index e96d04e38..5d662f20f 100644
--- a/package/pcrepp/Makefile
+++ b/package/pcrepp/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= pcrepp
PKG_VERSION:= 0.9.5
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 1fe6ea8e23ece01fde2ce5fb4746acc2
PKG_DESCR:= Cpp Wrapper classes for PCRE
PKG_SECTION:= libs
diff --git a/package/pcrepp/patches/patch-configure b/package/pcrepp/patches/patch-configure
index 0ee82218e..da7ab7b3e 100644
--- a/package/pcrepp/patches/patch-configure
+++ b/package/pcrepp/patches/patch-configure
@@ -1,5 +1,23 @@
--- pcre++-0.9.5.orig/configure 2004-08-25 01:38:03.000000000 +0200
-+++ pcre++-0.9.5/configure 2011-08-05 07:30:53.000000000 +0200
++++ pcre++-0.9.5/configure 2014-03-17 20:07:03.000000000 +0100
+@@ -3844,7 +3844,7 @@ irix5* | irix6* | nonstopux*)
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
+ lt_cv_deplibs_check_method=pass_all ;;
+@@ -6598,7 +6598,7 @@ linux-gnuoldld* | linux-gnuaout* | linux
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
@@ -8612,7 +8612,7 @@ if test "x$with_pcre_include" = "x"; the
CPPFLAGS="$CPPFLAGS -I/include"
;;
diff --git a/package/pixman/Makefile b/package/pixman/Makefile
index 5cb1821d9..6d5cd5aec 100644
--- a/package/pixman/Makefile
+++ b/package/pixman/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= pixman
-PKG_VERSION:= 0.30.0
-PKG_RELEASE:= 2
-PKG_MD5SUM:= ae7ac97921dfa59086ca2231621a79c7
-PKG_DESCR:= Pixel manipulation library
+PKG_VERSION:= 0.32.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= eba449138b972fbf4547a8c152fea162
+PKG_DESCR:= pixel manipulation library
PKG_SECTION:= x11/libs
PKG_BUILDDEP:= libpng
PKG_SITES:= http://www.cairographics.org/releases/
diff --git a/package/pixman/patches/patch-Makefile_in b/package/pixman/patches/patch-Makefile_in
new file mode 100644
index 000000000..cebc19113
--- /dev/null
+++ b/package/pixman/patches/patch-Makefile_in
@@ -0,0 +1,11 @@
+--- pixman-0.32.4.orig/Makefile.in 2013-11-18 03:11:20.000000000 +0100
++++ pixman-0.32.4/Makefile.in 2014-03-30 21:54:18.000000000 +0200
+@@ -369,7 +369,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = pixman demos test
++SUBDIRS = pixman
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = pixman-1.pc
+ GPGKEY = 3892336E
diff --git a/package/pkgconf/Makefile b/package/pkgconf/Makefile
index 8375a8236..8dbc5e32a 100644
--- a/package/pkgconf/Makefile
+++ b/package/pkgconf/Makefile
@@ -4,16 +4,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= pkgconf
-PKG_VERSION:= 0.9.3
+PKG_VERSION:= 0.9.5
PKG_RELEASE:= 1
-PKG_MD5SUM:= 52c553bad686f8be1556b58bc1925f4f
+PKG_MD5SUM:= babb4e02f0fb8f4044ee95ad2241a676
PKG_DESCR:= smart pkg-config replacement
PKG_SECTION:= lang
PKG_URL:= https://github.com/pkgconf/pkgconf
PKG_SITES:= http://rabbit.dereferenced.org/~nenolod/distfiles/
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
include $(TOPDIR)/mk/host.mk
include $(TOPDIR)/mk/package.mk
diff --git a/package/postfix/Makefile b/package/postfix/Makefile
index e95cc4c9c..c68d69e91 100644
--- a/package/postfix/Makefile
+++ b/package/postfix/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= postfix
-PKG_VERSION:= 2.10.2
+PKG_VERSION:= 2.11.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= 109e753aecafe487207b425dd46e6ee9
+PKG_MD5SUM:= 25fe7dd05f81cc0755131beecee046fd
PKG_DESCR:= Postfix MTA
PKG_SECTION:= mail
PKG_BUILDDEP:= tinycdb
diff --git a/package/postfix/patches/patch-makedefs b/package/postfix/patches/patch-makedefs
index d39cec8a9..e4052d8dd 100644
--- a/package/postfix/patches/patch-makedefs
+++ b/package/postfix/patches/patch-makedefs
@@ -1,6 +1,6 @@
---- postfix-2.10.2.orig/makedefs 2013-02-04 02:33:13.000000000 +0100
-+++ postfix-2.10.2/makedefs 2013-10-10 16:28:03.000000000 +0200
-@@ -366,16 +366,7 @@ EOF
+--- postfix-2.11.0.orig/makedefs 2014-01-05 18:18:56.000000000 +0100
++++ postfix-2.11.0/makedefs 2014-03-25 08:55:06.000000000 +0100
+@@ -382,16 +382,7 @@ EOF
SYSLIBS="-ldb"
;;
esac
@@ -17,4 +17,4 @@
+ SYSLIBS="-lresolv"
;;
GNU.0*|GNU/kFreeBSD.[567]*)
- SYSTYPE=GNU0
+ SYSTYPE=GNU0
diff --git a/package/postfix/patches/patch-src_posttls-finger_posttls-finger_c b/package/postfix/patches/patch-src_posttls-finger_posttls-finger_c
new file mode 100644
index 000000000..6f0e74fab
--- /dev/null
+++ b/package/postfix/patches/patch-src_posttls-finger_posttls-finger_c
@@ -0,0 +1,10 @@
+--- postfix-2.11.0.orig/src/posttls-finger/posttls-finger.c 2013-12-16 17:06:33.000000000 +0100
++++ postfix-2.11.0/src/posttls-finger/posttls-finger.c 2014-03-25 08:58:04.000000000 +0100
+@@ -290,6 +290,7 @@
+ */
+ #include <sys_defs.h>
+ #include <stdarg.h>
++#include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdlib.h>
diff --git a/package/postfix/patches/patch-src_util_sys_defs_h b/package/postfix/patches/patch-src_util_sys_defs_h
index ecc7fc219..85974664e 100644
--- a/package/postfix/patches/patch-src_util_sys_defs_h
+++ b/package/postfix/patches/patch-src_util_sys_defs_h
@@ -1,13 +1,21 @@
---- postfix-2.10.2.orig/src/util/sys_defs.h 2012-09-25 01:53:56.000000000 +0200
-+++ postfix-2.10.2/src/util/sys_defs.h 2013-10-10 16:30:37.000000000 +0200
-@@ -753,8 +753,8 @@ extern int initgroups(const char *, int)
- #define DEF_MAILBOX_LOCK "fcntl, dotlock" /* RedHat >= 4.x */
+--- postfix-2.11.0.orig/src/util/sys_defs.h 2013-09-29 22:51:55.000000000 +0200
++++ postfix-2.11.0/src/util/sys_defs.h 2014-03-26 19:38:02.000000000 +0100
+@@ -46,7 +46,7 @@
#define HAS_FSYNC
#define HAS_DB
--#define DEF_DB_TYPE "hash"
--#define ALIAS_DB_MAP "hash:/etc/aliases"
+ #define HAS_SA_LEN
+-#define NATIVE_DB_TYPE "hash"
++#define NATIVE_DB_TYPE "cdb"
+ #if (defined(__NetBSD_Version__) && __NetBSD_Version__ >= 104250000)
+ #define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/mail/aliases" /* sendmail 8.10 */
+ #endif
+@@ -54,7 +54,8 @@
+ #define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/mail/aliases" /* OpenBSD 2.7 */
+ #endif
+ #ifndef ALIAS_DB_MAP
+-#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
+#define DEF_DB_TYPE "cdb"
-+#define ALIAS_DB_MAP "cdb:/etc/postfix/aliases"
- #ifndef NO_NIS
- #define HAS_NIS
++#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/postfix/aliases"
#endif
+ #define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0)
+ #define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin"
diff --git a/package/ppp/Makefile b/package/ppp/Makefile
index 08d545c79..2c3c17bc3 100644
--- a/package/ppp/Makefile
+++ b/package/ppp/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= ppp
PKG_VERSION:= 2.4.5
-PKG_RELEASE:= 6
+PKG_RELEASE:= 7
PKG_MD5SUM:= 4621bc56167b6953ec4071043fe0ec57
PKG_DESCR:= Point-to-Point Protocol software
PKG_SECTION:= ppp
@@ -15,8 +15,6 @@ PKG_URL:= http://ppp.samba.org/
PKG_SITES:= ftp://ftp.samba.org/pub/ppp/
PKG_MULTI:= 1
-PKG_LIBC_DEPENDS:= uclibc glibc
-
PKG_SUBPKGS:= PPP PPP_MOD_PPPOA PPP_MOD_PPPOE PPP_MOD_RADIUS
PKG_SUBPKGS+= PPP_MOD_CHAT PPP_MOD_PPPDUMP PPP_MOD_PPPSTATS PPP_MOD_PPPUMTS
PKGSS_PPP_MOD_PPPOE:= kmod-pppoe
diff --git a/package/ppp/patches/patch-chat_chat_c b/package/ppp/patches/patch-chat_chat_c
new file mode 100644
index 000000000..2718fbd8d
--- /dev/null
+++ b/package/ppp/patches/patch-chat_chat_c
@@ -0,0 +1,74 @@
+--- ppp-2.4.5.orig/chat/chat.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/chat/chat.c 2014-03-17 16:13:08.000000000 +0100
+@@ -209,39 +209,39 @@ int clear_report_next = 0;
+
+ int say_next = 0, hup_next = 0;
+
+-void *dup_mem __P((void *b, size_t c));
+-void *copy_of __P((char *s));
+-char *grow __P((char *s, char **p, size_t len));
+-void usage __P((void));
+-void msgf __P((const char *fmt, ...));
+-void fatal __P((int code, const char *fmt, ...));
+-SIGTYPE sigalrm __P((int signo));
+-SIGTYPE sigint __P((int signo));
+-SIGTYPE sigterm __P((int signo));
+-SIGTYPE sighup __P((int signo));
+-void unalarm __P((void));
+-void init __P((void));
+-void set_tty_parameters __P((void));
+-void echo_stderr __P((int));
+-void break_sequence __P((void));
+-void terminate __P((int status));
+-void do_file __P((char *chat_file));
+-int get_string __P((register char *string));
+-int put_string __P((register char *s));
+-int write_char __P((int c));
+-int put_char __P((int c));
+-int get_char __P((void));
+-void chat_send __P((register char *s));
+-char *character __P((int c));
+-void chat_expect __P((register char *s));
+-char *clean __P((register char *s, int sending));
+-void break_sequence __P((void));
+-void terminate __P((int status));
+-void pack_array __P((char **array, int end));
+-char *expect_strtok __P((char *, char *));
+-int vfmtmsg __P((char *, int, const char *, va_list)); /* vsprintf++ */
++void *dup_mem (void *b, size_t c);
++void *copy_of (char *s);
++char *grow (char *s, char **p, size_t len);
++void usage (void);
++void msgf (const char *fmt, ...);
++void fatal (int code, const char *fmt, ...);
++SIGTYPE sigalrm (int signo);
++SIGTYPE sigint (int signo);
++SIGTYPE sigterm (int signo);
++SIGTYPE sighup (int signo);
++void unalarm (void);
++void init (void);
++void set_tty_parameters (void);
++void echo_stderr (int);
++void break_sequence (void);
++void terminate (int status);
++void do_file (char *chat_file);
++int get_string (register char *string);
++int put_string (register char *s);
++int write_char (int c);
++int put_char (int c);
++int get_char (void);
++void chat_send (register char *s);
++char *character (int c);
++void chat_expect (register char *s);
++char *clean (register char *s, int sending);
++void break_sequence (void);
++void terminate (int status);
++void pack_array (char **array, int end);
++char *expect_strtok (char *, char *);
++int vfmtmsg (char *, int, const char *, va_list); /* vsprintf++ */
+
+-int main __P((int, char *[]));
++int main (int, char *[]);
+
+ void *dup_mem(b, c)
+ void *b;
diff --git a/package/ppp/patches/patch-include_net_if_ppp_h b/package/ppp/patches/patch-include_net_if_ppp_h
new file mode 100644
index 000000000..6741e64c8
--- /dev/null
+++ b/package/ppp/patches/patch-include_net_if_ppp_h
@@ -0,0 +1,12 @@
+--- ppp-2.4.5.orig/include/net/if_ppp.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/include/net/if_ppp.h 2014-03-17 16:13:06.000000000 +0100
+@@ -150,7 +150,7 @@ struct ifpppcstatsreq {
+ #endif
+
+ #if (defined(_KERNEL) || defined(KERNEL)) && !defined(NeXT)
+-void pppattach __P((void));
+-void pppintr __P((void));
++void pppattach (void);
++void pppintr (void);
+ #endif
+ #endif /* _IF_PPP_H_ */
diff --git a/package/ppp/patches/patch-include_net_ppp-comp_h b/package/ppp/patches/patch-include_net_ppp-comp_h
new file mode 100644
index 000000000..42e9562b5
--- /dev/null
+++ b/package/ppp/patches/patch-include_net_ppp-comp_h
@@ -0,0 +1,56 @@
+--- ppp-2.4.5.orig/include/net/ppp-comp.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/include/net/ppp-comp.h 2014-03-17 16:13:07.000000000 +0100
+@@ -59,36 +59,36 @@ struct compressor {
+ int compress_proto; /* CCP compression protocol number */
+
+ /* Allocate space for a compressor (transmit side) */
+- void *(*comp_alloc) __P((u_char *options, int opt_len));
++ void *(*comp_alloc) (u_char *options, int opt_len);
+ /* Free space used by a compressor */
+- void (*comp_free) __P((void *state));
++ void (*comp_free) (void *state);
+ /* Initialize a compressor */
+- int (*comp_init) __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int debug));
++ int (*comp_init) (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int debug);
+ /* Reset a compressor */
+- void (*comp_reset) __P((void *state));
++ void (*comp_reset) (void *state);
+ /* Compress a packet */
+- int (*compress) __P((void *state, PACKETPTR *mret,
+- PACKETPTR mp, int orig_len, int max_len));
++ int (*compress) (void *state, PACKETPTR *mret,
++ PACKETPTR mp, int orig_len, int max_len);
+ /* Return compression statistics */
+- void (*comp_stat) __P((void *state, struct compstat *stats));
++ void (*comp_stat) (void *state, struct compstat *stats);
+
+ /* Allocate space for a decompressor (receive side) */
+- void *(*decomp_alloc) __P((u_char *options, int opt_len));
++ void *(*decomp_alloc) (u_char *options, int opt_len);
+ /* Free space used by a decompressor */
+- void (*decomp_free) __P((void *state));
++ void (*decomp_free) (void *state);
+ /* Initialize a decompressor */
+- int (*decomp_init) __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int mru, int debug));
++ int (*decomp_init) (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int mru, int debug);
+ /* Reset a decompressor */
+- void (*decomp_reset) __P((void *state));
++ void (*decomp_reset) (void *state);
+ /* Decompress a packet. */
+- int (*decompress) __P((void *state, PACKETPTR mp,
+- PACKETPTR *dmpp));
++ int (*decompress) (void *state, PACKETPTR mp,
++ PACKETPTR *dmpp);
+ /* Update state for an incompressible packet received */
+- void (*incomp) __P((void *state, PACKETPTR mp));
++ void (*incomp) (void *state, PACKETPTR mp);
+ /* Return decompression statistics */
+- void (*decomp_stat) __P((void *state, struct compstat *stats));
++ void (*decomp_stat) (void *state, struct compstat *stats);
+ };
+ #endif /* PACKETPTR */
+
diff --git a/package/ppp/patches/patch-include_net_ppp_defs_h b/package/ppp/patches/patch-include_net_ppp_defs_h
new file mode 100644
index 000000000..1945c78d7
--- /dev/null
+++ b/package/ppp/patches/patch-include_net_ppp_defs_h
@@ -0,0 +1,11 @@
+--- ppp-2.4.5.orig/include/net/ppp_defs.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/include/net/ppp_defs.h 2014-03-17 16:32:53.000000000 +0100
+@@ -38,6 +38,8 @@
+ #ifndef _PPP_DEFS_H_
+ #define _PPP_DEFS_H_
+
++#include <sys/time.h>
++
+ /*
+ * The basic PPP frame.
+ */
diff --git a/package/ppp/patches/patch-include_net_slcompress_h b/package/ppp/patches/patch-include_net_slcompress_h
new file mode 100644
index 000000000..69d57d909
--- /dev/null
+++ b/package/ppp/patches/patch-include_net_slcompress_h
@@ -0,0 +1,22 @@
+--- ppp-2.4.5.orig/include/net/slcompress.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/include/net/slcompress.h 2014-03-17 16:13:06.000000000 +0100
+@@ -137,12 +137,12 @@ struct slcompress {
+ /* flag values */
+ #define SLF_TOSS 1 /* tossing rcvd frames because of input err */
+
+-void sl_compress_init __P((struct slcompress *));
+-void sl_compress_setup __P((struct slcompress *, int));
+-u_int sl_compress_tcp __P((struct mbuf *,
+- struct ip *, struct slcompress *, int));
+-int sl_uncompress_tcp __P((u_char **, int, u_int, struct slcompress *));
+-int sl_uncompress_tcp_core __P((u_char *, int, int, u_int,
+- struct slcompress *, u_char **, u_int *));
++void sl_compress_init (struct slcompress *);
++void sl_compress_setup (struct slcompress *, int);
++u_int sl_compress_tcp (struct mbuf *,
++ struct ip *, struct slcompress *, int);
++int sl_uncompress_tcp (u_char **, int, u_int, struct slcompress *);
++int sl_uncompress_tcp_core (u_char *, int, int, u_int,
++ struct slcompress *, u_char **, u_int *);
+
+ #endif /* _SLCOMPRESS_H_ */
diff --git a/package/ppp/patches/patch-include_net_vjcompress_h b/package/ppp/patches/patch-include_net_vjcompress_h
new file mode 100644
index 000000000..cc267c8ea
--- /dev/null
+++ b/package/ppp/patches/patch-include_net_vjcompress_h
@@ -0,0 +1,26 @@
+--- ppp-2.4.5.orig/include/net/vjcompress.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/include/net/vjcompress.h 2014-03-17 16:13:06.000000000 +0100
+@@ -130,15 +130,15 @@ struct vjcompress {
+ /* flag values */
+ #define VJF_TOSS 1 /* tossing rcvd frames because of input err */
+
+-extern void vj_compress_init __P((struct vjcompress *comp, int max_state));
+-extern u_int vj_compress_tcp __P((struct ip *ip, u_int mlen,
++extern void vj_compress_init (struct vjcompress *comp, int max_state);
++extern u_int vj_compress_tcp (struct ip *ip, u_int mlen,
+ struct vjcompress *comp, int compress_cid_flag,
+- u_char **vjhdrp));
+-extern void vj_uncompress_err __P((struct vjcompress *comp));
+-extern int vj_uncompress_uncomp __P((u_char *buf, int buflen,
+- struct vjcompress *comp));
+-extern int vj_uncompress_tcp __P((u_char *buf, int buflen, int total_len,
++ u_char **vjhdrp);
++extern void vj_uncompress_err (struct vjcompress *comp);
++extern int vj_uncompress_uncomp (u_char *buf, int buflen,
++ struct vjcompress *comp);
++extern int vj_uncompress_tcp (u_char *buf, int buflen, int total_len,
+ struct vjcompress *comp, u_char **hdrp,
+- u_int *hlenp));
++ u_int *hlenp);
+
+ #endif /* _VJCOMPRESS_H_ */
diff --git a/package/ppp/patches/patch-modules_bsd-comp_c b/package/ppp/patches/patch-modules_bsd-comp_c
new file mode 100644
index 000000000..4bba327c7
--- /dev/null
+++ b/package/ppp/patches/patch-modules_bsd-comp_c
@@ -0,0 +1,35 @@
+--- ppp-2.4.5.orig/modules/bsd-comp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/bsd-comp.c 2014-03-17 16:13:07.000000000 +0100
+@@ -148,19 +148,19 @@ struct bsd_db {
+ #define BSD_OVHD 2 /* BSD compress overhead/packet */
+ #define BSD_INIT_BITS BSD_MIN_BITS
+
+-static void *bsd_comp_alloc __P((u_char *options, int opt_len));
+-static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
+-static void bsd_free __P((void *state));
+-static int bsd_comp_init __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int debug));
+-static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int mru, int debug));
+-static int bsd_compress __P((void *state, mblk_t **mret,
+- mblk_t *mp, int slen, int maxolen));
+-static void bsd_incomp __P((void *state, mblk_t *dmsg));
+-static int bsd_decompress __P((void *state, mblk_t *cmp, mblk_t **dmpp));
+-static void bsd_reset __P((void *state));
+-static void bsd_comp_stats __P((void *state, struct compstat *stats));
++static void *bsd_comp_alloc (u_char *options, int opt_len);
++static void *bsd_decomp_alloc (u_char *options, int opt_len);
++static void bsd_free (void *state);
++static int bsd_comp_init (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int debug);
++static int bsd_decomp_init (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int mru, int debug);
++static int bsd_compress (void *state, mblk_t **mret,
++ mblk_t *mp, int slen, int maxolen);
++static void bsd_incomp (void *state, mblk_t *dmsg);
++static int bsd_decompress (void *state, mblk_t *cmp, mblk_t **dmpp);
++static void bsd_reset (void *state);
++static void bsd_comp_stats (void *state, struct compstat *stats);
+
+ /*
+ * Procedures exported to ppp_comp.c.
diff --git a/package/ppp/patches/patch-modules_deflate_c b/package/ppp/patches/patch-modules_deflate_c
new file mode 100644
index 000000000..53cd6fc0e
--- /dev/null
+++ b/package/ppp/patches/patch-modules_deflate_c
@@ -0,0 +1,47 @@
+--- ppp-2.4.5.orig/modules/deflate.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/deflate.c 2014-03-17 16:13:07.000000000 +0100
+@@ -80,25 +80,25 @@ struct deflate_state {
+
+ #define DEFLATE_OVHD 2 /* Deflate overhead/packet */
+
+-static void *z_alloc __P((void *, u_int items, u_int size));
+-static void *z_alloc_init __P((void *, u_int items, u_int size));
+-static void z_free __P((void *, void *ptr));
+-static void *z_comp_alloc __P((u_char *options, int opt_len));
+-static void *z_decomp_alloc __P((u_char *options, int opt_len));
+-static void z_comp_free __P((void *state));
+-static void z_decomp_free __P((void *state));
+-static int z_comp_init __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int debug));
+-static int z_decomp_init __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int mru, int debug));
+-static int z_compress __P((void *state, mblk_t **mret,
+- mblk_t *mp, int slen, int maxolen));
+-static void z_incomp __P((void *state, mblk_t *dmsg));
+-static int z_decompress __P((void *state, mblk_t *cmp,
+- mblk_t **dmpp));
+-static void z_comp_reset __P((void *state));
+-static void z_decomp_reset __P((void *state));
+-static void z_comp_stats __P((void *state, struct compstat *stats));
++static void *z_alloc (void *, u_int items, u_int size);
++static void *z_alloc_init (void *, u_int items, u_int size);
++static void z_free (void *, void *ptr);
++static void *z_comp_alloc (u_char *options, int opt_len);
++static void *z_decomp_alloc (u_char *options, int opt_len);
++static void z_comp_free (void *state);
++static void z_decomp_free (void *state);
++static int z_comp_init (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int debug);
++static int z_decomp_init (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int mru, int debug);
++static int z_compress (void *state, mblk_t **mret,
++ mblk_t *mp, int slen, int maxolen);
++static void z_incomp (void *state, mblk_t *dmsg);
++static int z_decompress (void *state, mblk_t *cmp,
++ mblk_t **dmpp);
++static void z_comp_reset (void *state);
++static void z_decomp_reset (void *state);
++static void z_comp_stats (void *state, struct compstat *stats);
+
+ /*
+ * Procedures exported to ppp_comp.c.
diff --git a/package/ppp/patches/patch-modules_if_ppp_c b/package/ppp/patches/patch-modules_if_ppp_c
new file mode 100644
index 000000000..67561642a
--- /dev/null
+++ b/package/ppp/patches/patch-modules_if_ppp_c
@@ -0,0 +1,43 @@
+--- ppp-2.4.5.orig/modules/if_ppp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/if_ppp.c 2014-03-17 16:13:07.000000000 +0100
+@@ -80,10 +80,10 @@
+
+ #define ifr_mtu ifr_metric
+
+-static int if_ppp_open __P((queue_t *, int, int, int));
+-static int if_ppp_close __P((queue_t *, int));
+-static int if_ppp_wput __P((queue_t *, mblk_t *));
+-static int if_ppp_rput __P((queue_t *, mblk_t *));
++static int if_ppp_open (queue_t *, int, int, int);
++static int if_ppp_close (queue_t *, int);
++static int if_ppp_wput (queue_t *, mblk_t *);
++static int if_ppp_rput (queue_t *, mblk_t *);
+
+ #define PPP_IF_ID 0x8021
+ static struct module_info minfo = {
+@@ -117,11 +117,11 @@ static int ppp_nalloc; /* Number of ele
+ static struct ifnet **ifs; /* Array of pointers to interface structs */
+ static if_ppp_t **states; /* Array of pointers to state structs */
+
+-static int if_ppp_output __P((struct ifnet *, struct mbuf *,
+- struct sockaddr *));
+-static int if_ppp_ioctl __P((struct ifnet *, u_int, caddr_t));
+-static struct mbuf *make_mbufs __P((mblk_t *, int));
+-static mblk_t *make_message __P((struct mbuf *, int));
++static int if_ppp_output (struct ifnet *, struct mbuf *,
++ struct sockaddr *);
++static int if_ppp_ioctl (struct ifnet *, u_int, caddr_t);
++static struct mbuf *make_mbufs (mblk_t *, int);
++static mblk_t *make_message (struct mbuf *, int);
+
+ #ifdef SNIT_SUPPORT
+ /* Fake ether header for SNIT */
+@@ -129,7 +129,7 @@ static struct ether_header snit_ehdr = {
+ #endif
+
+ #ifndef __osf__
+-static void ppp_if_detach __P((struct ifnet *));
++static void ppp_if_detach (struct ifnet *);
+
+ /*
+ * Detach all the interfaces before unloading.
diff --git a/package/ppp/patches/patch-modules_ppp_ahdlc_c b/package/ppp/patches/patch-modules_ppp_ahdlc_c
new file mode 100644
index 000000000..93ad5795a
--- /dev/null
+++ b/package/ppp/patches/patch-modules_ppp_ahdlc_c
@@ -0,0 +1,19 @@
+--- ppp-2.4.5.orig/modules/ppp_ahdlc.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/ppp_ahdlc.c 2014-03-17 16:13:07.000000000 +0100
+@@ -107,11 +107,11 @@ typedef unsigned int uintpoin
+
+ MOD_OPEN_DECL(ahdlc_open);
+ MOD_CLOSE_DECL(ahdlc_close);
+-static int ahdlc_wput __P((queue_t *, mblk_t *));
+-static int ahdlc_rput __P((queue_t *, mblk_t *));
+-static void ahdlc_encode __P((queue_t *, mblk_t *));
+-static void ahdlc_decode __P((queue_t *, mblk_t *));
+-static int msg_byte __P((mblk_t *, unsigned int));
++static int ahdlc_wput (queue_t *, mblk_t *);
++static int ahdlc_rput (queue_t *, mblk_t *);
++static void ahdlc_encode (queue_t *, mblk_t *);
++static void ahdlc_decode (queue_t *, mblk_t *);
++static int msg_byte (mblk_t *, unsigned int);
+
+ #if defined(SOL2)
+ /*
diff --git a/package/ppp/patches/patch-modules_ppp_c b/package/ppp/patches/patch-modules_ppp_c
new file mode 100644
index 000000000..f8c569cad
--- /dev/null
+++ b/package/ppp/patches/patch-modules_ppp_c
@@ -0,0 +1,76 @@
+--- ppp-2.4.5.orig/modules/ppp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/ppp.c 2014-03-17 16:13:07.000000000 +0100
+@@ -254,43 +254,43 @@ static upperstr_t *minor_devs = NULL;
+ static upperstr_t *ppas = NULL;
+
+ #ifdef SVR4
+-static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
+-static int pppclose __P((queue_t *, int, cred_t *));
++static int pppopen (queue_t *, dev_t *, int, int, cred_t *);
++static int pppclose (queue_t *, int, cred_t *);
+ #else
+-static int pppopen __P((queue_t *, int, int, int));
+-static int pppclose __P((queue_t *, int));
++static int pppopen (queue_t *, int, int, int);
++static int pppclose (queue_t *, int);
+ #endif /* SVR4 */
+-static int pppurput __P((queue_t *, mblk_t *));
+-static int pppuwput __P((queue_t *, mblk_t *));
+-static int pppursrv __P((queue_t *));
+-static int pppuwsrv __P((queue_t *));
+-static int ppplrput __P((queue_t *, mblk_t *));
+-static int ppplwput __P((queue_t *, mblk_t *));
+-static int ppplrsrv __P((queue_t *));
+-static int ppplwsrv __P((queue_t *));
++static int pppurput (queue_t *, mblk_t *);
++static int pppuwput (queue_t *, mblk_t *);
++static int pppursrv (queue_t *);
++static int pppuwsrv (queue_t *);
++static int ppplrput (queue_t *, mblk_t *);
++static int ppplwput (queue_t *, mblk_t *);
++static int ppplrsrv (queue_t *);
++static int ppplwsrv (queue_t *);
+ #ifndef NO_DLPI
+-static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
+-static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
+-static void dlpi_ok __P((queue_t *, int));
++static void dlpi_request (queue_t *, mblk_t *, upperstr_t *);
++static void dlpi_error (queue_t *, upperstr_t *, int, int, int);
++static void dlpi_ok (queue_t *, int);
+ #endif
+-static int send_data __P((mblk_t *, upperstr_t *));
+-static void new_ppa __P((queue_t *, mblk_t *));
+-static void attach_ppa __P((queue_t *, mblk_t *));
+-static void detach_ppa __P((queue_t *, mblk_t *));
+-static void detach_lower __P((queue_t *, mblk_t *));
+-static void debug_dump __P((queue_t *, mblk_t *));
+-static upperstr_t *find_dest __P((upperstr_t *, int));
++static int send_data (mblk_t *, upperstr_t *);
++static void new_ppa (queue_t *, mblk_t *);
++static void attach_ppa (queue_t *, mblk_t *);
++static void detach_ppa (queue_t *, mblk_t *);
++static void detach_lower (queue_t *, mblk_t *);
++static void debug_dump (queue_t *, mblk_t *);
++static upperstr_t *find_dest (upperstr_t *, int);
+ #if defined(SOL2)
+-static upperstr_t *find_promisc __P((upperstr_t *, int));
+-static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
+-static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
+-static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
++static upperstr_t *find_promisc (upperstr_t *, int);
++static mblk_t *prepend_ether (upperstr_t *, mblk_t *, int);
++static mblk_t *prepend_udind (upperstr_t *, mblk_t *, int);
++static void promisc_sendup (upperstr_t *, mblk_t *, int, int);
+ #endif /* defined(SOL2) */
+-static int putctl2 __P((queue_t *, int, int, int));
+-static int putctl4 __P((queue_t *, int, int, int));
+-static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
++static int putctl2 (queue_t *, int, int, int);
++static int putctl4 (queue_t *, int, int, int);
++static int pass_packet (upperstr_t *ppa, mblk_t *mp, int outbound);
+ #ifdef FILTER_PACKETS
+-static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
++static int ip_hard_filter (upperstr_t *ppa, mblk_t *mp, int outbound);
+ #endif /* FILTER_PACKETS */
+
+ #define PPP_ID 0xb1a6
diff --git a/package/ppp/patches/patch-modules_ppp_comp_c b/package/ppp/patches/patch-modules_ppp_comp_c
new file mode 100644
index 000000000..944d0d80f
--- /dev/null
+++ b/package/ppp/patches/patch-modules_ppp_comp_c
@@ -0,0 +1,30 @@
+--- ppp-2.4.5.orig/modules/ppp_comp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/ppp_comp.c 2014-03-17 16:13:07.000000000 +0100
+@@ -74,12 +74,12 @@
+
+ MOD_OPEN_DECL(ppp_comp_open);
+ MOD_CLOSE_DECL(ppp_comp_close);
+-static int ppp_comp_rput __P((queue_t *, mblk_t *));
+-static int ppp_comp_rsrv __P((queue_t *));
+-static int ppp_comp_wput __P((queue_t *, mblk_t *));
+-static int ppp_comp_wsrv __P((queue_t *));
+-static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
+-static int msg_byte __P((mblk_t *, unsigned int));
++static int ppp_comp_rput (queue_t *, mblk_t *);
++static int ppp_comp_rsrv (queue_t *);
++static int ppp_comp_wput (queue_t *, mblk_t *);
++static int ppp_comp_wsrv (queue_t *);
++static void ppp_comp_ccp (queue_t *, mblk_t *, int);
++static int msg_byte (mblk_t *, unsigned int);
+
+ /* Extract byte i of message mp. */
+ #define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
+@@ -118,7 +118,7 @@ int ppp_comp_count; /* number of module
+
+ #ifdef __osf__
+
+-static void ppp_comp_alloc __P((comp_state_t *));
++static void ppp_comp_alloc (comp_state_t *);
+ typedef struct memreq {
+ unsigned char comp_opts[20];
+ int cmd;
diff --git a/package/ppp/patches/patch-modules_ppp_mod_h b/package/ppp/patches/patch-modules_ppp_mod_h
new file mode 100644
index 000000000..29f6624e2
--- /dev/null
+++ b/package/ppp/patches/patch-modules_ppp_mod_h
@@ -0,0 +1,28 @@
+--- ppp-2.4.5.orig/modules/ppp_mod.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/modules/ppp_mod.h 2014-03-17 16:13:07.000000000 +0100
+@@ -143,10 +143,10 @@ typedef int minor_t;
+ */
+ #ifdef SVR4
+ #define MOD_OPEN_DECL(name) \
+-static int name __P((queue_t *, dev_t *, int, int, cred_t *))
++static int name (queue_t *, dev_t *, int, int, cred_t *)
+
+ #define MOD_CLOSE_DECL(name) \
+-static int name __P((queue_t *, int, cred_t *))
++static int name (queue_t *, int, cred_t *)
+
+ #define MOD_OPEN(name) \
+ static int name(q, devp, flag, sflag, credp) \
+@@ -168,10 +168,10 @@ static int name(q, flag, credp) \
+
+ #else /* not SVR4 */
+ #define MOD_OPEN_DECL(name) \
+-static int name __P((queue_t *, int, int, int))
++static int name (queue_t *, int, int, int)
+
+ #define MOD_CLOSE_DECL(name) \
+-static int name __P((queue_t *, int))
++static int name (queue_t *, int)
+
+ #define MOD_OPEN(name) \
+ static int name(q, dev, flag, sflag) \
diff --git a/package/ppp/patches/patch-pppd_auth_c b/package/ppp/patches/patch-pppd_auth_c
new file mode 100644
index 000000000..e15fbc458
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_auth_c
@@ -0,0 +1,116 @@
+--- ppp-2.4.5.orig/pppd/auth.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/auth.c 2014-03-17 16:13:14.000000000 +0100
+@@ -161,38 +161,38 @@ static int passwd_from_file;
+ static bool default_auth;
+
+ /* Hook to enable a plugin to control the idle time limit */
+-int (*idle_time_hook) __P((struct ppp_idle *)) = NULL;
++int (*idle_time_hook) (struct ppp_idle *) = NULL;
+
+ /* Hook for a plugin to say whether we can possibly authenticate any peer */
+-int (*pap_check_hook) __P((void)) = NULL;
++int (*pap_check_hook) (void) = NULL;
+
+ /* Hook for a plugin to check the PAP user and password */
+-int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
++int (*pap_auth_hook) (char *user, char *passwd, char **msgp,
+ struct wordlist **paddrs,
+- struct wordlist **popts)) = NULL;
++ struct wordlist **popts) = NULL;
+
+ /* Hook for a plugin to know about the PAP user logout */
+-void (*pap_logout_hook) __P((void)) = NULL;
++void (*pap_logout_hook) (void) = NULL;
+
+ /* Hook for a plugin to get the PAP password for authenticating us */
+-int (*pap_passwd_hook) __P((char *user, char *passwd)) = NULL;
++int (*pap_passwd_hook) (char *user, char *passwd) = NULL;
+
+ /* Hook for a plugin to say if we can possibly authenticate a peer using CHAP */
+-int (*chap_check_hook) __P((void)) = NULL;
++int (*chap_check_hook) (void) = NULL;
+
+ /* Hook for a plugin to get the CHAP password for authenticating us */
+-int (*chap_passwd_hook) __P((char *user, char *passwd)) = NULL;
++int (*chap_passwd_hook) (char *user, char *passwd) = NULL;
+
+ /* Hook for a plugin to say whether it is OK if the peer
+ refuses to authenticate. */
+-int (*null_auth_hook) __P((struct wordlist **paddrs,
+- struct wordlist **popts)) = NULL;
++int (*null_auth_hook) (struct wordlist **paddrs,
++ struct wordlist **popts) = NULL;
+
+-int (*allowed_address_hook) __P((u_int32_t addr)) = NULL;
++int (*allowed_address_hook) (u_int32_t addr) = NULL;
+
+ #ifdef HAVE_MULTILINK
+ /* Hook for plugin to hear when an interface joins a multilink bundle */
+-void (*multilink_join_hook) __P((void)) = NULL;
++void (*multilink_join_hook) (void) = NULL;
+ #endif
+
+ /* A notifier for when the peer has authenticated itself,
+@@ -241,37 +241,37 @@ char remote_name[MAXNAMELEN]; /* Peer's
+
+ static char *uafname; /* name of most recent +ua file */
+
+-extern char *crypt __P((const char *, const char *));
++extern char *crypt (const char *, const char *);
+
+ /* Prototypes for procedures local to this file. */
+
+-static void network_phase __P((int));
+-static void check_idle __P((void *));
+-static void connect_time_expired __P((void *));
+-static int null_login __P((int));
+-static int get_pap_passwd __P((char *));
+-static int have_pap_secret __P((int *));
+-static int have_chap_secret __P((char *, char *, int, int *));
+-static int have_srp_secret __P((char *client, char *server, int need_ip,
+- int *lacks_ipp));
+-static int ip_addr_check __P((u_int32_t, struct permitted_ip *));
+-static int scan_authfile __P((FILE *, char *, char *, char *,
++static void network_phase (int);
++static void check_idle (void *);
++static void connect_time_expired (void *);
++static int null_login (int);
++static int get_pap_passwd (char *);
++static int have_pap_secret (int *);
++static int have_chap_secret (char *, char *, int, int *);
++static int have_srp_secret (char *client, char *server, int need_ip,
++ int *lacks_ipp);
++static int ip_addr_check (u_int32_t, struct permitted_ip *);
++static int scan_authfile (FILE *, char *, char *, char *,
+ struct wordlist **, struct wordlist **,
+- char *, int));
+-static void free_wordlist __P((struct wordlist *));
+-static void auth_script __P((char *));
+-static void auth_script_done __P((void *));
+-static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *));
+-static int some_ip_ok __P((struct wordlist *));
+-static int setupapfile __P((char **));
+-static int privgroup __P((char **));
+-static int set_noauth_addr __P((char **));
+-static int set_permitted_number __P((char **));
+-static void check_access __P((FILE *, char *));
+-static int wordlist_count __P((struct wordlist *));
++ char *, int);
++static void free_wordlist (struct wordlist *);
++static void auth_script (char *);
++static void auth_script_done (void *);
++static void set_allowed_addrs (int, struct wordlist *, struct wordlist *);
++static int some_ip_ok (struct wordlist *);
++static int setupapfile (char **);
++static int privgroup (char **);
++static int set_noauth_addr (char **);
++static int set_permitted_number (char **);
++static void check_access (FILE *, char *);
++static int wordlist_count (struct wordlist *);
+
+ #ifdef MAXOCTETS
+-static void check_maxoctets __P((void *));
++static void check_maxoctets (void *);
+ #endif
+
+ /*
diff --git a/package/ppp/patches/patch-pppd_cbcp_c b/package/ppp/patches/patch-pppd_cbcp_c
new file mode 100644
index 000000000..dfbfb44ab
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_cbcp_c
@@ -0,0 +1,59 @@
+--- ppp-2.4.5.orig/pppd/cbcp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/cbcp.c 2014-03-17 16:13:14.000000000 +0100
+@@ -50,7 +50,7 @@ static const char rcsid[] = RCSID;
+ /*
+ * Options.
+ */
+-static int setcbcp __P((char **));
++static int setcbcp (char **);
+
+ static option_t cbcp_option_list[] = {
+ { "callback", o_special, (void *)setcbcp,
+@@ -61,14 +61,14 @@ static option_t cbcp_option_list[] = {
+ /*
+ * Protocol entry points.
+ */
+-static void cbcp_init __P((int unit));
+-static void cbcp_open __P((int unit));
+-static void cbcp_lowerup __P((int unit));
+-static void cbcp_input __P((int unit, u_char *pkt, int len));
+-static void cbcp_protrej __P((int unit));
+-static int cbcp_printpkt __P((u_char *pkt, int len,
++static void cbcp_init (int unit);
++static void cbcp_open (int unit);
++static void cbcp_lowerup (int unit);
++static void cbcp_input (int unit, u_char *pkt, int len);
++static void cbcp_protrej (int unit);
++static int cbcp_printpkt (u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+- void *arg));
++ void *arg);
+
+ struct protent cbcp_protent = {
+ PPP_CBCP,
+@@ -94,11 +94,11 @@ cbcp_state cbcp[NUM_PPP];
+
+ /* internal prototypes */
+
+-static void cbcp_recvreq __P((cbcp_state *us, u_char *pckt, int len));
+-static void cbcp_resp __P((cbcp_state *us));
+-static void cbcp_up __P((cbcp_state *us));
+-static void cbcp_recvack __P((cbcp_state *us, u_char *pckt, int len));
+-static void cbcp_send __P((cbcp_state *us, int code, u_char *buf, int len));
++static void cbcp_recvreq (cbcp_state *us, u_char *pckt, int len);
++static void cbcp_resp (cbcp_state *us);
++static void cbcp_up (cbcp_state *us);
++static void cbcp_recvack (cbcp_state *us, u_char *pckt, int len);
++static void cbcp_send (cbcp_state *us, int code, u_char *buf, int len);
+
+ /* option processing */
+ static int
+@@ -227,7 +227,7 @@ static int
+ cbcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, opt, id, len, olen, delay;
diff --git a/package/ppp/patches/patch-pppd_ccp_c b/package/ppp/patches/patch-pppd_ccp_c
new file mode 100644
index 000000000..41db56039
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_ccp_c
@@ -0,0 +1,81 @@
+--- ppp-2.4.5.orig/pppd/ccp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/ccp.c 2014-03-17 16:13:13.000000000 +0100
+@@ -57,8 +57,8 @@ static const char rcsid[] = RCSID;
+ /*
+ * Command-line options.
+ */
+-static int setbsdcomp __P((char **));
+-static int setdeflate __P((char **));
++static int setbsdcomp (char **);
++static int setdeflate (char **);
+ static char bsd_value[8];
+ static char deflate_value[8];
+
+@@ -164,17 +164,17 @@ static option_t ccp_option_list[] = {
+ /*
+ * Protocol entry points from main code.
+ */
+-static void ccp_init __P((int unit));
+-static void ccp_open __P((int unit));
+-static void ccp_close __P((int unit, char *));
+-static void ccp_lowerup __P((int unit));
+-static void ccp_lowerdown __P((int));
+-static void ccp_input __P((int unit, u_char *pkt, int len));
+-static void ccp_protrej __P((int unit));
+-static int ccp_printpkt __P((u_char *pkt, int len,
++static void ccp_init (int unit);
++static void ccp_open (int unit);
++static void ccp_close (int unit, char *);
++static void ccp_lowerup (int unit);
++static void ccp_lowerdown (int);
++static void ccp_input (int unit, u_char *pkt, int len);
++static void ccp_protrej (int unit);
++static int ccp_printpkt (u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+- void *arg));
+-static void ccp_datainput __P((int unit, u_char *pkt, int len));
++ void *arg);
++static void ccp_datainput (int unit, u_char *pkt, int len);
+
+ struct protent ccp_protent = {
+ PPP_CCP,
+@@ -205,18 +205,18 @@ ccp_options ccp_hisoptions[NUM_PPP]; /*
+ /*
+ * Callbacks for fsm code.
+ */
+-static void ccp_resetci __P((fsm *));
+-static int ccp_cilen __P((fsm *));
+-static void ccp_addci __P((fsm *, u_char *, int *));
+-static int ccp_ackci __P((fsm *, u_char *, int));
+-static int ccp_nakci __P((fsm *, u_char *, int, int));
+-static int ccp_rejci __P((fsm *, u_char *, int));
+-static int ccp_reqci __P((fsm *, u_char *, int *, int));
+-static void ccp_up __P((fsm *));
+-static void ccp_down __P((fsm *));
+-static int ccp_extcode __P((fsm *, int, int, u_char *, int));
+-static void ccp_rack_timeout __P((void *));
+-static char *method_name __P((ccp_options *, ccp_options *));
++static void ccp_resetci (fsm *);
++static int ccp_cilen (fsm *);
++static void ccp_addci (fsm *, u_char *, int *);
++static int ccp_ackci (fsm *, u_char *, int);
++static int ccp_nakci (fsm *, u_char *, int, int);
++static int ccp_rejci (fsm *, u_char *, int);
++static int ccp_reqci (fsm *, u_char *, int *, int);
++static void ccp_up (fsm *);
++static void ccp_down (fsm *);
++static int ccp_extcode (fsm *, int, int, u_char *, int);
++static void ccp_rack_timeout (void *);
++static char *method_name (ccp_options *, ccp_options *);
+
+ static fsm_callbacks ccp_callbacks = {
+ ccp_resetci,
+@@ -1489,7 +1489,7 @@ static int
+ ccp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ u_char *p0, *optend;
diff --git a/package/ppp/patches/patch-pppd_chap-new_c b/package/ppp/patches/patch-pppd_chap-new_c
new file mode 100644
index 000000000..fec9acbed
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_chap-new_c
@@ -0,0 +1,20 @@
+--- ppp-2.4.5.orig/pppd/chap-new.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/chap-new.c 2014-03-17 16:13:14.000000000 +0100
+@@ -129,7 +129,7 @@ static void chap_handle_status(struct ch
+ static void chap_protrej(int unit);
+ static void chap_input(int unit, unsigned char *pkt, int pktlen);
+ static int chap_print_pkt(unsigned char *p, int plen,
+- void (*printer) __P((void *, char *, ...)), void *arg);
++ void (*printer) (void *, char *, ...), void *arg);
+
+ /* List of digest types that we know about */
+ static struct chap_digest_type *chap_digests;
+@@ -584,7 +584,7 @@ static char *chap_code_names[] = {
+
+ static int
+ chap_print_pkt(unsigned char *p, int plen,
+- void (*printer) __P((void *, char *, ...)), void *arg)
++ void (*printer) (void *, char *, ...), void *arg)
+ {
+ int code, id, len;
+ int clen, nlen;
diff --git a/package/ppp/patches/patch-pppd_chap_ms_c b/package/ppp/patches/patch-pppd_chap_ms_c
new file mode 100644
index 000000000..f04abf740
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_chap_ms_c
@@ -0,0 +1,36 @@
+--- ppp-2.4.5.orig/pppd/chap_ms.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/chap_ms.c 2014-03-17 16:13:15.000000000 +0100
+@@ -97,22 +97,22 @@
+ static const char rcsid[] = RCSID;
+
+
+-static void ascii2unicode __P((char[], int, u_char[]));
+-static void NTPasswordHash __P((u_char *, int, u_char[MD4_SIGNATURE_SIZE]));
+-static void ChallengeResponse __P((u_char *, u_char *, u_char[24]));
+-static void ChapMS_NT __P((u_char *, char *, int, u_char[24]));
+-static void ChapMS2_NT __P((u_char *, u_char[16], char *, char *, int,
+- u_char[24]));
++static void ascii2unicode (char[], int, u_char[]);
++static void NTPasswordHash (u_char *, int, u_char[MD4_SIGNATURE_SIZE]);
++static void ChallengeResponse (u_char *, u_char *, u_char[24]);
++static void ChapMS_NT (u_char *, char *, int, u_char[24]);
++static void ChapMS2_NT (u_char *, u_char[16], char *, char *, int,
++ u_char[24]);
+ static void GenerateAuthenticatorResponsePlain
+- __P((char*, int, u_char[24], u_char[16], u_char *,
+- char *, u_char[41]));
++ (char*, int, u_char[24], u_char[16], u_char *,
++ char *, u_char[41]);
+ #ifdef MSLANMAN
+-static void ChapMS_LANMan __P((u_char *, char *, int, u_char *));
++static void ChapMS_LANMan (u_char *, char *, int, u_char *);
+ #endif
+
+ #ifdef MPPE
+-static void Set_Start_Key __P((u_char *, char *, int));
+-static void SetMasterKeys __P((char *, int, u_char[24], int));
++static void Set_Start_Key (u_char *, char *, int);
++static void SetMasterKeys (char *, int, u_char[24], int);
+ #endif
+
+ #ifdef MSLANMAN
diff --git a/package/ppp/patches/patch-pppd_chap_ms_h b/package/ppp/patches/patch-pppd_chap_ms_h
new file mode 100644
index 000000000..8156d3d95
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_chap_ms_h
@@ -0,0 +1,24 @@
+--- ppp-2.4.5.orig/pppd/chap_ms.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/chap_ms.h 2014-03-17 16:13:14.000000000 +0100
+@@ -87,16 +87,16 @@ extern void set_mppe_enc_types(int, int)
+ #define MS_CHAP2_AUTHENTICATEE 0
+ #define MS_CHAP2_AUTHENTICATOR 1
+
+-void ChapMS __P((u_char *, char *, int, u_char *));
+-void ChapMS2 __P((u_char *, u_char *, char *, char *, int,
+- u_char *, u_char[MS_AUTH_RESPONSE_LENGTH+1], int));
++void ChapMS (u_char *, char *, int, u_char *);
++void ChapMS2 (u_char *, u_char *, char *, char *, int,
++ u_char *, u_char[MS_AUTH_RESPONSE_LENGTH+1], int);
+ #ifdef MPPE
+-void mppe_set_keys __P((u_char *, u_char[MD4_SIGNATURE_SIZE]));
++void mppe_set_keys (u_char *, u_char[MD4_SIGNATURE_SIZE]);
+ void mppe_set_keys2(u_char PasswordHashHash[MD4_SIGNATURE_SIZE],
+ u_char NTResponse[24], int IsServer);
+ #endif
+
+-void ChallengeHash __P((u_char[16], u_char *, char *, u_char[8]));
++void ChallengeHash (u_char[16], u_char *, char *, u_char[8]);
+
+ void GenerateAuthenticatorResponse(u_char PasswordHashHash[MD4_SIGNATURE_SIZE],
+ u_char NTResponse[24], u_char PeerChallenge[16],
diff --git a/package/ppp/patches/patch-pppd_demand_c b/package/ppp/patches/patch-pppd_demand_c
new file mode 100644
index 000000000..42cf70670
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_demand_c
@@ -0,0 +1,11 @@
+--- ppp-2.4.5.orig/pppd/demand.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/demand.c 2014-03-17 16:13:13.000000000 +0100
+@@ -70,7 +70,7 @@ struct packet {
+ struct packet *pend_q;
+ struct packet *pend_qtail;
+
+-static int active_packet __P((unsigned char *, int));
++static int active_packet (unsigned char *, int);
+
+ /*
+ * demand_conf - configure the interface for doing dial-on-demand.
diff --git a/package/ppp/patches/patch-pppd_eap_c b/package/ppp/patches/patch-pppd_eap_c
new file mode 100644
index 000000000..2a73f162f
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_eap_c
@@ -0,0 +1,41 @@
+--- ppp-2.4.5.orig/pppd/eap.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/eap.c 2014-03-17 16:13:15.000000000 +0100
+@@ -111,13 +111,13 @@ static option_t eap_option_list[] = {
+ /*
+ * Protocol entry points.
+ */
+-static void eap_init __P((int unit));
+-static void eap_input __P((int unit, u_char *inp, int inlen));
+-static void eap_protrej __P((int unit));
+-static void eap_lowerup __P((int unit));
+-static void eap_lowerdown __P((int unit));
+-static int eap_printpkt __P((u_char *inp, int inlen,
+- void (*)(void *arg, char *fmt, ...), void *arg));
++static void eap_init (int unit);
++static void eap_input (int unit, u_char *inp, int inlen);
++static void eap_protrej (int unit);
++static void eap_lowerup (int unit);
++static void eap_lowerdown (int unit);
++static int eap_printpkt (u_char *inp, int inlen,
++ void (*)(void *arg, char *fmt, ...), void *arg);
+
+ struct protent eap_protent = {
+ PPP_EAP, /* protocol number */
+@@ -178,7 +178,7 @@ static const u_char wkmodulus[] = {
+ };
+
+ /* Local forward declarations. */
+-static void eap_server_timeout __P((void *arg));
++static void eap_server_timeout (void *arg);
+
+ /*
+ * Convert EAP state code to printable string for debug.
+@@ -2144,7 +2144,7 @@ static int
+ eap_printpkt(inp, inlen, printer, arg)
+ u_char *inp;
+ int inlen;
+-void (*printer) __P((void *, char *, ...));
++void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, id, len, rtype, vallen;
diff --git a/package/ppp/patches/patch-pppd_eap_h b/package/ppp/patches/patch-pppd_eap_h
new file mode 100644
index 000000000..8df5ca09c
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_eap_h
@@ -0,0 +1,13 @@
+--- ppp-2.4.5.orig/pppd/eap.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/eap.h 2014-03-17 16:13:13.000000000 +0100
+@@ -145,8 +145,8 @@ typedef struct eap_state {
+
+ extern eap_state eap_states[];
+
+-void eap_authwithpeer __P((int unit, char *localname));
+-void eap_authpeer __P((int unit, char *localname));
++void eap_authwithpeer (int unit, char *localname);
++void eap_authpeer (int unit, char *localname);
+
+ extern struct protent eap_protent;
+
diff --git a/package/ppp/patches/patch-pppd_ecp_c b/package/ppp/patches/patch-pppd_ecp_c
new file mode 100644
index 000000000..42ed12934
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_ecp_c
@@ -0,0 +1,42 @@
+--- ppp-2.4.5.orig/pppd/ecp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/ecp.c 2014-03-17 16:13:14.000000000 +0100
+@@ -79,20 +79,20 @@ static option_t ecp_option_list[] = {
+ /*
+ * Protocol entry points from main code.
+ */
+-static void ecp_init __P((int unit));
++static void ecp_init (int unit);
+ /*
+-static void ecp_open __P((int unit));
+-static void ecp_close __P((int unit, char *));
+-static void ecp_lowerup __P((int unit));
+-static void ecp_lowerdown __P((int));
+-static void ecp_input __P((int unit, u_char *pkt, int len));
+-static void ecp_protrej __P((int unit));
++static void ecp_open (int unit);
++static void ecp_close (int unit, char *);
++static void ecp_lowerup (int unit);
++static void ecp_lowerdown (int);
++static void ecp_input (int unit, u_char *pkt, int len);
++static void ecp_protrej (int unit);
+ */
+-static int ecp_printpkt __P((u_char *pkt, int len,
++static int ecp_printpkt (u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+- void *arg));
++ void *arg);
+ /*
+-static void ecp_datainput __P((int unit, u_char *pkt, int len));
++static void ecp_datainput (int unit, u_char *pkt, int len);
+ */
+
+ struct protent ecp_protent = {
+@@ -165,7 +165,7 @@ static int
+ ecp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ return 0;
diff --git a/package/ppp/patches/patch-pppd_eui64_h b/package/ppp/patches/patch-pppd_eui64_h
new file mode 100644
index 000000000..ce593874b
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_eui64_h
@@ -0,0 +1,11 @@
+--- ppp-2.4.5.orig/pppd/eui64.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/eui64.h 2014-03-17 16:13:14.000000000 +0100
+@@ -108,7 +108,7 @@ typedef union
+ } while (0)
+ #define eui64_setlo32(e, l) eui64_set32(e, l)
+
+-char *eui64_ntoa __P((eui64_t)); /* Returns ascii representation of id */
++char *eui64_ntoa (eui64_t); /* Returns ascii representation of id */
+
+ #endif /* __EUI64_H__ */
+
diff --git a/package/ppp/patches/patch-pppd_fsm_c b/package/ppp/patches/patch-pppd_fsm_c
new file mode 100644
index 000000000..098d101ee
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_fsm_c
@@ -0,0 +1,25 @@
+--- ppp-2.4.5.orig/pppd/fsm.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/fsm.c 2014-03-17 16:13:14.000000000 +0100
+@@ -57,14 +57,14 @@
+
+ static const char rcsid[] = RCSID;
+
+-static void fsm_timeout __P((void *));
+-static void fsm_rconfreq __P((fsm *, int, u_char *, int));
+-static void fsm_rconfack __P((fsm *, int, u_char *, int));
+-static void fsm_rconfnakrej __P((fsm *, int, int, u_char *, int));
+-static void fsm_rtermreq __P((fsm *, int, u_char *, int));
+-static void fsm_rtermack __P((fsm *));
+-static void fsm_rcoderej __P((fsm *, u_char *, int));
+-static void fsm_sconfreq __P((fsm *, int));
++static void fsm_timeout (void *);
++static void fsm_rconfreq (fsm *, int, u_char *, int);
++static void fsm_rconfack (fsm *, int, u_char *, int);
++static void fsm_rconfnakrej (fsm *, int, int, u_char *, int);
++static void fsm_rtermreq (fsm *, int, u_char *, int);
++static void fsm_rtermack (fsm *);
++static void fsm_rcoderej (fsm *, u_char *, int);
++static void fsm_sconfreq (fsm *, int);
+
+ #define PROTO_NAME(f) ((f)->callbacks->proto_name)
+
diff --git a/package/ppp/patches/patch-pppd_fsm_h b/package/ppp/patches/patch-pppd_fsm_h
new file mode 100644
index 000000000..a0705c0c6
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_fsm_h
@@ -0,0 +1,73 @@
+--- ppp-2.4.5.orig/pppd/fsm.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/fsm.h 2014-03-17 16:13:14.000000000 +0100
+@@ -86,33 +86,33 @@ typedef struct fsm {
+
+ typedef struct fsm_callbacks {
+ void (*resetci) /* Reset our Configuration Information */
+- __P((fsm *));
++ (fsm *);
+ int (*cilen) /* Length of our Configuration Information */
+- __P((fsm *));
++ (fsm *);
+ void (*addci) /* Add our Configuration Information */
+- __P((fsm *, u_char *, int *));
++ (fsm *, u_char *, int *);
+ int (*ackci) /* ACK our Configuration Information */
+- __P((fsm *, u_char *, int));
++ (fsm *, u_char *, int);
+ int (*nakci) /* NAK our Configuration Information */
+- __P((fsm *, u_char *, int, int));
++ (fsm *, u_char *, int, int);
+ int (*rejci) /* Reject our Configuration Information */
+- __P((fsm *, u_char *, int));
++ (fsm *, u_char *, int);
+ int (*reqci) /* Request peer's Configuration Information */
+- __P((fsm *, u_char *, int *, int));
++ (fsm *, u_char *, int *, int);
+ void (*up) /* Called when fsm reaches OPENED state */
+- __P((fsm *));
++ (fsm *);
+ void (*down) /* Called when fsm leaves OPENED state */
+- __P((fsm *));
++ (fsm *);
+ void (*starting) /* Called when we want the lower layer */
+- __P((fsm *));
++ (fsm *);
+ void (*finished) /* Called when we don't want the lower layer */
+- __P((fsm *));
++ (fsm *);
+ void (*protreject) /* Called when Protocol-Reject received */
+- __P((int));
++ (int);
+ void (*retransmit) /* Retransmission is necessary */
+- __P((fsm *));
++ (fsm *);
+ int (*extcode) /* Called when unknown code received */
+- __P((fsm *, int, int, u_char *, int));
++ (fsm *, int, int, u_char *, int);
+ char *proto_name; /* String name for protocol (for messages) */
+ } fsm_callbacks;
+
+@@ -152,14 +152,14 @@ typedef struct fsm_callbacks {
+ /*
+ * Prototypes
+ */
+-void fsm_init __P((fsm *));
+-void fsm_lowerup __P((fsm *));
+-void fsm_lowerdown __P((fsm *));
+-void fsm_open __P((fsm *));
+-void fsm_close __P((fsm *, char *));
+-void fsm_input __P((fsm *, u_char *, int));
+-void fsm_protreject __P((fsm *));
+-void fsm_sdata __P((fsm *, int, int, u_char *, int));
++void fsm_init (fsm *);
++void fsm_lowerup (fsm *);
++void fsm_lowerdown (fsm *);
++void fsm_open (fsm *);
++void fsm_close (fsm *, char *);
++void fsm_input (fsm *, u_char *, int);
++void fsm_protreject (fsm *);
++void fsm_sdata (fsm *, int, int, u_char *, int);
+
+
+ /*
diff --git a/package/ppp/patches/patch-pppd_ipcp_c b/package/ppp/patches/patch-pppd_ipcp_c
new file mode 100644
index 000000000..e0b610948
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_ipcp_c
@@ -0,0 +1,129 @@
+--- ppp-2.4.5.orig/pppd/ipcp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/ipcp.c 2014-03-17 16:13:13.000000000 +0100
+@@ -75,13 +75,13 @@ bool disable_defaultip = 0; /* Don't use
+ bool noremoteip = 0; /* Let him have no IP address */
+
+ /* Hook for a plugin to know when IP protocol has come up */
+-void (*ip_up_hook) __P((void)) = NULL;
++void (*ip_up_hook) (void) = NULL;
+
+ /* Hook for a plugin to know when IP protocol has come down */
+-void (*ip_down_hook) __P((void)) = NULL;
++void (*ip_down_hook) (void) = NULL;
+
+ /* Hook for a plugin to choose the remote IP address */
+-void (*ip_choose_hook) __P((u_int32_t *)) = NULL;
++void (*ip_choose_hook) (u_int32_t *) = NULL;
+
+ /* Notifiers for when IPCP goes up and down */
+ struct notifier *ip_up_notifier = NULL;
+@@ -100,16 +100,16 @@ static char netmask_str[20]; /* string
+ /*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+-static void ipcp_resetci __P((fsm *)); /* Reset our CI */
+-static int ipcp_cilen __P((fsm *)); /* Return length of our CI */
+-static void ipcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
+-static int ipcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+-static int ipcp_nakci __P((fsm *, u_char *, int, int));/* Peer nak'd our CI */
+-static int ipcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+-static int ipcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
+-static void ipcp_up __P((fsm *)); /* We're UP */
+-static void ipcp_down __P((fsm *)); /* We're DOWN */
+-static void ipcp_finished __P((fsm *)); /* Don't need lower layer */
++static void ipcp_resetci (fsm *); /* Reset our CI */
++static int ipcp_cilen (fsm *); /* Return length of our CI */
++static void ipcp_addci (fsm *, u_char *, int *); /* Add our CI */
++static int ipcp_ackci (fsm *, u_char *, int); /* Peer ack'd our CI */
++static int ipcp_nakci (fsm *, u_char *, int, int);/* Peer nak'd our CI */
++static int ipcp_rejci (fsm *, u_char *, int); /* Peer rej'd our CI */
++static int ipcp_reqci (fsm *, u_char *, int *, int); /* Rcv CI */
++static void ipcp_up (fsm *); /* We're UP */
++static void ipcp_down (fsm *); /* We're DOWN */
++static void ipcp_finished (fsm *); /* Don't need lower layer */
+
+ fsm ipcp_fsm[NUM_PPP]; /* IPCP fsm structure */
+
+@@ -134,12 +134,12 @@ static fsm_callbacks ipcp_callbacks = {
+ /*
+ * Command-line options.
+ */
+-static int setvjslots __P((char **));
+-static int setdnsaddr __P((char **));
+-static int setwinsaddr __P((char **));
+-static int setnetmask __P((char **));
+-int setipaddr __P((char *, char **, int));
+-static void printipaddr __P((option_t *, void (*)(void *, char *,...),void *));
++static int setvjslots (char **);
++static int setdnsaddr (char **);
++static int setwinsaddr (char **);
++static int setnetmask (char **);
++int setipaddr (char *, char **, int);
++static void printipaddr (option_t *, void (*)(void *, char *,...),void *);
+
+ static option_t ipcp_option_list[] = {
+ { "noip", o_bool, &ipcp_protent.enabled_flag,
+@@ -237,19 +237,19 @@ static option_t ipcp_option_list[] = {
+ /*
+ * Protocol entry points from main code.
+ */
+-static void ipcp_init __P((int));
+-static void ipcp_open __P((int));
+-static void ipcp_close __P((int, char *));
+-static void ipcp_lowerup __P((int));
+-static void ipcp_lowerdown __P((int));
+-static void ipcp_input __P((int, u_char *, int));
+-static void ipcp_protrej __P((int));
+-static int ipcp_printpkt __P((u_char *, int,
+- void (*) __P((void *, char *, ...)), void *));
+-static void ip_check_options __P((void));
+-static int ip_demand_conf __P((int));
+-static int ip_active_pkt __P((u_char *, int));
+-static void create_resolv __P((u_int32_t, u_int32_t));
++static void ipcp_init (int);
++static void ipcp_open (int);
++static void ipcp_close (int, char *);
++static void ipcp_lowerup (int);
++static void ipcp_lowerdown (int);
++static void ipcp_input (int, u_char *, int);
++static void ipcp_protrej (int);
++static int ipcp_printpkt (u_char *, int,
++ void (*) __P((void *, char *, ...)), void *);
++static void ip_check_options (void);
++static int ip_demand_conf (int);
++static int ip_active_pkt (u_char *, int);
++static void create_resolv (u_int32_t, u_int32_t);
+
+ struct protent ipcp_protent = {
+ PPP_IPCP,
+@@ -271,9 +271,9 @@ struct protent ipcp_protent = {
+ ip_active_pkt
+ };
+
+-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
+-static void ipcp_script __P((char *, int)); /* Run an up/down script */
+-static void ipcp_script_done __P((void *));
++static void ipcp_clear_addrs (int, u_int32_t, u_int32_t);
++static void ipcp_script (char *, int); /* Run an up/down script */
++static void ipcp_script_done (void *);
+
+ /*
+ * Lengths of configuration options.
+@@ -482,7 +482,7 @@ setipaddr(arg, argv, doit)
+ static void
+ printipaddr(opt, printer, arg)
+ option_t *opt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ ipcp_options *wo = &ipcp_wantoptions[0];
+@@ -2126,7 +2126,7 @@ static int
+ ipcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, id, len, olen;
diff --git a/package/ppp/patches/patch-pppd_ipcp_h b/package/ppp/patches/patch-pppd_ipcp_h
new file mode 100644
index 000000000..76656d181
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_ipcp_h
@@ -0,0 +1,10 @@
+--- ppp-2.4.5.orig/pppd/ipcp.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/ipcp.h 2014-03-17 16:13:16.000000000 +0100
+@@ -91,6 +91,6 @@ extern ipcp_options ipcp_gotoptions[];
+ extern ipcp_options ipcp_allowoptions[];
+ extern ipcp_options ipcp_hisoptions[];
+
+-char *ip_ntoa __P((u_int32_t));
++char *ip_ntoa (u_int32_t);
+
+ extern struct protent ipcp_protent;
diff --git a/package/ppp/patches/patch-pppd_ipv6cp_c b/package/ppp/patches/patch-pppd_ipv6cp_c
index 1d4123776..0d63be37b 100644
--- a/package/ppp/patches/patch-pppd_ipv6cp_c
+++ b/package/ppp/patches/patch-pppd_ipv6cp_c
@@ -1,5 +1,5 @@
---- ppp-2.4.4.orig/pppd/ipv6cp.c 2005-08-26 01:59:34.000000000 +0200
-+++ ppp-2.4.4/pppd/ipv6cp.c 2009-12-18 09:06:00.333449663 +0100
+--- ppp-2.4.5.orig/pppd/ipv6cp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/ipv6cp.c 2014-03-17 16:13:14.000000000 +0100
@@ -151,6 +151,7 @@
*/
@@ -8,3 +8,105 @@
#include <string.h>
#include <unistd.h>
#include <netdb.h>
+@@ -182,16 +183,16 @@ static int ipv6cp_is_up;
+ /*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+-static void ipv6cp_resetci __P((fsm *)); /* Reset our CI */
+-static int ipv6cp_cilen __P((fsm *)); /* Return length of our CI */
+-static void ipv6cp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
+-static int ipv6cp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+-static int ipv6cp_nakci __P((fsm *, u_char *, int, int));/* Peer nak'd our CI */
+-static int ipv6cp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+-static int ipv6cp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
+-static void ipv6cp_up __P((fsm *)); /* We're UP */
+-static void ipv6cp_down __P((fsm *)); /* We're DOWN */
+-static void ipv6cp_finished __P((fsm *)); /* Don't need lower layer */
++static void ipv6cp_resetci (fsm *); /* Reset our CI */
++static int ipv6cp_cilen (fsm *); /* Return length of our CI */
++static void ipv6cp_addci (fsm *, u_char *, int *); /* Add our CI */
++static int ipv6cp_ackci (fsm *, u_char *, int); /* Peer ack'd our CI */
++static int ipv6cp_nakci (fsm *, u_char *, int, int);/* Peer nak'd our CI */
++static int ipv6cp_rejci (fsm *, u_char *, int); /* Peer rej'd our CI */
++static int ipv6cp_reqci (fsm *, u_char *, int *, int); /* Rcv CI */
++static void ipv6cp_up (fsm *); /* We're UP */
++static void ipv6cp_down (fsm *); /* We're DOWN */
++static void ipv6cp_finished (fsm *); /* Don't need lower layer */
+
+ fsm ipv6cp_fsm[NUM_PPP]; /* IPV6CP fsm structure */
+
+@@ -216,9 +217,9 @@ static fsm_callbacks ipv6cp_callbacks =
+ /*
+ * Command-line options.
+ */
+-static int setifaceid __P((char **arg));
+-static void printifaceid __P((option_t *,
+- void (*)(void *, char *, ...), void *));
++static int setifaceid (char **arg);
++static void printifaceid (option_t *,
++ void (*)(void *, char *, ...), void *);
+
+ static option_t ipv6cp_option_list[] = {
+ { "ipv6", o_special, (void *)setifaceid,
+@@ -259,18 +260,18 @@ static option_t ipv6cp_option_list[] = {
+ /*
+ * Protocol entry points from main code.
+ */
+-static void ipv6cp_init __P((int));
+-static void ipv6cp_open __P((int));
+-static void ipv6cp_close __P((int, char *));
+-static void ipv6cp_lowerup __P((int));
+-static void ipv6cp_lowerdown __P((int));
+-static void ipv6cp_input __P((int, u_char *, int));
+-static void ipv6cp_protrej __P((int));
+-static int ipv6cp_printpkt __P((u_char *, int,
+- void (*) __P((void *, char *, ...)), void *));
+-static void ipv6_check_options __P((void));
+-static int ipv6_demand_conf __P((int));
+-static int ipv6_active_pkt __P((u_char *, int));
++static void ipv6cp_init (int);
++static void ipv6cp_open (int);
++static void ipv6cp_close (int, char *);
++static void ipv6cp_lowerup (int);
++static void ipv6cp_lowerdown (int);
++static void ipv6cp_input (int, u_char *, int);
++static void ipv6cp_protrej (int);
++static int ipv6cp_printpkt (u_char *, int,
++ void (*) __P((void *, char *, ...)), void *);
++static void ipv6_check_options (void);
++static int ipv6_demand_conf (int);
++static int ipv6_active_pkt (u_char *, int);
+
+ struct protent ipv6cp_protent = {
+ PPP_IPV6CP,
+@@ -292,9 +293,9 @@ struct protent ipv6cp_protent = {
+ ipv6_active_pkt
+ };
+
+-static void ipv6cp_clear_addrs __P((int, eui64_t, eui64_t));
+-static void ipv6cp_script __P((char *));
+-static void ipv6cp_script_done __P((void *));
++static void ipv6cp_clear_addrs (int, eui64_t, eui64_t);
++static void ipv6cp_script (char *);
++static void ipv6cp_script_done (void *);
+
+ /*
+ * Lengths of configuration options.
+@@ -380,7 +381,7 @@ char *llv6_ntoa(eui64_t ifaceid);
+ static void
+ printifaceid(opt, printer, arg)
+ option_t *opt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ ipv6cp_options *wo = &ipv6cp_wantoptions[0];
+@@ -1435,7 +1436,7 @@ static int
+ ipv6cp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, id, len, olen;
diff --git a/package/ppp/patches/patch-pppd_ipxcp_c b/package/ppp/patches/patch-pppd_ipxcp_c
new file mode 100644
index 000000000..cf75a4c5b
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_ipxcp_c
@@ -0,0 +1,98 @@
+--- ppp-2.4.5.orig/pppd/ipxcp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/ipxcp.c 2014-03-17 16:13:13.000000000 +0100
+@@ -78,17 +78,17 @@ ipxcp_options ipxcp_hisoptions[NUM_PPP];
+ /*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+-static void ipxcp_resetci __P((fsm *)); /* Reset our CI */
+-static int ipxcp_cilen __P((fsm *)); /* Return length of our CI */
+-static void ipxcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
+-static int ipxcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+-static int ipxcp_nakci __P((fsm *, u_char *, int, int));/* Peer nak'd our CI */
+-static int ipxcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+-static int ipxcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
+-static void ipxcp_up __P((fsm *)); /* We're UP */
+-static void ipxcp_down __P((fsm *)); /* We're DOWN */
+-static void ipxcp_finished __P((fsm *)); /* Don't need lower layer */
+-static void ipxcp_script __P((fsm *, char *)); /* Run an up/down script */
++static void ipxcp_resetci (fsm *); /* Reset our CI */
++static int ipxcp_cilen (fsm *); /* Return length of our CI */
++static void ipxcp_addci (fsm *, u_char *, int *); /* Add our CI */
++static int ipxcp_ackci (fsm *, u_char *, int); /* Peer ack'd our CI */
++static int ipxcp_nakci (fsm *, u_char *, int, int);/* Peer nak'd our CI */
++static int ipxcp_rejci (fsm *, u_char *, int); /* Peer rej'd our CI */
++static int ipxcp_reqci (fsm *, u_char *, int *, int); /* Rcv CI */
++static void ipxcp_up (fsm *); /* We're UP */
++static void ipxcp_down (fsm *); /* We're DOWN */
++static void ipxcp_finished (fsm *); /* Don't need lower layer */
++static void ipxcp_script (fsm *, char *); /* Run an up/down script */
+
+ fsm ipxcp_fsm[NUM_PPP]; /* IPXCP fsm structure */
+
+@@ -113,10 +113,10 @@ static fsm_callbacks ipxcp_callbacks = {
+ /*
+ * Command-line options.
+ */
+-static int setipxnode __P((char **));
+-static void printipxnode __P((option_t *,
+- void (*)(void *, char *, ...), void *));
+-static int setipxname __P((char **));
++static int setipxnode (char **);
++static void printipxnode (option_t *,
++ void (*)(void *, char *, ...), void *);
++static int setipxname (char **);
+
+ static option_t ipxcp_option_list[] = {
+ { "ipx", o_bool, &ipxcp_protent.enabled_flag,
+@@ -170,15 +170,15 @@ static option_t ipxcp_option_list[] = {
+ * Protocol entry points.
+ */
+
+-static void ipxcp_init __P((int));
+-static void ipxcp_open __P((int));
+-static void ipxcp_close __P((int, char *));
+-static void ipxcp_lowerup __P((int));
+-static void ipxcp_lowerdown __P((int));
+-static void ipxcp_input __P((int, u_char *, int));
+-static void ipxcp_protrej __P((int));
+-static int ipxcp_printpkt __P((u_char *, int,
+- void (*) __P((void *, char *, ...)), void *));
++static void ipxcp_init (int);
++static void ipxcp_open (int);
++static void ipxcp_close (int, char *);
++static void ipxcp_lowerup (int);
++static void ipxcp_lowerdown (int);
++static void ipxcp_input (int, u_char *, int);
++static void ipxcp_protrej (int);
++static int ipxcp_printpkt (u_char *, int,
++ void (*) __P((void *, char *, ...)), void *);
+
+ struct protent ipxcp_protent = {
+ PPP_IPXCP,
+@@ -217,7 +217,7 @@ struct protent ipxcp_protent = {
+
+ static int ipxcp_is_up;
+
+-static char *ipx_ntoa __P((u_int32_t));
++static char *ipx_ntoa (u_int32_t);
+
+ /* Used in printing the node number */
+ #define NODE(base) base[0], base[1], base[2], base[3], base[4], base[5]
+@@ -323,7 +323,7 @@ setipxnode(argv)
+ static void
+ printipxnode(opt, printer, arg)
+ option_t *opt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ unsigned char *p;
+@@ -1473,7 +1473,7 @@ static int
+ ipxcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, id, len, olen;
diff --git a/package/ppp/patches/patch-pppd_lcp_c b/package/ppp/patches/patch-pppd_lcp_c
new file mode 100644
index 000000000..5d8971b94
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_lcp_c
@@ -0,0 +1,115 @@
+--- ppp-2.4.5.orig/pppd/lcp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/lcp.c 2014-03-17 16:13:13.000000000 +0100
+@@ -66,7 +66,7 @@ static const char rcsid[] = RCSID;
+ /* steal a bit in fsm flags word */
+ #define DELAYED_UP 0x100
+
+-static void lcp_delayed_up __P((void *));
++static void lcp_delayed_up (void *);
+
+ /*
+ * LCP-related command-line options.
+@@ -76,12 +76,12 @@ int lcp_echo_fails = 0; /* Tolerance to
+ bool lax_recv = 0; /* accept control chars in asyncmap */
+ bool noendpoint = 0; /* don't send/accept endpoint discriminator */
+
+-static int noopt __P((char **));
++static int noopt (char **);
+
+ #ifdef HAVE_MULTILINK
+-static int setendpoint __P((char **));
+-static void printendpoint __P((option_t *, void (*)(void *, char *, ...),
+- void *));
++static int setendpoint (char **);
++static void printendpoint (option_t *, void (*)(void *, char *, ...),
++ void *);
+ #endif /* HAVE_MULTILINK */
+
+ static option_t lcp_option_list[] = {
+@@ -202,31 +202,31 @@ static u_char nak_buffer[PPP_MRU]; /* wh
+ /*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+-static void lcp_resetci __P((fsm *)); /* Reset our CI */
+-static int lcp_cilen __P((fsm *)); /* Return length of our CI */
+-static void lcp_addci __P((fsm *, u_char *, int *)); /* Add our CI to pkt */
+-static int lcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+-static int lcp_nakci __P((fsm *, u_char *, int, int)); /* Peer nak'd our CI */
+-static int lcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+-static int lcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv peer CI */
+-static void lcp_up __P((fsm *)); /* We're UP */
+-static void lcp_down __P((fsm *)); /* We're DOWN */
+-static void lcp_starting __P((fsm *)); /* We need lower layer up */
+-static void lcp_finished __P((fsm *)); /* We need lower layer down */
+-static int lcp_extcode __P((fsm *, int, int, u_char *, int));
+-static void lcp_rprotrej __P((fsm *, u_char *, int));
++static void lcp_resetci (fsm *); /* Reset our CI */
++static int lcp_cilen (fsm *); /* Return length of our CI */
++static void lcp_addci (fsm *, u_char *, int *); /* Add our CI to pkt */
++static int lcp_ackci (fsm *, u_char *, int); /* Peer ack'd our CI */
++static int lcp_nakci (fsm *, u_char *, int, int); /* Peer nak'd our CI */
++static int lcp_rejci (fsm *, u_char *, int); /* Peer rej'd our CI */
++static int lcp_reqci (fsm *, u_char *, int *, int); /* Rcv peer CI */
++static void lcp_up (fsm *); /* We're UP */
++static void lcp_down (fsm *); /* We're DOWN */
++static void lcp_starting (fsm *); /* We need lower layer up */
++static void lcp_finished (fsm *); /* We need lower layer down */
++static int lcp_extcode (fsm *, int, int, u_char *, int);
++static void lcp_rprotrej (fsm *, u_char *, int);
+
+ /*
+ * routines to send LCP echos to peer
+ */
+
+-static void lcp_echo_lowerup __P((int));
+-static void lcp_echo_lowerdown __P((int));
+-static void LcpEchoTimeout __P((void *));
+-static void lcp_received_echo_reply __P((fsm *, int, u_char *, int));
+-static void LcpSendEchoRequest __P((fsm *));
+-static void LcpLinkFailure __P((fsm *));
+-static void LcpEchoCheck __P((fsm *));
++static void lcp_echo_lowerup (int);
++static void lcp_echo_lowerdown (int);
++static void LcpEchoTimeout (void *);
++static void lcp_received_echo_reply (fsm *, int, u_char *, int);
++static void LcpSendEchoRequest (fsm *);
++static void LcpLinkFailure (fsm *);
++static void LcpEchoCheck (fsm *);
+
+ static fsm_callbacks lcp_callbacks = { /* LCP callback routines */
+ lcp_resetci, /* Reset our Configuration Information */
+@@ -251,11 +251,11 @@ static fsm_callbacks lcp_callbacks = { /
+ * Some of these are called directly.
+ */
+
+-static void lcp_init __P((int));
+-static void lcp_input __P((int, u_char *, int));
+-static void lcp_protrej __P((int));
+-static int lcp_printpkt __P((u_char *, int,
+- void (*) __P((void *, char *, ...)), void *));
++static void lcp_init (int);
++static void lcp_input (int, u_char *, int);
++static void lcp_protrej (int);
++static int lcp_printpkt (u_char *, int,
++ void (*) __P((void *, char *, ...)), void *);
+
+ struct protent lcp_protent = {
+ PPP_LCP,
+@@ -322,7 +322,7 @@ setendpoint(argv)
+ static void
+ printendpoint(opt, printer, arg)
+ option_t *opt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ printer(arg, "%s", epdisc_to_str(&lcp_wantoptions[0].endpoint));
+@@ -1985,7 +1985,7 @@ static int
+ lcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, id, len, olen, i;
diff --git a/package/ppp/patches/patch-pppd_lcp_h b/package/ppp/patches/patch-pppd_lcp_h
new file mode 100644
index 000000000..379df37a5
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_lcp_h
@@ -0,0 +1,19 @@
+--- ppp-2.4.5.orig/pppd/lcp.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/lcp.h 2014-03-17 16:13:16.000000000 +0100
+@@ -122,11 +122,11 @@ extern lcp_options lcp_hisoptions[];
+ #define MINMRU 128 /* No MRUs below this */
+ #define MAXMRU 16384 /* Normally limit MRU to this */
+
+-void lcp_open __P((int));
+-void lcp_close __P((int, char *));
+-void lcp_lowerup __P((int));
+-void lcp_lowerdown __P((int));
+-void lcp_sprotrej __P((int, u_char *, int)); /* send protocol reject */
++void lcp_open (int);
++void lcp_close (int, char *);
++void lcp_lowerup (int);
++void lcp_lowerdown (int);
++void lcp_sprotrej (int, u_char *, int); /* send protocol reject */
+
+ extern struct protent lcp_protent;
+
diff --git a/package/ppp/patches/patch-pppd_magic_c b/package/ppp/patches/patch-pppd_magic_c
new file mode 100644
index 000000000..073619eac
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_magic_c
@@ -0,0 +1,13 @@
+--- ppp-2.4.5.orig/pppd/magic.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/magic.c 2014-03-17 16:13:14.000000000 +0100
+@@ -53,8 +53,8 @@
+
+ static const char rcsid[] = RCSID;
+
+-extern long mrand48 __P((void));
+-extern void srand48 __P((long));
++extern long mrand48 (void);
++extern void srand48 (long);
+
+ /*
+ * magic_init - Initialize the magic number generator.
diff --git a/package/ppp/patches/patch-pppd_magic_h b/package/ppp/patches/patch-pppd_magic_h
new file mode 100644
index 000000000..af4ea88df
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_magic_h
@@ -0,0 +1,14 @@
+--- ppp-2.4.5.orig/pppd/magic.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/magic.h 2014-03-17 16:13:14.000000000 +0100
+@@ -42,8 +42,8 @@
+ * $Id: magic.h,v 1.5 2003/06/11 23:56:26 paulus Exp $
+ */
+
+-void magic_init __P((void)); /* Initialize the magic number generator */
+-u_int32_t magic __P((void)); /* Returns the next magic number */
++void magic_init (void); /* Initialize the magic number generator */
++u_int32_t magic (void); /* Returns the next magic number */
+
+ /* Fill buffer with random bytes */
+-void random_bytes __P((unsigned char *buf, int len));
++void random_bytes (unsigned char *buf, int len);
diff --git a/package/ppp/patches/patch-pppd_main_c b/package/ppp/patches/patch-pppd_main_c
index 630420deb..adc00acd1 100644
--- a/package/ppp/patches/patch-pppd_main_c
+++ b/package/ppp/patches/patch-pppd_main_c
@@ -1,5 +1,5 @@
--- ppp-2.4.5.orig/pppd/main.c 2009-11-16 23:26:07.000000000 +0100
-+++ ppp-2.4.5/pppd/main.c 2011-01-16 15:51:05.000000000 +0100
++++ ppp-2.4.5/pppd/main.c 2014-03-17 16:13:13.000000000 +0100
@@ -90,6 +90,7 @@
#include <sys/socket.h>
#include <netinet/in.h>
@@ -8,14 +8,97 @@
#include "pppd.h"
#include "magic.h"
-@@ -228,6 +229,7 @@ static struct subprocess *children;
+@@ -159,10 +160,10 @@ TDB_CONTEXT *pppdb; /* database for sto
+
+ char db_key[32];
+
+-int (*holdoff_hook) __P((void)) = NULL;
+-int (*new_phase_hook) __P((int)) = NULL;
+-void (*snoop_recv_hook) __P((unsigned char *p, int len)) = NULL;
+-void (*snoop_send_hook) __P((unsigned char *p, int len)) = NULL;
++int (*holdoff_hook) (void) = NULL;
++int (*new_phase_hook) (int) = NULL;
++void (*snoop_recv_hook) (unsigned char *p, int len) = NULL;
++void (*snoop_send_hook) (unsigned char *p, int len) = NULL;
+
+ static int conn_running; /* we have a [dis]connector running */
+ static int fd_loop; /* fd for getting demand-dial packets */
+@@ -218,7 +219,7 @@ bool bundle_terminating;
+ struct subprocess {
+ pid_t pid;
+ char *prog;
+- void (*done) __P((void *));
++ void (*done) (void *);
+ void *arg;
+ int killable;
+ struct subprocess *next;
+@@ -228,38 +229,39 @@ static struct subprocess *children;
/* Prototypes for procedures local to this file. */
+-static void setup_signals __P((void));
+-static void create_pidfile __P((int pid));
+-static void create_linkpidfile __P((int pid));
+-static void cleanup __P((void));
+-static void get_input __P((void));
+-static void calltimeout __P((void));
+-static struct timeval *timeleft __P((struct timeval *));
+-static void kill_my_pg __P((int));
+-static void hup __P((int));
+-static void term __P((int));
+-static void chld __P((int));
+-static void toggle_debug __P((int));
+-static void open_ccp __P((int));
+-static void bad_signal __P((int));
+-static void holdoff_end __P((void *));
+-static void forget_child __P((int pid, int status));
+-static int reap_kids __P((void));
+-static void childwait_end __P((void *));
+static void check_time(void);
- static void setup_signals __P((void));
- static void create_pidfile __P((int pid));
- static void create_linkpidfile __P((int pid));
++static void setup_signals (void);
++static void create_pidfile (int pid);
++static void create_linkpidfile (int pid);
++static void cleanup (void);
++static void get_input (void);
++static void calltimeout (void);
++static struct timeval *timeleft (struct timeval *);
++static void kill_my_pg (int);
++static void hup (int);
++static void term (int);
++static void chld (int);
++static void toggle_debug (int);
++static void open_ccp (int);
++static void bad_signal (int);
++static void holdoff_end (void *);
++static void forget_child (int pid, int status);
++static int reap_kids (void);
++static void childwait_end (void *);
+
+ #ifdef USE_TDB
+-static void update_db_entry __P((void));
+-static void add_db_key __P((const char *));
+-static void delete_db_key __P((const char *));
+-static void cleanup_db __P((void));
++static void update_db_entry (void);
++static void add_db_key (const char *);
++static void delete_db_key (const char *);
++static void cleanup_db (void);
+ #endif
+
+-static void handle_events __P((void));
+-void print_link_stats __P((void));
++static void handle_events (void);
++void print_link_stats (void);
+
+-extern char *ttyname __P((int));
+-extern char *getlogin __P((void));
+-int main __P((int, char *[]));
++extern char *ttyname (int);
++extern char *getlogin (void);
++int main (int, char *[]);
+
+ #ifdef ultrix
+ #undef O_NONBLOCK
@@ -530,6 +532,7 @@ main(argc, argv)
info("Starting link");
}
@@ -24,7 +107,14 @@
gettimeofday(&start_time, NULL);
script_unsetenv("CONNECT_TIME");
script_unsetenv("BYTES_SENT");
-@@ -1263,6 +1266,36 @@ struct callout {
+@@ -1257,19 +1260,49 @@ update_link_stats(u)
+ struct callout {
+ struct timeval c_time; /* time at which to call routine */
+ void *c_arg; /* argument to routine */
+- void (*c_func) __P((void *)); /* routine */
++ void (*c_func) (void *); /* routine */
+ struct callout *c_next;
+ };
static struct callout *callout = NULL; /* Callout list */
static struct timeval timenow; /* Current time */
@@ -61,6 +151,23 @@
/*
* timeout - Schedule a timeout.
+ */
+ void
+ timeout(func, arg, secs, usecs)
+- void (*func) __P((void *));
++ void (*func) (void *);
+ void *arg;
+ int secs, usecs;
+ {
+@@ -1308,7 +1341,7 @@ timeout(func, arg, secs, usecs)
+ */
+ void
+ untimeout(func, arg)
+- void (*func) __P((void *));
++ void (*func) (void *);
+ void *arg;
+ {
+ struct callout **copp, *freep;
@@ -1333,6 +1366,8 @@ calltimeout()
{
struct callout *p;
@@ -79,3 +186,21 @@
gettimeofday(&timenow, NULL);
tvp->tv_sec = callout->c_time.tv_sec - timenow.tv_sec;
+@@ -1692,7 +1729,7 @@ run_program(prog, args, must_exist, done
+ char *prog;
+ char **args;
+ int must_exist;
+- void (*done) __P((void *));
++ void (*done) (void *);
+ void *arg;
+ int wait;
+ {
+@@ -1767,7 +1804,7 @@ void
+ record_child(pid, prog, done, arg, killable)
+ int pid;
+ char *prog;
+- void (*done) __P((void *));
++ void (*done) (void *);
+ void *arg;
+ int killable;
+ {
diff --git a/package/ppp/patches/patch-pppd_md4_h b/package/ppp/patches/patch-pppd_md4_h
new file mode 100644
index 000000000..95eb0bb46
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_md4_h
@@ -0,0 +1,36 @@
+--- ppp-2.4.5.orig/pppd/md4.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/md4.h 2014-03-17 16:13:13.000000000 +0100
+@@ -29,7 +29,7 @@ typedef struct {
+ ** Initialize the MD4_CTX prepatory to doing a message digest
+ ** computation.
+ */
+-extern void MD4Init __P((MD4_CTX *MD));
++extern void MD4Init (MD4_CTX *MD);
+
+ /* MD4Update(MD,X,count)
+ ** Input: X -- a pointer to an array of unsigned characters.
+@@ -43,7 +43,7 @@ extern void MD4Init __P((MD4_CTX *MD));
+ ** every MD computation should end with one call to MD4Update with a
+ ** count less than 512. Zero is OK for a count.
+ */
+-extern void MD4Update __P((MD4_CTX *MD, unsigned char *X, unsigned int count));
++extern void MD4Update (MD4_CTX *MD, unsigned char *X, unsigned int count);
+
+ /* MD4Print(MD)
+ ** Prints message digest buffer MD as 32 hexadecimal digits.
+@@ -51,13 +51,13 @@ extern void MD4Update __P((MD4_CTX *MD,
+ ** of buffer[3].
+ ** Each byte is printed with high-order hexadecimal digit first.
+ */
+-extern void MD4Print __P((MD4_CTX *));
++extern void MD4Print (MD4_CTX *);
+
+ /* MD4Final(buf, MD)
+ ** Returns message digest from MD and terminates the message
+ ** digest computation.
+ */
+-extern void MD4Final __P((unsigned char *, MD4_CTX *));
++extern void MD4Final (unsigned char *, MD4_CTX *);
+
+ /*
+ ** End of md4.h
diff --git a/package/ppp/patches/patch-pppd_multilink_c b/package/ppp/patches/patch-pppd_multilink_c
new file mode 100644
index 000000000..511a80cae
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_multilink_c
@@ -0,0 +1,22 @@
+--- ppp-2.4.5.orig/pppd/multilink.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/multilink.c 2014-03-17 16:13:15.000000000 +0100
+@@ -50,13 +50,13 @@ bool multilink_master; /* we own the mu
+ extern TDB_CONTEXT *pppdb;
+ extern char db_key[];
+
+-static void make_bundle_links __P((int append));
+-static void remove_bundle_link __P((void));
+-static void iterate_bundle_links __P((void (*func) __P((char *))));
++static void make_bundle_links (int append);
++static void remove_bundle_link (void);
++static void iterate_bundle_links (void (*func) __P((char *)));
+
+-static int get_default_epdisc __P((struct epdisc *));
+-static int parse_num __P((char *str, const char *key, int *valp));
+-static int owns_unit __P((TDB_DATA pid, int unit));
++static int get_default_epdisc (struct epdisc *);
++static int parse_num (char *str, const char *key, int *valp);
++static int owns_unit (TDB_DATA pid, int unit);
+
+ #define set_ip_epdisc(ep, addr) do { \
+ ep->length = 4; \
diff --git a/package/ppp/patches/patch-pppd_options_c b/package/ppp/patches/patch-pppd_options_c
new file mode 100644
index 000000000..d23d1291d
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_options_c
@@ -0,0 +1,155 @@
+--- ppp-2.4.5.orig/pppd/options.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/options.c 2014-03-17 16:13:14.000000000 +0100
+@@ -76,7 +76,7 @@
+ #include "pathnames.h"
+
+ #if defined(ultrix) || defined(NeXT)
+-char *strdup __P((char *));
++char *strdup (char *);
+ #endif
+
+ static const char rcsid[] = RCSID;
+@@ -147,30 +147,30 @@ static char logfile_name[MAXPATHLEN]; /*
+ /*
+ * Prototypes
+ */
+-static int setdomain __P((char **));
+-static int readfile __P((char **));
+-static int callfile __P((char **));
+-static int showversion __P((char **));
+-static int showhelp __P((char **));
+-static void usage __P((void));
+-static int setlogfile __P((char **));
++static int setdomain (char **);
++static int readfile (char **);
++static int callfile (char **);
++static int showversion (char **);
++static int showhelp (char **);
++static void usage (void);
++static int setlogfile (char **);
+ #ifdef PLUGIN
+-static int loadplugin __P((char **));
++static int loadplugin (char **);
+ #endif
+
+ #ifdef PPP_FILTER
+-static int setpassfilter __P((char **));
+-static int setactivefilter __P((char **));
++static int setpassfilter (char **);
++static int setactivefilter (char **);
+ #endif
+
+ #ifdef MAXOCTETS
+-static int setmodir __P((char **));
++static int setmodir (char **);
+ #endif
+
+-static option_t *find_option __P((const char *name));
+-static int process_option __P((option_t *, char *, char **));
+-static int n_arguments __P((option_t *));
+-static int number_option __P((char *, u_int32_t *, int));
++static option_t *find_option (const char *name);
++static int process_option (option_t *, char *, char **);
++static int n_arguments (option_t *);
++static int number_option (char *, u_int32_t *, int);
+
+ /*
+ * Structure to store extra lists of options.
+@@ -577,13 +577,13 @@ match_option(name, opt, dowild)
+ option_t *opt;
+ int dowild;
+ {
+- int (*match) __P((char *, char **, int));
++ int (*match) (char *, char **, int);
+
+ if (dowild != (opt->type == o_wild))
+ return 0;
+ if (!dowild)
+ return strcmp(name, opt->name) == 0;
+- match = (int (*) __P((char *, char **, int))) opt->addr;
++ match = (int (*) (char *, char **, int)) opt->addr;
+ return (*match)(name, NULL, 0);
+ }
+
+@@ -635,8 +635,8 @@ process_option(opt, cmd, argv)
+ u_int32_t v;
+ int iv, a;
+ char *sv;
+- int (*parser) __P((char **));
+- int (*wildp) __P((char *, char **, int));
++ int (*parser) (char **);
++ int (*wildp) (char *, char **, int);
+ char *optopt = (opt->type == o_wild)? "": " option";
+ int prio = option_priority;
+ option_t *mainopt = opt;
+@@ -767,7 +767,7 @@ process_option(opt, cmd, argv)
+
+ case o_special_noarg:
+ case o_special:
+- parser = (int (*) __P((char **))) opt->addr;
++ parser = (int (*) (char **)) opt->addr;
+ if (!(*parser)(argv))
+ return 0;
+ if (opt->flags & OPT_A2LIST) {
+@@ -790,7 +790,7 @@ process_option(opt, cmd, argv)
+ break;
+
+ case o_wild:
+- wildp = (int (*) __P((char *, char **, int))) opt->addr;
++ wildp = (int (*) (char *, char **, int)) opt->addr;
+ if (!(*wildp)(cmd, argv, 1))
+ return 0;
+ break;
+@@ -881,7 +881,7 @@ check_options()
+ static void
+ print_option(opt, mainopt, printer, arg)
+ option_t *opt, *mainopt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int i, v;
+@@ -944,12 +944,12 @@ print_option(opt, mainopt, printer, arg)
+ printer(arg, " ");
+ }
+ if (opt->flags & OPT_A2PRINTER) {
+- void (*oprt) __P((option_t *,
++ void (*oprt) (option_t *,
+ void ((*)__P((void *, char *, ...))),
+- void *));
+- oprt = (void (*) __P((option_t *,
++ void *);
++ oprt = (void (*) (option_t *,
+ void ((*)__P((void *, char *, ...))),
+- void *)))opt->addr2;
++ void *))opt->addr2;
+ (*oprt)(opt, printer, arg);
+ } else if (opt->flags & OPT_A2STRVAL) {
+ p = (char *) opt->addr2;
+@@ -986,7 +986,7 @@ print_option(opt, mainopt, printer, arg)
+ static void
+ print_option_list(opt, printer, arg)
+ option_t *opt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ while (opt->name != NULL) {
+@@ -1004,7 +1004,7 @@ print_option_list(opt, printer, arg)
+ */
+ void
+ print_options(printer, arg)
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ struct option_list *list;
+@@ -1576,7 +1576,7 @@ loadplugin(argv)
+ char *arg = *argv;
+ void *handle;
+ const char *err;
+- void (*init) __P((void));
++ void (*init) (void);
+ char *path = arg;
+ const char *vers;
+
diff --git a/package/ppp/patches/patch-pppd_plugins_radius_radiusclient_h b/package/ppp/patches/patch-pppd_plugins_radius_radiusclient_h
new file mode 100644
index 000000000..6c6d1582c
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_plugins_radius_radiusclient_h
@@ -0,0 +1,121 @@
+--- ppp-2.4.5.orig/pppd/plugins/radius/radiusclient.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/plugins/radius/radiusclient.h 2014-03-17 16:13:11.000000000 +0100
+@@ -382,74 +382,74 @@ typedef struct env
+
+ /* avpair.c */
+
+-VALUE_PAIR *rc_avpair_add __P((VALUE_PAIR **, int, void *, int, int));
+-int rc_avpair_assign __P((VALUE_PAIR *, void *, int));
+-VALUE_PAIR *rc_avpair_new __P((int, void *, int, int));
+-VALUE_PAIR *rc_avpair_gen __P((AUTH_HDR *));
+-VALUE_PAIR *rc_avpair_get __P((VALUE_PAIR *, UINT4));
+-VALUE_PAIR *rc_avpair_copy __P((VALUE_PAIR *));
+-void rc_avpair_insert __P((VALUE_PAIR **, VALUE_PAIR *, VALUE_PAIR *));
+-void rc_avpair_free __P((VALUE_PAIR *));
+-int rc_avpair_parse __P((char *, VALUE_PAIR **));
+-int rc_avpair_tostr __P((VALUE_PAIR *, char *, int, char *, int));
+-VALUE_PAIR *rc_avpair_readin __P((FILE *));
++VALUE_PAIR *rc_avpair_add (VALUE_PAIR **, int, void *, int, int);
++int rc_avpair_assign (VALUE_PAIR *, void *, int);
++VALUE_PAIR *rc_avpair_new (int, void *, int, int);
++VALUE_PAIR *rc_avpair_gen (AUTH_HDR *);
++VALUE_PAIR *rc_avpair_get (VALUE_PAIR *, UINT4);
++VALUE_PAIR *rc_avpair_copy (VALUE_PAIR *);
++void rc_avpair_insert (VALUE_PAIR **, VALUE_PAIR *, VALUE_PAIR *);
++void rc_avpair_free (VALUE_PAIR *);
++int rc_avpair_parse (char *, VALUE_PAIR **);
++int rc_avpair_tostr (VALUE_PAIR *, char *, int, char *, int);
++VALUE_PAIR *rc_avpair_readin (FILE *);
+
+ /* buildreq.c */
+
+-void rc_buildreq __P((SEND_DATA *, int, char *, unsigned short, int, int));
+-unsigned char rc_get_seqnbr __P((void));
+-int rc_auth __P((UINT4, VALUE_PAIR *, VALUE_PAIR **, char *, REQUEST_INFO *));
+-int rc_auth_using_server __P((SERVER *, UINT4, VALUE_PAIR *, VALUE_PAIR **,
+- char *, REQUEST_INFO *));
+-int rc_auth_proxy __P((VALUE_PAIR *, VALUE_PAIR **, char *));
+-int rc_acct __P((UINT4, VALUE_PAIR *));
+-int rc_acct_using_server __P((SERVER *, UINT4, VALUE_PAIR *));
+-int rc_acct_proxy __P((VALUE_PAIR *));
+-int rc_check __P((char *, unsigned short, char *));
++void rc_buildreq (SEND_DATA *, int, char *, unsigned short, int, int);
++unsigned char rc_get_seqnbr (void);
++int rc_auth (UINT4, VALUE_PAIR *, VALUE_PAIR **, char *, REQUEST_INFO *);
++int rc_auth_using_server (SERVER *, UINT4, VALUE_PAIR *, VALUE_PAIR **,
++ char *, REQUEST_INFO *);
++int rc_auth_proxy (VALUE_PAIR *, VALUE_PAIR **, char *);
++int rc_acct (UINT4, VALUE_PAIR *);
++int rc_acct_using_server (SERVER *, UINT4, VALUE_PAIR *);
++int rc_acct_proxy (VALUE_PAIR *);
++int rc_check (char *, unsigned short, char *);
+
+ /* clientid.c */
+
+-int rc_read_mapfile __P((char *));
+-UINT4 rc_map2id __P((char *));
++int rc_read_mapfile (char *);
++UINT4 rc_map2id (char *);
+
+ /* config.c */
+
+-int rc_read_config __P((char *));
+-char *rc_conf_str __P((char *));
+-int rc_conf_int __P((char *));
+-SERVER *rc_conf_srv __P((char *));
+-int rc_find_server __P((char *, UINT4 *, char *));
++int rc_read_config (char *);
++char *rc_conf_str (char *);
++int rc_conf_int (char *);
++SERVER *rc_conf_srv (char *);
++int rc_find_server (char *, UINT4 *, char *);
+
+ /* dict.c */
+
+-int rc_read_dictionary __P((char *));
+-DICT_ATTR *rc_dict_getattr __P((int, int));
+-DICT_ATTR *rc_dict_findattr __P((char *));
+-DICT_VALUE *rc_dict_findval __P((char *));
+-DICT_VALUE * rc_dict_getval __P((UINT4, char *));
+-VENDOR_DICT * rc_dict_findvendor __P((char *));
+-VENDOR_DICT * rc_dict_getvendor __P((int));
++int rc_read_dictionary (char *);
++DICT_ATTR *rc_dict_getattr (int, int);
++DICT_ATTR *rc_dict_findattr (char *);
++DICT_VALUE *rc_dict_findval (char *);
++DICT_VALUE * rc_dict_getval (UINT4, char *);
++VENDOR_DICT * rc_dict_findvendor (char *);
++VENDOR_DICT * rc_dict_getvendor (int);
+
+ /* ip_util.c */
+
+-UINT4 rc_get_ipaddr __P((char *));
+-int rc_good_ipaddr __P((char *));
+-const char *rc_ip_hostname __P((UINT4));
+-UINT4 rc_own_ipaddress __P((void));
++UINT4 rc_get_ipaddr (char *);
++int rc_good_ipaddr (char *);
++const char *rc_ip_hostname (UINT4);
++UINT4 rc_own_ipaddress (void);
+
+
+ /* sendserver.c */
+
+-int rc_send_server __P((SEND_DATA *, char *, REQUEST_INFO *));
++int rc_send_server (SEND_DATA *, char *, REQUEST_INFO *);
+
+ /* util.c */
+
+-void rc_str2tm __P((char *, struct tm *));
+-char *rc_mksid __P((void));
+-void rc_mdelay __P((int));
++void rc_str2tm (char *, struct tm *);
++char *rc_mksid (void);
++void rc_mdelay (int);
+
+ /* md5.c */
+
+-void rc_md5_calc __P((unsigned char *, unsigned char *, unsigned int));
++void rc_md5_calc (unsigned char *, unsigned char *, unsigned int);
+
+ #endif /* RADIUSCLIENT_H */
diff --git a/package/ppp/patches/patch-pppd_plugins_rp-pppoe_if_c b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_if_c
new file mode 100644
index 000000000..462b24613
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_if_c
@@ -0,0 +1,13 @@
+--- ppp-2.4.5.orig/pppd/plugins/rp-pppoe/if.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/plugins/rp-pppoe/if.c 2014-03-17 16:32:55.000000000 +0100
+@@ -30,10 +30,6 @@ static char const RCSID[] =
+ #include <linux/if_packet.h>
+ #endif
+
+-#ifdef HAVE_NET_ETHERNET_H
+-#include <net/ethernet.h>
+-#endif
+-
+ #ifdef HAVE_ASM_TYPES_H
+ #include <asm/types.h>
+ #endif
diff --git a/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c
new file mode 100644
index 000000000..9a2b922b2
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_plugin_c
@@ -0,0 +1,10 @@
+--- ppp-2.4.5.orig/pppd/plugins/rp-pppoe/plugin.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/plugins/rp-pppoe/plugin.c 2014-03-17 16:32:55.000000000 +0100
+@@ -46,7 +46,6 @@ static char const RCSID[] =
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <signal.h>
+-#include <net/ethernet.h>
+ #include <net/if_arp.h>
+ #include <linux/ppp_defs.h>
+ #include <linux/if_ppp.h>
diff --git a/package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe-discovery_c b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe-discovery_c
new file mode 100644
index 000000000..6b79ad968
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe-discovery_c
@@ -0,0 +1,22 @@
+--- ppp-2.4.5.orig/pppd/plugins/rp-pppoe/pppoe-discovery.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/plugins/rp-pppoe/pppoe-discovery.c 2014-03-17 16:32:55.000000000 +0100
+@@ -27,10 +27,6 @@
+ #include <linux/if_packet.h>
+ #endif
+
+-#ifdef HAVE_NET_ETHERNET_H
+-#include <net/ethernet.h>
+-#endif
+-
+ #ifdef HAVE_ASM_TYPES_H
+ #include <asm/types.h>
+ #endif
+@@ -55,6 +51,8 @@ void die(int status)
+ exit(status);
+ }
+
++#define error(x...) fprintf(stderr, x)
++
+ /* Initialize frame types to RFC 2516 values. Some broken peers apparently
+ use different frame types... sigh... */
+
diff --git a/package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe_h b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe_h
new file mode 100644
index 000000000..9597ff314
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_plugins_rp-pppoe_pppoe_h
@@ -0,0 +1,29 @@
+--- ppp-2.4.5.orig/pppd/plugins/rp-pppoe/pppoe.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/plugins/rp-pppoe/pppoe.h 2014-03-17 16:32:55.000000000 +0100
+@@ -40,7 +40,6 @@
+ #endif
+
+ #ifdef HAVE_SYS_CDEFS_H
+-#include <sys/cdefs.h>
+ #endif
+
+ #ifdef HAVE_SYS_SOCKET_H
+@@ -86,18 +85,6 @@ typedef unsigned long UINT32_t;
+
+ #include <netinet/in.h>
+
+-#ifdef HAVE_NETINET_IF_ETHER_H
+-#include <sys/types.h>
+-
+-#ifdef HAVE_SYS_SOCKET_H
+-#include <sys/socket.h>
+-#endif
+-#ifndef HAVE_SYS_DLPI_H
+-#include <netinet/if_ether.h>
+-#endif
+-#endif
+-
+-
+
+ /* Ethernet frame types according to RFC 2516 */
+ #define ETH_PPPOE_DISCOVERY 0x8863
diff --git a/package/ppp/patches/patch-pppd_pppcrypt_h b/package/ppp/patches/patch-pppd_pppcrypt_h
new file mode 100644
index 000000000..53cac9746
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_pppcrypt_h
@@ -0,0 +1,14 @@
+--- ppp-2.4.5.orig/pppd/pppcrypt.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/pppcrypt.h 2014-03-17 16:13:13.000000000 +0100
+@@ -41,8 +41,8 @@
+ #include <des.h>
+ #endif
+
+-extern bool DesSetkey __P((u_char *));
+-extern bool DesEncrypt __P((u_char *, u_char *));
+-extern bool DesDecrypt __P((u_char *, u_char *));
++extern bool DesSetkey (u_char *);
++extern bool DesEncrypt (u_char *, u_char *);
++extern bool DesDecrypt (u_char *, u_char *);
+
+ #endif /* PPPCRYPT_H */
diff --git a/package/ppp/patches/patch-pppd_pppd_h b/package/ppp/patches/patch-pppd_pppd_h
new file mode 100644
index 000000000..85e81b675
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_pppd_h
@@ -0,0 +1,532 @@
+--- ppp-2.4.5.orig/pppd/pppd.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/pppd.h 2014-03-17 16:13:14.000000000 +0100
+@@ -198,7 +198,7 @@ struct epdisc {
+ #define EPD_MAGIC 4
+ #define EPD_PHONENUM 5
+
+-typedef void (*notify_func) __P((void *, int));
++typedef void (*notify_func) (void *, int);
+
+ struct notifier {
+ struct notifier *next;
+@@ -392,35 +392,35 @@ extern int option_priority; /* priority
+ struct protent {
+ u_short protocol; /* PPP protocol number */
+ /* Initialization procedure */
+- void (*init) __P((int unit));
++ void (*init) (int unit);
+ /* Process a received packet */
+- void (*input) __P((int unit, u_char *pkt, int len));
++ void (*input) (int unit, u_char *pkt, int len);
+ /* Process a received protocol-reject */
+- void (*protrej) __P((int unit));
++ void (*protrej) (int unit);
+ /* Lower layer has come up */
+- void (*lowerup) __P((int unit));
++ void (*lowerup) (int unit);
+ /* Lower layer has gone down */
+- void (*lowerdown) __P((int unit));
++ void (*lowerdown) (int unit);
+ /* Open the protocol */
+- void (*open) __P((int unit));
++ void (*open) (int unit);
+ /* Close the protocol */
+- void (*close) __P((int unit, char *reason));
++ void (*close) (int unit, char *reason);
+ /* Print a packet in readable form */
+- int (*printpkt) __P((u_char *pkt, int len,
++ int (*printpkt) (u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+- void *arg));
++ void *arg);
+ /* Process a received data packet */
+- void (*datainput) __P((int unit, u_char *pkt, int len));
++ void (*datainput) (int unit, u_char *pkt, int len);
+ bool enabled_flag; /* 0 iff protocol is disabled */
+ char *name; /* Text name of protocol */
+ char *data_name; /* Text name of corresponding data protocol */
+ option_t *options; /* List of command-line options */
+ /* Check requested options, assign defaults */
+- void (*check_options) __P((void));
++ void (*check_options) (void);
+ /* Configure interface for demand-dial */
+- int (*demand_conf) __P((int unit));
++ int (*demand_conf) (int unit);
+ /* Say whether to bring up link for this pkt */
+- int (*active_pkt) __P((u_char *pkt, int len));
++ int (*active_pkt) (u_char *pkt, int len);
+ };
+
+ /* Table of pointers to supported protocols */
+@@ -437,25 +437,25 @@ struct channel {
+ /* set of options for this channel */
+ option_t *options;
+ /* find and process a per-channel options file */
+- void (*process_extra_options) __P((void));
++ void (*process_extra_options) (void);
+ /* check all the options that have been given */
+- void (*check_options) __P((void));
++ void (*check_options) (void);
+ /* get the channel ready to do PPP, return a file descriptor */
+- int (*connect) __P((void));
++ int (*connect) (void);
+ /* we're finished with the channel */
+- void (*disconnect) __P((void));
++ void (*disconnect) (void);
+ /* put the channel into PPP `mode' */
+- int (*establish_ppp) __P((int));
++ int (*establish_ppp) (int);
+ /* take the channel out of PPP `mode', restore loopback if demand */
+- void (*disestablish_ppp) __P((int));
++ void (*disestablish_ppp) (int);
+ /* set the transmit-side PPP parameters of the channel */
+- void (*send_config) __P((int, u_int32_t, int, int));
++ void (*send_config) (int, u_int32_t, int, int);
+ /* set the receive-side PPP parameters of the channel */
+- void (*recv_config) __P((int, u_int32_t, int, int));
++ void (*recv_config) (int, u_int32_t, int, int);
+ /* cleanup on error or normal exit */
+- void (*cleanup) __P((void));
++ void (*cleanup) (void);
+ /* close the device, called in children after fork */
+- void (*close) __P((void));
++ void (*close) (void);
+ };
+
+ extern struct channel *the_channel;
+@@ -465,117 +465,117 @@ extern struct channel *the_channel;
+ */
+
+ /* Procedures exported from main.c. */
+-void set_ifunit __P((int)); /* set stuff that depends on ifunit */
+-void detach __P((void)); /* Detach from controlling tty */
+-void die __P((int)); /* Cleanup and exit */
+-void quit __P((void)); /* like die(1) */
+-void novm __P((char *)); /* Say we ran out of memory, and die */
+-void timeout __P((void (*func)(void *), void *arg, int s, int us));
++void set_ifunit (int); /* set stuff that depends on ifunit */
++void detach (void); /* Detach from controlling tty */
++void die (int); /* Cleanup and exit */
++void quit (void); /* like die(1) */
++void novm (char *); /* Say we ran out of memory, and die */
++void timeout (void (*func)(void *), void *arg, int s, int us);
+ /* Call func(arg) after s.us seconds */
+-void untimeout __P((void (*func)(void *), void *arg));
++void untimeout (void (*func)(void *), void *arg);
+ /* Cancel call to func(arg) */
+-void record_child __P((int, char *, void (*) (void *), void *, int));
+-pid_t safe_fork __P((int, int, int)); /* Fork & close stuff in child */
+-int device_script __P((char *cmd, int in, int out, int dont_wait));
++void record_child (int, char *, void (*) (void *), void *, int);
++pid_t safe_fork (int, int, int); /* Fork & close stuff in child */
++int device_script (char *cmd, int in, int out, int dont_wait);
+ /* Run `cmd' with given stdin and stdout */
+-pid_t run_program __P((char *prog, char **args, int must_exist,
+- void (*done)(void *), void *arg, int wait));
++pid_t run_program (char *prog, char **args, int must_exist,
++ void (*done)(void *), void *arg, int wait);
+ /* Run program prog with args in child */
+-void reopen_log __P((void)); /* (re)open the connection to syslog */
+-void print_link_stats __P((void)); /* Print stats, if available */
+-void reset_link_stats __P((int)); /* Reset (init) stats when link goes up */
+-void update_link_stats __P((int)); /* Get stats at link termination */
+-void script_setenv __P((char *, char *, int)); /* set script env var */
+-void script_unsetenv __P((char *)); /* unset script env var */
+-void new_phase __P((int)); /* signal start of new phase */
+-void add_notifier __P((struct notifier **, notify_func, void *));
+-void remove_notifier __P((struct notifier **, notify_func, void *));
+-void notify __P((struct notifier *, int));
+-int ppp_send_config __P((int, int, u_int32_t, int, int));
+-int ppp_recv_config __P((int, int, u_int32_t, int, int));
+-const char *protocol_name __P((int));
+-void remove_pidfiles __P((void));
+-void lock_db __P((void));
+-void unlock_db __P((void));
++void reopen_log (void); /* (re)open the connection to syslog */
++void print_link_stats (void); /* Print stats, if available */
++void reset_link_stats (int); /* Reset (init) stats when link goes up */
++void update_link_stats (int); /* Get stats at link termination */
++void script_setenv (char *, char *, int); /* set script env var */
++void script_unsetenv (char *); /* unset script env var */
++void new_phase (int); /* signal start of new phase */
++void add_notifier (struct notifier **, notify_func, void *);
++void remove_notifier (struct notifier **, notify_func, void *);
++void notify (struct notifier *, int);
++int ppp_send_config (int, int, u_int32_t, int, int);
++int ppp_recv_config (int, int, u_int32_t, int, int);
++const char *protocol_name (int);
++void remove_pidfiles (void);
++void lock_db (void);
++void unlock_db (void);
+
+ /* Procedures exported from tty.c. */
+-void tty_init __P((void));
++void tty_init (void);
+
+ /* Procedures exported from utils.c. */
+-void log_packet __P((u_char *, int, char *, int));
++void log_packet (u_char *, int, char *, int);
+ /* Format a packet and log it with syslog */
+-void print_string __P((char *, int, void (*) (void *, char *, ...),
+- void *)); /* Format a string for output */
+-int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
+-int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
+-size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
+-size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
+-void dbglog __P((char *, ...)); /* log a debug message */
+-void info __P((char *, ...)); /* log an informational message */
+-void notice __P((char *, ...)); /* log a notice-level message */
+-void warn __P((char *, ...)); /* log a warning message */
+-void error __P((char *, ...)); /* log an error message */
+-void fatal __P((char *, ...)); /* log an error message and die(1) */
+-void init_pr_log __P((const char *, int)); /* initialize for using pr_log */
+-void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
+-void end_pr_log __P((void)); /* finish up after using pr_log */
+-void dump_packet __P((const char *, u_char *, int));
++void print_string (char *, int, void (*) (void *, char *, ...),
++ void *); /* Format a string for output */
++int slprintf (char *, int, char *, ...); /* sprintf++ */
++int vslprintf (char *, int, char *, va_list); /* vsprintf++ */
++size_t strlcpy (char *, const char *, size_t); /* safe strcpy */
++size_t strlcat (char *, const char *, size_t); /* safe strncpy */
++void dbglog (char *, ...); /* log a debug message */
++void info (char *, ...); /* log an informational message */
++void notice (char *, ...); /* log a notice-level message */
++void warn (char *, ...); /* log a warning message */
++void error (char *, ...); /* log an error message */
++void fatal (char *, ...); /* log an error message and die(1) */
++void init_pr_log (const char *, int); /* initialize for using pr_log */
++void pr_log (void *, char *, ...); /* printer fn, output to syslog */
++void end_pr_log (void); /* finish up after using pr_log */
++void dump_packet (const char *, u_char *, int);
+ /* dump packet to debug log if interesting */
+-ssize_t complete_read __P((int, void *, size_t));
++ssize_t complete_read (int, void *, size_t);
+ /* read a complete buffer */
+
+ /* Procedures exported from auth.c */
+-void link_required __P((int)); /* we are starting to use the link */
+-void start_link __P((int)); /* bring the link up now */
+-void link_terminated __P((int)); /* we are finished with the link */
+-void link_down __P((int)); /* the LCP layer has left the Opened state */
+-void upper_layers_down __P((int));/* take all NCPs down */
+-void link_established __P((int)); /* the link is up; authenticate now */
+-void start_networks __P((int)); /* start all the network control protos */
+-void continue_networks __P((int)); /* start network [ip, etc] control protos */
+-void np_up __P((int, int)); /* a network protocol has come up */
+-void np_down __P((int, int)); /* a network protocol has gone down */
+-void np_finished __P((int, int)); /* a network protocol no longer needs link */
+-void auth_peer_fail __P((int, int));
++void link_required (int); /* we are starting to use the link */
++void start_link (int); /* bring the link up now */
++void link_terminated (int); /* we are finished with the link */
++void link_down (int); /* the LCP layer has left the Opened state */
++void upper_layers_down (int);/* take all NCPs down */
++void link_established (int); /* the link is up; authenticate now */
++void start_networks (int); /* start all the network control protos */
++void continue_networks (int); /* start network [ip, etc] control protos */
++void np_up (int, int); /* a network protocol has come up */
++void np_down (int, int); /* a network protocol has gone down */
++void np_finished (int, int); /* a network protocol no longer needs link */
++void auth_peer_fail (int, int);
+ /* peer failed to authenticate itself */
+-void auth_peer_success __P((int, int, int, char *, int));
++void auth_peer_success (int, int, int, char *, int);
+ /* peer successfully authenticated itself */
+-void auth_withpeer_fail __P((int, int));
++void auth_withpeer_fail (int, int);
+ /* we failed to authenticate ourselves */
+-void auth_withpeer_success __P((int, int, int));
++void auth_withpeer_success (int, int, int);
+ /* we successfully authenticated ourselves */
+-void auth_check_options __P((void));
++void auth_check_options (void);
+ /* check authentication options supplied */
+-void auth_reset __P((int)); /* check what secrets we have */
+-int check_passwd __P((int, char *, int, char *, int, char **));
++void auth_reset (int); /* check what secrets we have */
++int check_passwd (int, char *, int, char *, int, char **);
+ /* Check peer-supplied username/password */
+-int get_secret __P((int, char *, char *, char *, int *, int));
++int get_secret (int, char *, char *, char *, int *, int);
+ /* get "secret" for chap */
+-int get_srp_secret __P((int unit, char *client, char *server, char *secret,
+- int am_server));
+-int auth_ip_addr __P((int, u_int32_t));
++int get_srp_secret (int unit, char *client, char *server, char *secret,
++ int am_server);
++int auth_ip_addr (int, u_int32_t);
+ /* check if IP address is authorized */
+-int auth_number __P((void)); /* check if remote number is authorized */
+-int bad_ip_adrs __P((u_int32_t));
++int auth_number (void); /* check if remote number is authorized */
++int bad_ip_adrs (u_int32_t);
+ /* check if IP address is unreasonable */
+
+ /* Procedures exported from demand.c */
+-void demand_conf __P((void)); /* config interface(s) for demand-dial */
+-void demand_block __P((void)); /* set all NPs to queue up packets */
+-void demand_unblock __P((void)); /* set all NPs to pass packets */
+-void demand_discard __P((void)); /* set all NPs to discard packets */
+-void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
+-int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
+-int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
++void demand_conf (void); /* config interface(s) for demand-dial */
++void demand_block (void); /* set all NPs to queue up packets */
++void demand_unblock (void); /* set all NPs to pass packets */
++void demand_discard (void); /* set all NPs to discard packets */
++void demand_rexmit (int); /* retransmit saved frames for an NP */
++int loop_chars (unsigned char *, int); /* process chars from loopback */
++int loop_frame (unsigned char *, int); /* should we bring link up? */
+
+ /* Procedures exported from multilink.c */
+ #ifdef HAVE_MULTILINK
+-void mp_check_options __P((void)); /* Check multilink-related options */
+-int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
+-void mp_exit_bundle __P((void)); /* have disconnected our link from bundle */
+-void mp_bundle_terminated __P((void));
+-char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
+-int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
++void mp_check_options (void); /* Check multilink-related options */
++int mp_join_bundle (void); /* join our link to an appropriate bundle */
++void mp_exit_bundle (void); /* have disconnected our link from bundle */
++void mp_bundle_terminated (void);
++char *epdisc_to_str (struct epdisc *); /* string from endpoint discrim. */
++int str_to_epdisc (struct epdisc *, char *); /* endpt disc. from str */
+ #else
+ #define mp_bundle_terminated() /* nothing */
+ #define mp_exit_bundle() /* nothing */
+@@ -584,142 +584,142 @@ int str_to_epdisc __P((struct epdisc *,
+ #endif
+
+ /* Procedures exported from sys-*.c */
+-void sys_init __P((void)); /* Do system-dependent initialization */
+-void sys_cleanup __P((void)); /* Restore system state before exiting */
+-int sys_check_options __P((void)); /* Check options specified */
+-void sys_close __P((void)); /* Clean up in a child before execing */
+-int ppp_available __P((void)); /* Test whether ppp kernel support exists */
+-int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
+-int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
+-int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
+-void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
+-void generic_disestablish_ppp __P((int dev_fd)); /* Restore device setting */
+-int generic_establish_ppp __P((int dev_fd)); /* Make a ppp interface */
+-void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
+-int bundle_attach __P((int)); /* Attach link to existing bundle */
+-void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
+-void destroy_bundle __P((void)); /* Tell driver to destroy bundle */
+-void clean_check __P((void)); /* Check if line was 8-bit clean */
+-void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
+-void restore_tty __P((int)); /* Restore port's original parameters */
+-void setdtr __P((int, int)); /* Raise or lower port's DTR line */
+-void output __P((int, u_char *, int)); /* Output a PPP packet */
+-void wait_input __P((struct timeval *));
++void sys_init (void); /* Do system-dependent initialization */
++void sys_cleanup (void); /* Restore system state before exiting */
++int sys_check_options (void); /* Check options specified */
++void sys_close (void); /* Clean up in a child before execing */
++int ppp_available (void); /* Test whether ppp kernel support exists */
++int get_pty (int *, int *, char *, int); /* Get pty master/slave */
++int open_ppp_loopback (void); /* Open loopback for demand-dialling */
++int tty_establish_ppp (int); /* Turn serial port into a ppp interface */
++void tty_disestablish_ppp (int); /* Restore port to normal operation */
++void generic_disestablish_ppp (int dev_fd); /* Restore device setting */
++int generic_establish_ppp (int dev_fd); /* Make a ppp interface */
++void make_new_bundle (int, int, int, int); /* Create new bundle */
++int bundle_attach (int); /* Attach link to existing bundle */
++void cfg_bundle (int, int, int, int); /* Configure existing bundle */
++void destroy_bundle (void); /* Tell driver to destroy bundle */
++void clean_check (void); /* Check if line was 8-bit clean */
++void set_up_tty (int, int); /* Set up port's speed, parameters, etc. */
++void restore_tty (int); /* Restore port's original parameters */
++void setdtr (int, int); /* Raise or lower port's DTR line */
++void output (int, u_char *, int); /* Output a PPP packet */
++void wait_input (struct timeval *);
+ /* Wait for input, with timeout */
+-void add_fd __P((int)); /* Add fd to set to wait for */
+-void remove_fd __P((int)); /* Remove fd from set to wait for */
+-int read_packet __P((u_char *)); /* Read PPP packet */
+-int get_loop_output __P((void)); /* Read pkts from loopback */
+-void tty_send_config __P((int, u_int32_t, int, int));
++void add_fd (int); /* Add fd to set to wait for */
++void remove_fd (int); /* Remove fd from set to wait for */
++int read_packet (u_char *); /* Read PPP packet */
++int get_loop_output (void); /* Read pkts from loopback */
++void tty_send_config (int, u_int32_t, int, int);
+ /* Configure i/f transmit parameters */
+-void tty_set_xaccm __P((ext_accm));
++void tty_set_xaccm (ext_accm);
+ /* Set extended transmit ACCM */
+-void tty_recv_config __P((int, u_int32_t, int, int));
++void tty_recv_config (int, u_int32_t, int, int);
+ /* Configure i/f receive parameters */
+-int ccp_test __P((int, u_char *, int, int));
++int ccp_test (int, u_char *, int, int);
+ /* Test support for compression scheme */
+-void ccp_flags_set __P((int, int, int));
++void ccp_flags_set (int, int, int);
+ /* Set kernel CCP state */
+-int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
+-int get_idle_time __P((int, struct ppp_idle *));
++int ccp_fatal_error (int); /* Test for fatal decomp error in kernel */
++int get_idle_time (int, struct ppp_idle *);
+ /* Find out how long link has been idle */
+-int get_ppp_stats __P((int, struct pppd_stats *));
++int get_ppp_stats (int, struct pppd_stats *);
+ /* Return link statistics */
+-void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
+-int netif_get_mtu __P((int)); /* Get PPP interface MTU */
+-int sifvjcomp __P((int, int, int, int));
++void netif_set_mtu (int, int); /* Set PPP interface MTU */
++int netif_get_mtu (int); /* Get PPP interface MTU */
++int sifvjcomp (int, int, int, int);
+ /* Configure VJ TCP header compression */
+-int sifup __P((int)); /* Configure i/f up for one protocol */
+-int sifnpmode __P((int u, int proto, enum NPmode mode));
++int sifup (int); /* Configure i/f up for one protocol */
++int sifnpmode (int u, int proto, enum NPmode mode);
+ /* Set mode for handling packets for proto */
+-int sifdown __P((int)); /* Configure i/f down for one protocol */
+-int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
++int sifdown (int); /* Configure i/f down for one protocol */
++int sifaddr (int, u_int32_t, u_int32_t, u_int32_t);
+ /* Configure IPv4 addresses for i/f */
+-int cifaddr __P((int, u_int32_t, u_int32_t));
++int cifaddr (int, u_int32_t, u_int32_t);
+ /* Reset i/f IP addresses */
+ #ifdef INET6
+-int sif6addr __P((int, eui64_t, eui64_t));
++int sif6addr (int, eui64_t, eui64_t);
+ /* Configure IPv6 addresses for i/f */
+-int cif6addr __P((int, eui64_t, eui64_t));
++int cif6addr (int, eui64_t, eui64_t);
+ /* Remove an IPv6 address from i/f */
+ #endif
+-int sifdefaultroute __P((int, u_int32_t, u_int32_t));
++int sifdefaultroute (int, u_int32_t, u_int32_t);
+ /* Create default route through i/f */
+-int cifdefaultroute __P((int, u_int32_t, u_int32_t));
++int cifdefaultroute (int, u_int32_t, u_int32_t);
+ /* Delete default route through i/f */
+-int sifproxyarp __P((int, u_int32_t));
++int sifproxyarp (int, u_int32_t);
+ /* Add proxy ARP entry for peer */
+-int cifproxyarp __P((int, u_int32_t));
++int cifproxyarp (int, u_int32_t);
+ /* Delete proxy ARP entry for peer */
+-u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
+-int lock __P((char *)); /* Create lock file for device */
+-int relock __P((int)); /* Rewrite lock file with new pid */
+-void unlock __P((void)); /* Delete previously-created lock file */
+-void logwtmp __P((const char *, const char *, const char *));
++u_int32_t GetMask (u_int32_t); /* Get appropriate netmask for address */
++int lock (char *); /* Create lock file for device */
++int relock (int); /* Rewrite lock file with new pid */
++void unlock (void); /* Delete previously-created lock file */
++void logwtmp (const char *, const char *, const char *);
+ /* Write entry to wtmp file */
+-int get_host_seed __P((void)); /* Get host-dependent random number seed */
+-int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
++int get_host_seed (void); /* Get host-dependent random number seed */
++int have_route_to (u_int32_t); /* Check if route to addr exists */
+ #ifdef PPP_FILTER
+-int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
++int set_filters (struct bpf_program *pass, struct bpf_program *active);
+ /* Set filter programs in kernel */
+ #endif
+ #ifdef IPX_CHANGE
+-int sipxfaddr __P((int, unsigned long, unsigned char *));
+-int cipxfaddr __P((int));
++int sipxfaddr (int, unsigned long, unsigned char *);
++int cipxfaddr (int);
+ #endif
+-int get_if_hwaddr __P((u_char *addr, char *name));
+-char *get_first_ethernet __P((void));
++int get_if_hwaddr (u_char *addr, char *name);
++char *get_first_ethernet (void);
+
+ /* Procedures exported from options.c */
+-int setipaddr __P((char *, char **, int)); /* Set local/remote ip addresses */
+-int parse_args __P((int argc, char **argv));
++int setipaddr (char *, char **, int); /* Set local/remote ip addresses */
++int parse_args (int argc, char **argv);
+ /* Parse options from arguments given */
+-int options_from_file __P((char *filename, int must_exist, int check_prot,
+- int privileged));
++int options_from_file (char *filename, int must_exist, int check_prot,
++ int privileged);
+ /* Parse options from an options file */
+-int options_from_user __P((void)); /* Parse options from user's .ppprc */
+-int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
+-int options_from_list __P((struct wordlist *, int privileged));
++int options_from_user (void); /* Parse options from user's .ppprc */
++int options_for_tty (void); /* Parse options from /etc/ppp/options.tty */
++int options_from_list (struct wordlist *, int privileged);
+ /* Parse options from a wordlist */
+-int getword __P((FILE *f, char *word, int *newlinep, char *filename));
++int getword (FILE *f, char *word, int *newlinep, char *filename);
+ /* Read a word from a file */
+-void option_error __P((char *fmt, ...));
++void option_error (char *fmt, ...);
+ /* Print an error message about an option */
+-int int_option __P((char *, int *));
++int int_option (char *, int *);
+ /* Simplified number_option for decimal ints */
+-void add_options __P((option_t *)); /* Add extra options */
+-void check_options __P((void)); /* check values after all options parsed */
+-int override_value __P((const char *, int, const char *));
++void add_options (option_t *); /* Add extra options */
++void check_options (void); /* check values after all options parsed */
++int override_value (const char *, int, const char *);
+ /* override value if permitted by priority */
+-void print_options __P((void (*) __P((void *, char *, ...)), void *));
++void print_options (void (*) __P((void *, char *, ...)), void *);
+ /* print out values of all options */
+
+-int parse_dotted_ip __P((char *, u_int32_t *));
++int parse_dotted_ip (char *, u_int32_t *);
+
+ /*
+ * Hooks to enable plugins to change various things.
+ */
+-extern int (*new_phase_hook) __P((int));
+-extern int (*idle_time_hook) __P((struct ppp_idle *));
+-extern int (*holdoff_hook) __P((void));
+-extern int (*pap_check_hook) __P((void));
+-extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
++extern int (*new_phase_hook) (int);
++extern int (*idle_time_hook) (struct ppp_idle *);
++extern int (*holdoff_hook) (void);
++extern int (*pap_check_hook) (void);
++extern int (*pap_auth_hook) (char *user, char *passwd, char **msgp,
+ struct wordlist **paddrs,
+- struct wordlist **popts));
+-extern void (*pap_logout_hook) __P((void));
+-extern int (*pap_passwd_hook) __P((char *user, char *passwd));
+-extern int (*allowed_address_hook) __P((u_int32_t addr));
+-extern void (*ip_up_hook) __P((void));
+-extern void (*ip_down_hook) __P((void));
+-extern void (*ip_choose_hook) __P((u_int32_t *));
++ struct wordlist **popts);
++extern void (*pap_logout_hook) (void);
++extern int (*pap_passwd_hook) (char *user, char *passwd);
++extern int (*allowed_address_hook) (u_int32_t addr);
++extern void (*ip_up_hook) (void);
++extern void (*ip_down_hook) (void);
++extern void (*ip_choose_hook) (u_int32_t *);
+
+-extern int (*chap_check_hook) __P((void));
+-extern int (*chap_passwd_hook) __P((char *user, char *passwd));
+-extern void (*multilink_join_hook) __P((void));
++extern int (*chap_check_hook) (void);
++extern int (*chap_passwd_hook) (char *user, char *passwd);
++extern void (*multilink_join_hook) (void);
+
+ /* Let a plugin snoop sent and received packets. Useful for L2TP */
+-extern void (*snoop_recv_hook) __P((unsigned char *p, int len));
+-extern void (*snoop_send_hook) __P((unsigned char *p, int len));
++extern void (*snoop_recv_hook) (unsigned char *p, int len);
++extern void (*snoop_send_hook) (unsigned char *p, int len);
+
+ /*
+ * Inline versions of get/put char/short/long.
diff --git a/package/ppp/patches/patch-pppd_sys-linux_c b/package/ppp/patches/patch-pppd_sys-linux_c
new file mode 100644
index 000000000..d64c41f9e
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_sys-linux_c
@@ -0,0 +1,22 @@
+--- ppp-2.4.5.orig/pppd/sys-linux.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/sys-linux.c 2014-03-17 16:32:55.000000000 +0100
+@@ -102,19 +102,11 @@
+ #define MAX_ADDR_LEN 7
+ #endif
+
+-#if __GLIBC__ >= 2
+ #include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
+ #include <net/if.h>
+ #include <net/if_arp.h>
+ #include <net/route.h>
+ #include <netinet/if_ether.h>
+-#else
+-#include <linux/types.h>
+-#include <linux/if.h>
+-#include <linux/if_arp.h>
+-#include <linux/route.h>
+-#include <linux/if_ether.h>
+-#endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+
diff --git a/package/ppp/patches/patch-pppd_sys-solaris_c b/package/ppp/patches/patch-pppd_sys-solaris_c
new file mode 100644
index 000000000..66ee69cb8
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_sys-solaris_c
@@ -0,0 +1,27 @@
+--- ppp-2.4.5.orig/pppd/sys-solaris.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/sys-solaris.c 2014-03-17 16:13:13.000000000 +0100
+@@ -241,15 +241,15 @@ static u_int32_t default_route_gateway;
+ static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+
+ /* Prototypes for procedures local to this file. */
+-static int translate_speed __P((int));
+-static int baud_rate_of __P((int));
+-static int get_ether_addr __P((u_int32_t, struct sockaddr *));
+-static int get_hw_addr __P((char *, u_int32_t, struct sockaddr *));
+-static int get_hw_addr_dlpi __P((char *, struct sockaddr *));
+-static int dlpi_attach __P((int, int));
+-static int dlpi_info_req __P((int));
+-static int dlpi_get_reply __P((int, union DL_primitives *, int, int));
+-static int strioctl __P((int, int, void *, int, int));
++static int translate_speed (int);
++static int baud_rate_of (int);
++static int get_ether_addr (u_int32_t, struct sockaddr *);
++static int get_hw_addr (char *, u_int32_t, struct sockaddr *);
++static int get_hw_addr_dlpi (char *, struct sockaddr *);
++static int dlpi_attach (int, int);
++static int dlpi_info_req (int);
++static int dlpi_get_reply (int, union DL_primitives *, int, int);
++static int strioctl (int, int, void *, int, int);
+
+ #ifdef SOL2
+ /*
diff --git a/package/ppp/patches/patch-pppd_tty_c b/package/ppp/patches/patch-pppd_tty_c
new file mode 100644
index 000000000..3588e439a
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_tty_c
@@ -0,0 +1,61 @@
+--- ppp-2.4.5.orig/pppd/tty.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/tty.c 2014-03-17 16:13:14.000000000 +0100
+@@ -98,28 +98,28 @@
+ #include "fsm.h"
+ #include "lcp.h"
+
+-void tty_process_extra_options __P((void));
+-void tty_check_options __P((void));
+-int connect_tty __P((void));
+-void disconnect_tty __P((void));
+-void tty_close_fds __P((void));
+-void cleanup_tty __P((void));
+-void tty_do_send_config __P((int, u_int32_t, int, int));
++void tty_process_extra_options (void);
++void tty_check_options (void);
++int connect_tty (void);
++void disconnect_tty (void);
++void tty_close_fds (void);
++void cleanup_tty (void);
++void tty_do_send_config (int, u_int32_t, int, int);
+
+-static int setdevname __P((char *, char **, int));
+-static int setspeed __P((char *, char **, int));
+-static int setxonxoff __P((char **));
+-static int setescape __P((char **));
+-static void printescape __P((option_t *, void (*)(void *, char *,...),void *));
+-static void finish_tty __P((void));
+-static int start_charshunt __P((int, int));
+-static void stop_charshunt __P((void *, int));
+-static void charshunt_done __P((void *));
+-static void charshunt __P((int, int, char *));
+-static int record_write __P((FILE *, int code, u_char *buf, int nb,
+- struct timeval *));
+-static int open_socket __P((char *));
+-static void maybe_relock __P((void *, int));
++static int setdevname (char *, char **, int);
++static int setspeed (char *, char **, int);
++static int setxonxoff (char **);
++static int setescape (char **);
++static void printescape (option_t *, void (*)(void *, char *,...),void *);
++static void finish_tty (void);
++static int start_charshunt (int, int);
++static void stop_charshunt (void *, int);
++static void charshunt_done (void *);
++static void charshunt (int, int, char *);
++static int record_write (FILE *, int code, u_char *buf, int nb,
++ struct timeval *);
++static int open_socket (char *);
++static void maybe_relock (void *, int);
+
+ static int pty_master; /* fd for master side of pty */
+ static int pty_slave; /* fd for slave side of pty */
+@@ -374,7 +374,7 @@ setescape(argv)
+ static void
+ printescape(opt, printer, arg)
+ option_t *opt;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int n;
diff --git a/package/ppp/patches/patch-pppd_upap_c b/package/ppp/patches/patch-pppd_upap_c
new file mode 100644
index 000000000..cd6ca9d73
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_upap_c
@@ -0,0 +1,53 @@
+--- ppp-2.4.5.orig/pppd/upap.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/upap.c 2014-03-17 16:13:13.000000000 +0100
+@@ -78,13 +78,13 @@ static option_t pap_option_list[] = {
+ /*
+ * Protocol entry points.
+ */
+-static void upap_init __P((int));
+-static void upap_lowerup __P((int));
+-static void upap_lowerdown __P((int));
+-static void upap_input __P((int, u_char *, int));
+-static void upap_protrej __P((int));
+-static int upap_printpkt __P((u_char *, int,
+- void (*) __P((void *, char *, ...)), void *));
++static void upap_init (int);
++static void upap_lowerup (int);
++static void upap_lowerdown (int);
++static void upap_input (int, u_char *, int);
++static void upap_protrej (int);
++static int upap_printpkt (u_char *, int,
++ void (*) __P((void *, char *, ...)), void *);
+
+ struct protent pap_protent = {
+ PPP_PAP,
+@@ -108,13 +108,13 @@ struct protent pap_protent = {
+
+ upap_state upap[NUM_PPP]; /* UPAP state; one for each unit */
+
+-static void upap_timeout __P((void *));
+-static void upap_reqtimeout __P((void *));
+-static void upap_rauthreq __P((upap_state *, u_char *, int, int));
+-static void upap_rauthack __P((upap_state *, u_char *, int, int));
+-static void upap_rauthnak __P((upap_state *, u_char *, int, int));
+-static void upap_sauthreq __P((upap_state *));
+-static void upap_sresp __P((upap_state *, int, int, char *, int));
++static void upap_timeout (void *);
++static void upap_reqtimeout (void *);
++static void upap_rauthreq (upap_state *, u_char *, int, int);
++static void upap_rauthack (upap_state *, u_char *, int, int);
++static void upap_rauthnak (upap_state *, u_char *, int, int);
++static void upap_sauthreq (upap_state *);
++static void upap_sresp (upap_state *, int, int, char *, int);
+
+
+ /*
+@@ -612,7 +612,7 @@ static int
+ upap_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int code, id, len;
diff --git a/package/ppp/patches/patch-pppd_upap_h b/package/ppp/patches/patch-pppd_upap_h
new file mode 100644
index 000000000..1af1f5b21
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_upap_h
@@ -0,0 +1,12 @@
+--- ppp-2.4.5.orig/pppd/upap.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/upap.h 2014-03-17 16:13:13.000000000 +0100
+@@ -104,7 +104,7 @@ typedef struct upap_state {
+
+ extern upap_state upap[];
+
+-void upap_authwithpeer __P((int, char *, char *));
+-void upap_authpeer __P((int));
++void upap_authwithpeer (int, char *, char *);
++void upap_authpeer (int);
+
+ extern struct protent pap_protent;
diff --git a/package/ppp/patches/patch-pppd_utils_c b/package/ppp/patches/patch-pppd_utils_c
new file mode 100644
index 000000000..46304e640
--- /dev/null
+++ b/package/ppp/patches/patch-pppd_utils_c
@@ -0,0 +1,37 @@
+--- ppp-2.4.5.orig/pppd/utils.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppd/utils.c 2014-03-17 16:13:14.000000000 +0100
+@@ -65,11 +65,11 @@ static const char rcsid[] = RCSID;
+ extern char *strerror();
+ #endif
+
+-static void logit __P((int, char *, va_list));
+-static void log_write __P((int, char *));
+-static void vslp_printer __P((void *, char *, ...));
+-static void format_packet __P((u_char *, int, void (*) (void *, char *, ...),
+- void *));
++static void logit (int, char *, va_list);
++static void log_write (int, char *);
++static void vslp_printer (void *, char *, ...);
++static void format_packet (u_char *, int, void (*) (void *, char *, ...),
++ void *);
+
+ struct buffer_info {
+ char *ptr;
+@@ -475,7 +475,7 @@ static void
+ format_packet(p, len, printer, arg)
+ u_char *p;
+ int len;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int i, n;
+@@ -613,7 +613,7 @@ void
+ print_string(p, len, printer, arg)
+ char *p;
+ int len;
+- void (*printer) __P((void *, char *, ...));
++ void (*printer) (void *, char *, ...);
+ void *arg;
+ {
+ int c;
diff --git a/package/ppp/patches/patch-pppdump_bsd-comp_c b/package/ppp/patches/patch-pppdump_bsd-comp_c
new file mode 100644
index 000000000..16060c7da
--- /dev/null
+++ b/package/ppp/patches/patch-pppdump_bsd-comp_c
@@ -0,0 +1,27 @@
+--- ppp-2.4.5.orig/pppdump/bsd-comp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppdump/bsd-comp.c 2014-03-17 16:13:08.000000000 +0100
+@@ -124,15 +124,15 @@ struct bsd_db {
+ #define BSD_OVHD 2 /* BSD compress overhead/packet */
+ #define BSD_INIT_BITS BSD_MIN_BITS
+
+-static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
+-static void bsd_free __P((void *state));
+-static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int mru, int debug));
+-static void bsd_incomp __P((void *state, u_char *dmsg, int len));
+-static int bsd_decompress __P((void *state, u_char *cmp, int inlen,
+- u_char *dmp, int *outlen));
+-static void bsd_reset __P((void *state));
+-static void bsd_comp_stats __P((void *state, struct compstat *stats));
++static void *bsd_decomp_alloc (u_char *options, int opt_len);
++static void bsd_free (void *state);
++static int bsd_decomp_init (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int mru, int debug);
++static void bsd_incomp (void *state, u_char *dmsg, int len);
++static int bsd_decompress (void *state, u_char *cmp, int inlen,
++ u_char *dmp, int *outlen);
++static void bsd_reset (void *state);
++static void bsd_comp_stats (void *state, struct compstat *stats);
+
+ /*
+ * Exported procedures.
diff --git a/package/ppp/patches/patch-pppdump_deflate_c b/package/ppp/patches/patch-pppdump_deflate_c
new file mode 100644
index 000000000..ff44ea30c
--- /dev/null
+++ b/package/ppp/patches/patch-pppdump_deflate_c
@@ -0,0 +1,31 @@
+--- ppp-2.4.5.orig/pppdump/deflate.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppdump/deflate.c 2014-03-17 16:13:08.000000000 +0100
+@@ -65,17 +65,17 @@ struct deflate_state {
+
+ #define DEFLATE_OVHD 2 /* Deflate overhead/packet */
+
+-static void *z_alloc __P((void *, u_int items, u_int size));
+-static void z_free __P((void *, void *ptr, u_int nb));
+-static void *z_decomp_alloc __P((u_char *options, int opt_len));
+-static void z_decomp_free __P((void *state));
+-static int z_decomp_init __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int mru, int debug));
+-static void z_incomp __P((void *state, u_char *dmsg, int len));
+-static int z_decompress __P((void *state, u_char *cmp, int inlen,
+- u_char *dmp, int *outlenp));
+-static void z_decomp_reset __P((void *state));
+-static void z_comp_stats __P((void *state, struct compstat *stats));
++static void *z_alloc (void *, u_int items, u_int size);
++static void z_free (void *, void *ptr, u_int nb);
++static void *z_decomp_alloc (u_char *options, int opt_len);
++static void z_decomp_free (void *state);
++static int z_decomp_init (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int mru, int debug);
++static void z_incomp (void *state, u_char *dmsg, int len);
++static int z_decompress (void *state, u_char *cmp, int inlen,
++ u_char *dmp, int *outlenp);
++static void z_decomp_reset (void *state);
++static void z_comp_stats (void *state, struct compstat *stats);
+
+ /*
+ * Procedures exported to if_ppp.c.
diff --git a/package/ppp/patches/patch-pppdump_ppp-comp_h b/package/ppp/patches/patch-pppdump_ppp-comp_h
new file mode 100644
index 000000000..ce9da513c
--- /dev/null
+++ b/package/ppp/patches/patch-pppdump_ppp-comp_h
@@ -0,0 +1,33 @@
+--- ppp-2.4.5.orig/pppdump/ppp-comp.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppdump/ppp-comp.h 2014-03-17 16:13:08.000000000 +0100
+@@ -58,21 +58,21 @@ struct compressor {
+ int compress_proto; /* CCP compression protocol number */
+
+ /* Allocate space for a decompressor (receive side) */
+- void *(*decomp_alloc) __P((u_char *options, int opt_len));
++ void *(*decomp_alloc) (u_char *options, int opt_len);
+ /* Free space used by a decompressor */
+- void (*decomp_free) __P((void *state));
++ void (*decomp_free) (void *state);
+ /* Initialize a decompressor */
+- int (*decomp_init) __P((void *state, u_char *options, int opt_len,
+- int unit, int hdrlen, int mru, int debug));
++ int (*decomp_init) (void *state, u_char *options, int opt_len,
++ int unit, int hdrlen, int mru, int debug);
+ /* Reset a decompressor */
+- void (*decomp_reset) __P((void *state));
++ void (*decomp_reset) (void *state);
+ /* Decompress a packet. */
+- int (*decompress) __P((void *state, u_char *mp, int inlen,
+- u_char *dmp, int *outlen));
++ int (*decompress) (void *state, u_char *mp, int inlen,
++ u_char *dmp, int *outlen);
+ /* Update state for an incompressible packet received */
+- void (*incomp) __P((void *state, u_char *mp, int len));
++ void (*incomp) (void *state, u_char *mp, int len);
+ /* Return decompression statistics */
+- void (*decomp_stat) __P((void *state, struct compstat *stats));
++ void (*decomp_stat) (void *state, struct compstat *stats);
+ };
+
+ /*
diff --git a/package/ppp/patches/patch-pppstats_pppstats_c b/package/ppp/patches/patch-pppstats_pppstats_c
new file mode 100644
index 000000000..5718ab77d
--- /dev/null
+++ b/package/ppp/patches/patch-pppstats_pppstats_c
@@ -0,0 +1,22 @@
+--- ppp-2.4.5.orig/pppstats/pppstats.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/pppstats/pppstats.c 2014-03-17 16:13:07.000000000 +0100
+@@ -107,13 +107,13 @@ extern char *optarg;
+ #define PPP_DRV_NAME "ppp"
+ #endif /* !defined(PPP_DRV_NAME) */
+
+-static void usage __P((void));
+-static void catchalarm __P((int));
+-static void get_ppp_stats __P((struct ppp_stats *));
+-static void get_ppp_cstats __P((struct ppp_comp_stats *));
+-static void intpr __P((void));
++static void usage (void);
++static void catchalarm (int);
++static void get_ppp_stats (struct ppp_stats *);
++static void get_ppp_cstats (struct ppp_comp_stats *);
++static void intpr (void);
+
+-int main __P((int, char *argv[]));
++int main (int, char *argv[]);
+
+ static void
+ usage()
diff --git a/package/ppp/patches/patch-solaris_ppp_ahdlc_c b/package/ppp/patches/patch-solaris_ppp_ahdlc_c
new file mode 100644
index 000000000..eca303a29
--- /dev/null
+++ b/package/ppp/patches/patch-solaris_ppp_ahdlc_c
@@ -0,0 +1,19 @@
+--- ppp-2.4.5.orig/solaris/ppp_ahdlc.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/solaris/ppp_ahdlc.c 2014-03-17 16:13:16.000000000 +0100
+@@ -109,11 +109,11 @@ typedef unsigned int uintpoin
+
+ MOD_OPEN_DECL(ahdlc_open);
+ MOD_CLOSE_DECL(ahdlc_close);
+-static int ahdlc_wput __P((queue_t *, mblk_t *));
+-static int ahdlc_rput __P((queue_t *, mblk_t *));
+-static void ahdlc_encode __P((queue_t *, mblk_t *));
+-static void ahdlc_decode __P((queue_t *, mblk_t *));
+-static int msg_byte __P((mblk_t *, unsigned int));
++static int ahdlc_wput (queue_t *, mblk_t *);
++static int ahdlc_rput (queue_t *, mblk_t *);
++static void ahdlc_encode (queue_t *, mblk_t *);
++static void ahdlc_decode (queue_t *, mblk_t *);
++static int msg_byte (mblk_t *, unsigned int);
+
+ #if defined(SOL2)
+ /*
diff --git a/package/ppp/patches/patch-solaris_ppp_c b/package/ppp/patches/patch-solaris_ppp_c
new file mode 100644
index 000000000..33e12e5aa
--- /dev/null
+++ b/package/ppp/patches/patch-solaris_ppp_c
@@ -0,0 +1,78 @@
+--- ppp-2.4.5.orig/solaris/ppp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/solaris/ppp.c 2014-03-17 16:13:16.000000000 +0100
+@@ -254,45 +254,45 @@ static upperstr_t *minor_devs = NULL;
+ static upperstr_t *ppas = NULL;
+
+ #ifdef SVR4
+-static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
+-static int pppclose __P((queue_t *, int, cred_t *));
++static int pppopen (queue_t *, dev_t *, int, int, cred_t *);
++static int pppclose (queue_t *, int, cred_t *);
+ #else
+-static int pppopen __P((queue_t *, int, int, int));
+-static int pppclose __P((queue_t *, int));
++static int pppopen (queue_t *, int, int, int);
++static int pppclose (queue_t *, int);
+ #endif /* SVR4 */
+-static int pppurput __P((queue_t *, mblk_t *));
+-static int pppuwput __P((queue_t *, mblk_t *));
+-static int pppursrv __P((queue_t *));
+-static int pppuwsrv __P((queue_t *));
+-static int ppplrput __P((queue_t *, mblk_t *));
+-static int ppplwput __P((queue_t *, mblk_t *));
+-static int ppplrsrv __P((queue_t *));
+-static int ppplwsrv __P((queue_t *));
++static int pppurput (queue_t *, mblk_t *);
++static int pppuwput (queue_t *, mblk_t *);
++static int pppursrv (queue_t *);
++static int pppuwsrv (queue_t *);
++static int ppplrput (queue_t *, mblk_t *);
++static int ppplwput (queue_t *, mblk_t *);
++static int ppplrsrv (queue_t *);
++static int ppplwsrv (queue_t *);
+ #ifndef NO_DLPI
+-static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
+-static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
+-static void dlpi_ok __P((queue_t *, int));
++static void dlpi_request (queue_t *, mblk_t *, upperstr_t *);
++static void dlpi_error (queue_t *, upperstr_t *, int, int, int);
++static void dlpi_ok (queue_t *, int);
+ #endif
+-static int send_data __P((mblk_t *, upperstr_t *));
+-static void new_ppa __P((queue_t *, mblk_t *));
+-static void attach_ppa __P((queue_t *, mblk_t *));
++static int send_data (mblk_t *, upperstr_t *);
++static void new_ppa (queue_t *, mblk_t *);
++static void attach_ppa (queue_t *, mblk_t *);
+ #ifndef NO_DLPI
+-static void detach_ppa __P((queue_t *, mblk_t *));
++static void detach_ppa (queue_t *, mblk_t *);
+ #endif
+-static void detach_lower __P((queue_t *, mblk_t *));
+-static void debug_dump __P((queue_t *, mblk_t *));
+-static upperstr_t *find_dest __P((upperstr_t *, int));
++static void detach_lower (queue_t *, mblk_t *);
++static void debug_dump (queue_t *, mblk_t *);
++static upperstr_t *find_dest (upperstr_t *, int);
+ #if defined(SOL2)
+-static upperstr_t *find_promisc __P((upperstr_t *, int));
+-static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
+-static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
+-static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
++static upperstr_t *find_promisc (upperstr_t *, int);
++static mblk_t *prepend_ether (upperstr_t *, mblk_t *, int);
++static mblk_t *prepend_udind (upperstr_t *, mblk_t *, int);
++static void promisc_sendup (upperstr_t *, mblk_t *, int, int);
+ #endif /* defined(SOL2) */
+-static int putctl2 __P((queue_t *, int, int, int));
+-static int putctl4 __P((queue_t *, int, int, int));
+-static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
++static int putctl2 (queue_t *, int, int, int);
++static int putctl4 (queue_t *, int, int, int);
++static int pass_packet (upperstr_t *ppa, mblk_t *mp, int outbound);
+ #ifdef FILTER_PACKETS
+-static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
++static int ip_hard_filter (upperstr_t *ppa, mblk_t *mp, int outbound);
+ #endif /* FILTER_PACKETS */
+
+ #define PPP_ID 0xb1a6
diff --git a/package/ppp/patches/patch-solaris_ppp_comp_c b/package/ppp/patches/patch-solaris_ppp_comp_c
new file mode 100644
index 000000000..22673953c
--- /dev/null
+++ b/package/ppp/patches/patch-solaris_ppp_comp_c
@@ -0,0 +1,30 @@
+--- ppp-2.4.5.orig/solaris/ppp_comp.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/solaris/ppp_comp.c 2014-03-17 16:13:16.000000000 +0100
+@@ -74,12 +74,12 @@
+
+ MOD_OPEN_DECL(ppp_comp_open);
+ MOD_CLOSE_DECL(ppp_comp_close);
+-static int ppp_comp_rput __P((queue_t *, mblk_t *));
+-static int ppp_comp_rsrv __P((queue_t *));
+-static int ppp_comp_wput __P((queue_t *, mblk_t *));
+-static int ppp_comp_wsrv __P((queue_t *));
+-static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
+-static int msg_byte __P((mblk_t *, unsigned int));
++static int ppp_comp_rput (queue_t *, mblk_t *);
++static int ppp_comp_rsrv (queue_t *);
++static int ppp_comp_wput (queue_t *, mblk_t *);
++static int ppp_comp_wsrv (queue_t *);
++static void ppp_comp_ccp (queue_t *, mblk_t *, int);
++static int msg_byte (mblk_t *, unsigned int);
+
+ /* Extract byte i of message mp. */
+ #define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
+@@ -118,7 +118,7 @@ int ppp_comp_count; /* number of module
+
+ #ifdef __osf__
+
+-static void ppp_comp_alloc __P((comp_state_t *));
++static void ppp_comp_alloc (comp_state_t *);
+ typedef struct memreq {
+ unsigned char comp_opts[20];
+ int cmd;
diff --git a/package/ppp/patches/patch-solaris_ppp_mod_c b/package/ppp/patches/patch-solaris_ppp_mod_c
new file mode 100644
index 000000000..1d3f48fde
--- /dev/null
+++ b/package/ppp/patches/patch-solaris_ppp_mod_c
@@ -0,0 +1,17 @@
+--- ppp-2.4.5.orig/solaris/ppp_mod.c 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/solaris/ppp_mod.c 2014-03-17 16:13:16.000000000 +0100
+@@ -53,10 +53,10 @@
+ #define __P(x) ()
+ #endif
+
+-static int ppp_identify __P((dev_info_t *));
+-static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
+-static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
+-static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
++static int ppp_identify (dev_info_t *);
++static int ppp_attach (dev_info_t *, ddi_attach_cmd_t);
++static int ppp_detach (dev_info_t *, ddi_detach_cmd_t);
++static int ppp_devinfo (dev_info_t *, ddi_info_cmd_t, void *, void **);
+
+ extern struct streamtab pppinfo;
+ extern krwlock_t ppp_lower_lock;
diff --git a/package/ppp/patches/patch-solaris_ppp_mod_h b/package/ppp/patches/patch-solaris_ppp_mod_h
new file mode 100644
index 000000000..dfb70ff62
--- /dev/null
+++ b/package/ppp/patches/patch-solaris_ppp_mod_h
@@ -0,0 +1,28 @@
+--- ppp-2.4.5.orig/solaris/ppp_mod.h 2009-11-16 23:26:07.000000000 +0100
++++ ppp-2.4.5/solaris/ppp_mod.h 2014-03-17 16:13:16.000000000 +0100
+@@ -143,10 +143,10 @@ typedef int minor_t;
+ */
+ #ifdef SVR4
+ #define MOD_OPEN_DECL(name) \
+-static int name __P((queue_t *, dev_t *, int, int, cred_t *))
++static int name (queue_t *, dev_t *, int, int, cred_t *)
+
+ #define MOD_CLOSE_DECL(name) \
+-static int name __P((queue_t *, int, cred_t *))
++static int name (queue_t *, int, cred_t *)
+
+ #define MOD_OPEN(name) \
+ static int name(q, devp, flag, sflag, credp) \
+@@ -168,10 +168,10 @@ static int name(q, flag, credp) \
+
+ #else /* not SVR4 */
+ #define MOD_OPEN_DECL(name) \
+-static int name __P((queue_t *, int, int, int))
++static int name (queue_t *, int, int, int)
+
+ #define MOD_CLOSE_DECL(name) \
+-static int name __P((queue_t *, int))
++static int name (queue_t *, int)
+
+ #define MOD_OPEN(name) \
+ static int name(q, dev, flag, sflag) \
diff --git a/package/presentproto/Makefile b/package/presentproto/Makefile
new file mode 100644
index 000000000..f3bb3b9ff
--- /dev/null
+++ b/package/presentproto/Makefile
@@ -0,0 +1,19 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= presentproto
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 57eaf4bb58e86476ec89cfb42d675961
+PKG_DESCR:= present protocol headers
+PKG_SECTION:= devel
+PKG_SITES:= ${MASTER_SITE_XORG}
+PKG_OPTS:= dev devonly
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PRESENTPROTO,presentproto,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/python2/Makefile b/package/python2/Makefile
index fe284da9d..b5aac2032 100644
--- a/package/python2/Makefile
+++ b/package/python2/Makefile
@@ -5,11 +5,12 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= python2
PKG_VERSION:= 2.7.5
-PKG_RELEASE:= 11
+PKG_RELEASE:= 12
PKG_MD5SUM:= b4f01a1d0ba0b46b05c73b2ac909b1df
PKG_DESCR:= Python scripting language (Version 2)
PKG_SECTION:= lang
-PKG_BUILDDEP:= autotool libffi bzip2-host python2-host
+PKG_BUILDDEP:= libffi python2-host
+HOST_BUILDDEP:= libffi-host bzip2-host autotool
PKG_DEPENDS:= libpthread libffi libgcc
PKG_URL:= http://www.python.org/
PKG_SITES:= http://www.python.org/ftp/python/${PKG_VERSION}/
@@ -96,18 +97,20 @@ CONFIGURE_ARGS:= --with-threads \
--without-cxx-main
HOST_STYLE:= auto
-HOST_CONFIGURE_ARGS:= --with-threads \
+HOST_CONFIGURE_ARGS+= --with-threads \
--disable-ipv6 \
--disable-shared \
--disable-toolbox-glue \
--without-cxx-main
CFLAGS_FOR_BUILD+= -fPIC
-post-extract:
+hostpre-configure:
$(CP) $(TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)
$(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
$(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
- (cd $(WRKBUILD) && patch -p0 <$(WRKBUILD)/patch-Lib_distutils_sysconfig_py)
+ (cd $(WRKBUILD) && patch -p0 < patch-Lib_distutils_sysconfig_py)
+ $(SED) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
+ $(WRKBUILD)/Misc/python-config.in
hostpost-install:
$(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
@@ -119,6 +122,10 @@ hostpost-install:
patch -p0 < $(WRKBUILD)/python-config.patch)
pre-configure:
+ $(CP) $(TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)
+ $(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
+ $(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
+ (cd $(WRKBUILD) && patch -p0 <$(WRKBUILD)/patch-Lib_distutils_sysconfig_py)
$(SED) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
$(WRKBUILD)/Misc/python-config.in
diff --git a/package/python3/Makefile b/package/python3/Makefile
index 3d7158443..e939a9155 100644
--- a/package/python3/Makefile
+++ b/package/python3/Makefile
@@ -4,15 +4,16 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= python3
-PKG_VERSION:= 3.3.2
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 0a2ea57f6184baf45b150aee53c0c8da
+PKG_VERSION:= 3.4.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 77c22725e14af3d71022cbfdebff4903
PKG_DESCR:= Python scripting language (Version 3)
PKG_SECTION:= lang
PKG_DEPENDS:= libpthread libgcc libffi
PKG_BUILDDEP:= python3-host libffi
+HOST_BUILDDEP:= libffi-host
PKG_URL:= http://www.python.org/
-PKG_SITES:= http://www.python.org/ftp/python/${PKG_VERSION}/
+PKG_SITES:= http://legacy.python.org/ftp/python/${PKG_VERSION}/
PKG_HOST_DEPENDS:= !netbsd !openbsd !cygwin
@@ -44,7 +45,7 @@ PKGFD_MOD_SSL:= OpenSSL support
PKGFB_MOD_SSL:= openssl
PKGFS_MOD_SSL:= libopenssl
-DISTFILES= Python-${PKG_VERSION}.tgz
+DISTFILES= Python-${PKG_VERSION}.tar.xz
WRKDIST= ${WRKDIR}/Python-${PKG_VERSION}
include ${TOPDIR}/mk/host.mk
@@ -55,9 +56,9 @@ define PKG_mod_template
INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
${2}-install:
- ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.3/lib-dynload
+ ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.4/lib-dynload
for m in ${2}; do \
- ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.3/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.3/lib-dynload ;\
+ ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.4/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.4/lib-dynload ;\
done
endef
@@ -84,6 +85,7 @@ $(eval $(call PKG_mod_template,PYTHON3_MOD_SSL,_ssl))
$(eval $(call PKG_mod_template,PYTHON3_MOD_READLINE,readline))
MAKE_ENV+= HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen3
+FAKE_FLAGS+= ENSUREPIP=no
CONFIGURE_ARGS:= --with-threads \
--with-system-ffi \
--with-system-expat \
@@ -97,21 +99,21 @@ HOST_STYLE:= auto
HOST_CONFIGURE_ARGS+= --without-cxx-main \
--with-threads
-hostpost-install:
- $(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
- $(STAGING_HOST_DIR)/usr/bin/pgen3
+#hostpost-install:
+# $(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
+# $(STAGING_HOST_DIR)/usr/bin/pgen3
python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${INSTALL_DIR} ${IDIR_PYTHON3}/usr/bin ${IDIR_PYTHON3}/usr/lib
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.3
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.3m
+ ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.4
+ ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.4m
${INSTALL_BIN} ${WRKINST}/usr/bin/python3 ${IDIR_PYTHON3}/usr/bin
${CP} ${WRKINST}/usr/lib/libpython*.so* ${IDIR_PYTHON3}/usr/lib
- ${CP} ${WRKINST}/usr/lib/python3.3/* ${IDIR_PYTHON3}/usr/lib/python3.3
- ${CP} ${WRKINST}/usr/include/python3.3m/pyconfig.h \
- ${IDIR_PYTHON3}/usr/include/python3.3m
+ ${CP} ${WRKINST}/usr/lib/python3.4/* ${IDIR_PYTHON3}/usr/lib/python3.4
+ ${CP} ${WRKINST}/usr/include/python3.4m/pyconfig.h \
+ ${IDIR_PYTHON3}/usr/include/python3.4m
@-for i in zlib _bz2 _curses _ssl _gdbm _sqlite pyexpat readline; do \
- rm ${IDIR_PYTHON3}/usr/lib/python3.3/lib-dynload/$${i}*so; \
+ rm ${IDIR_PYTHON3}/usr/lib/python3.4/lib-dynload/$${i}*so; \
done
include ${TOPDIR}/mk/host-bottom.mk
diff --git a/package/python3/patches/patch-Makefile_pre_in b/package/python3/patches/patch-Makefile_pre_in
deleted file mode 100644
index 5a4077eba..000000000
--- a/package/python3/patches/patch-Makefile_pre_in
+++ /dev/null
@@ -1,70 +0,0 @@
---- Python-3.3.2.orig/Makefile.pre.in 2013-05-15 18:32:57.000000000 +0200
-+++ Python-3.3.2/Makefile.pre.in 2013-10-29 07:56:46.000000000 +0100
-@@ -70,9 +70,9 @@ MAKESETUP= $(srcdir)/Modules/makese
- OPT= @OPT@
- BASECFLAGS= @BASECFLAGS@
- BASECPPFLAGS= @BASECPPFLAGS@
--CONFIGURE_CFLAGS= @CFLAGS@
--CONFIGURE_CPPFLAGS= @CPPFLAGS@
--CONFIGURE_LDFLAGS= @LDFLAGS@
-+CONFIGURE_CFLAGS=
-+CONFIGURE_CPPFLAGS=
-+CONFIGURE_LDFLAGS=
- # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
- # command line to append to these values without stomping the pre-set
- # values.
-@@ -249,6 +249,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
- ##########################################################################
- # Parser
- PGEN= Parser/pgen$(EXE)
-+HOSTPGEN?= ./Parser/pgen$(EXE)
-
- PSRCS= \
- Parser/acceler.c \
-@@ -493,7 +494,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx
- *) quiet="";; \
- esac; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
-- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
-
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
-@@ -669,7 +670,7 @@ $(IO_OBJS): $(IO_H)
- $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- @$(MKDIR_P) Include
- $(MAKE) $(PGEN)
-- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-+ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- $(MAKE) $(GRAMMAR_H)
- touch $(GRAMMAR_C)
-@@ -1112,28 +1113,6 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST) -f \
-- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
-- $(DESTDIR)$(LIBDEST)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST) -f \
-- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
-- $(DESTDIR)$(LIBDEST)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST)/site-packages -f \
-- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST)/site-packages -f \
-- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
diff --git a/package/python3/patches/patch-Modules_posixmodule_c b/package/python3/patches/patch-Modules_posixmodule_c
deleted file mode 100644
index 537958513..000000000
--- a/package/python3/patches/patch-Modules_posixmodule_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- Python-3.3.2.orig/Modules/posixmodule.c 2013-05-15 18:32:59.000000000 +0200
-+++ Python-3.3.2/Modules/posixmodule.c 2014-01-06 18:59:54.000000000 +0100
-@@ -7679,7 +7679,7 @@ PyDoc_STRVAR(posix_close__doc__,
- Close a file descriptor (for low level IO).");
-
- static PyObject *
--posix_close(PyObject *self, PyObject *args)
-+posix_pyclose(PyObject *self, PyObject *args)
- {
- int fd, res;
- if (!PyArg_ParseTuple(args, "i:close", &fd))
-@@ -11082,7 +11082,7 @@ static PyMethodDef posix_methods[] = {
- {"open", (PyCFunction)posix_open,\
- METH_VARARGS | METH_KEYWORDS,
- posix_open__doc__},
-- {"close", posix_close, METH_VARARGS, posix_close__doc__},
-+ {"close", posix_pyclose, METH_VARARGS, posix_close__doc__},
- {"closerange", posix_closerange, METH_VARARGS, posix_closerange__doc__},
- {"device_encoding", device_encoding, METH_VARARGS, device_encoding__doc__},
- {"dup", posix_dup, METH_VARARGS, posix_dup__doc__},
diff --git a/package/radvd/Makefile b/package/radvd/Makefile
index 1dd5b6ccf..dc927a628 100644
--- a/package/radvd/Makefile
+++ b/package/radvd/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= radvd
-PKG_VERSION:= 1.9.7
+PKG_VERSION:= 1.10.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= 85141c7dc7d35e5499e16052742f1040
+PKG_MD5SUM:= 5ef15bc6c8316dba02147065f8dfdad3
PKG_DESCR:= Routing Advertisement Daemon for IPv6
PKG_SECTION:= ipv6
PKG_DEPENDS:= kmod-ipv6 libdaemon
diff --git a/package/randrproto/Makefile b/package/randrproto/Makefile
index 407f27fbf..fbd6341e5 100644
--- a/package/randrproto/Makefile
+++ b/package/randrproto/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= randrproto
-PKG_VERSION:= 1.3.2
+PKG_VERSION:= 1.4.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= b8fd2f75cf156c9f6e6771addd07ef59
+PKG_MD5SUM:= af44f250b89783eb4967f1dc5b32ef68
PKG_DESCR:= Xrandr protcol headers
PKG_SECTION:= devel
PKG_SITES:= ${MASTER_SITE_XORG}
diff --git a/package/rng-tools/Makefile b/package/rng-tools/Makefile
index 26ad29821..0daf65bf7 100644
--- a/package/rng-tools/Makefile
+++ b/package/rng-tools/Makefile
@@ -4,15 +4,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= rng-tools
-PKG_VERSION:= 2
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 63d503191eabed630324c104cc024475
-PKG_DESCR:= Daemon to use hardware random number generators.
+PKG_VERSION:= 4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= ae89dbfcf08bdfbea19066cfbf599127
+PKG_DESCR:= daemon to use hardware random number generators.
PKG_SECTION:= crypto
PKG_URL:= http://gkernel.sourceforge.net/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=gkernel/}
-PKG_LIBC_DEPENDS:= glibc musl
+# argp.h required
+PKG_LIBC_DEPENDS:= glibc
include $(TOPDIR)/mk/package.mk
diff --git a/package/rrdcollect/Makefile b/package/rrdcollect/Makefile
index c437d5399..39a4d3b2a 100644
--- a/package/rrdcollect/Makefile
+++ b/package/rrdcollect/Makefile
@@ -4,15 +4,17 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= rrdcollect
-PKG_VERSION:= 0.2.9
+PKG_VERSION:= 0.2.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1e94eb0f8d55ebf0f042c10baebc2d3d
+PKG_MD5SUM:= 138e21fc9f2de0b8b6c89f1506394ef8
PKG_DESCR:= Round-Robin Database (RRD) collecting daemon
PKG_SECTION:= admin
PKG_DEPENDS:= librrd
PKG_BUILDDEP:= rrdtool
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=rrdcollect/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
ifneq (${ADK_PACKAGE_LIBRRD},)
RRDTOOL_LIBS:= -lart_lgpl_2 -lfreetype -lpng
endif
@@ -25,8 +27,8 @@ CONFIGURE_ENV+= LIBS="${RRDTOOL_LIBS} -lz" \
ac_cv_func_malloc_0_nonnull=yes
CONFIGURE_ARGS+= --enable-exec \
--without-rrdtool \
- --with-librrd \
- --without-libpcre
+ --without-libpcre \
+ --with-librrd
TARGET_CPPFLAGS+= -DSOCKET_COMM
rrdcollect-install:
diff --git a/package/sane-backends/Makefile b/package/sane-backends/Makefile
index 4bad787ef..570febc37 100644
--- a/package/sane-backends/Makefile
+++ b/package/sane-backends/Makefile
@@ -5,12 +5,12 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= sane-backends
PKG_VERSION:= 1.0.22
-PKG_RELEASE:= 1
+PKG_RELEASE:= 3
PKG_MD5SUM:= fadf56a60f4776bfb24491f66b617cf5
PKG_DESCR:= Scanner access now easy
PKG_SECTION:= misc
PKG_DEPENDS:= libpthread
-PKG_BUILDDEP:= libpthread libusb
+PKG_BUILDDEP:= libpthread libusb libusb-compat
PKG_URL:= http://www.sane-project.org/
PKG_SITES:= ftp://ftp2.sane-project.org/pub/sane/${PKG_NAME}-${PKG_VERSION}/
PKG_MULTI:= 1
@@ -165,6 +165,7 @@ $(eval $(call PKG_mod_template,SANE_BACKEND_UMAX1220U,umax1220u))
$(eval $(call PKG_mod_template,SANE_BACKEND_UMAX_PP,umax_pp))
$(eval $(call PKG_mod_template,SANE_BACKEND_UMAX,umax))
+TARGET_CFLAGS+= -D_GNU_SOURCE
CONFIGURE_ENV+= ac_cv_func_ioperm=no have_libv4l1=no
CONFIGURE_ARGS+= --disable-translations \
--without-gphoto2 \
diff --git a/package/sane-backends/patches/patch-backend_canon630u-common_c b/package/sane-backends/patches/patch-backend_canon630u-common_c
new file mode 100644
index 000000000..d9acb4bf1
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_canon630u-common_c
@@ -0,0 +1,12 @@
+--- sane-backends-1.0.22.orig/backend/canon630u-common.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/canon630u-common.c 2014-03-18 08:33:31.000000000 +0100
+@@ -58,9 +58,7 @@
+ #include <unistd.h> /* usleep */
+ #include <time.h>
+ #include <math.h> /* exp() */
+-#ifdef HAVE_OS2_H
+ #include <sys/types.h> /* mode_t */
+-#endif
+ #include <sys/stat.h>
+ #include "lm9830.h"
+
diff --git a/package/sane-backends/patches/patch-backend_epson2-commands_c b/package/sane-backends/patches/patch-backend_epson2-commands_c
new file mode 100644
index 000000000..3b2c46841
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_epson2-commands_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/epson2-commands.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/epson2-commands.c 2014-03-18 08:34:27.000000000 +0100
+@@ -19,6 +19,7 @@
+
+ #include "sane/config.h"
+
++#include <sys/types.h>
+ #include <byteorder.h>
+ #include <math.h>
+
diff --git a/package/sane-backends/patches/patch-backend_genesys_c b/package/sane-backends/patches/patch-backend_genesys_c
new file mode 100644
index 000000000..fc0398856
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_genesys_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/genesys.c 2011-02-14 00:10:18.000000000 +0100
++++ sane-backends-1.0.22/backend/genesys.c 2014-03-18 08:36:00.000000000 +0100
+@@ -65,6 +65,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <math.h>
+
diff --git a/package/sane-backends/patches/patch-backend_genesys_h b/package/sane-backends/patches/patch-backend_genesys_h
new file mode 100644
index 000000000..efc830be1
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_genesys_h
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/genesys.h 2011-01-16 02:01:28.000000000 +0100
++++ sane-backends-1.0.22/backend/genesys.h 2014-03-18 08:36:42.000000000 +0100
+@@ -52,6 +52,7 @@
+ */
+ #undef UNIT_TESTING
+
++#include <sys/types.h>
+ #include "genesys_low.h"
+
+ #define FREE_IFNOT_NULL(x) if(x!=NULL) { free(x); x=NULL;}
diff --git a/package/sane-backends/patches/patch-backend_genesys_low_c b/package/sane-backends/patches/patch-backend_genesys_low_c
new file mode 100644
index 000000000..430ab3791
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_genesys_low_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/genesys_low.c 2011-02-14 00:10:18.000000000 +0100
++++ sane-backends-1.0.22/backend/genesys_low.c 2014-03-18 08:37:27.000000000 +0100
+@@ -46,6 +46,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <math.h>
+
diff --git a/package/sane-backends/patches/patch-backend_hp3900_rts8822_c b/package/sane-backends/patches/patch-backend_hp3900_rts8822_c
new file mode 100644
index 000000000..59b9b5a9b
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_hp3900_rts8822_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/hp3900_rts8822.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/hp3900_rts8822.c 2014-03-18 08:38:21.000000000 +0100
+@@ -64,6 +64,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h> /* bzero() */
++#include <sys/types.h>
+ #include <time.h> /* clock() */
+ #include <math.h> /* truncf() */
+ #include <ctype.h> /* tolower() */
diff --git a/package/sane-backends/patches/patch-backend_hp5400_sanei_c b/package/sane-backends/patches/patch-backend_hp5400_sanei_c
new file mode 100644
index 000000000..7f340d607
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_hp5400_sanei_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/hp5400_sanei.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/hp5400_sanei.c 2014-03-18 08:39:35.000000000 +0100
+@@ -56,6 +56,7 @@
+ #include "hp5400_xfer.h"
+ #include "hp5400_debug.h"
+ #include <stdio.h>
++#include <sys/types.h>
+ #include "../include/sane/sanei_usb.h"
+
+ #define CMD_INITBULK1 0x0087 /* send 0x14 */
diff --git a/package/sane-backends/patches/patch-backend_hp5590_low_c b/package/sane-backends/patches/patch-backend_hp5590_low_c
new file mode 100644
index 000000000..7812886dc
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_hp5590_low_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/hp5590_low.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/hp5590_low.c 2014-03-18 08:38:55.000000000 +0100
+@@ -46,6 +46,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <sys/types.h>
+ #include <errno.h>
+ #ifdef HAVE_NETINET_IN_H
+ # include <netinet/in.h>
diff --git a/package/sane-backends/patches/patch-backend_kvs20xx_opt_c b/package/sane-backends/patches/patch-backend_kvs20xx_opt_c
new file mode 100644
index 000000000..253699d14
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_kvs20xx_opt_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/kvs20xx_opt.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/kvs20xx_opt.c 2014-03-18 08:41:24.000000000 +0100
+@@ -8,6 +8,7 @@
+
+ #include "../include/sane/config.h"
+
++#include <sys/types.h>
+ #include <string.h>
+
+ #define DEBUG_DECLARE_ONLY
diff --git a/package/sane-backends/patches/patch-backend_rts88xx_lib_c b/package/sane-backends/patches/patch-backend_rts88xx_lib_c
new file mode 100644
index 000000000..060f0a10e
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_rts88xx_lib_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/rts88xx_lib.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/rts88xx_lib.c 2014-03-18 08:42:41.000000000 +0100
+@@ -54,6 +54,7 @@
+
+ #include <stdio.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+
+ #include "../include/_stdint.h"
+
diff --git a/package/sane-backends/patches/patch-backend_xerox_mfp_c b/package/sane-backends/patches/patch-backend_xerox_mfp_c
new file mode 100644
index 000000000..d58262197
--- /dev/null
+++ b/package/sane-backends/patches/patch-backend_xerox_mfp_c
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/backend/xerox_mfp.c 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/backend/xerox_mfp.c 2014-03-18 08:44:56.000000000 +0100
+@@ -22,6 +22,7 @@
+ #include <math.h>
+ #include <unistd.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include "../include/sane/sane.h"
+ #include "../include/sane/sanei.h"
+ #include "../include/sane/saneopts.h"
diff --git a/package/sane-backends/patches/patch-include_sane_sanei_tcp_h b/package/sane-backends/patches/patch-include_sane_sanei_tcp_h
new file mode 100644
index 000000000..4ba390003
--- /dev/null
+++ b/package/sane-backends/patches/patch-include_sane_sanei_tcp_h
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/include/sane/sanei_tcp.h 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/include/sane/sanei_tcp.h 2014-03-18 08:31:07.000000000 +0100
+@@ -20,6 +20,7 @@
+
+ #include <sane/sane.h>
+
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <netdb.h>
+
diff --git a/package/sane-backends/patches/patch-include_sane_sanei_udp_h b/package/sane-backends/patches/patch-include_sane_sanei_udp_h
new file mode 100644
index 000000000..3d70edada
--- /dev/null
+++ b/package/sane-backends/patches/patch-include_sane_sanei_udp_h
@@ -0,0 +1,10 @@
+--- sane-backends-1.0.22.orig/include/sane/sanei_udp.h 2010-12-02 00:49:58.000000000 +0100
++++ sane-backends-1.0.22/include/sane/sanei_udp.h 2014-03-18 08:31:40.000000000 +0100
+@@ -20,6 +20,7 @@
+
+ #include <sane/sane.h>
+
++#include <sys/types.h>
+ #include <netinet/in.h>
+ #include <netdb.h>
+
diff --git a/package/scons/Makefile b/package/scons/Makefile
index 9e92c9917..5f2e3b7c3 100644
--- a/package/scons/Makefile
+++ b/package/scons/Makefile
@@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= scons
PKG_VERSION:= 2.3.0
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 083ce5624d6adcbdaf2526623f456ca9
PKG_DESCR:= a software construction tool
PKG_SECTION:= lang
-PKG_BUILDDEP:= bzip2-host python2-host
+HOST_BUILDDEP:= python2-host
PKG_URL:= http://www.scons.org
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=scons/}
@@ -23,7 +23,8 @@ $(eval $(call HOST_template,SCONS,scons,$(PKG_VERSION)-${PKG_RELEASE}))
HOST_STYLE:= manual
scons-hostinstall:
- (cd $(WRKBUILD); PATH='$(TARGET_PATH)' python setup.py install --prefix=$(STAGING_HOST_DIR)/)
+ (cd $(WRKBUILD); PATH='$(HOST_PATH)' python setup.py install \
+ --prefix=$(STAGING_HOST_DIR)/usr)
include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/shat/Makefile b/package/shat/Makefile
index a28087c75..3bc6fc9ff 100644
--- a/package/shat/Makefile
+++ b/package/shat/Makefile
@@ -7,10 +7,12 @@ PKG_NAME:= shat
PKG_VERSION:= 0.9.7
PKG_RELEASE:= 1
PKG_MD5SUM:= da06846f35838b14d1513523dad84d24
-PKG_DESCR:= Source Hardware Address Translation - a tool for nomadic routing
+PKG_DESCR:= a tool for nomadic routing
PKG_SECTION:= net/misc
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=shat/}
+PKG_LIBC_DEPENDS:= uclibc glibc
+
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SHAT,shat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/siproxd/Makefile b/package/siproxd/Makefile
index 34c835f30..2ece50985 100644
--- a/package/siproxd/Makefile
+++ b/package/siproxd/Makefile
@@ -4,13 +4,13 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= siproxd
-PKG_VERSION:= 0.7.1
+PKG_VERSION:= 0.8.1
PKG_RELEASE:= 1
-PKG_MD5SUM:= 45e5a44803181e2bf3361d562060c904
+PKG_MD5SUM:= 1a6f9d13aeb2d650375c9a346ac6cbaf
PKG_DESCR:= a SIP (Session Initiation Protocol) proxy
PKG_SECTION:= proxy
PKG_DEPENDS:= libosip2 libpthread
-PKG_BUILDDEP:= libosip2
+PKG_BUILDDEP:= autotool libosip2
PKG_URL:= http://siproxd.sourceforge.net
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=siproxd/}
@@ -18,6 +18,8 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SIPROXD,siproxd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+AUTOTOOL_STYLE:= autoreconf
+
siproxd-install:
${INSTALL_DIR} ${IDIR_SIPROXD}/usr/sbin ${IDIR_SIPROXD}/etc
${INSTALL_DATA} ${WRKINST}/etc/siproxd.conf.example \
diff --git a/package/siproxd/patches/patch-libltdl_ltmain_sh b/package/siproxd/patches/patch-libltdl_ltmain_sh
deleted file mode 100644
index 84bfc305b..000000000
--- a/package/siproxd/patches/patch-libltdl_ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- siproxd-0.7.1.orig/libltdl/ltmain.sh 2008-02-02 18:16:31.000000000 +0100
-+++ siproxd-0.7.1/libltdl/ltmain.sh 2011-01-17 12:14:25.000000000 +0100
-@@ -1298,7 +1298,7 @@ EOF
- # but this is not reliable with gcc because gcc may use -mfoo to
- # select a different linker, different libraries, etc, while
- # -Wl,-mfoo simply passes -mfoo to the linker.
-- -m*)
-+ -m*|-fstack-protector*|-flto)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
diff --git a/package/siproxd/patches/patch-scripts_ltmain_sh b/package/siproxd/patches/patch-scripts_ltmain_sh
deleted file mode 100644
index 79b49713d..000000000
--- a/package/siproxd/patches/patch-scripts_ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- siproxd-0.7.1.orig/scripts/ltmain.sh 2008-01-27 17:35:27.000000000 +0100
-+++ siproxd-0.7.1/scripts/ltmain.sh 2011-01-17 12:17:22.000000000 +0100
-@@ -1301,7 +1301,7 @@ EOF
- # but this is not reliable with gcc because gcc may use -mfoo to
- # select a different linker, different libraries, etc, while
- # -Wl,-mfoo simply passes -mfoo to the linker.
-- -m*)
-+ -m*|-fstack-protector*|-flto)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
diff --git a/package/siproxd/patches/patch-src_resolve_c b/package/siproxd/patches/patch-src_resolve_c
new file mode 100644
index 000000000..aaa381969
--- /dev/null
+++ b/package/siproxd/patches/patch-src_resolve_c
@@ -0,0 +1,10 @@
+--- siproxd-0.8.1.orig/src/resolve.c 2011-05-28 17:47:15.000000000 +0200
++++ siproxd-0.8.1/src/resolve.c 2014-03-26 18:37:07.000000000 +0100
+@@ -20,6 +20,7 @@
+
+ #include "config.h"
+
++#include <sys/types.h>
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+
diff --git a/package/socat/Makefile b/package/socat/Makefile
index 4969a6d85..9311ddbcb 100644
--- a/package/socat/Makefile
+++ b/package/socat/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= socat
-PKG_VERSION:= 1.7.2.3
+PKG_VERSION:= 1.7.2.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= 6943f7a5e1ffd553ad2a900bbf05b83a
+PKG_MD5SUM:= 2a15dc3362f49d543abdbacc267d0a41
PKG_DESCR:= A multipurpose relay (SOcket CAT)
PKG_SECTION:= net/misc
PKG_DEPENDS:= libpthread
@@ -22,7 +22,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SOCAT,socat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_ENV+= sc_cv_termios_ispeed="no" \
+CONFIGURE_ENV+= sc_cv_termios_ispeed=no \
sc_cv_sys_crdly_shift=9 \
sc_cv_sys_tabdly_shift=11 \
sc_cv_sys_csize_shift=4
diff --git a/package/socat/patches/501-honor_ldflags.patch b/package/socat/patches/patch-Makefile_in
index 87c777067..e8e979607 100644
--- a/package/socat/patches/501-honor_ldflags.patch
+++ b/package/socat/patches/patch-Makefile_in
@@ -1,6 +1,5 @@
-diff -ruN socat-1.4-old/Makefile.in socat-1.4-new/Makefile.in
---- socat-1.7.2.2.orig/Makefile.in 2011-12-06 08:45:03.000000000 +0100
-+++ socat-1.7.2.2/Makefile.in 2013-12-24 16:37:21.000000000 +0100
+--- socat-1.7.2.4.orig/Makefile.in 2014-03-09 15:48:44.000000000 +0100
++++ socat-1.7.2.4/Makefile.in 2014-03-22 12:13:46.000000000 +0100
@@ -38,7 +38,8 @@ INSTALL = @INSTALL@
#0 CFLAGS = @CFLAGS@ $(CCOPTS) $(DEFS) $(INCLS)
diff --git a/package/socat/patches/patch-configure b/package/socat/patches/patch-configure
new file mode 100644
index 000000000..75b014290
--- /dev/null
+++ b/package/socat/patches/patch-configure
@@ -0,0 +1,23 @@
+--- socat-1.7.2.4.orig/configure 2014-03-09 20:57:51.000000000 +0100
++++ socat-1.7.2.4/configure 2014-03-22 12:20:13.000000000 +0100
+@@ -3347,18 +3347,8 @@ fi
+ # fail
+
+
+-
+-if test "$CC" = "gcc"; then
+- CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
+- ERRONWARN="-Werror -O0"
+-elif test "$CC" = "clang"; then
+- CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
+- ERRONWARN="-Werror -O0"
+-#elif Sun Studio
+-# ERRONWARN="-errwarn"
+-else
+- ERRONWARN=
+-fi
++CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
++ERRONWARN="-Werror -O0"
+ export CFLAGS
+
+
diff --git a/package/sox/Makefile b/package/sox/Makefile
index 2f5436146..af30a9199 100644
--- a/package/sox/Makefile
+++ b/package/sox/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= sox
-PKG_VERSION:= 14.3.2
-PKG_RELEASE:= 1
-PKG_MD5SUM:= e9d35cf3b0f8878596e0b7c49f9e8302
-PKG_DESCR:= Swiss Army knife of sound processing programs
+PKG_VERSION:= 14.4.1
+PKG_RELEASE:= 2
+PKG_MD5SUM:= 670307f40763490a2bc0d1f322071e7a
+PKG_DESCR:= swiss army knife of sound processing programs
PKG_SECTION:= multimedia
PKG_BUILDDEP:= zlib libmad lame alsa-lib libid3tag
PKG_DEPENDS:= zlib libmad liblame alsa-lib libid3tag
diff --git a/package/sox/patches/patch-ltmain_sh b/package/sox/patches/patch-ltmain_sh
deleted file mode 100644
index 722e3e762..000000000
--- a/package/sox/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- sox-14.3.2.orig/ltmain.sh 2011-01-04 06:04:29.000000000 +0100
-+++ sox-14.3.2/ltmain.sh 2011-03-06 00:04:37.000000000 +0100
-@@ -5091,7 +5091,7 @@ func_mode_link ()
- # @file GCC response files
- # -tp=* Portland pgcc target processor selection
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|-fstack-protector*|-flto*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/sox/patches/patch-src_formats_c b/package/sox/patches/patch-src_formats_c
index fc298ba8e..8ad23c63b 100644
--- a/package/sox/patches/patch-src_formats_c
+++ b/package/sox/patches/patch-src_formats_c
@@ -1,20 +1,20 @@
---- sox-14.3.1.orig/src/formats.c 2010-01-02 01:07:28.000000000 +0100
-+++ sox-14.3.1/src/formats.c 2011-03-01 22:15:05.000000000 +0100
-@@ -399,7 +399,7 @@ static void UNUSED rewind_pipe(FILE * fp
+--- sox-14.4.1.orig/src/formats.c 2013-01-13 20:57:39.000000000 +0100
++++ sox-14.4.1/src/formats.c 2014-03-29 15:00:39.000000000 +0100
+@@ -409,7 +409,7 @@ static void UNUSED rewind_pipe(FILE * fp
#if defined _FSTDIO || defined _NEWLIB_VERSION || defined __APPLE__
- fp->_p -= AUTO_DETECT_SIZE;
- fp->_r += AUTO_DETECT_SIZE;
+ fp->_p -= PIPE_AUTO_DETECT_SIZE;
+ fp->_r += PIPE_AUTO_DETECT_SIZE;
-#elif defined __GLIBC__
+#elif defined __GLIBC__ && ! defined __UCLIBC__
fp->_IO_read_ptr = fp->_IO_read_base;
- #elif defined _MSC_VER || defined __MINGW_H || defined _ISO_STDIO_ISO_H
+ #elif defined _MSC_VER || defined _WIN32 || defined _WIN64 || defined _ISO_STDIO_ISO_H
fp->_ptr = fp->_base;
-@@ -407,7 +407,7 @@ static void UNUSED rewind_pipe(FILE * fp
+@@ -417,7 +417,7 @@ static void UNUSED rewind_pipe(FILE * fp
/* To fix this #error, either simply remove the #error line and live without
* file-type detection with pipes, or add support for your compiler in the
- * lines above. Test with cat monkey.au | ./sox --info - */
+ * lines above. Test with cat monkey.wav | ./sox --info - */
- #error FIX NEEDED HERE
-+/* #error FIX NEEDED HERE */
++ //#error FIX NEEDED HERE
#define NO_REWIND_PIPE
(void)fp;
#endif
diff --git a/package/squashfs/Makefile b/package/squashfs/Makefile
new file mode 100644
index 000000000..575849acd
--- /dev/null
+++ b/package/squashfs/Makefile
@@ -0,0 +1,37 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= squashfs
+PKG_VERSION:= 4.2
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 1b7a781fb4cf8938842279bd3e8ee852
+PKG_DESCR:= squashfs filesystem utilities
+PKG_SECTION:= fs
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=squashfs/}
+
+DISTFILES:= ${PKG_NAME}${PKG_VERSION}.tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION}
+
+PKG_CFLINE_SQUASHFS:= depends on ADK_HOST_ONLY
+
+include $(TOPDIR)/mk/host.mk
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,SQUASHFS,squashfs,$(PKG_VERSION)-${PKG_RELEASE}))
+
+HOST_STYLE:= manual
+HOST_MAKE_FLAGS+= XATTR_SUPPORT=0 XZ_SUPPORT=1 EXTRA_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+host-build:
+ (cd ${WRKBUILD}/squashfs-tools && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+
+squashfs-hostinstall:
+ ${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
+ ${INSTALL_BIN} ${WRKBUILD}/squashfs-tools/mksquashfs \
+ ${STAGING_HOST_DIR}/usr/bin
+
+include ${TOPDIR}/mk/host-bottom.mk
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/tools/squashfs/patches/cppflags.patch b/package/squashfs/patches/patch-squashfs-tools_Makefile
index 1432ea3cf..cc764141f 100644
--- a/tools/squashfs/patches/cppflags.patch
+++ b/package/squashfs/patches/patch-squashfs-tools_Makefile
@@ -1,7 +1,6 @@
-diff -Nur squashfs4.2.orig/squashfs-tools/Makefile squashfs4.2/squashfs-tools/Makefile
--- squashfs4.2.orig/squashfs-tools/Makefile 2011-02-28 21:04:15.000000000 +0100
-+++ squashfs4.2/squashfs-tools/Makefile 2013-12-27 13:49:22.000000000 +0100
-@@ -93,7 +93,7 @@
++++ squashfs4.2/squashfs-tools/Makefile 2014-03-29 15:02:11.000000000 +0100
+@@ -93,7 +93,7 @@ XATTR_DEFAULT = 1
# End of BUILD options section #
###############################################
diff --git a/package/squashfs/patches/patch-squashfs-tools_mksquashfs_c b/package/squashfs/patches/patch-squashfs-tools_mksquashfs_c
new file mode 100644
index 000000000..877894c6c
--- /dev/null
+++ b/package/squashfs/patches/patch-squashfs-tools_mksquashfs_c
@@ -0,0 +1,47 @@
+--- squashfs4.2.orig/squashfs-tools/mksquashfs.c 2011-02-28 23:24:09.000000000 +0100
++++ squashfs4.2/squashfs-tools/mksquashfs.c 2014-03-29 15:02:16.000000000 +0100
+@@ -60,6 +60,10 @@
+ #include <sys/sysinfo.h>
+ #endif
+
++#ifndef FNM_EXTMATCH
++#define FNM_EXTMATCH 0
++#endif
++
+ #ifdef SQUASHFS_TRACE
+ #define TRACE(s, args...) \
+ do { \
+@@ -721,13 +725,13 @@ void cache_block_put(struct file_buffer
+ + (((char *)A) - data_cache)))
+
+
+-inline void inc_progress_bar()
++static inline void inc_progress_bar()
+ {
+ cur_uncompressed ++;
+ }
+
+
+-inline void update_progress_bar()
++static inline void update_progress_bar()
+ {
+ pthread_mutex_lock(&progress_mutex);
+ pthread_cond_signal(&progress_wait);
+@@ -735,7 +739,7 @@ inline void update_progress_bar()
+ }
+
+
+-inline void waitforthread(int i)
++static inline void waitforthread(int i)
+ {
+ TRACE("Waiting for thread %d\n", i);
+ while(thread[i] != 0)
+@@ -3340,7 +3344,7 @@ struct inode_info *lookup_inode(struct s
+ }
+
+
+-inline void add_dir_entry(char *name, char *pathname, struct dir_info *sub_dir,
++static inline void add_dir_entry(char *name, char *pathname, struct dir_info *sub_dir,
+ struct inode_info *inode_info, struct dir_info *dir)
+ {
+ if((dir->count % DIR_ENTRIES) == 0) {
diff --git a/package/squashfs/patches/patch-squashfs-tools_unsquashfs_c b/package/squashfs/patches/patch-squashfs-tools_unsquashfs_c
new file mode 100644
index 000000000..d57b184de
--- /dev/null
+++ b/package/squashfs/patches/patch-squashfs-tools_unsquashfs_c
@@ -0,0 +1,39 @@
+--- squashfs4.2.orig/squashfs-tools/unsquashfs.c 2011-02-28 23:27:06.000000000 +0100
++++ squashfs4.2/squashfs-tools/unsquashfs.c 2014-03-29 15:02:16.000000000 +0100
+@@ -29,7 +29,13 @@
+ #include "compressor.h"
+ #include "xattr.h"
+
++#ifndef FNM_EXTMATCH
++#define FNM_EXTMATCH 0
++#endif
++
++#ifdef __linux__
+ #include <sys/sysinfo.h>
++#endif
+ #include <sys/types.h>
+
+ struct cache *fragment_cache, *data_cache;
+@@ -1810,7 +1816,7 @@ void initialise_threads(int fragment_buf
+ "\n");
+
+ if(processors == -1) {
+-#ifndef linux
++#if 0
+ int mib[2];
+ size_t len = sizeof(processors);
+
+@@ -1821,11 +1827,13 @@ void initialise_threads(int fragment_buf
+ mib[1] = HW_NCPU;
+ #endif
+
++#ifdef __linux__
+ if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
+ ERROR("Failed to get number of available processors. "
+ "Defaulting to 1\n");
+ processors = 1;
+ }
++#endif
+ #else
+ processors = sysconf(_SC_NPROCESSORS_ONLN);
+ #endif
diff --git a/package/squid/Makefile b/package/squid/Makefile
index f8e6aaf72..d3471bdce 100644
--- a/package/squid/Makefile
+++ b/package/squid/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= squid
PKG_VERSION:= 3.4.4
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= b36ab3696485a86b43d9194ac9b6b7fe
PKG_DESCR:= squid web and cache proxy
PKG_SECTION:= proxy
diff --git a/package/squid/patches/patch-lib_rfcnb_rfcnb-io_c b/package/squid/patches/patch-lib_rfcnb_rfcnb-io_c
new file mode 100644
index 000000000..32faad55f
--- /dev/null
+++ b/package/squid/patches/patch-lib_rfcnb_rfcnb-io_c
@@ -0,0 +1,11 @@
+--- squid-3.4.4.orig/lib/rfcnb/rfcnb-io.c 2014-03-09 10:40:56.000000000 +0100
++++ squid-3.4.4/lib/rfcnb/rfcnb-io.c 2014-03-27 09:28:30.000000000 +0100
+@@ -30,7 +30,7 @@
+ #include "rfcnb/rfcnb-util.h"
+ #include "rfcnb/std-includes.h"
+ #include <sys/uio.h>
+-#include <sys/signal.h>
++#include <signal.h>
+
+ #if HAVE_STRING_H
+ #include <string.h>
diff --git a/package/strace/patches/patch-desc_c b/package/strace/patches/patch-desc_c
index 9cfb5f505..63a01023e 100644
--- a/package/strace/patches/patch-desc_c
+++ b/package/strace/patches/patch-desc_c
@@ -1,5 +1,5 @@
--- strace-4.8.orig/desc.c 2013-05-02 00:39:10.000000000 +0200
-+++ strace-4.8/desc.c 2014-02-25 15:16:36.000000000 +0100
++++ strace-4.8/desc.c 2014-03-01 19:44:21.000000000 +0100
@@ -223,7 +223,7 @@ static const struct xlat perf_event_open
{ 0, NULL },
};
@@ -9,3 +9,15 @@
/* fcntl/lockf */
static void
printflock64(struct tcb *tcp, long addr, int getlk)
+@@ -255,7 +255,11 @@ printflock(struct tcb *tcp, long addr, i
+ #if SUPPORTED_PERSONALITIES > 1
+ # ifdef X32
+ if (current_personality == 0) {
++#if defined(__GLIBC__)
+ printflock64(tcp, addr, getlk);
++#else
++ printflock(tcp, addr, getlk);
++#endif
+ return;
+ }
+ # endif
diff --git a/package/strongswan/Makefile b/package/strongswan/Makefile
index b60c6e6d7..314e30635 100644
--- a/package/strongswan/Makefile
+++ b/package/strongswan/Makefile
@@ -20,7 +20,7 @@ PKG_SITES:= http://download.strongswan.org/
PKG_LIBC_DEPENDS:= uclibc glibc
-PKG_CHOICES_STRONGSWAN:=WITH_GMP WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_STRONGSWAN:=WITH_GNUTLS WITH_OPENSSL WITH_GMP
PKGCD_WITH_GMP:= use GMP for crypto
PKGCS_WITH_GMP:= libgmp
PKGCB_WITH_GMP:= gmp
diff --git a/package/sudo/Makefile b/package/sudo/Makefile
index bc1ba138d..0c3d9562f 100644
--- a/package/sudo/Makefile
+++ b/package/sudo/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= sudo
-PKG_VERSION:= 1.7.4p4
+PKG_VERSION:= 1.8.10
PKG_RELEASE:= 2
-PKG_MD5SUM:= 55d9906535d70a1de347cd3d3550ee87
+PKG_MD5SUM:= 954d64906c3f6e2436f33445a049c58b
PKG_DESCR:= su do
PKG_SECTION:= admin
PKG_URL:= http://www.courtesan.com/sudo/
@@ -16,9 +16,16 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,SUDO,sudo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CPPFLAGS_FOR_BUILD+= -I../ -I../include
CONFIGURE_ARGS+= --without-pam \
- --with-env-editor \
- --with-timedir=/var/run
+ --without-sendmail \
+ --with-env-editor
+
+ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y)
+CONFIGURE_ARGS+= --enable-hardening
+else
+CONFIGURE_ARGS+= --disable-hardening
+endif
sudo-install:
$(INSTALL_DIR) $(IDIR_SUDO)/usr/bin
diff --git a/package/sudo/patches/patch-compat_Makefile_in b/package/sudo/patches/patch-compat_Makefile_in
new file mode 100644
index 000000000..e52c8a62c
--- /dev/null
+++ b/package/sudo/patches/patch-compat_Makefile_in
@@ -0,0 +1,15 @@
+--- sudo-1.8.10.orig/compat/Makefile.in 2014-03-07 22:51:19.000000000 +0100
++++ sudo-1.8.10/compat/Makefile.in 2014-03-24 15:58:28.000000000 +0100
+@@ -96,10 +96,10 @@ signame.c: mksigname
+ ./mksigname > $@
+
+ mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/missing.h $(top_builddir)/config.h
+- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
++ $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
+
+ mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/missing.h $(top_builddir)/config.h
+- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@
++ $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@
+
+ fnm_test: fnm_test.o libreplace.la
+ $(LIBTOOL) --mode=link $(CC) -o $@ fnm_test.o libreplace.la $(PIE_LDFLAGS) $(SSP_LDFLAGS)
diff --git a/package/sudo/patches/patch-plugins_sudoers_match_c b/package/sudo/patches/patch-plugins_sudoers_match_c
new file mode 100644
index 000000000..57c49e55b
--- /dev/null
+++ b/package/sudo/patches/patch-plugins_sudoers_match_c
@@ -0,0 +1,54 @@
+--- sudo-1.8.10.orig/plugins/sudoers/match.c 2014-03-07 22:51:19.000000000 +0100
++++ sudo-1.8.10/plugins/sudoers/match.c 2014-03-24 16:16:24.000000000 +0100
+@@ -122,10 +122,12 @@ userlist_matches(const struct passwd *pw
+ case ALL:
+ matched = !m->negated;
+ break;
++#if 0
+ case NETGROUP:
+ if (netgr_matches(m->name, NULL, NULL, pw->pw_name))
+ matched = !m->negated;
+ break;
++#endif
+ case USERGROUP:
+ if (usergr_matches(m->name, pw->pw_name, pw))
+ matched = !m->negated;
+@@ -178,10 +180,12 @@ runaslist_matches(const struct member_li
+ case ALL:
+ user_matched = !m->negated;
+ break;
++#if 0
+ case NETGROUP:
+ if (netgr_matches(m->name, NULL, NULL, runas_pw->pw_name))
+ user_matched = !m->negated;
+ break;
++#endif
+ case USERGROUP:
+ if (usergr_matches(m->name, runas_pw->pw_name, runas_pw))
+ user_matched = !m->negated;
+@@ -278,10 +282,12 @@ hostlist_matches(const struct member_lis
+ case ALL:
+ matched = !m->negated;
+ break;
++#if 0
+ case NETGROUP:
+ if (netgr_matches(m->name, user_runhost, user_srunhost, NULL))
+ matched = !m->negated;
+ break;
++#endif
+ case NTWKADDR:
+ if (addr_matches(m->name))
+ matched = !m->negated;
+@@ -930,6 +936,7 @@ sudo_getdomainname(void)
+ * else return false. Either of "lhost", "shost" or "user" may be NULL
+ * in which case that argument is not checked...
+ */
++#if 0
+ bool
+ netgr_matches(const char *netgr, const char *lhost, const char *shost, const char *user)
+ {
+@@ -972,3 +979,4 @@ netgr_matches(const char *netgr, const c
+
+ debug_return_bool(rc);
+ }
++#endif
diff --git a/package/syslinux/Makefile b/package/syslinux/Makefile
index b84c0b9ad..00168274b 100644
--- a/package/syslinux/Makefile
+++ b/package/syslinux/Makefile
@@ -4,29 +4,36 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= syslinux
-PKG_VERSION:= 4.03
+PKG_VERSION:= 6.02
PKG_RELEASE:= 1
-PKG_MD5SUM:= 086ac1c569d226a5e2ae3d605de09a1d
+PKG_MD5SUM:= 1df6ff6e4a82b9d7d71a9e7cb5851a5f
PKG_DESCR:= lightweight bootloaders
-PKG_SECTION:= misc
-PKG_BUILDDEP:= nasm
+PKG_SECTION:= boot
+HOST_BUILDDEP:= nasm-host
PKG_URL:= http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project
PKG_SITES:= http://www.kernel.org/pub/linux/utils/boot/syslinux/
-PKG_ARCH_DEPENDS:= native
-PKG_HOST_DEPENDS:= !darwin !netbsd !openbsd !cygwin !freebsd
+PKG_CFLINE_SYSLINUX:= depends on ADK_HOST_ONLY
+include $(TOPDIR)/mk/host.mk
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,SYSLINUX,syslinux,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call HOST_template,SYSLINUX,syslinux,$(PKG_VERSION)-${PKG_RELEASE}))
-CONFIG_STYLE:= manual
-FAKE_FLAGS+= INSTALLROOT=${WRKINST}
-TARGET_CFLAGS+= -std=c99
+HOST_STYLE:= manual
+HOST_ALL_TARGET:= bios installer
-syslinux-install:
- $(INSTALL_DIR) $(IDIR_SYSLINUX)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/syslinux \
- $(IDIR_SYSLINUX)/usr/bin
+host-build:
+ (cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET})
+syslinux-hostinstall:
+ $(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/share/syslinux
+ $(CP) $(WRKBUILD)/bios/core/isolinux.bin \
+ $(STAGING_HOST_DIR)/usr/share/syslinux
+ $(CP) $(WRKBUILD)/bios/com32/elflink/ldlinux/ldlinux.c32 \
+ $(STAGING_HOST_DIR)/usr/share/syslinux
+
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/tntnet/Makefile b/package/tntnet/Makefile
index 109f13963..e8e674fcc 100644
--- a/package/tntnet/Makefile
+++ b/package/tntnet/Makefile
@@ -17,7 +17,7 @@ PKG_NEED_CXX:= 1
PKG_ARCH_DEPENDS:= !arm !m68k
-PKG_CHOICES_TNTNET:= WITHOUT_SSL WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_TNTNET:= WITH_GNUTLS WITH_OPENSSL WITHOUT_SSL
PKGCD_WITHOUT_SSL:= use no SSL
PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
PKGCS_WITH_OPENSSL:= libopenssl
diff --git a/package/tzdata/Makefile b/package/tzdata/Makefile
index dc038027f..8fd111b3d 100644
--- a/package/tzdata/Makefile
+++ b/package/tzdata/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= tzdata
PKG_VERSION:= 2013d
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= 65b6818162230fc02f86f293376c73df 4616a9560270f180eeb9a08540636890
PKG_DESCR:= Timezone data (/usr/share/zoneinfo)
PKG_SECTION:= utils
@@ -39,8 +39,12 @@ ALL_TARGET:= ALL
INSTALL_TARGET:= INSTALL
tzdata-install:
- $(INSTALL_DIR) $(IDIR_TZDATA)/usr/share $(IDIR_TZDATA)/etc
- $(CP) $(WRKINST)/usr/share/zoneinfo $(IDIR_TZDATA)/usr/share
+ $(INSTALL_DIR) $(IDIR_TZDATA)/usr/share/zoneinfo $(IDIR_TZDATA)/etc
+ cd ${WRKINST} && for f in UTC ${ADK_RUNTIME_TIMEZONE}; do \
+ test -s usr/share/zoneinfo/"$$f" || continue; \
+ echo usr/share/zoneinfo/"$$f" | \
+ ${STAGING_HOST_DIR}/usr/bin/cpio -pdu ${IDIR_TZDATA}/; \
+ done
tz=; cd $(IDIR_TZDATA)/usr/share/zoneinfo || exit 1; \
for f in UTC ${ADK_RUNTIME_TIMEZONE}; do \
test -s "$$f" || continue; \
diff --git a/package/valgrind/Makefile b/package/valgrind/Makefile
index 025db9dac..9c78dc20c 100644
--- a/package/valgrind/Makefile
+++ b/package/valgrind/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= valgrind
PKG_VERSION:= 3.9.0
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 0947de8112f946b9ce64764af7be6df2
PKG_DESCR:= memory management debugging
PKG_SECTION:= debug
diff --git a/package/valgrind/patches/patch-configure_ac b/package/valgrind/patches/patch-configure_ac
index 844275cca..cc7286c90 100644
--- a/package/valgrind/patches/patch-configure_ac
+++ b/package/valgrind/patches/patch-configure_ac
@@ -1,5 +1,5 @@
--- valgrind-3.9.0.orig/configure.ac 2013-11-01 00:28:16.000000000 +0100
-+++ valgrind-3.9.0/configure.ac 2013-11-07 17:26:16.000000000 +0100
++++ valgrind-3.9.0/configure.ac 2014-03-17 14:18:45.000000000 +0100
@@ -155,6 +155,7 @@ esac
# configure-time, and distinguishes them from the VGA_*/VGO_*/VGP_*
# variables used when compiling C files.
@@ -36,6 +36,15 @@
#----------------------------------------------------------------------------
# Sometimes it's convenient to subvert the bi-arch build system and
+@@ -273,7 +286,7 @@ case "${host_os}" in
+ # Ok, this is linux. Check the kernel version
+ AC_MSG_CHECKING([for the kernel version])
+
+- kernel=`uname -r`
++ kernel=3.13
+
+ case "${kernel}" in
+ 2.6.*|3.*)
@@ -792,6 +805,15 @@ AC_EGREP_CPP([BIONIC_LIBC], [
],
GLIBC_VERSION="bionic")
diff --git a/package/vlc/Makefile b/package/vlc/Makefile
index 67f0ec763..74ab64ef7 100644
--- a/package/vlc/Makefile
+++ b/package/vlc/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= vlc
-PKG_VERSION:= 2.1.1
+PKG_VERSION:= 2.1.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1331cd853d56762c96afcb92dd498348
-PKG_DESCR:= Media Player
+PKG_MD5SUM:= 7ed67d22f7425011078772bfc62ac222
+PKG_DESCR:= popular media player
PKG_SECTION:= multimedia
PKG_BUILDDEP:= ffmpeg xcb-util libtheora libgcrypt libmad
PKG_DEPENDS:= libffmpeg xcb-util libtheora libgcrypt
@@ -23,6 +23,7 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,VLC,vlc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
TARGET_CFLAGS+= -fPIC
CONFIGURE_ENV+= ac_cv_func_sched_getaffinity=no
CONFIGURE_ARGS+= --disable-lua \
diff --git a/package/vlc/patches/patch-modules_text_renderer_freetype_c b/package/vlc/patches/patch-modules_text_renderer_freetype_c
deleted file mode 100644
index 0c25fcfdf..000000000
--- a/package/vlc/patches/patch-modules_text_renderer_freetype_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.1.1.orig/modules/text_renderer/freetype.c 2013-09-12 17:18:34.000000000 +0200
-+++ vlc-2.1.1/modules/text_renderer/freetype.c 2013-12-10 10:13:38.000000000 +0100
-@@ -90,7 +90,7 @@
- #endif
-
- /* Freetype */
--#include <freetype/ftsynth.h>
-+#include <ftsynth.h>
- #include FT_FREETYPE_H
- #include FT_GLYPH_H
- #include FT_STROKER_H
diff --git a/package/watchdog/Makefile b/package/watchdog/Makefile
index a4c6d44a5..a8486dd6a 100644
--- a/package/watchdog/Makefile
+++ b/package/watchdog/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= watchdog
-PKG_VERSION:= 5.7
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 31766450ecfc9aff70fe966c0b9df06d
+PKG_VERSION:= 5.13
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 153455f008f1cf8f65f6ad9586a21ff1
PKG_DESCR:= watchdog daemon
PKG_SECTION:= utils
PKG_DEPENDS:= libtirpc
@@ -17,6 +17,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,WATCHDOG,watchdog,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE
TARGET_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/tirpc
TARGET_LDFLAGS+= -ltirpc
diff --git a/package/watchdog/patches/patch-include_extern_h b/package/watchdog/patches/patch-include_extern_h
new file mode 100644
index 000000000..aea373525
--- /dev/null
+++ b/package/watchdog/patches/patch-include_extern_h
@@ -0,0 +1,9 @@
+--- watchdog-5.13.orig/include/extern.h 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/include/extern.h 2014-03-22 15:41:57.000000000 +0100
+@@ -1,5 +1,6 @@
+ #include <netinet/in.h>
+ #include <stdio.h>
++#include <time.h>
+
+ /* external variables */
+ extern int softboot, watchdog, temp, maxtemp, tint, lastts, nrts;
diff --git a/package/watchdog/patches/patch-src_memory_c b/package/watchdog/patches/patch-src_memory_c
new file mode 100644
index 000000000..06540812e
--- /dev/null
+++ b/package/watchdog/patches/patch-src_memory_c
@@ -0,0 +1,11 @@
+--- watchdog-5.13.orig/src/memory.c 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/memory.c 2014-03-22 16:07:15.000000000 +0100
+@@ -81,7 +81,7 @@ int check_memory(void)
+ syslog(LOG_INFO, "currently there are %d kB of free memory available", free);
+ #endif /* USE_SYSLOG */
+
+- if (free < minpages * (EXEC_PAGESIZE / 1024)) {
++ if (free < minpages * (4096 / 1024)) {
+ #if USE_SYSLOG
+ syslog(LOG_ERR, "memory %d kB is less than %d pages", free, minpages);
+ #endif /* USE_SYSLOG */
diff --git a/package/watchdog/patches/patch-src_mntent_c b/package/watchdog/patches/patch-src_mntent_c
deleted file mode 100644
index f2277bdbf..000000000
--- a/package/watchdog/patches/patch-src_mntent_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- watchdog-5.7.orig/src/mntent.c 2010-01-06 13:42:08.000000000 +0100
-+++ watchdog-5.7/src/mntent.c 2010-02-06 04:39:34.804334839 +0100
-@@ -157,7 +157,7 @@ my_getmntent (mntFILE *mfp) {
- if (fgets (buf, sizeof(buf), mfp->mntent_fp) == NULL)
- return NULL;
-
-- s = index (buf, '\n');
-+ s = strchr (buf, '\n');
- if (s == NULL) {
- /* extremely long line - assume file was corrupted */
- mfp->mntent_errs = 1;
diff --git a/package/watchdog/patches/patch-src_net_c b/package/watchdog/patches/patch-src_net_c
new file mode 100644
index 000000000..da56cf791
--- /dev/null
+++ b/package/watchdog/patches/patch-src_net_c
@@ -0,0 +1,10 @@
+--- watchdog-5.13.orig/src/net.c 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/net.c 2014-03-22 16:18:27.000000000 +0100
+@@ -6,6 +6,7 @@
+
+ #include <errno.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+
diff --git a/package/watchdog/patches/patch-src_shutdown_c b/package/watchdog/patches/patch-src_shutdown_c
new file mode 100644
index 000000000..90ba0ee3c
--- /dev/null
+++ b/package/watchdog/patches/patch-src_shutdown_c
@@ -0,0 +1,18 @@
+--- watchdog-5.13.orig/src/shutdown.c 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/shutdown.c 2014-03-22 16:29:44.000000000 +0100
+@@ -186,6 +186,7 @@ static void mnt_off()
+ FILE *fp;
+ struct mntent *mnt;
+
++#if defined __GLIBC__
+ fp = setmntent(MNTTAB, "r");
+ /* in some rare cases fp might be NULL so be careful */
+ while (fp != NULL && ((mnt = getmntent(fp)) != (struct mntent *) 0)) {
+@@ -241,6 +242,7 @@ static void mnt_off()
+ #endif
+ }
+ endmntent(fp);
++#endif
+ }
+
+ /* Parts of the following two functions are taken from Miquel van */
diff --git a/package/watchdog/patches/patch-src_umount_c b/package/watchdog/patches/patch-src_umount_c
deleted file mode 100644
index 6b5a82c1f..000000000
--- a/package/watchdog/patches/patch-src_umount_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- watchdog-5.7.orig/src/umount.c 2010-01-06 13:42:08.000000000 +0100
-+++ watchdog-5.7/src/umount.c 2010-02-06 04:39:47.664334843 +0100
-@@ -212,7 +212,7 @@ umount_one (const char *spec, const char
- if (res < 0)
- umnt_err2 = errno;
- /* Do not complain about remote NFS mount points */
-- if (errno == ENOENT && index(spec, ':'))
-+ if (errno == ENOENT && strchr(spec, ':'))
- umnt_err2 = 0;
- }
- }
diff --git a/package/wget/Makefile b/package/wget/Makefile
index 9c412c3ea..516576a86 100644
--- a/package/wget/Makefile
+++ b/package/wget/Makefile
@@ -13,7 +13,7 @@ PKG_BUILDDEP:= autotool
PKG_URL:= http://www.gnu.org/software/wget/
PKG_SITES:= ${MASTER_SITE_GNU:=wget/}
-PKG_CHOICES_WGET:= WITHOUT_SSL WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_WGET:= WITH_GNUTLS WITH_OPENSSL WITHOUT_SSL
PKGCD_WITHOUT_SSL:= use no SSL
PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
PKGCS_WITH_OPENSSL:= libopenssl ca-certificates libgmp
diff --git a/package/wpa_supplicant/Makefile b/package/wpa_supplicant/Makefile
index e1545e64c..38895bb24 100644
--- a/package/wpa_supplicant/Makefile
+++ b/package/wpa_supplicant/Makefile
@@ -18,7 +18,7 @@ PKG_DFLT_WPA_SUPPLICANT:= y if ADK_TARGET_SYSTEM_IBM_X40
WRKSRC= ${WRKDIST}/${PKG_NAME}
-PKG_CHOICES_WPA_SUPPLICANT:= WITH_OPENSSL WITH_GNUTLS WITH_INTERNAL
+PKG_CHOICES_WPA_SUPPLICANT:= WITH_GNUTLS WITH_OPENSSL WITH_INTERNAL
PKGCD_WITH_OPENSSL:= use OpenSSL for crypto
PKGCS_WITH_OPENSSL:= libopenssl
PKGCB_WITH_OPENSSL:= openssl
diff --git a/package/xbmc/Makefile b/package/xbmc/Makefile
index fed181d92..e8fc5cc40 100644
--- a/package/xbmc/Makefile
+++ b/package/xbmc/Makefile
@@ -69,6 +69,7 @@ CONFIGURE_ARGS+= --disable-optical-drive \
--enable-libbluray \
--enable-external-libraries \
--enable-rtmp \
+ --enable-libcec \
--disable-libusb \
--disable-libcap \
--disable-sdl \
diff --git a/package/xcb-proto/Makefile b/package/xcb-proto/Makefile
index 9e5d2b3b1..e4d2bfe97 100644
--- a/package/xcb-proto/Makefile
+++ b/package/xcb-proto/Makefile
@@ -4,11 +4,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xcb-proto
-PKG_VERSION:= 1.8
+PKG_VERSION:= 1.10
PKG_RELEASE:= 1
PKG_DESCR:= XML-XCB protocol descriptions
PKG_SECTION:= devel
-PKG_MD5SUM:= 8d2cdb770129cef563088a90c5bec768
+PKG_MD5SUM:= 2b9dc6442156aba2bfb4133cb9d7cf46
PKG_BUILDDEP:= autotool bzip2-host python2-host xcb-proto-host
PKG_SITES:= http://xcb.freedesktop.org/dist/
PKG_OPTS:= dev devonly
diff --git a/package/xextproto/Makefile b/package/xextproto/Makefile
index 1c70d3956..368e75037 100644
--- a/package/xextproto/Makefile
+++ b/package/xextproto/Makefile
@@ -4,12 +4,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xextproto
-PKG_VERSION:= 7.2.1
+PKG_VERSION:= 7.3.0
PKG_RELEASE:= 1
PKG_DESCR:= X Protocol Extensions headers
PKG_SECTION:= devel
PKG_BUILDDEP:= xextproto-host
-PKG_MD5SUM:= 9062d689f422fad1b8774c967d730f09
+PKG_MD5SUM:= 37b700baa8c8ea7964702d948dd13821
PKG_SITES:= ${MASTER_SITE_XORG}
PKG_OPTS:= dev devonly
diff --git a/package/xf86-input-keyboard/Makefile b/package/xf86-input-keyboard/Makefile
index cca9b2194..9b46c8f2f 100644
--- a/package/xf86-input-keyboard/Makefile
+++ b/package/xf86-input-keyboard/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xf86-input-keyboard
-PKG_VERSION:= 1.6.1
+PKG_VERSION:= 1.8.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= c2188611990880f06f7d6c2a7672af1b
+PKG_MD5SUM:= 4f3e135e04939916f37f91a111c6f70b
PKG_DESCR:= X11 driver for keyboard
PKG_SECTION:= x11/drivers
PKG_DEPENDS:= xorg-server
diff --git a/package/xf86-input-mouse/Makefile b/package/xf86-input-mouse/Makefile
index f050696f6..0f1267fb4 100644
--- a/package/xf86-input-mouse/Makefile
+++ b/package/xf86-input-mouse/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xf86-input-mouse
-PKG_VERSION:= 1.7.2
+PKG_VERSION:= 1.9.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= 0f2f2dfb7b769544f04b3469803098a5
+PKG_MD5SUM:= 125402066940ef30737721243bb1b77e
PKG_DESCR:= X11 driver for mouse
PKG_SECTION:= x11/drivers
PKG_DEPENDS:= xorg-server
diff --git a/package/xf86-video-fbdev/Makefile b/package/xf86-video-fbdev/Makefile
index cf24b3358..b14e8eaa8 100644
--- a/package/xf86-video-fbdev/Makefile
+++ b/package/xf86-video-fbdev/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xf86-video-fbdev
-PKG_VERSION:= 0.4.2
+PKG_VERSION:= 0.4.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= a94011aac77eb9cd6d46bf0af0dbc631
+PKG_MD5SUM:= 2b5e6dd218243cf96c1a4090596a6bba
PKG_DESCR:= X11 driver for Linux Framebuffer devices
PKG_SECTION:= x11/drivers
PKG_DEPENDS:= xorg-server
diff --git a/package/xf86-video-siliconmotion/Makefile b/package/xf86-video-siliconmotion/Makefile
index 84c73e6bd..69540fc99 100644
--- a/package/xf86-video-siliconmotion/Makefile
+++ b/package/xf86-video-siliconmotion/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xf86-video-siliconmotion
-PKG_VERSION:= 1.7.6
+PKG_VERSION:= 1.7.7
PKG_RELEASE:= 1
-PKG_MD5SUM:= b71859e15fc62563d346c7bccc0ef82e
+PKG_MD5SUM:= 94c44123d8d0a46a7f6bace8508763d8
PKG_DESCR:= X11 driver for Silicon Motion VGA chips
PKG_SECTION:= x11/drivers
PKG_DEPENDS:= xorg-server
@@ -21,6 +21,8 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XF86_VIDEO_SILICONMOTION,xf86-video-siliconmotion,$(PKG_VERSION)-$(PKG_RELEASE),${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ARGS+= --disable-xaa
+
xf86-video-siliconmotion-install:
${INSTALL_DIR} ${IDIR_XF86_VIDEO_SILICONMOTION}/usr/lib/xorg/modules/drivers
${CP} ${WRKINST}/usr/lib/xorg/modules/drivers/siliconmotion_*.so \
diff --git a/package/xf86-video-siliconmotion/patches/patch-src_Makefile_in b/package/xf86-video-siliconmotion/patches/patch-src_Makefile_in
new file mode 100644
index 000000000..141955000
--- /dev/null
+++ b/package/xf86-video-siliconmotion/patches/patch-src_Makefile_in
@@ -0,0 +1,11 @@
+--- xf86-video-siliconmotion-1.7.7.orig/src/Makefile.in 2012-07-17 08:28:17.000000000 +0200
++++ xf86-video-siliconmotion-1.7.7/src/Makefile.in 2014-03-14 18:09:06.901850694 +0100
+@@ -288,7 +288,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) $(PCIACCESS_CFLAGS)
++AM_CFLAGS = $(XORG_CFLAGS) $(PCIACCESS_CFLAGS)
+ siliconmotion_drv_la_LTLIBRARIES = siliconmotion_drv.la
+ siliconmotion_drv_la_LDFLAGS = -module -avoid-version
+ siliconmotion_drv_ladir = @moduledir@/drivers
diff --git a/package/xf86-video-siliconmotion/patches/patch-src_smi_driver_c b/package/xf86-video-siliconmotion/patches/patch-src_smi_driver_c
new file mode 100644
index 000000000..eedd62fcc
--- /dev/null
+++ b/package/xf86-video-siliconmotion/patches/patch-src_smi_driver_c
@@ -0,0 +1,11 @@
+--- xf86-video-siliconmotion-1.7.7.orig/src/smi_driver.c 2012-07-17 06:53:21.000000000 +0200
++++ xf86-video-siliconmotion-1.7.7/src/smi_driver.c 2014-03-14 18:39:37.307139846 +0100
+@@ -1750,8 +1750,6 @@ SMI_ScreenInit(SCREEN_INIT_ARGS_DECL)
+ "Done writing mode. Register dump:\n");
+ SMI_PrintRegs(pScrn);
+
+- miInitializeBackingStore(pScreen);
+-
+ #ifdef HAVE_XMODES
+ xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset));
+ #endif
diff --git a/package/xf86-video-siliconmotion/patches/loongson.patch b/package/xf86-video-siliconmotion/patches/patch-src_smi_video_c
index 2b9041516..e12a74839 100644
--- a/package/xf86-video-siliconmotion/patches/loongson.patch
+++ b/package/xf86-video-siliconmotion/patches/patch-src_smi_video_c
@@ -1,7 +1,6 @@
-diff -Nur xf86-video-siliconmotion-1.7.4/src/smi_video.c xf86-video-siliconmotion-1.7.4-loongson/src/smi_video.c
---- xf86-video-siliconmotion-1.7.4/src/smi_video.c 2010-02-25 08:33:07.000000000 +0100
-+++ xf86-video-siliconmotion-1.7.4-loongson/src/smi_video.c 2012-03-13 04:18:18.634989344 +0100
-@@ -276,6 +276,7 @@
+--- xf86-video-siliconmotion-1.7.7.orig/src/smi_video.c 2012-07-17 06:53:21.000000000 +0200
++++ xf86-video-siliconmotion-1.7.7/src/smi_video.c 2014-03-14 18:35:37.546382342 +0100
+@@ -275,6 +275,7 @@ static XF86ImageRec SMI_VideoImages[] =
XVIMAGE_YUY2,
XVIMAGE_YV12,
XVIMAGE_I420,
@@ -9,7 +8,7 @@ diff -Nur xf86-video-siliconmotion-1.7.4/src/smi_video.c xf86-video-siliconmotio
{
FOURCC_RV15, /* id */
XvRGB, /* type */
-@@ -1464,6 +1465,117 @@
+@@ -1461,6 +1462,117 @@ SMI_QueryBestSize(
LEAVE();
}
@@ -127,7 +126,7 @@ diff -Nur xf86-video-siliconmotion-1.7.4/src/smi_video.c xf86-video-siliconmotio
static int
SMI_PutImage(
-@@ -1592,7 +1704,7 @@
+@@ -1592,7 +1704,7 @@ SMI_PutImage(
offset3 = tmp;
}
nLines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top;
diff --git a/package/xinetd/Makefile b/package/xinetd/Makefile
index 42e3f7b83..deae22563 100644
--- a/package/xinetd/Makefile
+++ b/package/xinetd/Makefile
@@ -4,18 +4,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xinetd
-PKG_VERSION:= 2.3.14
+PKG_VERSION:= 2.3.15
PKG_RELEASE:= 1
-PKG_MD5SUM:= 567382d7972613090215c6c54f9b82d9
+PKG_MD5SUM:= 77358478fd58efa6366accae99b8b04c
PKG_DESCR:= a powerful and secure superserver
PKG_SECTION:= net/misc
PKG_URL:= http://www.xinetd.org/
-PKG_SITES:= http://www.xinetd.org/
+PKG_SITES:= ftp://mirror.ovh.net/gentoo-distfiles/distfiles/
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XINETD,xinetd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ENV+= xinetd_cv_type_rlim_t=yes
CONFIGURE_ARGS+= --without-libwrap \
--with-loadavg
ALL_TARGET:= build
diff --git a/package/xinetd/patches/patch-Makefile_in b/package/xinetd/patches/patch-Makefile_in
index a89962c2e..bfc02b9ab 100644
--- a/package/xinetd/patches/patch-Makefile_in
+++ b/package/xinetd/patches/patch-Makefile_in
@@ -1,14 +1,5 @@
---- xinetd-2.3.14.orig/Makefile.in 2003-08-15 16:00:45.000000000 +0200
-+++ xinetd-2.3.14/Makefile.in 2011-01-22 20:53:07.924898364 +0100
-@@ -14,7 +14,7 @@ topdir = @top_srcdir@
-
- LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@
-
--CFLAGS += @CFLAGS@
-+CFLAGS = @CFLAGS@
- DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -g
-
-
+--- xinetd-2.3.15.orig/Makefile.in 2007-09-20 19:01:52.000000000 +0200
++++ xinetd-2.3.15/Makefile.in 2014-03-23 22:50:01.000000000 +0100
@@ -75,15 +75,15 @@ dlibxlog: dlibsio dlibstr
install: build
diff --git a/package/xinetd/patches/patch-xinetd_confparse_c b/package/xinetd/patches/patch-xinetd_confparse_c
new file mode 100644
index 000000000..e6aa32e68
--- /dev/null
+++ b/package/xinetd/patches/patch-xinetd_confparse_c
@@ -0,0 +1,18 @@
+--- xinetd-2.3.15.orig/xinetd/confparse.c 2007-09-20 16:58:27.000000000 +0200
++++ xinetd-2.3.15/xinetd/confparse.c 2014-03-23 22:39:37.000000000 +0100
+@@ -746,6 +746,7 @@ static status_e check_entry( struct serv
+ }
+
+ /* #ifndef NO_RPC */
++#if 0
+ #if defined(HAVE_RPC_RPCENT_H) || defined(HAVE_NETDB_H)
+ if ( SC_IS_RPC( scp ) && !SC_IS_UNLISTED( scp ) )
+ {
+@@ -760,6 +761,7 @@ static status_e check_entry( struct serv
+ }
+ else
+ #endif /* ! NO_RPC */
++#endif
+ {
+ if ( !SC_IS_UNLISTED( scp ) )
+ {
diff --git a/package/xorg-server/Makefile b/package/xorg-server/Makefile
index fef274746..4e3a33c91 100644
--- a/package/xorg-server/Makefile
+++ b/package/xorg-server/Makefile
@@ -4,19 +4,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xorg-server
-PKG_VERSION:= 1.12.2
-PKG_RELEASE:= 3
-PKG_MD5SUM:= a95c896fbe8322c3c8d518a13eb74c7a
+PKG_VERSION:= 1.15.0
+PKG_RELEASE:= 2
+PKG_MD5SUM:= faf04f1213f9a476997a774254b3abce
PKG_DESCR:= Xorg server
PKG_SECTION:= x11/server
PKG_DEPENDS:= libopenssl libxfont pixman libpciaccess libxkbfile
PKG_DEPENDS+= libfontenc xkeyboard-config xkbcomp libxau libxaw
PKG_DEPENDS+= libxmu libxpm libxrender libxt libxxf86dga libxext
PKG_DEPENDS+= libxdmcp libxv libsm libice libx11 libxcb libgcc librt
+PKG_DEPENDS+= libxshmfence libfreetype libfontenc
PKG_BUILDDEP:= libX11 randrproto renderproto fixesproto damageproto
PKG_BUILDDEP+= scrnsaverproto resourceproto fontsproto videoproto
PKG_BUILDDEP+= compositeproto evieext libxkbfile libXfont pixman
PKG_BUILDDEP+= libpciaccess openssl xf86dgaproto recordproto
+PKG_BUILDDEP+= xineramaproto
PKG_URL:= http://www.x.org/
PKG_SITES:= ${MASTER_SITE_XORG}
PKG_NEED_CXX:= 1
@@ -28,7 +30,7 @@ PKG_ARCH_DEPENDS:= !m68k
PKG_FLAVOURS_XORG_SERVER:= WITH_DRI WITH_KDRIVE
PKGFS_WITH_DRI:= mesalib
PKGFD_WITH_DRI:= enable DRI/DRI2 support
-PKGFB_WITH_DRI:= xf86driproto glproto dri2proto MesaLib
+PKGFB_WITH_DRI:= xf86driproto glproto MesaLib
PKGFD_WITH_KDRIVE:= Build Kdrive Xfbdev server
PKG_CHOICES_XORG_SERVER:= WITH_GCRYPT WITH_CRYPTO
@@ -43,7 +45,7 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XORG_SERVER,xorg-server,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-TARGET_CPPFLAGS+= -D_GNU_SOURCE
+TARGET_CPPFLAGS+= -D_GNU_SOURCE -D__gid_t=gid_t -D__uid_t=uid_t
ifeq (${ADK_PACKAGE_XORG_SERVER_WITH_GCRYPT},y)
CONFIGURE_ARGS+= --with-sha1=libgcrypt
@@ -57,9 +59,10 @@ CONFIGURE_ENV+= V=1
CONFIGURE_ARGS+= --enable-dga \
--enable-xorg \
--enable-xv \
- --enable-xaa \
--enable-vgahw \
--enable-dpms \
+ --enable-xinerama \
+ --disable-docs \
--disable-aiglx \
--disable-config-hal \
--disable-config-udev \
@@ -68,7 +71,6 @@ CONFIGURE_ARGS+= --enable-dga \
--disable-xf86bigfont \
--disable-xf86vidmode \
--disable-xfake \
- --disable-xinerama \
--disable-xnest \
--disable-xselinux \
--disable-xcsecurity \
@@ -85,9 +87,9 @@ CONFIGURE_ARGS+= --disable-kdrive --disable-xfbdev
endif
ifeq (${ADK_PACKAGE_XORG_SERVER_WITH_DRI},y)
-CONFIGURE_ARGS+= --enable-dri --enable-dri2 --enable-glx
+CONFIGURE_ARGS+= --enable-dri --enable-dri2 --enable-dri3 --enable-glx
else
-CONFIGURE_ARGS+= --disable-dri --disable-dri2 --disable-glx
+CONFIGURE_ARGS+= --disable-dri --disable-dri2 --disable-dri3 --disable-glx
endif
ifeq (${ADK_TARGET_SYSTEM_LEMOTE_YEELONG},y)
@@ -117,10 +119,6 @@ ifeq (${ADK_TARGET_SYSTEM_SHARP_ZAURUS},y)
${CP} ./files/xorg.conf.sharp-zaurus \
$(IDIR_XORG_SERVER)/etc/X11/xorg.conf
endif
-ifeq (${ADK_PACKAGE_XORG_SERVER_WITH_DRI},y)
- ${CP} ${WRKINST}/usr/lib/xorg/modules/extensions/*dri*.so \
- $(IDIR_XORG_SERVER)/usr/lib/xorg/modules/extensions
-endif
# add m4 file to host directory
$(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/share/aclocal
$(CP) ${WRKINST}/usr/share/aclocal/xorg-server.m4 \
diff --git a/package/xorg-server/files/xorg.conf.lemote-yeelong b/package/xorg-server/files/xorg.conf.lemote-yeelong
index 042471020..c6204c590 100644
--- a/package/xorg-server/files/xorg.conf.lemote-yeelong
+++ b/package/xorg-server/files/xorg.conf.lemote-yeelong
@@ -12,13 +12,10 @@ Section "Module"
Load "vgahw"
Load "fb"
Load "exa"
- Load "xaa"
Load "int10"
Load "ddc"
Load "i2c"
Load "vbe"
- Disable "glx"
- Disable "dri"
EndSection
Section "Device"
@@ -27,7 +24,7 @@ Section "Device"
VendorName "Silicon Motion, Inc."
BoardName "SM712 LynxEM+"
BusID "PCI:0:8:0"
- Option "AccelMethod" "XAA"
+ Option "AccelMethod" "EXA"
Option "pci_burst" "true"
Option "PanelSize" "1024x600"
EndSection
diff --git a/package/xorg-server/patches/patch-fb_fb_h b/package/xorg-server/patches/patch-fb_fb_h
deleted file mode 100644
index 9118bec68..000000000
--- a/package/xorg-server/patches/patch-fb_fb_h
+++ /dev/null
@@ -1,13 +0,0 @@
- Fix for xf86-video-siliconmotion in 16bpp with XAA, see:
- http://groups.google.com/group/loongson-dev/browse_thread/thread/570549e3d7894fef/5f04b3d9370adfd2
---- xorg-server-1.12.2.orig/fb/fb.h 2012-05-29 22:04:19.000000000 +0200
-+++ xorg-server-1.12.2/fb/fb.h 2013-04-30 10:33:00.000000000 +0200
-@@ -70,7 +70,7 @@
- #define FBPREFIX(x) fb##x
- #define WRITE(ptr, val) (*(ptr) = (val))
- #define READ(ptr) (*(ptr))
--#define MEMCPY_WRAPPED(dst, src, size) memcpy((dst), (src), (size))
-+#define MEMCPY_WRAPPED(dst, src, size) memmove((dst), (src), (size))
- #define MEMSET_WRAPPED(dst, val, size) memset((dst), (val), (size))
-
- #endif
diff --git a/package/xorg-server/patches/patch-hw_kdrive_linux_linux_c b/package/xorg-server/patches/patch-hw_kdrive_linux_linux_c
deleted file mode 100644
index 2a8477cb8..000000000
--- a/package/xorg-server/patches/patch-hw_kdrive_linux_linux_c
+++ /dev/null
@@ -1,13 +0,0 @@
---- xorg-server-1.12.2.orig/hw/kdrive/linux/linux.c 2012-05-17 19:09:03.000000000 +0200
-+++ xorg-server-1.12.2/hw/kdrive/linux/linux.c 2013-12-22 20:10:03.000000000 +0100
-@@ -66,8 +66,8 @@ static void
- LinuxCheckChown(char *file)
- {
- struct stat st;
-- __uid_t u;
-- __gid_t g;
-+ uid_t u;
-+ gid_t g;
-
- if (stat(file, &st) < 0)
- return;
diff --git a/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h b/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h
index 8a5f29ebd..3a0eb0dbb 100644
--- a/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h
+++ b/package/xorg-server/patches/patch-hw_xfree86_common_compiler_h
@@ -1,58 +1,13 @@
---- xorg-server-1.12.2.orig/hw/xfree86/common/compiler.h 2012-05-17 19:09:03.000000000 +0200
-+++ xorg-server-1.12.2/hw/xfree86/common/compiler.h 2013-04-30 10:52:21.000000000 +0200
-@@ -710,26 +710,26 @@ xf86WriteMmio32LeNB(__volatile__ void *b
- #define PORT_SIZE short
- #endif
-
--_X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */
-+_X_EXPORT volatile unsigned char *ioBase; /* Memory mapped I/O port area */
-
- static __inline__ void
- outb(unsigned PORT_SIZE port, unsigned char val)
- {
-- *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
-+ *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) + ioBase) =
- val;
- }
-
- static __inline__ void
- outw(unsigned PORT_SIZE port, unsigned short val)
- {
-- *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
-+ *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) + ioBase) =
- val;
- }
-
- static __inline__ void
- outl(unsigned PORT_SIZE port, unsigned int val)
- {
-- *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
-+ *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) + ioBase) =
- val;
+from alpinelinux
+
+--- xorg-server-1.15.0.orig/hw/xfree86/common/compiler.h 2013-12-15 08:48:09.000000000 +0100
++++ xorg-server-1.15.0/hw/xfree86/common/compiler.h 2014-03-14 23:25:52.000000000 +0100
+@@ -995,7 +995,7 @@ inl(unsigned short port)
+ return xf86ReadMmio32Le((void *) ioBase, port);
}
-@@ -737,21 +737,21 @@ static __inline__ unsigned int
- inb(unsigned PORT_SIZE port)
- {
- return *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) +
-- IOPortBase);
-+ ioBase);
- }
-
- static __inline__ unsigned int
- inw(unsigned PORT_SIZE port)
- {
- return *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) +
-- IOPortBase);
-+ ioBase);
- }
-
- static __inline__ unsigned int
- inl(unsigned PORT_SIZE port)
- {
- return *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) +
-- IOPortBase);
-+ ioBase);
- }
+-#elif defined(__arm__) && defined(__linux__)
++#elif defined(__arm__) && defined(__GLIBC__)
- #if defined(__mips__)
+ /* for Linux on ARM, we use the LIBC inx/outx routines */
+ /* note that the appropriate setup via "ioperm" needs to be done */
diff --git a/package/xorg-server/patches/patch-hw_xfree86_dri_dri_h b/package/xorg-server/patches/patch-hw_xfree86_dri_dri_h
deleted file mode 100644
index 0e3d1974a..000000000
--- a/package/xorg-server/patches/patch-hw_xfree86_dri_dri_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- xorg-server-1.7.5.orig/hw/xfree86/dri/dri.h 2009-08-11 06:00:23.000000000 +0200
-+++ xorg-server-1.7.5/hw/xfree86/dri/dri.h 2010-04-21 19:59:22.000000000 +0200
-@@ -38,7 +38,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
- #include <pciaccess.h>
-
- #include "scrnintstr.h"
--#include "xf86dri.h"
-+#include <X11/dri/xf86dri.h>
-
- typedef int DRISyncType;
-
diff --git a/package/xorg-server/patches/patch-hw_xfree86_dri_sarea_h b/package/xorg-server/patches/patch-hw_xfree86_dri_sarea_h
deleted file mode 100644
index 6f45382eb..000000000
--- a/package/xorg-server/patches/patch-hw_xfree86_dri_sarea_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- xorg-server-1.12.2.orig/hw/xfree86/dri/sarea.h 2012-05-17 19:09:03.000000000 +0200
-+++ xorg-server-1.12.2/hw/xfree86/dri/sarea.h 2013-04-30 10:33:00.000000000 +0200
-@@ -41,6 +41,8 @@
- /* SAREA area needs to be at least a page */
- #if defined(__alpha__)
- #define SAREA_MAX 0x2000
-+#elif defined(__mips__)
-+#define SAREA_MAX 0x4000
- #elif defined(__ia64__)
- #define SAREA_MAX 0x10000 /* 64kB */
- #else
diff --git a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_init_c b/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_init_c
deleted file mode 100644
index fd8fcfced..000000000
--- a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_init_c
+++ /dev/null
@@ -1,13 +0,0 @@
---- xorg-server-1.12.2.orig/hw/xfree86/os-support/linux/lnx_init.c 2012-05-17 19:09:03.000000000 +0200
-+++ xorg-server-1.12.2/hw/xfree86/os-support/linux/lnx_init.c 2013-04-30 10:33:00.000000000 +0200
-@@ -75,8 +75,8 @@ xf86OpenConsole(void)
- struct vt_mode VT;
- struct vt_stat vts;
- MessageType from = X_PROBED;
-- char *tty0[] = { "/dev/tty0", "/dev/vc/0", NULL };
-- char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL };
-+ char *tty0[] = { "/dev/tty0", NULL };
-+ char *vcs[] = { "/dev/tty%d", NULL };
-
- if (serverGeneration == 1) {
-
diff --git a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c b/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c
deleted file mode 100644
index 4dbf01589..000000000
--- a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c
+++ /dev/null
@@ -1,56 +0,0 @@
---- xorg-server-1.12.2.orig/hw/xfree86/os-support/linux/lnx_video.c 2012-05-17 19:09:03.000000000 +0200
-+++ xorg-server-1.12.2/hw/xfree86/os-support/linux/lnx_video.c 2013-04-30 10:49:01.000000000 +0200
-@@ -472,7 +472,7 @@ unmapVidMem(int ScreenNum, pointer Base,
- /* I/O Permissions section */
- /***************************************************************************/
-
--#if defined(__powerpc__)
-+#if defined(__powerpc__) || defined(__mips__)
- volatile unsigned char *ioBase = NULL;
-
- #ifndef __NR_pciconfig_iobase
-@@ -484,7 +484,7 @@ volatile unsigned char *ioBase = NULL;
- Bool
- xf86EnableIO(void)
- {
--#if defined(__powerpc__)
-+#if defined(__powerpc__) || defined(__mips__)
- int fd;
- unsigned int ioBase_phys;
- #endif
-@@ -492,8 +492,12 @@ xf86EnableIO(void)
- if (ExtendedEnabled)
- return TRUE;
-
--#if defined(__powerpc__)
-+#if defined(__powerpc__) || defined(__mips__)
-+#ifdef __powerpc__
- ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0);
-+#else
-+ ioBase_phys = 0x1fd00000;
-+#endif
-
- fd = open("/dev/mem", O_RDWR);
- if (ioBase == NULL) {
-@@ -511,7 +515,7 @@ xf86EnableIO(void)
- #endif
- }
- close(fd);
--#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) && !defined(__nds32__)
-+#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) && !defined(__nds32__)
- if (ioperm(0, 1024, 1) || iopl(3)) {
- if (errno == ENODEV)
- ErrorF("xf86EnableIOPorts: no I/O ports found\n");
-@@ -537,10 +541,10 @@ xf86DisableIO(void)
- {
- if (!ExtendedEnabled)
- return;
--#if defined(__powerpc__)
-+#if defined(__powerpc__) || defined(__mips__)
- munmap(ioBase, 0x20000);
- ioBase = NULL;
--#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) && !defined(__nds32__)
-+#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) && !defined(__nds32__)
- iopl(0);
- ioperm(0, 1024, 0);
- #endif
diff --git a/package/xorg-server/patches/patch-hw_xfree86_os-support_xf86_OSlib_h b/package/xorg-server/patches/patch-hw_xfree86_os-support_xf86_OSlib_h
index cd1c5c15c..2fa3bed60 100644
--- a/package/xorg-server/patches/patch-hw_xfree86_os-support_xf86_OSlib_h
+++ b/package/xorg-server/patches/patch-hw_xfree86_os-support_xf86_OSlib_h
@@ -1,14 +1,16 @@
---- xorg-server-1.12.2.orig/hw/xfree86/os-support/xf86_OSlib.h 2012-05-17 19:09:03.000000000 +0200
-+++ xorg-server-1.12.2/hw/xfree86/os-support/xf86_OSlib.h 2013-10-29 15:23:18.000000000 +0100
-@@ -178,11 +178,7 @@
+--- xorg-server-1.15.0.orig/hw/xfree86/os-support/xf86_OSlib.h 2013-12-15 08:48:09.000000000 +0100
++++ xorg-server-1.15.0/hw/xfree86/os-support/xf86_OSlib.h 2014-03-14 22:59:25.000000000 +0100
+@@ -177,12 +177,8 @@
+ #include <stdlib.h>
#include <sys/types.h>
#include <assert.h>
-
+-
-#ifdef __linux__
-#include <termio.h>
-#else /* __GLIBC__ */
#include <termios.h>
-#endif
++
#ifdef __sparc__
#include <sys/param.h>
#endif
diff --git a/package/xorg-server/patches/patch-ltmain_sh b/package/xorg-server/patches/patch-ltmain_sh
deleted file mode 100644
index eedadf67e..000000000
--- a/package/xorg-server/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- xorg-server-1.12.2.orig/ltmain.sh 2012-05-29 22:06:05.000000000 +0200
-+++ xorg-server-1.12.2/ltmain.sh 2013-04-30 10:33:00.000000000 +0200
-@@ -5853,7 +5853,7 @@ func_mode_link ()
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
-+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/xterm/Makefile b/package/xterm/Makefile
index 10bfaf21a..6575fae60 100644
--- a/package/xterm/Makefile
+++ b/package/xterm/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xterm
-PKG_VERSION:= 297
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 45610ae6fe90cf086fcd75b9cb97bbaf
+PKG_VERSION:= 303
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 48f6d49b2b6b6933d501d767cbed9254
PKG_DESCR:= Terminal Emulator for X Windows
PKG_SECTION:= x11/apps
PKG_DEPENDS:= libxaw libxt libncurses libxft fontconfig
diff --git a/package/xtrans/Makefile b/package/xtrans/Makefile
index fbbd16857..103ca9e7f 100644
--- a/package/xtrans/Makefile
+++ b/package/xtrans/Makefile
@@ -4,12 +4,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xtrans
-PKG_VERSION:= 1.2.6
+PKG_VERSION:= 1.3.3
PKG_RELEASE:= 1
PKG_DESCR:= X11 network protocol transport library
PKG_SECTION:= devel
PKG_BUILDDEP:= xtrans-host
-PKG_MD5SUM:= b91dd22b77a350d129a81175cd8c58cc
+PKG_MD5SUM:= c83d04cd878f1e51a44d132aa1d5b932
PKG_SITES:= ${MASTER_SITE_XORG}
PKG_OPTS:= dev devonly
diff --git a/package/xz/Makefile b/package/xz/Makefile
index 1793f8eaf..ac68ff653 100644
--- a/package/xz/Makefile
+++ b/package/xz/Makefile
@@ -13,13 +13,18 @@ PKG_URL:= http://tukaani.org/xz/
PKG_SITES:= http://tukaani.org/xz/
PKG_OPTS:= dev
+include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
+$(eval $(call HOST_template,XZ,xz,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,XZ,xz,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+HOST_STYLE:= auto
+
xz-install:
${INSTALL_DIR} ${IDIR_XZ}/usr/bin ${IDIR_XZ}/usr/lib
${CP} ${WRKINST}/usr/bin/* ${IDIR_XZ}/usr/bin
${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_XZ}/usr/lib
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/rules.mk b/rules.mk
index 2fe8aa751..09323e912 100644
--- a/rules.mk
+++ b/rules.mk
@@ -25,37 +25,37 @@ SET_DASHX:= :
endif
# Strip off the annoying quoting
-ADK_TARGET_KERNEL:= $(strip $(subst ",, $(ADK_TARGET_KERNEL)))
-ADK_TARGET_ARCH:= $(strip $(subst ",, $(ADK_TARGET_ARCH)))
-ADK_TARGET_SYSTEM:= $(strip $(subst ",, $(ADK_TARGET_SYSTEM)))
-ADK_TARGET_LIBC:= $(strip $(subst ",, $(ADK_TARGET_LIBC)))
-ADK_TARGET_LIBC_PATH:= $(strip $(subst ",, $(ADK_TARGET_LIBC_PATH)))
-ADK_TARGET_ENDIAN:= $(strip $(subst ",, $(ADK_TARGET_ENDIAN)))
-ADK_TARGET_FLOAT:= $(strip $(subst ",, $(ADK_TARGET_FLOAT)))
-ADK_TARGET_ARM_MODE:= $(strip $(subst ",, $(ADK_TARGET_ARM_MODE)))
-ADK_TARGET_CPU_ARCH:= $(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
-ADK_TARGET_CFLAGS:= $(strip $(subst ",, $(ADK_TARGET_CFLAGS)))
-ADK_TARGET_ABI_CFLAGS:= $(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
-ADK_TARGET_ABI_LDFLAGS:= $(strip $(subst ",, $(ADK_TARGET_ABI_LDFLAGS)))
-ADK_TARGET_KERNEL_LDFLAGS:= $(strip $(subst ",, $(ADK_TARGET_KERNEL_LDFLAGS)))
-ADK_TARGET_ABI:= $(strip $(subst ",, $(ADK_TARGET_ABI)))
-ADK_TARGET_MIPS_ABI:= $(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
-ADK_TARGET_IP:= $(strip $(subst ",, $(ADK_TARGET_IP)))
-ADK_TARGET_SUFFIX:= $(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
-ADK_TARGET_CMDLINE:= $(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
-ADK_QEMU_ARGS:= $(strip $(subst ",, $(ADK_QEMU_ARGS)))
-ADK_RUNTIME_TMPFS_SIZE:= $(strip $(subst ",, $(ADK_RUNTIME_TMPFS_SIZE)))
+ADK_TARGET_KERNEL:= $(strip $(subst ",, $(ADK_TARGET_KERNEL)))
+ADK_TARGET_ARCH:= $(strip $(subst ",, $(ADK_TARGET_ARCH)))
+ADK_TARGET_SYSTEM:= $(strip $(subst ",, $(ADK_TARGET_SYSTEM)))
+ADK_TARGET_LIBC:= $(strip $(subst ",, $(ADK_TARGET_LIBC)))
+ADK_TARGET_LIBC_PATH:= $(strip $(subst ",, $(ADK_TARGET_LIBC_PATH)))
+ADK_TARGET_ENDIAN:= $(strip $(subst ",, $(ADK_TARGET_ENDIAN)))
+ADK_TARGET_FLOAT:= $(strip $(subst ",, $(ADK_TARGET_FLOAT)))
+ADK_TARGET_FPU:= $(strip $(subst ",, $(ADK_TARGET_FPU)))
+ADK_TARGET_ARM_MODE:= $(strip $(subst ",, $(ADK_TARGET_ARM_MODE)))
+ADK_TARGET_CPU_ARCH:= $(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
+ADK_TARGET_CFLAGS:= $(strip $(subst ",, $(ADK_TARGET_CFLAGS)))
+ADK_TARGET_CFLAGS_OPT:= $(strip $(subst ",, $(ADK_TARGET_CFLAGS_OPT)))
+ADK_TARGET_ABI_CFLAGS:= $(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
+ADK_TARGET_ABI:= $(strip $(subst ",, $(ADK_TARGET_ABI)))
+ADK_TARGET_MIPS_ABI:= $(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
+ADK_TARGET_IP:= $(strip $(subst ",, $(ADK_TARGET_IP)))
+ADK_TARGET_SUFFIX:= $(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
+ADK_TARGET_CMDLINE:= $(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
+ADK_QEMU_ARGS:= $(strip $(subst ",, $(ADK_QEMU_ARGS)))
+ADK_RUNTIME_TMPFS_SIZE:= $(strip $(subst ",, $(ADK_RUNTIME_TMPFS_SIZE)))
ADK_RUNTIME_CONSOLE_SERIAL_SPEED:= $(strip $(subst ",, $(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)))
-ADK_HOST:= $(strip $(subst ",, $(ADK_HOST)))
-ADK_VENDOR:= $(strip $(subst ",, $(ADK_VENDOR)))
-ADK_DL_DIR:= $(strip $(subst ",, $(ADK_DL_DIR)))
-ADK_COMPRESSION_TOOL:= $(strip $(subst ",, $(ADK_COMPRESSION_TOOL)))
-ADK_TOOLS_ADDPATTERN_ARGS:= $(strip $(subst ",, $(ADK_TOOLS_ADDPATTERN_ARGS)))
-ADK_KERNEL_VERSION:= $(strip $(subst ",, $(ADK_KERNEL_VERSION)))
+ADK_RUNTIME_CONSOLE_SERIAL_DEVICE:= $(strip $(subst ",, $(ADK_RUNTIME_CONSOLE_SERIAL_DEVICE)))
+ADK_HOST:= $(strip $(subst ",, $(ADK_HOST)))
+ADK_VENDOR:= $(strip $(subst ",, $(ADK_VENDOR)))
+ADK_DL_DIR:= $(strip $(subst ",, $(ADK_DL_DIR)))
+ADK_COMPRESSION_TOOL:= $(strip $(subst ",, $(ADK_COMPRESSION_TOOL)))
+ADK_KERNEL_VERSION:= $(strip $(subst ",, $(ADK_KERNEL_VERSION)))
ADK_PARAMETER_NETCONSOLE_SRC_IP:= $(strip $(subst ",, $(ADK_PARAMETER_NETCONSOLE_SRC_IP)))
ADK_PARAMETER_NETCONSOLE_DST_IP:= $(strip $(subst ",, $(ADK_PARAMETER_NETCONSOLE_DST_IP)))
-ADK_JFFS2_OPTS:= $(strip $(subst ",, $(ADK_JFFS2_OPTS)))
-ADK_WGET_TIMEOUT:= $(strip $(subst ",, $(ADK_WGET_TIMEOUT)))
+ADK_JFFS2_OPTS:= $(strip $(subst ",, $(ADK_JFFS2_OPTS)))
+ADK_WGET_TIMEOUT:= $(strip $(subst ",, $(ADK_WGET_TIMEOUT)))
ifeq ($(strip ${ADK_HAVE_DOT_CONFIG}),y)
ifneq ($(strip $(wildcard $(TOPDIR)/target/$(ADK_TARGET_ARCH)/target.mk)),)
diff --git a/scripts/adkprepare.sh b/scripts/adkprepare.sh
index 08d1ee1a1..5b18d30e3 100755
--- a/scripts/adkprepare.sh
+++ b/scripts/adkprepare.sh
@@ -21,36 +21,28 @@ openbsd() {
PKG_PATH="ftp://ftp.openbsd.org/pub/OpenBSD/${ver}/packages/${arch}/"
export PKG_PATH
pkg_add -v gmake
- pkg_add -v git
pkg_add -v bash
pkg_add -v wget
pkg_add -v gtar--
pkg_add -v gawk
pkg_add -v gsed
- pkg_add -v screen--
- pkg_add -v vim--no_x11
- pkg_add -v py-libxml
}
netbsd() {
echo "Preparing NetBSD for OpenADK"
PKG_PATH="ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/${arch}/${ver}/All/"
export PKG_PATH
- pkg_add -vu scmgit
pkg_add -vu gmake
pkg_add -vu bash
pkg_add -vu wget
pkg_add -vu gtar
pkg_add -vu gsed
pkg_add -vu gawk
- pkg_add -vu vim
- pkg_add -vu screen
- pkg_add -vu mksh
}
freebsd() {
echo "Preparing FreeBSD for OpenADK"
- pkg_add -r git gmake bash wget gtar gsed gawk screen mksh vim
+ pkg_add -r gmake bash wget gtar gsed gawk
}
case $os in
diff --git a/scripts/find b/scripts/find
deleted file mode 100755
index ea38d92fb..000000000
--- a/scripts/find
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-if [ -z "$(which gfind 2>/dev/null)" ];then
- /usr/bin/find "$@"
-else
- gfind "$@"
-fi
diff --git a/scripts/gcc-bisect.sh b/scripts/gcc-bisect.sh
new file mode 100644
index 000000000..1da4dd5d6
--- /dev/null
+++ b/scripts/gcc-bisect.sh
@@ -0,0 +1,206 @@
+#!/bin/sh
+rm -rf host_x86_64-linux-gnu target_sparc_glibc
+rm -rf gcc-*
+mkdir host_x86_64-linux-gnu
+mkdir target_sparc_glibc
+
+tar xvf binutils-2.24.tar.bz2
+cd binutils-2.24
+./configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \
+ --target=sparc-openadk-linux-gnu \
+ --with-sysroot=/home/wbx/smoke/target_sparc_glibc \
+ --disable-dependency-tracking \
+ --disable-libtool-lock \
+ --disable-nls \
+ --disable-werror \
+ --disable-plugins \
+ --disable-libssp --disable-multilib
+make -j4 all
+make install
+cd ..
+
+tar xvf gmp-5.1.3.tar.xz
+cd gmp-5.1.3
+cp configfsf.guess config.guess
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/usr/bin:$PATH" \
+ ./configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \
+ --with-pic \
+ --disable-shared \
+ --enable-static
+make -j4 all
+make install
+cd ..
+
+tar xvf mpfr-3.1.2.tar.xz
+cd mpfr-3.1.2
+./configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \
+ --with-gmp-build=/home/wbx/smoke/gmp-5.1.3 \
+ --disable-shared \
+ --enable-static
+make -j4 all
+make install
+cd ..
+
+tar xvf mpc-0.8.2.tar.gz
+cd mpc-0.8.2
+./configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \
+ --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu \
+ --disable-shared \
+ --enable-static
+make -j4 all
+make install
+make install
+cd ..
+
+tar xvf libelf-0.8.13.tar.gz
+cd libelf-0.8.13
+./configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \
+ --disable-nls \
+ --disable-shared \
+ --enable-static
+make -j4 all
+make install
+cd ..
+
+rm -rf host_x86_64-linux-gnu/sparc-openadk-linux-gnu/{lib,sys-include}
+cd host_x86_64-linux-gnu/sparc-openadk-linux-gnu/
+ln -sf ../../target_sparc_glibc/usr/include sys-include
+ln -sf ../../target_sparc_glibc/lib lib
+cd -
+
+mkdir gcc-minimal
+cd gcc-minimal
+CFLAGS="-O0 -g0" \
+CXXFLAGS="-O0 -g0" \
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" \
+../gcc/configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=sparc-openadk-linux-gnu --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu --with-mpfr=/home/wbx/smoke/host_x86_64-linux-gnu --with-libelf=/home/wbx/smoke/host_x86_64-linux-gnu --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --enable-tls --disable-libsanitizer --disable-libitm --disable-libmudflap --disable-libgomp --disable-decimal-float --disable-libstdcxx-pch --disable-ppl-version-check --disable-cloog-version-check --without-system-zlib --without-ppl --without-cloog --without-isl --disable-nls --enable-target-optspace \
+ --enable-languages=c \
+ --disable-multilib \
+ --disable-lto \
+ --disable-libssp \
+ --disable-shared \
+ --without-headers
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make -j4 all-gcc
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make install-gcc
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+cd ..
+
+cd linux-3.13.6
+make V=1 ARCH=sparc CROSS_COMPILE="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" HOSTCC="cc" CONFIG_SHELL='/bin/bash' HOSTCFLAGS='-O2 -Wall' INSTALL_HDR_PATH=/home/wbx/smoke/target_sparc_glibc/usr headers_install
+cd ..
+
+cd glibc-2.19-header
+libc_cv_forced_unwind=yes \
+libc_cv_cc_with_libunwind=yes \
+libc_cv_c_cleanup=yes \
+libc_cv_gnu99_inline=yes \
+libc_cv_initfini_array=yes \
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" ../glibc-2.19/configure \
+ --prefix=/home/wbx/smoke/target_sparc_glibc/usr \
+ --with-sysroot=/home/wbx/smoke/target_sparc_glibc \
+ --build=x86_64-linux-gnu --host=sparc-openadk-linux-gnu --with-headers=/home/wbx/smoke/target_sparc_glibc/usr/include --disable-sanity-checks --disable-nls --without-cvs --disable-profile --disable-debug --without-gd --disable-nscd --with-__thread --with-tls --enable-kernel="2.6.32" --enable-add-ons
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make cross-compiling=yes PARALLELMFLAGS="-j1" install-headers
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+cd ..
+touch target_sparc_glibc/usr/include/gnu/stubs.h
+
+mkdir gcc-initial
+cd gcc-initial
+CFLAGS="-O0 -g0" \
+CXXFLAGS="-O0 -g0" \
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" ../gcc/configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=sparc-openadk-linux-gnu --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu --with-mpfr=/home/wbx/smoke/host_x86_64-linux-gnu --with-libelf=/home/wbx/smoke/host_x86_64-linux-gnu --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --enable-tls --disable-libsanitizer --disable-libitm --disable-libmudflap --disable-libgomp --disable-decimal-float --disable-libstdcxx-pch --disable-ppl-version-check --disable-cloog-version-check --without-system-zlib --without-ppl --without-cloog --without-isl --disable-nls --enable-target-optspace \
+ --disable-biarch --disable-multilib --enable-libssp --enable-lto \
+ --enable-languages=c \
+ --disable-shared \
+ --disable-threads \
+ --with-sysroot=/home/wbx/smoke/target_sparc_glibc
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make all-gcc
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make all-target-libgcc
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make install-gcc install-target-libgcc
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+cd ..
+
+cd glibc-2.19-final
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" SHELL='/bin/bash' BUILD_CC=cc CFLAGS="-mcpu=v8 -fwrapv -fno-ident -fomit-frame-pointer -O2 -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables -g3" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" CXX="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-g++" AR="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-ar" RANLIB="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-ranlib" libc_cv_forced_unwind=yes libc_cv_cc_with_libunwind=yes libc_cv_c_cleanup=yes libc_cv_gnu99_inline=yes libc_cv_initfini_array=yes \
+../glibc-2.19/configure \
+ --prefix=/usr \
+ --enable-shared \
+ --enable-stackguard-randomization \
+ --build=x86_64-linux-gnu --host=sparc-openadk-linux-gnu --with-headers=/home/wbx/smoke/target_sparc_glibc/usr/include --disable-sanity-checks --disable-nls --without-cvs --disable-profile --disable-debug --without-gd --disable-nscd --with-__thread --with-tls --enable-kernel="2.6.32" --enable-add-ons
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make all
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make install_root=/home/wbx/smoke/target_sparc_glibc install
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+cd ..
+
+mkdir gcc-final
+cd gcc-final
+../gcc/configure \
+ --prefix=/home/wbx/smoke/host_x86_64-linux-gnu --with-bugurl="http://www.openadk.org/" --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=sparc-openadk-linux-gnu --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu --with-mpfr=/home/wbx/smoke/host_x86_64-linux-gnu --with-libelf=/home/wbx/smoke/host_x86_64-linux-gnu --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --enable-tls --disable-libsanitizer --disable-libitm --disable-libmudflap --disable-libgomp --disable-decimal-float --disable-libstdcxx-pch --disable-ppl-version-check --disable-cloog-version-check --without-system-zlib --without-ppl --without-cloog --without-isl --disable-nls --enable-target-optspace \
+ --disable-biarch --disable-multilib --enable-libssp --enable-lto \
+ --enable-languages=c,c++ \
+ --with-build-sysroot='${prefix}/../target_sparc_glibc' \
+ --with-sysroot='${prefix}/../target_sparc_glibc' \
+ --enable-shared
+make -j4 all
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+make install
+if [ $? -ne 0 ];then
+ echo failed
+ exit
+fi
+cd ..
+
+cd linux-3.13.6/
+cat > mini.config <<EOF
+CONFIG_SPARC=y
+CONFIG_SPARC32=y
+CONFIG_SBUS=y
+CONFIG_SBUSCHAR=y
+CONFIG_PCI=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIC_PCI=y
+CONFIG_OF=y
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_SUNLANCE=y
+CONFIG_SERIAL_CONSOLE=y
+CONFIG_SERIAL_SUNCORE=y
+CONFIG_SERIAL_SUNZILOG=y
+CONFIG_SERIAL_SUNZILOG_CONSOLE=y
+EOF
+
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make V=1 ARCH=sparc CROSS_COMPILE="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" HOSTCC="cc" CONFIG_SHELL='/bin/bash' HOSTCFLAGS='-O2 -Wall' KCONFIG_ALLCONFIG=mini.config allnoconfig
+PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make V=1 ARCH=sparc CROSS_COMPILE="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" HOSTCC="cc" CONFIG_SHELL='/bin/bash' HOSTCFLAGS='-O2 -Wall' -j4 zImage
diff --git a/scripts/install.sh b/scripts/install.sh
index ab4ac8635..7c93a12a3 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#-
-# Copyright © 2010, 2011
+# Copyright © 2010-2014
# Waldemar Brodkorb <wbx@openadk.org>
# Thorsten Glaser <tg@mirbsd.org>
#
@@ -32,25 +32,14 @@
# • create a cfgfs partition
TOPDIR=$(pwd)
+HOST=$(gcc -dumpmachine)
me=$0
case :$PATH: in
-(*:$TOPDIR/bin/tools:*) ;;
-(*) export PATH=$PATH:$TOPDIR/bin/tools ;;
+(*:$TOPDIR/host_$HOST/usr/bin:*) ;;
+(*) export PATH=$PATH:$TOPDIR/host_$HOST/usr/bin ;;
esac
-test -n "$KSH_VERSION" || if ! which mksh >/dev/null 2>&1; then
- make package=mksh fetch || exit 1
- df=$(cd package/mksh; TOPDIR="$TOPDIR" gmake show=DISTFILES)
- mkdir -p build_mksh
- gzip -dc dl/"$df" | (cd build_mksh; cpio -mid)
- cd build_mksh/mksh
- bash Build.sh -r -c lto || exit 1
- cp mksh "$TOPDIR"/bin/tools/
- cd "$TOPDIR"
- rm -rf build_mksh
-fi
-
test -n "$KSH_VERSION" || exec mksh "$me" "$@"
if test -z "$KSH_VERSION"; then
echo >&2 Fatal error: could not run myself with mksh!
diff --git a/scripts/rstrip.sh b/scripts/rstrip.sh
index 46a4586da..66aba0e9b 100644
--- a/scripts/rstrip.sh
+++ b/scripts/rstrip.sh
@@ -54,6 +54,9 @@ find $TARGETS -type f -a -exec file {} \; | \
S='kernel module' ;;
*ELF*shared\ object*,\ not\ stripped*)
S='shared object' ;;
+ *current\ ar\ archive*)
+ S='static library'
+ T="$T -S" ;;
*)
continue ;;
esac
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index c16aff609..16b13d4e3 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -196,18 +196,125 @@ if ! which perl >/dev/null 2>&1; then
out=1
fi
-if ! which xargs >/dev/null 2>&1; then
- echo "You need xargs to continue."
- echo
- out=1
-fi
-
if ! which g++ >/dev/null 2>&1; then
echo "You need g++ (GNU C++ compiler) to continue."
echo
out=1
fi
+# always required, but can be provided by host
+host_build_bc=0
+if ! which bc >/dev/null 2>&1; then
+ echo "No bc found, will build one."
+ host_build_bc=1
+fi
+
+host_build_bison=0
+if ! which bison >/dev/null 2>&1; then
+ echo "No bison found, will build one."
+ host_build_bison=1
+fi
+
+host_build_bzip2=0
+if ! which bzip2 >/dev/null 2>&1; then
+ echo "No bzip2 found, will build one."
+ host_build_bzip2=1
+fi
+
+host_build_file=0
+if ! which file >/dev/null 2>&1; then
+ echo "No file found, will build one."
+ host_build_file=1
+fi
+
+host_build_flex=0
+if ! which flex >/dev/null 2>&1; then
+ echo "No flex found, will build one."
+ host_build_m4=1
+fi
+
+host_build_m4=0
+if ! which m4 >/dev/null 2>&1; then
+ echo "No m4 found, will build one."
+ host_build_m4=1
+fi
+
+host_build_pkgconf=0
+if ! which pkgconf >/dev/null 2>&1; then
+ echo "No pkgconf found, will build one."
+ host_build_pkgconf=1
+fi
+
+host_build_findutils=0
+if ! which gxargs >/dev/null 2>&1; then
+ if which xargs >/dev/null 2>&1; then
+ if ! xargs --version 2>/dev/null|grep GNU >/dev/null;then
+ echo "No GNU xargs found, will build one."
+ host_build_findutils=1
+ fi
+ fi
+fi
+
+if ! which gfind >/dev/null 2>&1; then
+ if which find >/dev/null 2>&1; then
+ if ! find --version 2>/dev/null|grep GNU >/dev/null;then
+ echo "No GNU find found, will build one."
+ host_build_findutils=1
+ fi
+ fi
+fi
+
+host_build_xz=0
+if ! which xz >/dev/null 2>&1; then
+ echo "No xz found, will build one."
+ host_build_xz=1
+fi
+
+# optional
+host_build_ccache=0
+if ! which ccache >/dev/null 2>&1; then
+ echo "No ccache found, will build one when required."
+ host_build_ccache=1
+fi
+
+host_build_genext2fs=0
+if ! which genext2fs >/dev/null 2>&1; then
+ echo "No genext2fs found, will build one when required."
+ host_build_genext2fs=1
+fi
+
+host_build_lzma=0
+if ! which lzma >/dev/null 2>&1; then
+ echo "No lzma found, will build one when required."
+ host_build_lzma=1
+fi
+
+host_build_lzop=0
+if ! which lzop >/dev/null 2>&1; then
+ echo "No lzop found, will build one when required."
+ host_build_lzop=1
+fi
+
+
+echo "config ADK_HOST_BUILD_TOOLS" > $topdir/target/config/Config.in.prereq
+printf "\t%s\n" "boolean" >> $topdir/target/config/Config.in.prereq
+printf "\t%s\n" "default y" >> $topdir/target/config/Config.in.prereq
+# always required
+if [ $host_build_bc -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_BC" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_bison -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_BISON" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_bzip2 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_BZIP2" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_file -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FILE" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_flex -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FLEX" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_m4 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_M4" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_pkgconf -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_PKGCONF" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_findutils -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FINDUTILS" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_xz -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_XZ" >> $topdir/target/config/Config.in.prereq ;fi
+# optional
+if [ $host_build_ccache -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_CCACHE if ADK_HOST_NEED_CCACHE" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_genext2fs -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_GENEXT2FS if ADK_HOST_NEED_GENEXT2FS" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_lzma -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_LZMA if ADK_HOST_NEED_LZMA" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_lzop -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_LZOP if ADK_HOST_NEED_LZOP" >> $topdir/target/config/Config.in.prereq ;fi
+
cd $topdir
rm -rf tmp
diff --git a/scripts/tarpkg b/scripts/tarpkg
index 37c0b2079..40342d401 100755
--- a/scripts/tarpkg
+++ b/scripts/tarpkg
@@ -16,14 +16,14 @@ if [ "$1" = "build" ];then
chmod +x ${2}/usr/lib/pkg/${pkgname}.$file )
done
rm -rf $2/CONTROL
- (cd $2 && tar -czf $3/${pkgname}_${version}_${arch}.tar.gz .)
+ (cd $2 && tar -cJf $3/${pkgname}_${version}_${arch}.tar.xz .)
elif [ "$1" = "install" ];then
pkg=$(echo $(basename $2)|sed -e "s#_.*##")
if [ -x ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst ]; then
IPKG_INSTROOT="$PKG_INSTROOT" ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst
rm ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst
fi
- tar -xzpf $2 -C ${PKG_INSTROOT}
+ tar -xJpf $2 -C ${PKG_INSTROOT}
if [ -x ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst ]; then
IPKG_INSTROOT="$PKG_INSTROOT" ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst
rm ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst
diff --git a/scripts/xargs b/scripts/xargs
deleted file mode 100755
index cbe9bd015..000000000
--- a/scripts/xargs
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-if [ -z "$(which gxargs 2>/dev/null)" ];then
- /usr/bin/xargs "$@"
-else
- gxargs "$@"
-fi
diff --git a/target/Makefile b/target/Makefile
index fc3fd77f6..313a616a1 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -6,12 +6,6 @@ include $(TOPDIR)/mk/rootfs.mk
all: install
-ifeq (${ADK_TARGET_KERNEL64},y)
-KERNEL_CFG:=kernel64.config
-else
-KERNEL_CFG:=kernel.config
-endif
-
### Kernel .config Creation
# The following target combines all kernel-related variables and
# config files into a single one to be used as the final kernel
@@ -22,21 +16,19 @@ endif
# .kernelconfig.modules and set them to "m"
# 2) fetch all enabled ADK_KERNEL_* vars into
# .kernelconfig.kernel (no conversion, as they are booleans)
-# 3) repeat 2) for the disabled ones and save them into
-# .kernelconfig.nokernel (to overwrite defaults)
-# 4) get the device-specific static kernel config and place it into
+# 3) get the global and device-specific static kernel config and place it into
# .kernelconfig.board
-# 5) prepare for merging:
+# 4) prepare for merging:
# * if a variable is disabled in .kernelconfig.board and
# enabled in either of .kernelconfig.{modules,kernel},
# remove it from .kernelconfig.board
# * append ${FS_CMDLINE} to the kernel commandline inside
# .kernelconfig.board
-# 6) merge (cat) it all together into .kernelconfig.tmp
-# 7) check if .kernelconfig.tmp differs from the current one
+# 5) merge (cat) it all together into .kernelconfig.tmp
+# 6) check if .kernelconfig.tmp differs from the current one
# (.kernelconfig) at all, overwriting the current one
# only if it does (so the timestamp stays intact)
-# 8) remove the temporary .kernelconfig.tmp
+# 7) remove the temporary .kernelconfig.tmp
###
ADK_PACKAGE_CRYPTINIT_ROOT:=$(strip $(subst ",, $(ADK_PACKAGE_CRYPTINIT_ROOT)))
ADK_PACKAGE_CRYPTINIT_SWAP:=$(strip $(subst ",, $(ADK_PACKAGE_CRYPTINIT_SWAP)))
@@ -50,9 +42,6 @@ config-prepare: $(TOPDIR)/.config
sed 's/=y/=m/' >>${BUILD_DIR}/.kernelconfig.modules
@sed -n '/^ADK_KERNEL/s//CONFIG/p' ${TOPDIR}/.config \
>${BUILD_DIR}/.kernelconfig.kernel
- @sed -n '/^# ADK_KERNEL/s//# CONFIG/p' ${TOPDIR}/.config \
- >${BUILD_DIR}/.kernelconfig.nokernel
-ifeq ($(ADK_USE_KERNEL_MINICONFIG),y)
@if [ -f ${ADK_TARGET_ARCH}/kernel/${ADK_TARGET_KERNEL_MINICONFIG} ];then \
cat ${TOPDIR}/target/linux/kernel.config \
${ADK_TARGET_ARCH}/kernel/${ADK_TARGET_KERNEL_MINICONFIG} > ${BUILD_DIR}/.kernelconfig.board; \
@@ -60,23 +49,22 @@ ifeq ($(ADK_USE_KERNEL_MINICONFIG),y)
echo "no miniconfig found for target system"; \
exit 1; \
fi
-else
- @if [ -f ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ];then \
- cp ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ${BUILD_DIR}/.kernelconfig.board; \
- else \
- cp ${ADK_TARGET_ARCH}/${KERNEL_CFG} ${BUILD_DIR}/.kernelconfig.board; \
- fi
-endif
@(cat ${BUILD_DIR}/.kernelconfig.{modules,kernel} | \
while IFS='=' read symbol value; do \
sed -i -e "/^# $$symbol/d" ${BUILD_DIR}/.kernelconfig.board; \
done;)
+ @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ro"#' \
+ ${BUILD_DIR}/.kernelconfig.board
@sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${FS_CMDLINE}"#' \
${BUILD_DIR}/.kernelconfig.board
ifneq ($(ADK_TARGET_CMDLINE),)
@sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${ADK_TARGET_CMDLINE}"#' \
${BUILD_DIR}/.kernelconfig.board
endif
+ifeq ($(ADK_TARGET_QEMU_WITH_GRAPHIC),y)
+ @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 console=tty0"#' \
+ ${BUILD_DIR}/.kernelconfig.board
+endif
ifneq ($(ADK_PACKAGE_CRYPTINIT_ROOT),)
@sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${ADK_PACKAGE_CMDLINE}"#' \
${BUILD_DIR}/.kernelconfig.board
@@ -93,7 +81,7 @@ ifeq ($(ADK_KERNEL_NETCONSOLE),y)
@sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 netconsole=@$(ADK_PARAMETER_NETCONSOLE_SRC_IP)/,@$(ADK_PARAMETER_NETCONSOLE_DST_IP)/"#' \
${BUILD_DIR}/.kernelconfig.board
endif
- @cd ${BUILD_DIR} && cat .kernelconfig.board .kernelconfig.nokernel \
+ @cd ${BUILD_DIR} && cat .kernelconfig.board \
.kernelconfig.kernel .kernelconfig.modules \
>.kernelconfig.tmp
@cd ${BUILD_DIR} && cmp -s .kernelconfig.tmp .kernelconfig || \
@@ -101,10 +89,12 @@ endif
@-rm -f ${BUILD_DIR}/.kernelconfig.tmp
else
config-prepare: $(TOPDIR)/.config
- if [ -f ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ];then \
- cp ${ADK_TARGET_ARCH}/${KERNEL_CFG}.$(ADK_TARGET_SYSTEM) ${BUILD_DIR}/.kernelconfig.board; \
+ @if [ -f ${ADK_TARGET_ARCH}/kernel/${ADK_TARGET_KERNEL_MINICONFIG} ];then \
+ cat ${TOPDIR}/target/linux/kernel.config \
+ ${ADK_TARGET_ARCH}/kernel/${ADK_TARGET_KERNEL_MINICONFIG} > ${BUILD_DIR}/.kernelconfig.board; \
else \
- cp ${ADK_TARGET_ARCH}/${KERNEL_CFG} ${BUILD_DIR}/.kernelconfig.board; \
+ echo "no miniconfig found for target system"; \
+ exit 1; \
fi
endif
diff --git a/target/arm/Makefile b/target/arm/Makefile
index e2194f1d3..a2bd23a8b 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -61,7 +61,7 @@ ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
@echo "Use following command to install it on SD card:"
@echo "sudo ./scripts/install-rpi.sh /dev/sdb $(FW_DIR)/$(ROOTFSTARBALL)"
endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "Use following command to create a QEMU Image:"
@@ -70,12 +70,18 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
@echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
@echo 'qemu-system-arm -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -drive file=qemu-${CPU_ARCH}.img,if=virtio,index=0 -net nic,model=virtio -net user'
else
@@ -88,7 +94,7 @@ ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
imageinstall: createinitramfs
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
@echo "Start qemu with following command line:"
@echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
diff --git a/target/arm/cubox-i/patches/3.10.33/solidrun-cubox-i.patch b/target/arm/cubox-i/patches/3.10.34/solidrun-cubox-i.patch
index beaa71b4e..beaa71b4e 100644
--- a/target/arm/cubox-i/patches/3.10.33/solidrun-cubox-i.patch
+++ b/target/arm/cubox-i/patches/3.10.34/solidrun-cubox-i.patch
diff --git a/target/arm/kernel/cubox-i b/target/arm/kernel/cubox-i
index 9843ee37e..10e5e1a73 100644
--- a/target/arm/kernel/cubox-i
+++ b/target/arm/kernel/cubox-i
@@ -26,11 +26,9 @@ CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_PHYLIB=y
CONFIG_MICREL_PHY=y
-CONFIG_NET_ETHERNET=y
CONFIG_SMSC911X=y
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
diff --git a/target/arm/kernel/qemu-arm-versatilepb b/target/arm/kernel/qemu-arm-versatilepb
index ead723621..ec76019d4 100644
--- a/target/arm/kernel/qemu-arm-versatilepb
+++ b/target/arm/kernel/qemu-arm-versatilepb
@@ -1,3 +1,4 @@
+CONFIG_ARM=y
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_ARCH_VERSATILE=y
CONFIG_ARCH_VERSATILE_PB=y
@@ -6,6 +7,7 @@ CONFIG_PLAT_VERSATILE_CLCD=y
CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y
CONFIG_PLAT_VERSATILE=y
CONFIG_ARM_TIMER_SP804=y
+CONFIG_KUSER_HELPERS=y
CONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y
CONFIG_ARM_AMBA=y
@@ -16,21 +18,7 @@ CONFIG_USE_OF=y
CONFIG_ATAGS=y
CONFIG_DTC=y
CONFIG_OF=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_SCSI_SYM53C8XX_2=y
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_NETDEVICES=y
CONFIG_MII=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_SMC91X=y
CONFIG_SERIAL_AMBA_PL011=y
diff --git a/target/arm/kernel/qemu-arm-vexpress-a9 b/target/arm/kernel/qemu-arm-vexpress-a9
index b6535116a..b89b87337 100644
--- a/target/arm/kernel/qemu-arm-vexpress-a9
+++ b/target/arm/kernel/qemu-arm-vexpress-a9
@@ -6,6 +6,7 @@ CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
CONFIG_ARCH_VEXPRESS_CA9X4=y
CONFIG_ARCH_VEXPRESS_DCSCB=y
CONFIG_ARCH_VEXPRESS_TC2_PM=y
+CONFIG_KUSER_HELPERS=y
CONFIG_ARM_AMBA=y
CONFIG_AEABI=y
CONFIG_ATAGS=y
@@ -14,9 +15,6 @@ CONFIG_VFPv3=y
CONFIG_NEON=y
CONFIG_OF=y
CONFIG_DTC=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_SMSC911X=y
CONFIG_SERIAL_AMBA_PL011=y
diff --git a/target/arm/raspberry-pi/patches/3.10.33/raspberry-pi.patch b/target/arm/raspberry-pi/patches/3.10.34/raspberry-pi.patch
index 2c313a843..2c313a843 100644
--- a/target/arm/raspberry-pi/patches/3.10.33/raspberry-pi.patch
+++ b/target/arm/raspberry-pi/patches/3.10.34/raspberry-pi.patch
diff --git a/target/arm/sys-available/acmesystems-foxg20 b/target/arm/sys-available/acmesystems-foxg20
index b907d39c8..ac2ec191c 100644
--- a/target/arm/sys-available/acmesystems-foxg20
+++ b/target/arm/sys-available/acmesystems-foxg20
@@ -5,13 +5,8 @@ config ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
select ADK_soft_float
select ADK_eabi
select ADK_acmesystems_foxg20
- select ADK_KERNEL_ARCH_AT91
- select ADK_KERNEL_ARCH_AT91SAM9260
- select ADK_KERNEL_ARCH_AT91SAM9G20
- select ADK_KERNEL_MACH_ACMENETUSFOXG20
select ADK_KERNEL_AEABI
select ADK_TARGET_WITH_WATCHDOG
- select ADK_TARGET_WITH_MMC
select ADK_TARGET_WITH_RTC
select ADK_TARGET_WITH_USB
select ADK_TARGET_KERNEL_IMAGE
diff --git a/target/arm/sys-available/cubox-i b/target/arm/sys-available/cubox-i
index 3ee6bb8cd..3b96514c8 100644
--- a/target/arm/sys-available/cubox-i
+++ b/target/arm/sys-available/cubox-i
@@ -4,15 +4,15 @@ config ADK_TARGET_SYSTEM_CUBOX_I
select ADK_little
select ADK_hard_float
select ADK_eabihf
+ select ADK_fpu_neon
select ADK_cubox_i
select ADK_CPU_CORTEX_A9
- select ADK_TARGET_WITH_MMC
select ADK_TARGET_WITH_VGA
select ADK_TARGET_WITH_USB
select ADK_TARGET_WITH_INPUT
select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_TARGET_WITH_ROOT_RW
select ADK_PACKAGE_U_BOOT_CUBOX_I
- select ADK_USE_KERNEL_MINICONFIG
help
Cubox-i
diff --git a/target/arm/sys-available/qemu-arm b/target/arm/sys-available/qemu-arm
index 4b99f7f0e..1fa057c4b 100644
--- a/target/arm/sys-available/qemu-arm
+++ b/target/arm/sys-available/qemu-arm
@@ -3,8 +3,9 @@ config ADK_TARGET_SYSTEM_QEMU_ARM
select ADK_arm
select ADK_qemu_arm
select ADK_little
+ select ADK_soft_float
+ select ADK_eabi
select ADK_HARDWARE_QEMU
select ADK_TARGET_KERNEL_ZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator (arm).
diff --git a/target/arm/sys-available/qemu-armhf b/target/arm/sys-available/qemu-armhf
new file mode 100644
index 000000000..dab039931
--- /dev/null
+++ b/target/arm/sys-available/qemu-armhf
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_ARMHF
+ bool "Qemu Emulator (hard-float)"
+ select ADK_arm
+ select ADK_qemu_armhf
+ select ADK_little
+ select ADK_hard_float
+ select ADK_eabihf
+ select ADK_fpu_vfp
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_ZIMAGE
+ help
+ Support for Qemu Emulator (armhf).
diff --git a/target/arm/sys-available/raspberry-pi b/target/arm/sys-available/raspberry-pi
index 3c0f2ad30..319df3523 100644
--- a/target/arm/sys-available/raspberry-pi
+++ b/target/arm/sys-available/raspberry-pi
@@ -4,15 +4,15 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI
select ADK_little
select ADK_hard_float
select ADK_eabihf
+ select ADK_fpu_vfp
select ADK_raspberry_pi
select ADK_CPU_ARM1176JZF_S
- select ADK_TARGET_WITH_MMC
select ADK_TARGET_WITH_VGA
select ADK_TARGET_WITH_USB
select ADK_TARGET_WITH_INPUT
select ADK_PACKAGE_BCM2835_BOOTLOADER
+ select ADK_TARGET_WITH_ROOT_RW
select ADK_TARGET_KERNEL_ZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Raspberry PI
diff --git a/target/arm/sys-available/sharp-zaurus b/target/arm/sys-available/sharp-zaurus
index a58401cf3..563866960 100644
--- a/target/arm/sys-available/sharp-zaurus
+++ b/target/arm/sys-available/sharp-zaurus
@@ -12,6 +12,5 @@ config ADK_TARGET_SYSTEM_SHARP_ZAURUS
select ADK_TARGET_WITH_SOUND
select ADK_TARGET_WITH_TOUCHSCREEN
select ADK_TARGET_KERNEL_ZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Sharp Zaurus CL3200 (Terrier)
diff --git a/target/arm/sys-available/toolchain-arm b/target/arm/sys-available/toolchain-arm
index c6bb00b43..b9ba30aa5 100644
--- a/target/arm/sys-available/toolchain-arm
+++ b/target/arm/sys-available/toolchain-arm
@@ -4,8 +4,10 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_ARM
select ADK_toolchain_arm
select ADK_little
select ADK_soft_float
+ select ADK_fpu_vfp
select ADK_eabi
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
+ select ADK_CPU_CORTEX_A9
help
- ARM toolchain (soft float).
+ ARM toolchain (soft float) for Cortex A9.
diff --git a/target/arm/sys-available/toolchain-armhf b/target/arm/sys-available/toolchain-armhf
index 89383f44f..252a41aa2 100644
--- a/target/arm/sys-available/toolchain-armhf
+++ b/target/arm/sys-available/toolchain-armhf
@@ -4,9 +4,11 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_ARMHF
select ADK_little
select ADK_hard_float
select ADK_eabihf
+ select ADK_fpu_vfp
select ADK_toolchain_armhf
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
+ select ADK_CPU_CORTEX_A9
help
- ARM toolchain (hard float).
+ ARM toolchain (hard float) for Cortex A9.
diff --git a/target/arm/target.mk b/target/arm/target.mk
index 677e112f7..87db1e279 100644
--- a/target/arm/target.mk
+++ b/target/arm/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= arm
CPU_ARCH:= $(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/config/Config.in b/target/config/Config.in
index 3de5e3a23..4c3112275 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -37,6 +37,12 @@ config ADK_soft_float
config ADK_hard_float
boolean
+config ADK_fpu_neon
+ boolean
+
+config ADK_fpu_vfp
+ boolean
+
config ADK_mode_arm
boolean
@@ -48,6 +54,11 @@ config ADK_TARGET_FLOAT
default "hard" if ADK_hard_float
default "soft" if ADK_soft_float
+config ADK_TARGET_FPU
+ string
+ default "vfp" if ADK_fpu_vfp
+ default "neon" if ADK_fpu_neon
+
config ADK_TARGET_ARM_MODE
depends on ADK_LINUX_ARM
string
@@ -73,7 +84,7 @@ source "target/config/Config.in.system"
config ADK_LINUX_MIPS64
boolean
- default y if ADK_LINUX_MIPS && ADK_TARGET_KERNEL64
+ default y if ADK_LINUX_MIPS && ADK_LINUX_64
choice
prompt "Toolchain options"
@@ -86,21 +97,6 @@ config ADK_TOOLCHAIN_ARCHIVE
endchoice
-choice
-prompt "Target Kernel"
-depends on ADK_TARGET_SYSTEM_LEMOTE_YEELONG \
- || ADK_TARGET_SYSTEM_QEMU_MIPS64 \
- || ADK_TARGET_SYSTEM_QEMU_MIPS64EL \
- || ADK_LINUX_X86_64
-
-config ADK_TARGET_KERNEL64
- boolean "64 Bit Kernel"
-
-config ADK_TARGET_KERNEL32
- boolean "32 Bit Kernel"
-
-endchoice
-
config ADK_32
boolean
@@ -143,7 +139,7 @@ config ADK_TARGET_MIPS_ABI
choice
prompt "Target ABI"
-depends on ADK_TARGET_KERNEL64 && ADK_LINUX_MIPS && !ADK_TOOLCHAIN
+depends on ADK_LINUX_64 && ADK_LINUX_MIPS && !ADK_TOOLCHAIN && !ADK_HARDWARE_QEMU
config ADK_TARGET_ABI_N32
boolean "N32 ABI (new)"
@@ -161,7 +157,7 @@ endchoice
choice
prompt "Target ABI"
-depends on ADK_TARGET_KERNEL64 && ADK_LINUX_X86_64 && !ADK_TOOLCHAIN
+depends on ADK_LINUX_64 && ADK_LINUX_X86_64 && !ADK_TOOLCHAIN && !ADK_HARDWARE_QEMU
config ADK_TARGET_ABI_64
boolean "64 Bit ABI"
@@ -179,6 +175,7 @@ endchoice
config ADK_TARGET_LIBC_PATH
string
+ default "lib" if ADK_32
default "lib32" if ADK_n32
default "libx32" if ADK_x32
default "lib64" if ADK_n64 \
@@ -188,9 +185,6 @@ config ADK_TARGET_LIBC_PATH
|| ADK_LINUX_X86_64
default "lib"
-
-# submodel support
-
config ADK_TARGET_KERNEL_MINICONFIG
string
default "qemu-microblaze-s3adsp1800" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
@@ -200,8 +194,8 @@ config ADK_TARGET_KERNEL_MINICONFIG
default "qemu-arm-spitz" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
default "qemu-mips" if ADK_TARGET_SYSTEM_QEMU_MIPS
default "qemu-mipsel" if ADK_TARGET_SYSTEM_QEMU_MIPSEL
- default "qemu-mips64" if ADK_TARGET_SYSTEM_QEMU_MIPS64
- default "qemu-mips64el" if ADK_TARGET_SYSTEM_QEMU_MIPS64EL
+ default "qemu-mips64" if ADK_TARGET_SYSTEM_QEMU_MIPS64 || ADK_TARGET_SYSTEM_QEMU_MIPS64N32 || ADK_TARGET_SYSTEM_QEMU_MIPS64N64
+ default "qemu-mips64el" if ADK_TARGET_SYSTEM_QEMU_MIPS64EL || ADK_TARGET_SYSTEM_QEMU_MIPS64ELN32 || ADK_TARGET_SYSTEM_QEMU_MIPS64ELN64
default "qemu-ppc" if ADK_TARGET_SYSTEM_QEMU_PPC
default "qemu-ppc64" if ADK_TARGET_SYSTEM_QEMU_PPC64
default "qemu-sh" if ADK_TARGET_SYSTEM_QEMU_SH4
@@ -209,7 +203,9 @@ config ADK_TARGET_KERNEL_MINICONFIG
default "qemu-sparc" if ADK_TARGET_SYSTEM_QEMU_SPARC
default "qemu-sparc64" if ADK_TARGET_SYSTEM_QEMU_SPARC64
default "qemu-i686" if ADK_TARGET_SYSTEM_QEMU_I686
- default "qemu-x86_64" if ADK_TARGET_SYSTEM_QEMU_X86_64
+ default "qemu-x86_64" if ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_TARGET_SYSTEM_QEMU_X86_64_32 || ADK_TARGET_SYSTEM_QEMU_X86_64_X32
+ default "aranym-m68k" if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default "ibm-x40" if ADK_TARGET_SYSTEM_IBM_X40
default "cubox-i" if ADK_TARGET_SYSTEM_CUBOX_I
default "raspberry-pi" if ADK_TARGET_SYSTEM_RASPBERRY_PI
default "sharp-zaurus" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
@@ -220,6 +216,66 @@ config ADK_QEMU_ARGS
default "-nographic" if ADK_TARGET_QEMU_WITHOUT_GRAPHIC
choice
+prompt "Qemu MICROBLAZE Emulation"
+depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE || ADK_TARGET_SYSTEM_QEMU_MICROBLAZEEL
+
+config ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+ boolean "Xilinx Spartan S3ADSP1800"
+
+config ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
+ boolean "Xilinx ml605"
+
+endchoice
+
+choice
+prompt "Qemu ARM Emulation"
+depends on ADK_TARGET_SYSTEM_QEMU_ARM || ADK_TARGET_SYSTEM_QEMU_ARMHF
+
+config ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
+ boolean "ARM Ltd. Versatile Express for Cortex-A9"
+ select ADK_CPU_CORTEX_A9
+
+config ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
+ boolean "ARM Ltd. Versatile/PB"
+ select ADK_soft_float
+ select ADK_eabi
+ select ADK_CPU_ARM926EJ_S
+ depends on ADK_TARGET_SYSTEM_QEMU_ARM
+
+config ADK_TARGET_QEMU_ARM_MODEL_SPITZ
+ boolean "Xscale PXA270 Spitz PDA"
+ select ADK_soft_float
+ select ADK_eabi
+ select ADK_CPU_XSCALE
+ depends on ADK_TARGET_SYSTEM_QEMU_ARM
+
+endchoice
+
+choice
+prompt "Qemu Emulation with permanent storage device (disk/flash)"
+depends on ADK_HARDWARE_QEMU
+default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_ARCHIVE
+default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_SQUASHFS
+default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_JFFS2
+
+config ADK_TARGET_QEMU_WITHOUT_BLOCK
+ boolean "disabled"
+
+config ADK_TARGET_QEMU_WITH_BLOCK
+ boolean "enabled"
+ select ADK_KERNEL_SCSI_SYM53C8XX_2 if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
+ select ADK_KERNEL_MTD_M25P80 if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+ select ADK_KERNEL_ATA_PIIX if ADK_LINUX_MIPS || ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
+ select ADK_KERNEL_PATA_MACIO if ADK_TARGET_SYSTEM_QEMU_PPC
+ select ADK_KERNEL_SCSI_IBMVSCSI if ADK_TARGET_SYSTEM_QEMU_PPC64
+ select ADK_KERNEL_SCSI_SUNESP if ADK_TARGET_SYSTEM_QEMU_SPARC
+ select ADK_KERNEL_PATA_PLATFORM if ADK_LINUX_SH
+ select ADK_HOST_NEED_JFFS2 if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+ select ADK_HOST_NEED_SQUASHFS if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+
+endchoice
+
+choice
prompt "Qemu Emulation with graphical output"
depends on ADK_HARDWARE_QEMU
@@ -248,7 +304,13 @@ endchoice
choice
prompt "Qemu Emulation using VirtIO drivers"
-depends on ADK_TARGET_SYSTEM_QEMU_SPARC64
+depends on ADK_TARGET_SYSTEM_QEMU_SPARC64 || \
+ ADK_TARGET_SYSTEM_QEMU_I686 || \
+ ADK_TARGET_SYSTEM_QEMU_X86_64
+default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_SPARC64
+
+config ADK_TARGET_QEMU_WITHOUT_VIRTIO
+ boolean "disabled"
config ADK_TARGET_QEMU_WITH_VIRTIO
boolean "enabled"
@@ -258,48 +320,8 @@ config ADK_TARGET_QEMU_WITH_VIRTIO
select ADK_KERNEL_VIRTIO_NET
select ADK_KERNEL_VIRTIO_BLK
-config ADK_TARGET_QEMU_WITHOUT_VIRTIO
- boolean "disabled"
-
endchoice
-choice
-prompt "Qemu MICROBLAZE Emulation"
-depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE || ADK_TARGET_SYSTEM_QEMU_MICROBLAZEEL
-
-config ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
- boolean "Xilinx ml605"
- select ADK_TARGET_WITH_MTD
-
-config ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
- boolean "Xilinx Spartan S3ADSP1800"
-
-endchoice
-
-choice
-prompt "Qemu ARM Emulation"
-depends on ADK_TARGET_SYSTEM_QEMU_ARM
-
-config ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
- boolean "ARM Ltd. Versatile/PB"
- select ADK_soft_float
- select ADK_eabi
- select ADK_CPU_ARM926EJ_S
-
-config ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
- boolean "ARM Ltd. Versatile Express for Cortex-A9"
- select ADK_hard_float
- select ADK_eabihf
- select ADK_CPU_CORTEX_A9
-
-config ADK_TARGET_QEMU_ARM_MODEL_SPITZ
- boolean "Xscale PXA270 Spitz PDA"
- select ADK_soft_float
- select ADK_eabi
- select ADK_CPU_XSCALE
- select ADK_TARGET_WITH_VGA
-
-endchoice
choice
prompt "Use ARM thumb mode"
@@ -316,23 +338,7 @@ config ADK_LINUX_ARM_WITH_THUMB
endchoice
-
-choice
-prompt "Broadcom BCM47xx Model"
-depends on ADK_TARGET_SYSTEM_BROADCOM_BCM47XX
-
-config ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
- boolean "Linksys WRT54g"
-
-config ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS
- boolean "Linksys WRT54gs"
-
-config ADK_TARGET_BROADCOM_MODEL_ASUS_WL500GP
- boolean "Asus WL500gP"
-
-endchoice
-
-# hardware features
+# hardware features, do not use for qemu
config ADK_TARGET_WITH_USB
boolean
@@ -354,12 +360,6 @@ config ADK_TARGET_WITH_ACPI
config ADK_TARGET_WITH_VGA
boolean
-config ADK_TARGET_WITH_CF
- boolean
-
-config ADK_TARGET_WITH_MMC
- boolean
-
config ADK_TARGET_WITH_NAND
boolean
@@ -559,7 +559,6 @@ config ADK_TARGET_CPU_ARCH
default "mips" if ADK_LINUX_MIPS && ADK_big
default "mipsel" if ADK_LINUX_MIPS && ADK_little
default "arm" if ADK_LINUX_ARM && ADK_little
- default "armeb" if ADK_LINUX_ARM && ADK_big
default "sparc" if ADK_LINUX_SPARC
default "sparc64" if ADK_LINUX_SPARC64
default "sh4" if ADK_LINUX_SH && ADK_little
@@ -577,17 +576,6 @@ config ADK_TARGET_ABI_CFLAGS
default "-mx32" if ADK_x32
default "-m64" if ADK_64
-config ADK_TARGET_ABI_LDFLAGS
- string
- default "-Wl,-m -Wl,elf_i386" if ADK_32
-
-config ADK_TARGET_KERNEL_LDFLAGS
- string
- default "-mabi=64" if ADK_n32 && ADK_TARGET_KERNEL64
- default "-mabi=64" if ADK_o32 && ADK_TARGET_KERNEL64
- default "-mabi=64" if ADK_n64 && ADK_TARGET_KERNEL64
- default ""
-
config ADK_TARGET_CFLAGS
string
default "-march=geode" if ADK_CPU_GEODE
@@ -613,28 +601,27 @@ config ADK_TARGET_CFLAGS
config ADK_TARGET_CMDLINE
string
default "dwc_otg.fiq_split_enable=1" if ADK_TARGET_SYSTEM_RASPBERRY_PI
- default "console=tty0" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default "console=ttymxc0,115200" if ADK_TARGET_SYSTEM_CUBOX_I
+ default "console=tty0" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40
+ default "console=ttyS0,115200 console=tty0 fbcon=rotate:1" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
default "console=ttyS0,9600" if ADK_TARGET_SYSTEM_FON_FON2100
default "console=ttyS0,38400" if ADK_TARGET_SYSTEM_PCENGINES_WRAP
default "console=ttyS0,115200 console=tty0 geodewdt.nowayout=1" if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_INTEL_ATOM
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_I686
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_X86_64
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SPARC64
- default "console=ttyS0,9600 console=tty0" if ADK_TARGET_SYSTEM_QEMU_PPC
- default "console=hvc0 console=tty0" if ADK_TARGET_SYSTEM_QEMU_PPC64
+ default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_VBOX_I686
+ default "console=tty0" if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_QEMU_I686
+ default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_QEMU_X86_64
+ default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_QEMU_SPARC64
+ default "console=ttyS0,9600" if ADK_TARGET_SYSTEM_QEMU_PPC
+ default "console=hvc0" if ADK_TARGET_SYSTEM_QEMU_PPC64
default "console=ttyUL0" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
default "console=ttyS0,115200" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_VBOX_I686
- default "console=ttyS0,115200 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
- default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
- default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
- default "console=ttyS0,115200 console=tty0 fbcon=rotate:1" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
- default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH4
- default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH4EB
- default "console=ttyS0" if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default "console=ttyS0,115200" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
+ default "console=ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
+ default "console=ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
+ default "console=ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4
+ default "console=ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4EB
default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
default ""
@@ -649,15 +636,11 @@ config ADK_glibc
config ADK_musl
boolean
-config ADK_libc
- boolean
-
config ADK_TARGET_LIBC
string
default "uclibc" if ADK_uclibc
default "glibc" if ADK_glibc
default "musl" if ADK_musl
- default "libc" if ADK_libc
source "target/linux/config/Config.in.kernel"
@@ -669,10 +652,12 @@ config ADK_TARGET_LIB_UCLIBC
boolean
select ADK_uclibc
depends on \
+ !ADK_LINUX_M68K && \
!ADK_LINUX_MICROBLAZE && \
!ADK_LINUX_SPARC64 && \
!ADK_LINUX_PPC64 && \
- !ADK_TARGET_ABI_X32
+ !ADK_x32 && \
+ !ADK_32
help
http://uclibc.org
@@ -712,12 +697,6 @@ config ADK_TARGET_LIB_MUSL
help
http://musl-libc.org
-config ADK_TARGET_LIB_LIBC
- prompt "Native C library"
- boolean
- select ADK_libc
- depends on ADK_LINUX_NATIVE
-
endchoice
config ADK_TARGET_SUFFIX
@@ -727,24 +706,24 @@ config ADK_TARGET_SUFFIX
default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_n64
default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_n32
default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_o32
- default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_32 && ADK_TARGET_KERNEL64
- default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_x32 && ADK_TARGET_KERNEL64
+ default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_32 && ADK_LINUX_64
+ default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_x32 && ADK_LINUX_64
default "gnu" if ADK_TARGET_LIB_GLIBC
default "uclibcgnueabihf" if ADK_TARGET_LIB_UCLIBC && ADK_eabihf
default "uclibcgnueabi" if ADK_TARGET_LIB_UCLIBC && ADK_eabi
default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC && ADK_n64
default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC && ADK_n32
default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC && ADK_o32
- default "uclibc32" if ADK_TARGET_LIB_UCLIBC && ADK_32 && ADK_TARGET_KERNEL64
- default "uclibcx32" if ADK_TARGET_LIB_UCLIBC && ADK_x32 && ADK_TARGET_KERNEL64
+ default "uclibc32" if ADK_TARGET_LIB_UCLIBC && ADK_32 && ADK_LINUX_64
+ default "uclibcx32" if ADK_TARGET_LIB_UCLIBC && ADK_x32 && ADK_LINUX_64
default "uclibc" if ADK_TARGET_LIB_UCLIBC
default "muslgnueabihf" if ADK_TARGET_LIB_MUSL && ADK_eabihf
default "muslgnueabi" if ADK_TARGET_LIB_MUSL && ADK_eabi
default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_n64
default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_n32
default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_o32
- default "musl32" if ADK_TARGET_LIB_MUSL && ADK_32 && ADK_TARGET_KERNEL64
- default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_x32 && ADK_TARGET_KERNEL64
+ default "musl32" if ADK_TARGET_LIB_MUSL && ADK_32 && ADK_LINUX_64
+ default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_x32 && ADK_LINUX_64
default "musl" if ADK_TARGET_LIB_MUSL
choice
@@ -768,7 +747,6 @@ config ADK_TARGET_ROOTFS_INITRAMFS
depends on !ADK_HARDWARE_VBOX
depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI
select ADK_KERNEL_BLK_DEV_INITRD
- select ADK_KERNEL_RD_XZ
help
create an read-only initramfs system.
@@ -778,6 +756,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
depends on \
ADK_HARDWARE_QEMU || \
ADK_LINUX_ARM || \
+ ADK_LINUX_M68K || \
ADK_LINUX_MICROBLAZE || \
ADK_LINUX_MIPS || \
ADK_LINUX_PPC || \
@@ -794,15 +773,16 @@ config ADK_TARGET_ROOTFS_SQUASHFS
bool "Compressed read-only root filesystem (squashfs)"
select ADK_KERNEL_SQUASHFS
select ADK_HOST_NEED_SQUASHFS
+ select ADK_TARGET_QEMU_WITH_BLOCK if ADK_HARDWARE_QEMU
depends on ADK_TARGET_WITH_MTD
help
highly compressed read-only filesystem for MTD flash systems.
config ADK_TARGET_ROOTFS_JFFS2
bool "Compressed read-write root filesystem (jffs2)"
- select ADK_KERNEL_MISC_FILESYSTEMS
- select ADK_KERNEL_JFFS2
- select ADK_HOST_NEED_JFFS2
+ select ADK_KERNEL_JFFS2_FS
+ select ADK_HOST_NEED_MTD_UTILS
+ select ADK_TARGET_QEMU_WITH_BLOCK if ADK_HARDWARE_QEMU
depends on ADK_TARGET_WITH_MTD
help
compressed read-write filesystem for MTD flash systems.
@@ -847,52 +827,31 @@ config ADK_TARGET_ROOTFS_USB
help
Boot system from USB stick.
-config ADK_TARGET_ROOTFS_CF
- bool "read-write filesystem for compact flash"
- depends on ADK_TARGET_WITH_CF
- select ADK_KERNEL_EXT2_FS
- select ADK_KERNEL_SCSI
- help
- Use this option if you have a compact flash based system.
- (ext2 filesystem is used.)
-
-config ADK_TARGET_ROOTFS_GENEXT2FS
- bool "read-write filesystem for compact flash (genext2fs version)"
- depends on ADK_TARGET_WITH_CF
- select ADK_KERNEL_EXT2_FS
- select ADK_KERNEL_SCSI
- select ADK_HOST_NEED_GENEXT2FS
- help
- Use this option if you have a compact flash based system.
- (ext2 filesystem is used.)
-
-config ADK_TARGET_ROOTFS_MMC
- bool "read-write filesystem for mmc/sdcard"
- depends on ADK_TARGET_WITH_MMC
- select ADK_KERNEL_EXT2_FS
- select ADK_KERNEL_SCSI
- depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI
- help
- Use this option if you have a MMC/SDCARD based system.
- (ext2 filesystem is used.)
-
config ADK_TARGET_ROOTFS_ISO
bool "ISO image"
select ADK_KERNEL_ISO9660_FS
select ADK_KERNEL_JOLIET
select ADK_KERNEL_SCSI
select ADK_KERNEL_BLK_DEV_SR
- select ADK_HOST_NEED_MKISOFS
+ select ADK_HOST_NEED_CDRTOOLS
select ADK_HOST_NEED_SYSLINUX
+ select ADK_TARGET_QEMU_WITH_BLOCK if ADK_HARDWARE_QEMU
depends on ADK_HOST_LINUX
depends on ADK_LINUX_X86
help
Use this option to create a bootable ISO image.
+config ADK_TARGET_ROOTFS_INITRAMFSARCHIVE
+ bool "Archive usable for initramfs creation"
+ help
+ Use this option if your planning to create a initramfs,
+ useful for adk-test-framework.
+
config ADK_TARGET_ROOTFS_ARCHIVE
bool "Archive usable for different filesystems"
select ADK_HOST_NEED_GENEXT2FS if ADK_HARDWARE_QEMU
select ADK_KERNEL_EXT2_FS if ADK_HARDWARE_QEMU
+ select ADK_TARGET_QEMU_WITH_BLOCK if ADK_HARDWARE_QEMU
help
Use this option if your root filesystem is ext2/ext3/ext4/xfs.
@@ -952,11 +911,12 @@ config ADK_TARGET_ROOTFS
config ADK_PACKAGE_SUFFIX
string
default "ipk" if ADK_TARGET_PACKAGE_IPKG
- default "tar.gz" if ADK_TARGET_PACKAGE_TGZ
+ default "tar.xz" if ADK_TARGET_PACKAGE_TXZ
help
choice
prompt "Target package format"
+default ADK_TARGET_PACKAGE_TXZ if ADK_PKG_TEST
default ADK_TARGET_PACKAGE_IPKG
depends on !ADK_CHOOSE_TARGET_SYSTEM && !ADK_CHOOSE_TARGET_ARCH
@@ -967,9 +927,9 @@ config ADK_TARGET_PACKAGE_IPKG
help
Create ipkg packages and use ipkg package management on the target.
-config ADK_TARGET_PACKAGE_TGZ
+config ADK_TARGET_PACKAGE_TXZ
boolean
- prompt "tar archive"
+ prompt "xz compressed tar archive"
help
Create compressed tar archives of packages.
Pre- and post install scripts will be executed in the target
diff --git a/target/config/Config.in.adk b/target/config/Config.in.adk
index 7544723bf..0c598e50c 100644
--- a/target/config/Config.in.adk
+++ b/target/config/Config.in.adk
@@ -19,6 +19,13 @@ config ADK_DL_DIR
Configure the download directory for all source packages.
Use an absolute path.
+config ADK_TARGET_CFLAGS_OPT
+ string "optimization flags for compiler"
+ default "-Os -pipe"
+ help
+ Compilation is only verfied with optimization for code size (Os).
+ Other stuff (O2) might break. Will not be used when ADK_DEBUG is on.
+
config ADK_DEBUG
bool "Compile applications with debug support by default"
default n
@@ -36,6 +43,7 @@ config ADK_DEBUG_STRIP
config ADK_STATIC
bool "Link applications statically by default"
default n
+ select BUSYBOX_STATIC
help
Useful for toolchain only target devices.
diff --git a/target/config/Config.in.arch.default b/target/config/Config.in.arch.default
index 43d1e5399..90401de3d 100644
--- a/target/config/Config.in.arch.default
+++ b/target/config/Config.in.arch.default
@@ -1,7 +1,4 @@
# target architectures
-config ADK_native
- bool
-
config ADK_arm
bool
@@ -48,5 +45,4 @@ config ADK_TARGET_ARCH
default "sh" if ADK_sh
default "x86" if ADK_x86
default "x86_64" if ADK_x86_64
- default "native" if ADK_native
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index 7848a25ce..776a1a6f9 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -37,30 +37,57 @@ config ADK_RUNTIME_TIMEZONE
Predefine the timezone for the embedded system.
choice
-prompt "Console output on embedded system"
-default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA || ADK_TARGET_QEMU_WITH_GRAPHIC && !ADK_TARGET_SYSTEM_RASPBERRY_PI && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI || ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-default ADK_RUNTIME_CONSOLE_SERIAL
+prompt "Start getty or shell after bootup"
+default ADK_RUNTIME_SHELL if ADK_PKG_TEST
+default ADK_RUNTIME_GETTY
-config ADK_RUNTIME_CONSOLE_VGA
- bool "console output on VGA"
+config ADK_RUNTIME_GETTY
+ boolean "start a getty after bootup"
help
- Start getty on VGA console. (tty1-tty6)
+ Start a getty after bootup.
-config ADK_RUNTIME_CONSOLE_SERIAL
- bool "console output on serial"
+config ADK_RUNTIME_SHELL
+ boolean "start a shell after bootup"
help
- Start getty on serial console.
+ Start a shell after bootup
+
+endchoice
+
+config ADK_RUNTIME_GETTY_VGA
+ boolean "start getty on VGA console (tty1-tty6)"
+ depends on ADK_RUNTIME_GETTY
+ default y if ADK_TARGET_QEMU_WITH_GRAPHIC
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
+ default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default y if ADK_TARGET_SYSTEM_IBM_X40
+ default y if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default n
+ help
+ Start getty on VGA console. (tty1-tty6)
-config ADK_RUNTIME_CONSOLE_BOTH
- bool "console output on VGA and serial"
+config ADK_RUNTIME_GETTY_SERIAL
+ boolean "start getty on serial console"
+ depends on ADK_RUNTIME_GETTY
+ default n if ADK_TARGET_SYSTEM_RASPBERRY_PI
+ default n if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default n if ADK_TARGET_SYSTEM_IBM_X40
+ default n if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default y
help
- Start getty on VGA console and serial device.
+ Start getty on serial console.
-endchoice
+config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
+ string
+ default "hvc0" if ADK_TARGET_SYSTEM_QEMU_PPC64
+ default "ttyUL0" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+ default "ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB || ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
+ default "ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB
+ default "ttymxc0" if ADK_TARGET_SYSTEM_CUBOX_I
+ default "ttyS0"
config ADK_RUNTIME_CONSOLE_SERIAL_SPEED
string
+ default "9600" if ADK_TARGET_SYSTEM_QEMU_PPC
default "9600" if ADK_TARGET_SYSTEM_FON_FON2100
default "38400" if ADK_TARGET_SYSTEM_PCENGINES_WRAP
default "115200"
@@ -159,14 +186,14 @@ depends on ADK_SIMPLE_NETWORK_CONFIG
choice
prompt "Type"
- default SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC
-
-config SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC
- bool "NIC / DHCP"
+ default SIMPLE_NETWORK_CONFIG_ETH0_TYPE_MANUAL
config SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL
bool "NIC / manual IP"
+config SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC
+ bool "NIC / DHCP"
+
config SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP
bool "Bridge with IP"
@@ -180,7 +207,7 @@ endchoice
config SIMPLE_NETWORK_CONFIG_ETH0_IP
depends on SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL || SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP
string "eth0 IP Address"
- default "192.168.1.2"
+ default "10.0.2.15"
config SIMPLE_NETWORK_CONFIG_ETH0_NM
depends on SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL || SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP
@@ -190,7 +217,7 @@ config SIMPLE_NETWORK_CONFIG_ETH0_NM
config SIMPLE_NETWORK_CONFIG_ETH0_GW
depends on SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL
string "eth0 Gateway"
- default "192.168.1.1"
+ default "10.0.2.2"
config SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE
depends on SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE || SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP
@@ -282,7 +309,7 @@ depends on ADK_SIMPLE_NETWORK_CONFIG
config SIMPLE_NETWORK_CONFIG_RESOLV
string "Nameserver"
- default "192.168.1.1"
+ default "10.0.2.3"
endmenu
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index c4dcdace4..2159b4db7 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -1,16 +1,67 @@
-config ADK_HOST_NEED_MKISOFS
+# always required from OpenADK
+config ADK_HOST_BUILD_HEIRLOOM_CPIO
+ boolean
+ default y
+
+config ADK_HOST_BUILD_ADK_HELPER
+ boolean
+ default y
+
+# always required, but can be provided by host
+config ADK_HOST_BUILD_BASH
boolean
default n
-config ADK_HOST_NEED_SYSLINUX
+config ADK_HOST_BUILD_BC
+ boolean
+ default n
+
+config ADK_HOST_BUILD_BISON
+ boolean
+ default n
+
+config ADK_HOST_BUILD_BZIP2
+ boolean
+ default n
+
+config ADK_HOST_BUILD_FILE
+ boolean
+ default n
+
+config ADK_HOST_BUILD_FINDUTILS
+ boolean
+ default n
+
+config ADK_HOST_BUILD_FLEX
+ boolean
+ default n
+
+config ADK_HOST_BUILD_M4
+ boolean
+ default n
+
+config ADK_HOST_BUILD_PKGCONF
+ boolean
+ default n
+
+config ADK_HOST_BUILD_XZ
+ boolean
+ default n
+
+# optional, but can be provided by host
+config ADK_HOST_NEED_CCACHE
+ boolean
+ default n
+
+config ADK_HOST_BUILD_CCACHE
boolean
default n
-config ADK_HOST_NEED_SQUASHFS
+config ADK_HOST_NEED_CDRTOOLS
boolean
default n
-config ADK_HOST_NEED_JFFS2
+config ADK_HOST_BUILD_CDRTOOLS
boolean
default n
@@ -18,7 +69,7 @@ config ADK_HOST_NEED_GENEXT2FS
boolean
default n
-config ADK_HOST_NEED_LZOP
+config ADK_HOST_BUILD_GENEXT2FS
boolean
default n
@@ -26,20 +77,50 @@ config ADK_HOST_NEED_LZMA
boolean
default n
-config ADK_HOST_NEED_BZIP2
+config ADK_HOST_BUILD_LZMA
boolean
default n
-config ADK_HOST_NEED_XZ
+config ADK_HOST_NEED_LZOP
boolean
default n
-config ADK_HOST_NEED_CCACHE
+config ADK_HOST_BUILD_LZOP
+ boolean
+ default n
+
+config ADK_HOST_NEED_MKSH
+ boolean
+ default n
+
+config ADK_HOST_BUILD_MKSH
+ boolean
+ default n
+
+config ADK_HOST_NEED_SYSLINUX
+ boolean
+ default n
+
+config ADK_HOST_BUILD_SYSLINUX
+ boolean
+ default n
+
+# optional, must be used from OpenADK
+config ADK_HOST_BUILD_MTD_UTILS
+ boolean
+ default n
+
+config ADK_HOST_BUILD_SQUASHFS
+ boolean
+ default n
+
+config ADK_HOST_BUILD_MKIMAGE
+ boolean
+ default n
+
+config ADK_HOST_BUILD_PCRE
boolean
+ default y if ADK_HOST_DARWIN
default n
-config ADK_TOOLS_ADDPATTERN_ARGS
- string
- default "-p W54G -v v4.20.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
- default "-p W54S -v v4.70.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS
- default ""
+source "target/config/Config.in.prereq"
diff --git a/target/linux/config/Config.in.audio b/target/linux/config/Config.in.audio
index e924902e3..a1a5077e6 100644
--- a/target/linux/config/Config.in.audio
+++ b/target/linux/config/Config.in.audio
@@ -13,23 +13,14 @@ config ADK_KERNEL_SND_USB
config ADK_KERNEL_SND_PXA2XX_AC97
boolean
-config ADK_KERNEL_SND_TIMER
+config ADK_KPACKAGE_KMOD_SND_TIMER
boolean
-config ADK_KERNEL_SND_PCM
+config ADK_KPACKAGE_KMOD_SND_PCM
boolean
-config ADK_KERNEL_SND_HWDEP
- boolean
-
-config ADK_KERNEL_SND_OSSEMUL
- boolean
-
-config ADK_KERNEL_SND_MIXER_OSS
- boolean
-
-config ADK_KERNEL_SND_PCM_OSS
- boolean
+config ADK_KPACKAGE_KMOD_SND_HWDEP
+ tristate
config ADK_KPACKAGE_KMOD_SOUND
tristate
@@ -40,32 +31,24 @@ config ADK_KPACKAGE_KMOD_SND_RAWMIDI
config ADK_KPACKAGE_KMOD_SND_AC97_CODEC
tristate
-config ADK_KPACKAGE_KMOD_SND
- prompt "kmod-snd...................... ALSA sound support"
+config ADK_KPACKAGE_KMOD_SND_PCM_DMAENGINE
tristate
- select ADK_KPACKAGE_KMOD_SOUND
- select ADK_KERNEL_SND_OSSEMUL
- select ADK_KERNEL_SND_TIMER
- select ADK_KERNEL_SND_PCM
- select ADK_KERNEL_SND_HWDEP
- default n
- help
- Basic ALSA sound support.
-config ADK_KPACKAGE_KMOD_SND_OSSEMUL
- prompt "kmod-snd-ossemul.............. ALSA OSS Emulation"
+config ADK_KPACKAGE_KMOD_SND_COMPRESS
tristate
- select ADK_KERNEL_SND_MIXER_OSS
- select ADK_KERNEL_SND_PCM_OSS
- select ADK_KPACKAGE_KMOD_SND
- default y if ADK_TARGET_SYSTEM_IBM_X40
+
+config ADK_KPACKAGE_KMOD_SND
+ tristate
+ select ADK_KPACKAGE_KMOD_SOUND
+ select ADK_KPACKAGE_KMOD_SND_PCM
+ select ADK_KPACKAGE_KMOD_SND_TIMER
+ select ADK_KPACKAGE_KMOD_SND_HWDEP
default n
- help
- ALSA OSS Emulation
config ADK_KPACKAGE_KMOD_SND_INTEL8X0
prompt "kmod-snd-intel8x0............. Intel AC97 driver"
tristate
+ select ADK_KERNEL_SND_PCI
select ADK_KPACKAGE_KMOD_SND_AC97_CODEC
select ADK_KPACKAGE_KMOD_SND
default y if ADK_TARGET_SYSTEM_IBM_X40
@@ -136,11 +119,14 @@ config ADK_KPACKAGE_KMOD_SND_BCM2835
default n
config ADK_KPACKAGE_KMOD_SND_BCM2708_SOC_I2S
- prompt "kmod-snd-bcm2708-soc-i2s........ ALSA SOC I2S Raspberry PI"
+ prompt "kmod-snd-bcm2708-soc-i2s...... ALSA SOC I2S Raspberry PI"
+ tristate
select ADK_KPACKAGE_KMOD_SND
select ADK_KERNEL_SND_ARM
select ADK_KPACKAGE_KMOD_SND_SOC
- boolean
+ select ADK_KPACKAGE_KMOD_SND_PCM_DMAENGINE
+ select ADK_KPACKAGE_KMOD_SND_COMPRESS
+ depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
config ADK_KPACKAGE_KMOD_SND_BCM2708_SOC_HIFIBERRY_DAC
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index 9297031c2..dd7c96dc5 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -1,6 +1,3 @@
-config ADK_KERNEL_BLOCK
- boolean
-
config ADK_KERNEL_MD
boolean
@@ -24,6 +21,10 @@ config ADK_KERNEL_IOSCHED_CFQ
config ADK_KERNEL_SCSI
boolean
+ default y if ADK_TARGET_SYSTEM_IBM_X40
+
+config ADK_KERNEL_SCSI_DMA
+ boolean
config ADK_KERNEL_BLK_DEV_SD
boolean
@@ -74,7 +75,48 @@ config ADK_KERNEL_MMC_SDHCI_PLTFM
config ADK_KERNEL_MMC_SDHCI_BCM2708_DMA
boolean
+config ADK_KERNEL_ATA_PIIX
+ select ADK_KERNEL_SCSI
+ select ADK_KERNEL_SCSI_DMA
+ select ADK_KERNEL_ATA
+ select ADK_KERNEL_ATA_SFF
+ select ADK_KERNEL_ATA_BMDMA
+ select ADK_KERNEL_BLK_DEV
+ select ADK_KERNEL_BLK_DEV_SD
+ boolean
+
config ADK_KERNEL_SCSI_SYM53C8XX_2
+ select ADK_KERNEL_SCSI
+ select ADK_KERNEL_BLK_DEV
+ select ADK_KERNEL_BLK_DEV_SD
+ boolean
+
+config ADK_KERNEL_SCSI_IBMVSCSI
+ select ADK_KERNEL_SCSI
+ select ADK_KERNEL_BLK_DEV
+ select ADK_KERNEL_BLK_DEV_SD
+ boolean
+
+config ADK_KERNEL_SCSI_SUNESP
+ select ADK_KERNEL_SCSI
+ select ADK_KERNEL_BLK_DEV
+ select ADK_KERNEL_BLK_DEV_SD
+ boolean
+
+config ADK_KERNEL_PATA_MACIO
+ select ADK_KERNEL_SCSI
+ select ADK_KERNEL_ATA
+ select ADK_KERNEL_ATA_BMDMA
+ select ADK_KERNEL_BLK_DEV
+ select ADK_KERNEL_BLK_DEV_SD
+ boolean
+
+config ADK_KERNEL_PATA_PLATFORM
+ select ADK_KERNEL_SCSI
+ select ADK_KERNEL_ATA
+ select ADK_KERNEL_ATA_BMDMA
+ select ADK_KERNEL_BLK_DEV
+ select ADK_KERNEL_BLK_DEV_SD
boolean
config ADK_KERNEL_PATA_PCMCIA
@@ -82,7 +124,6 @@ config ADK_KERNEL_PATA_PCMCIA
config ADK_KERNEL_PATA_PXA
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_ATA
select ADK_KERNEL_ATA_SFF
@@ -95,7 +136,6 @@ config ADK_KERNEL_PATA_PXA
config ADK_KERNEL_MMC_AT91
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_MMC
select ADK_KERNEL_MMC_BLOCK
@@ -106,7 +146,6 @@ config ADK_KERNEL_MMC_AT91
config ADK_KERNEL_MMC_SDHCI_BCM2708
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_MMC
select ADK_KERNEL_MMC_BLOCK
@@ -121,7 +160,6 @@ config ADK_KERNEL_MMC_SDHCI_BCM2708
config ADK_KERNEL_PATA_RB532
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_ATA
select ADK_KERNEL_ATA_SFF
@@ -133,7 +171,6 @@ config ADK_KERNEL_PATA_RB532
config ADK_KERNEL_PATA_AMD
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_ATA
select ADK_KERNEL_ATA_SFF
@@ -148,7 +185,6 @@ config ADK_KERNEL_PATA_AMD
config ADK_KERNEL_PATA_SC1200
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_ATA
select ADK_KERNEL_ATA_SFF
@@ -160,7 +196,6 @@ config ADK_KERNEL_PATA_SC1200
config ADK_KERNEL_PATA_JMICRON
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_ATA
select ADK_KERNEL_ATA_SFF
@@ -171,7 +206,6 @@ config ADK_KERNEL_PATA_JMICRON
config ADK_KERNEL_SATA_AHCI
tristate
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_SCSI
select ADK_KERNEL_ATA
select ADK_KERNEL_BLK_DEV
@@ -185,7 +219,6 @@ menu "Block devices support"
config ADK_KPACKAGE_KMOD_SATA_AHCI
prompt "kmod-sata-ahci.................... AHCI SATA driver"
tristate
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_ATA
select ADK_KERNEL_BLK_DEV_SD
depends on !ADK_KERNEL_SATA_AHCI
@@ -197,7 +230,6 @@ config ADK_KPACKAGE_KMOD_SATA_AHCI
config ADK_KPACKAGE_KMOD_BLK_DEV_LOOP
prompt "kmod-blk-dev-loop................. Loop mount support"
tristate
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_BLK_DEV
default n
help
@@ -265,7 +297,6 @@ config ADK_KPACKAGE_KMOD_SCSI
select ADK_KERNEL_LSF
select ADK_KERNEL_IOSCHED_AS
depends on !ADK_KERNEL_SCSI
- depends on !ADK_KERNEL_SATA_AHCI
tristate
help
If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
@@ -281,7 +312,7 @@ config ADK_KPACKAGE_KMOD_SCSI
config ADK_KPACKAGE_KMOD_BLK_DEV_SD
prompt "kmod-scsi-disk.................... SCSI disk support"
- select ADK_KPACKAGE_KMOD_SCSI
+ select ADK_KPACKAGE_KMOD_SCSI if !ADK_KERNEL_SCSI
depends on !ADK_KERNEL_BLK_DEV_SD
tristate
help
diff --git a/target/linux/config/Config.in.cpu b/target/linux/config/Config.in.cpu
index a8dfd5188..1d36c0b36 100644
--- a/target/linux/config/Config.in.cpu
+++ b/target/linux/config/Config.in.cpu
@@ -1,12 +1,3 @@
-config ADK_KERNEL_MATOM
- boolean
-
-config ADK_KERNEL_MPENTIUMM
- boolean
-
-config ADK_KERNEL_MGEODE_LX
- boolean
-
config ADK_KERNEL_MTRR
boolean
default y if ADK_TARGET_CPU_WITH_MTRR
diff --git a/target/linux/config/Config.in.debug b/target/linux/config/Config.in.debug
index 80387c627..a1c7ae6c9 100644
--- a/target/linux/config/Config.in.debug
+++ b/target/linux/config/Config.in.debug
@@ -30,7 +30,7 @@ config ADK_KERNEL_EARLY_PRINTK
default n
config ADK_KERNEL_PRINTK
- prompt "Enable printk to save space and quieten bootup"
+ prompt "printk support (disable to save space and quieten bootup)"
boolean
select ADK_KERNEL_EARLY_PRINTK
default y
@@ -39,7 +39,7 @@ config ADK_KERNEL_PRINTK
Disable printk to save space and quieten bootup.
config ADK_KERNEL_PRINTK_TIME
- prompt "Enable timing information for printk"
+ prompt "timing information for printk"
boolean
depends on ADK_KERNEL_PRINTK
default n
diff --git a/target/linux/config/Config.in.flash b/target/linux/config/Config.in.flash
index 773c518e8..dda8ad4c9 100644
--- a/target/linux/config/Config.in.flash
+++ b/target/linux/config/Config.in.flash
@@ -87,8 +87,21 @@ config ADK_KERNEL_MTD_OF_PARTS
default n
config ADK_KERNEL_MTD_M25P80
+ select ADK_KERNEL_BLOCK
+ select ADK_KERNEL_MTD
+ select ADK_KERNEL_MTD_PARTITIONS
+ select ADK_KERNEL_MTD_CHAR
+ select ADK_KERNEL_MTD_BLKDEVS
+ select ADK_KERNEL_MTD_BLOCK
+ select ADK_KERNEL_MTD_ROOTFS_ROOT_DEV
+ select ADK_KERNEL_MTD_CFI
+ select ADK_KERNEL_MTD_GEN_PROBE
+ select ADK_KERNEL_MTD_PHYSMAP
+ select ADK_KERNEL_MTD_PHYSMAP_OF
+ select ADK_KERNEL_MTD_OF_PARTS
+ select ADK_KERNEL_SPI
+ select ADK_KERNEL_SPI_MASTER
boolean
- default y if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
default n
config ADK_KERNEL_MTD_AR2315
@@ -129,13 +142,11 @@ config ADK_TARGET_MTD
select ADK_KERNEL_MTD_CFI
select ADK_KERNEL_MTD_GEN_PROBE
select ADK_KERNEL_MTD_PHYSMAP
- select ADK_KERNEL_MTD_PHYSMAP_OF if ADK_LINUX_MICROBLAZE
- select ADK_KERNEL_MTD_OF_PARTS if ADK_LINUX_MICROBLAZE
default y if ADK_TARGET_WITH_MTD
default n
config ADK_TARGET_MTD_SIZE
int
- default "33554432" if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE
- default "33554432" if ADK_TARGET_SYSTEM_QEMU_MICROBLAZEEL
+ default "16777216" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+ default "33554432" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
default "0"
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index 85065c093..5ebf38794 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -11,9 +11,6 @@ config ADK_KERNEL_EXPORTFS
boolean
default y
-config ADK_KERNEL_JFFS2_FS
- boolean
-
config ADK_KERNEL_YAFFS_FS
tristate
@@ -51,6 +48,21 @@ config ADK_KERNEL_SQUASHFS_XZ
boolean
default n
+config ADK_KERNEL_JFFS2_COMPRESSION_OPTIONS
+ boolean
+ default n
+
+config ADK_KERNEL_JFFS2_ZLIB
+ boolean
+ default n
+
+config ADK_KERNEL_JFFS2_FS
+ prompt "jffs2............................. JFFS2 filesystem"
+ select ADK_KERNEL_MISC_FILESYSTEMS
+ select ADK_KERNEL_JFFS2_COMPRESSION_OPTIONS
+ select ADK_KERNEL_JFFS2_ZLIB
+ boolean
+
config ADK_KERNEL_SQUASHFS
prompt "squashfs.......................... SquashFS filesystem"
boolean
@@ -60,8 +72,7 @@ config ADK_KERNEL_SQUASHFS
config ADK_KERNEL_EXT2_FS
boolean
- default y if ADK_TARGET_WITH_CF
- default y if ADK_TARGET_WITH_MMC && !ADK_TARGET_SYSTEM_RASPBERRY_PI
+ default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default n
config ADK_KPACKAGE_KMOD_EXT2_FS
@@ -183,7 +194,7 @@ config ADK_KPACKAGE_KMOD_VFAT_FS
select ADK_KPACKAGE_KMOD_NLS_CODEPAGE_850
select ADK_KPACKAGE_KMOD_NLS_ISO8859_1
select ADK_KERNEL_BLOCK
- default y if ADK_TARGET_WITH_MMC
+ default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
help
This option provides support for normal Windows file systems with
@@ -222,7 +233,7 @@ config ADK_KPACKAGE_KMOD_XFS_FS
with the IRIX version of XFS.
config ADK_KPACKAGE_KMOD_FUSE_FS
- prompt "kmod-fs-fuse...................... Filesystem in Userspace support"
+ prompt "kmod-fuse-fs...................... Filesystem in Userspace support"
tristate
default n
help
diff --git a/target/linux/config/Config.in.graphics b/target/linux/config/Config.in.graphics
index dc748e6c0..3a8e18b25 100644
--- a/target/linux/config/Config.in.graphics
+++ b/target/linux/config/Config.in.graphics
@@ -13,7 +13,6 @@ config ADK_KERNEL_VT_CONSOLE
config ADK_KERNEL_VGA_CONSOLE
boolean
default y if ADK_HARDWARE_VBOX
- default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default n
config ADK_KERNEL_FONTS
@@ -27,11 +26,19 @@ config ADK_KERNEL_FB
boolean
config ADK_KERNEL_FRAMEBUFFER_CONSOLE
+ default y if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default n
boolean
config ADK_KERNEL_MFD_SM501
boolean
+config ADK_KERNEL_FB_ATARI
+ boolean
+ select ADK_KERNEL_FB
+ default y if ADK_TARGET_SYSTEM_ARANYM_M68K
+ default n
+
config ADK_KERNEL_FB_CIRRUS
boolean
@@ -61,7 +68,7 @@ config ADK_KERNEL_LOGO
boolean
menu "Graphic devices support"
-depends on ADK_TARGET_WITH_VGA
+depends on ADK_TARGET_WITH_VGA || ADK_HARDWARE_QEMU
config ADK_KERNEL_LOGO_LINUX_CLUT224
prompt "Enable Linux penguin boot logo"
@@ -69,6 +76,12 @@ config ADK_KERNEL_LOGO_LINUX_CLUT224
select ADK_KERNEL_LOGO
default n
+config ADK_KERNEL_FB_CON_DECOR
+ prompt "Enable fullscreen boot logo"
+ boolean
+ select ADK_PACKAGE_FBSPLASH
+ default n
+
config ADK_KERNEL_FB_VESA
prompt "................................ Framebuffer support for VirtualBox Emulator (VESA)"
boolean
diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel
index d928cea09..ead74cc7e 100644
--- a/target/linux/config/Config.in.kernel
+++ b/target/linux/config/Config.in.kernel
@@ -7,6 +7,9 @@ config ADK_KERNEL_EXPERIMENTAL
config ADK_KERNEL_BLK_DEV_INITRD
boolean
+config ADK_KERNEL_BLK_DEV_RAM
+ boolean
+
config ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
boolean
@@ -95,7 +98,7 @@ config ADK_KERNEL_PCI
config ADK_KERNEL_64BIT
boolean
- default y if ADK_TARGET_KERNEL64
+ default y if ADK_LINUX_64
config ADK_KERNEL_CPU_MIPS64
boolean
@@ -103,6 +106,9 @@ config ADK_KERNEL_CPU_MIPS64
config ADK_KERNEL_CPU_MIPS64_R1
boolean
+config ADK_KERNEL_CPU_MIPS64_R2
+ boolean
+
config ADK_KERNEL_PREEMPT
boolean
@@ -122,7 +128,9 @@ config ADK_KERNEL_AEABI
# endianess
config ADK_KERNEL_CPU_BIG_ENDIAN
+ default y if ADK_big
boolean
config ADK_KERNEL_CPU_LITTLE_ENDIAN
+ default y if ADK_little
boolean
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index 7aabc0b7e..62479c2cb 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/target/linux/config/Config.in.netdevice
@@ -7,6 +7,18 @@ config ADK_KERNEL_NETDEVICES
config ADK_KERNEL_NET_ETHERNET
boolean
+config ADK_KERNEL_NET_VENDOR_NATSEMI
+ boolean
+
+config ADK_KERNEL_NET_VENDOR_8390
+ boolean
+
+config ADK_KERNEL_NET_VENDOR_REALTEK
+ boolean
+
+config ADK_KERNEL_NET_VENDOR_MARVELL
+ boolean
+
config ADK_KERNEL_PHYLIB
boolean
@@ -151,6 +163,8 @@ config ADK_KPACKAGE_KMOD_NE2K_PCI
select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
+ select ADK_KERNEL_NET_VENDOR_NATSEMI
+ select ADK_KERNEL_NET_VENDOR_8390
select ADK_KERNEL_MII
default n
help
@@ -173,6 +187,7 @@ config ADK_KPACKAGE_KMOD_8139CP
select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
+ select ADK_KERNEL_NET_VENDOR_REALTEK
select ADK_KERNEL_MII
default n
help
@@ -220,6 +235,7 @@ config ADK_KPACKAGE_KMOD_SKY2
select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NETDEV_1000
+ select ADK_KERNEL_NET_VENDOR_MARVELL
depends on !ADK_KERNEL_SKY2
default n
help
diff --git a/target/linux/config/Config.in.netfilter.ip4 b/target/linux/config/Config.in.netfilter.ip4
index b43a566b9..d3f988845 100644
--- a/target/linux/config/Config.in.netfilter.ip4
+++ b/target/linux/config/Config.in.netfilter.ip4
@@ -36,16 +36,16 @@ config ADK_KPACKAGE_KMOD_IP_NF_FILTER
config ADK_KPACKAGE_KMOD_FULL_NAT
tristate "Meta package for Full NAT"
- select ADK_KPACKAGE_KMOD_NF_NAT if ADK_KERNEL_VERSION_3_4_82
- select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_10_30
+ select ADK_KPACKAGE_KMOD_NF_NAT if ADK_KERNEL_VERSION_3_4_84
+ select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_10_34
select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_11_10
- select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_12_13
- select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_13_6
+ select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_12_14
+ select ADK_KPACKAGE_KMOD_NF_NAT_IPV4 if ADK_KERNEL_VERSION_3_13_7
config ADK_KPACKAGE_KMOD_NF_NAT
tristate 'Full NAT'
depends on ADK_KPACKAGE_KMOD_IP_NF_IPTABLES
- depends on ADK_KERNEL_VERSION_3_4_82
+ depends on ADK_KERNEL_VERSION_3_4_84
help
The Full NAT option allows masquerading, port forwarding and other
forms of full Network Address Port Translation. It is controlled by
@@ -54,10 +54,10 @@ config ADK_KPACKAGE_KMOD_NF_NAT
config ADK_KPACKAGE_KMOD_NF_NAT_IPV4
tristate 'Full NAT'
depends on ADK_KPACKAGE_KMOD_IP_NF_IPTABLES
- depends on ADK_KERNEL_VERSION_3_10_30 \
+ depends on ADK_KERNEL_VERSION_3_10_34 \
|| ADK_KERNEL_VERSION_3_11_10 \
- || ADK_KERNEL_VERSION_3_12_13 \
- || ADK_KERNEL_VERSION_3_13_6
+ || ADK_KERNEL_VERSION_3_12_14 \
+ || ADK_KERNEL_VERSION_3_13_7
help
The Full NAT option allows masquerading, port forwarding and other
forms of full Network Address Port Translation. It is controlled by
diff --git a/target/linux/config/Config.in.network b/target/linux/config/Config.in.network
index 00d05dcd4..71a510d69 100644
--- a/target/linux/config/Config.in.network
+++ b/target/linux/config/Config.in.network
@@ -1,13 +1,5 @@
menu "Network support"
-config ADK_KERNEL_INET
- boolean
- default y
-
-config ADK_KERNEL_NET_CORE
- boolean
- default y
-
config ADK_KERNEL_IP_FIB_HASH
boolean
default y
diff --git a/target/linux/config/Config.in.nls b/target/linux/config/Config.in.nls
index 587d5a37b..61dd32752 100644
--- a/target/linux/config/Config.in.nls
+++ b/target/linux/config/Config.in.nls
@@ -1,12 +1,8 @@
menu "Native Language support"
-config ADK_KERNEL_NLS
- boolean
- default y
-
config ADK_KERNEL_NLS_DEFAULT
string
- default "iso8859-1"
+ default "utf-8"
config ADK_KPACKAGE_KMOD_NLS_CODEPAGE_437
prompt "kmod-nls-codepage-437........... Codepage 437 (United States, Canada)"
@@ -325,7 +321,7 @@ config ADK_KPACKAGE_KMOD_NLS_ASCII
config ADK_KPACKAGE_KMOD_NLS_ISO8859_1
prompt "kmod-nls-iso8859-1.............. NLS ISO 8859-1 (Latin-1; Western European Languages)"
tristate
- default n
+ default y
help
If you want to display filenames with native language characters
from the Microsoft FAT file system family or from JOLIET CD-ROMs
@@ -499,7 +495,7 @@ config ADK_KPACKAGE_KMOD_NLS_KOI8_U
config ADK_KPACKAGE_KMOD_NLS_UTF8
prompt "kmod-nls-utf8................... NLS UTF8"
tristate
- default n
+ default y
help
If you want to display filenames with native language characters
from the Microsoft FAT file system family or from JOLIET CD-ROMs
diff --git a/target/linux/config/Config.in.spi b/target/linux/config/Config.in.spi
index 73db5e86d..c130523ef 100644
--- a/target/linux/config/Config.in.spi
+++ b/target/linux/config/Config.in.spi
@@ -1,6 +1,12 @@
config ADK_KERNEL_SPI
boolean
+config ADK_KERNEL_SPI_MASTER
+ boolean
+
+config ADK_KERNEL_SPI_XILINX
+ boolean
+
config ADK_KERNEL_SPI_AR71XX
select ADK_KERNEL_SPI
boolean
diff --git a/target/linux/config/Config.in.systems b/target/linux/config/Config.in.systems
deleted file mode 100644
index 61284f0fb..000000000
--- a/target/linux/config/Config.in.systems
+++ /dev/null
@@ -1,17 +0,0 @@
-# page size
-config ADK_KERNEL_PAGE_SIZE_4KB
- boolean
-
-config ADK_KERNEL_PAGE_SIZE_16KB
- boolean
-
-# ABI
-config ADK_KERNEL_AEABI
- boolean
-
-# endianess
-config ADK_KERNEL_CPU_BIG_ENDIAN
- boolean
-
-config ADK_KERNEL_CPU_LITTLE_ENDIAN
- boolean
diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb
index 2d50e24b2..ac85f977e 100644
--- a/target/linux/config/Config.in.usb
+++ b/target/linux/config/Config.in.usb
@@ -7,20 +7,14 @@ config ADK_KERNEL_USB_SUPPORT
config ADK_KERNEL_USB
boolean
select ADK_KERNEL_USB_SUPPORT
- default y if ADK_TARGET_SYSTEM_QEMU_SH4
- default y if ADK_TARGET_SYSTEM_QEMU_SH4EB
default n
config ADK_KERNEL_USB_OHCI_HCD
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_SH4
- default y if ADK_TARGET_SYSTEM_QEMU_SH4EB
default n
config ADK_KERNEL_USB_OHCI_HCD_PLATFORM
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_SH4
- default y if ADK_TARGET_SYSTEM_QEMU_SH4EB
default n
config ADK_KERNEL_USB_LIBUSUAL
diff --git a/target/linux/kernel.config b/target/linux/kernel.config
index d69b28908..9c6c96c01 100644
--- a/target/linux/kernel.config
+++ b/target/linux/kernel.config
@@ -12,14 +12,17 @@ CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_INET=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_ETHERNET=y
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
CONFIG_BLOCK=y
+CONFIG_BLK_DEV=y
CONFIG_FILE_LOCKING=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_EMBEDDED=y
CONFIG_MODULES=y
CONFIG_BINFMT_ELF=y
diff --git a/target/linux/patches/3.10.33/startup.patch b/target/linux/patches/3.10.33/startup.patch
deleted file mode 100644
index 4dccae8c1..000000000
--- a/target/linux/patches/3.10.33/startup.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur linux-3.7.3.orig/init/main.c linux-3.7.3/init/main.c
---- linux-3.7.3.orig/init/main.c 2013-01-17 17:47:40.000000000 +0100
-+++ linux-3.7.3/init/main.c 2013-01-19 15:08:13.000000000 +0100
-@@ -879,6 +880,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- printk(KERN_WARNING "Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
diff --git a/target/linux/patches/3.10.33/bsd-compatibility.patch b/target/linux/patches/3.10.34/bsd-compatibility.patch
index b954b658f..b954b658f 100644
--- a/target/linux/patches/3.10.33/bsd-compatibility.patch
+++ b/target/linux/patches/3.10.34/bsd-compatibility.patch
diff --git a/target/linux/patches/3.10.34/startup.patch b/target/linux/patches/3.10.34/startup.patch
new file mode 100644
index 000000000..3ebc5db1e
--- /dev/null
+++ b/target/linux/patches/3.10.34/startup.patch
@@ -0,0 +1,34 @@
+diff -Nur linux-3.10.33.orig/init/initramfs.c linux-3.10.33/init/initramfs.c
+--- linux-3.10.33.orig/init/initramfs.c 2014-03-07 06:58:45.000000000 +0100
++++ linux-3.10.33/init/initramfs.c 2014-03-15 18:32:07.240436750 +0100
+@@ -622,6 +622,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-3.10.33.orig/init/main.c linux-3.10.33/init/main.c
+--- linux-3.10.33.orig/init/main.c 2014-03-07 06:58:45.000000000 +0100
++++ linux-3.10.33/init/main.c 2014-03-15 18:32:07.240436750 +0100
+@@ -885,6 +885,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+@@ -893,7 +895,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/3.11.10/startup.patch b/target/linux/patches/3.11.10/startup.patch
index 4dccae8c1..e7285873d 100644
--- a/target/linux/patches/3.11.10/startup.patch
+++ b/target/linux/patches/3.11.10/startup.patch
@@ -1,12 +1,34 @@
-diff -Nur linux-3.7.3.orig/init/main.c linux-3.7.3/init/main.c
---- linux-3.7.3.orig/init/main.c 2013-01-17 17:47:40.000000000 +0100
-+++ linux-3.7.3/init/main.c 2013-01-19 15:08:13.000000000 +0100
-@@ -879,6 +880,8 @@
+diff -Nur linux-3.11.10.orig/init/initramfs.c linux-3.11.10/init/initramfs.c
+--- linux-3.11.10.orig/init/initramfs.c 2013-11-29 19:42:37.000000000 +0100
++++ linux-3.11.10/init/initramfs.c 2014-03-15 18:42:01.586249887 +0100
+@@ -622,6 +622,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-3.11.10.orig/init/main.c linux-3.11.10/init/main.c
+--- linux-3.11.10.orig/init/main.c 2013-11-29 19:42:37.000000000 +0100
++++ linux-3.11.10/init/main.c 2014-03-15 18:42:01.590249897 +0100
+@@ -886,6 +886,8 @@
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- printk(KERN_WARNING "Warning: unable to open an initial console.\n");
+ pr_err("Warning: unable to open an initial console.\n");
+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
+
(void) sys_dup(0);
(void) sys_dup(0);
/*
+@@ -894,7 +896,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/3.12.13/startup.patch b/target/linux/patches/3.12.13/startup.patch
deleted file mode 100644
index 4dccae8c1..000000000
--- a/target/linux/patches/3.12.13/startup.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur linux-3.7.3.orig/init/main.c linux-3.7.3/init/main.c
---- linux-3.7.3.orig/init/main.c 2013-01-17 17:47:40.000000000 +0100
-+++ linux-3.7.3/init/main.c 2013-01-19 15:08:13.000000000 +0100
-@@ -879,6 +880,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- printk(KERN_WARNING "Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
diff --git a/target/linux/patches/3.12.13/bsd-compatibility.patch b/target/linux/patches/3.12.14/bsd-compatibility.patch
index b954b658f..b954b658f 100644
--- a/target/linux/patches/3.12.13/bsd-compatibility.patch
+++ b/target/linux/patches/3.12.14/bsd-compatibility.patch
diff --git a/target/linux/patches/3.12.13/defaults.patch b/target/linux/patches/3.12.14/defaults.patch
index 6cdca084e..6cdca084e 100644
--- a/target/linux/patches/3.12.13/defaults.patch
+++ b/target/linux/patches/3.12.14/defaults.patch
diff --git a/target/linux/patches/3.12.13/disable-netfilter.patch b/target/linux/patches/3.12.14/disable-netfilter.patch
index 7b1ca013a..7b1ca013a 100644
--- a/target/linux/patches/3.12.13/disable-netfilter.patch
+++ b/target/linux/patches/3.12.14/disable-netfilter.patch
diff --git a/target/linux/patches/3.12.13/export-symbol-for-exmap.patch b/target/linux/patches/3.12.14/export-symbol-for-exmap.patch
index 4f0fc8449..4f0fc8449 100644
--- a/target/linux/patches/3.12.13/export-symbol-for-exmap.patch
+++ b/target/linux/patches/3.12.14/export-symbol-for-exmap.patch
diff --git a/target/linux/patches/3.12.13/gemalto.patch b/target/linux/patches/3.12.14/gemalto.patch
index 65f7af1d7..65f7af1d7 100644
--- a/target/linux/patches/3.12.13/gemalto.patch
+++ b/target/linux/patches/3.12.14/gemalto.patch
diff --git a/target/linux/patches/3.12.13/lemote-rfkill.patch b/target/linux/patches/3.12.14/lemote-rfkill.patch
index a61488434..a61488434 100644
--- a/target/linux/patches/3.12.13/lemote-rfkill.patch
+++ b/target/linux/patches/3.12.14/lemote-rfkill.patch
diff --git a/target/linux/patches/3.12.13/microblaze-ethernet.patch b/target/linux/patches/3.12.14/microblaze-ethernet.patch
index 742ab477e..742ab477e 100644
--- a/target/linux/patches/3.12.13/microblaze-ethernet.patch
+++ b/target/linux/patches/3.12.14/microblaze-ethernet.patch
diff --git a/target/linux/patches/3.12.13/microblaze-setup.patch b/target/linux/patches/3.12.14/microblaze-setup.patch
index 43815f274..43815f274 100644
--- a/target/linux/patches/3.12.13/microblaze-setup.patch
+++ b/target/linux/patches/3.12.14/microblaze-setup.patch
diff --git a/target/linux/patches/3.12.13/mips-lzo-fix.patch b/target/linux/patches/3.12.14/mips-lzo-fix.patch
index 0740bdc6a..0740bdc6a 100644
--- a/target/linux/patches/3.12.13/mips-lzo-fix.patch
+++ b/target/linux/patches/3.12.14/mips-lzo-fix.patch
diff --git a/target/linux/patches/3.12.13/mtd-rootfs.patch b/target/linux/patches/3.12.14/mtd-rootfs.patch
index 775d5fc80..775d5fc80 100644
--- a/target/linux/patches/3.12.13/mtd-rootfs.patch
+++ b/target/linux/patches/3.12.14/mtd-rootfs.patch
diff --git a/target/linux/patches/3.12.13/non-static.patch b/target/linux/patches/3.12.14/non-static.patch
index a967703d0..a967703d0 100644
--- a/target/linux/patches/3.12.13/non-static.patch
+++ b/target/linux/patches/3.12.14/non-static.patch
diff --git a/target/linux/patches/3.12.13/ppc64-missing-zlib.patch b/target/linux/patches/3.12.14/ppc64-missing-zlib.patch
index c6e0616be..c6e0616be 100644
--- a/target/linux/patches/3.12.13/ppc64-missing-zlib.patch
+++ b/target/linux/patches/3.12.14/ppc64-missing-zlib.patch
diff --git a/target/linux/patches/3.12.13/raspberry.patch b/target/linux/patches/3.12.14/raspberry.patch
index c306f4faf..c306f4faf 100644
--- a/target/linux/patches/3.12.13/raspberry.patch
+++ b/target/linux/patches/3.12.14/raspberry.patch
diff --git a/target/linux/patches/3.12.14/startup.patch b/target/linux/patches/3.12.14/startup.patch
new file mode 100644
index 000000000..4cd477da1
--- /dev/null
+++ b/target/linux/patches/3.12.14/startup.patch
@@ -0,0 +1,34 @@
+diff -Nur linux-3.12.13.orig/init/initramfs.c linux-3.12.13/init/initramfs.c
+--- linux-3.12.13.orig/init/initramfs.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-3.12.13/init/initramfs.c 2014-03-15 18:09:39.040618589 +0100
+@@ -622,6 +622,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-3.12.13.orig/init/main.c linux-3.12.13/init/main.c
+--- linux-3.12.13.orig/init/main.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-3.12.13/init/main.c 2014-03-15 18:09:39.044618600 +0100
+@@ -888,6 +888,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+@@ -896,7 +898,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/3.12.13/usb-defaults-off.patch b/target/linux/patches/3.12.14/usb-defaults-off.patch
index 54dff2bd4..54dff2bd4 100644
--- a/target/linux/patches/3.12.13/usb-defaults-off.patch
+++ b/target/linux/patches/3.12.14/usb-defaults-off.patch
diff --git a/target/linux/patches/3.12.13/uuid.patch b/target/linux/patches/3.12.14/uuid.patch
index ca23accdf..ca23accdf 100644
--- a/target/linux/patches/3.12.13/uuid.patch
+++ b/target/linux/patches/3.12.14/uuid.patch
diff --git a/target/linux/patches/3.12.13/vga-cons-default-off.patch b/target/linux/patches/3.12.14/vga-cons-default-off.patch
index 08a57f783..08a57f783 100644
--- a/target/linux/patches/3.12.13/vga-cons-default-off.patch
+++ b/target/linux/patches/3.12.14/vga-cons-default-off.patch
diff --git a/target/linux/patches/3.12.13/wlan-cf.patch b/target/linux/patches/3.12.14/wlan-cf.patch
index fc20759e2..fc20759e2 100644
--- a/target/linux/patches/3.12.13/wlan-cf.patch
+++ b/target/linux/patches/3.12.14/wlan-cf.patch
diff --git a/target/linux/patches/3.12.13/xargs.patch b/target/linux/patches/3.12.14/xargs.patch
index 2c7b3df59..2c7b3df59 100644
--- a/target/linux/patches/3.12.13/xargs.patch
+++ b/target/linux/patches/3.12.14/xargs.patch
diff --git a/target/linux/patches/3.12.13/zlib-inflate.patch b/target/linux/patches/3.12.14/zlib-inflate.patch
index 58e1f6d21..58e1f6d21 100644
--- a/target/linux/patches/3.12.13/zlib-inflate.patch
+++ b/target/linux/patches/3.12.14/zlib-inflate.patch
diff --git a/target/linux/patches/3.13.6/startup.patch b/target/linux/patches/3.13.6/startup.patch
deleted file mode 100644
index be4ea469d..000000000
--- a/target/linux/patches/3.13.6/startup.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur linux-3.13.3.orig/init/main.c linux-3.13.3/init/main.c
---- linux-3.13.3.orig/init/main.c 2014-02-13 23:00:14.000000000 +0100
-+++ linux-3.13.3/init/main.c 2014-02-17 11:35:14.000000000 +0100
-@@ -916,6 +917,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
diff --git a/target/linux/patches/3.13.6/bsd-compatibility.patch b/target/linux/patches/3.13.7/bsd-compatibility.patch
index b954b658f..b954b658f 100644
--- a/target/linux/patches/3.13.6/bsd-compatibility.patch
+++ b/target/linux/patches/3.13.7/bsd-compatibility.patch
diff --git a/target/linux/patches/3.13.6/defaults.patch b/target/linux/patches/3.13.7/defaults.patch
index 6cdca084e..6cdca084e 100644
--- a/target/linux/patches/3.13.6/defaults.patch
+++ b/target/linux/patches/3.13.7/defaults.patch
diff --git a/target/linux/patches/3.13.6/disable-netfilter.patch b/target/linux/patches/3.13.7/disable-netfilter.patch
index 7b1ca013a..7b1ca013a 100644
--- a/target/linux/patches/3.13.6/disable-netfilter.patch
+++ b/target/linux/patches/3.13.7/disable-netfilter.patch
diff --git a/target/linux/patches/3.13.6/export-symbol-for-exmap.patch b/target/linux/patches/3.13.7/export-symbol-for-exmap.patch
index 4f0fc8449..4f0fc8449 100644
--- a/target/linux/patches/3.13.6/export-symbol-for-exmap.patch
+++ b/target/linux/patches/3.13.7/export-symbol-for-exmap.patch
diff --git a/target/linux/patches/3.13.7/fblogo.patch b/target/linux/patches/3.13.7/fblogo.patch
new file mode 100644
index 000000000..cbbb4216f
--- /dev/null
+++ b/target/linux/patches/3.13.7/fblogo.patch
@@ -0,0 +1,2097 @@
+diff -Nur linux-3.13.7.orig/Documentation/fb/00-INDEX linux-3.13.7/Documentation/fb/00-INDEX
+--- linux-3.13.7.orig/Documentation/fb/00-INDEX 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/Documentation/fb/00-INDEX 2014-03-29 16:03:17.000000000 +0100
+@@ -21,6 +21,8 @@
+ - info on the driver for EP93xx LCD controller.
+ fbcon.txt
+ - intro to and usage guide for the framebuffer console (fbcon).
++fbcondecor.txt
++ - info on the Framebuffer Console Decoration
+ framebuffer.txt
+ - introduction to frame buffer devices.
+ gxfb.txt
+diff -Nur linux-3.13.7.orig/Documentation/fb/fbcondecor.txt linux-3.13.7/Documentation/fb/fbcondecor.txt
+--- linux-3.13.7.orig/Documentation/fb/fbcondecor.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.13.7/Documentation/fb/fbcondecor.txt 2014-03-29 16:03:17.000000000 +0100
+@@ -0,0 +1,207 @@
++What is it?
++-----------
++
++The framebuffer decorations are a kernel feature which allows displaying a
++background picture on selected consoles.
++
++What do I need to get it to work?
++---------------------------------
++
++To get fbcondecor up-and-running you will have to:
++ 1) get a copy of splashutils [1] or a similar program
++ 2) get some fbcondecor themes
++ 3) build the kernel helper program
++ 4) build your kernel with the FB_CON_DECOR option enabled.
++
++To get fbcondecor operational right after fbcon initialization is finished, you
++will have to include a theme and the kernel helper into your initramfs image.
++Please refer to splashutils documentation for instructions on how to do that.
++
++[1] The splashutils package can be downloaded from:
++ http://github.com/alanhaggai/fbsplash
++
++The userspace helper
++--------------------
++
++The userspace fbcondecor helper (by default: /sbin/fbcondecor_helper) is called by the
++kernel whenever an important event occurs and the kernel needs some kind of
++job to be carried out. Important events include console switches and video
++mode switches (the kernel requests background images and configuration
++parameters for the current console). The fbcondecor helper must be accessible at
++all times. If it's not, fbcondecor will be switched off automatically.
++
++It's possible to set path to the fbcondecor helper by writing it to
++/proc/sys/kernel/fbcondecor.
++
++*****************************************************************************
++
++The information below is mostly technical stuff. There's probably no need to
++read it unless you plan to develop a userspace helper.
++
++The fbcondecor protocol
++-----------------------
++
++The fbcondecor protocol defines a communication interface between the kernel and
++the userspace fbcondecor helper.
++
++The kernel side is responsible for:
++
++ * rendering console text, using an image as a background (instead of a
++ standard solid color fbcon uses),
++ * accepting commands from the user via ioctls on the fbcondecor device,
++ * calling the userspace helper to set things up as soon as the fb subsystem
++ is initialized.
++
++The userspace helper is responsible for everything else, including parsing
++configuration files, decompressing the image files whenever the kernel needs
++it, and communicating with the kernel if necessary.
++
++The fbcondecor protocol specifies how communication is done in both ways:
++kernel->userspace and userspace->helper.
++
++Kernel -> Userspace
++-------------------
++
++The kernel communicates with the userspace helper by calling it and specifying
++the task to be done in a series of arguments.
++
++The arguments follow the pattern:
++<fbcondecor protocol version> <command> <parameters>
++
++All commands defined in fbcondecor protocol v2 have the following parameters:
++ virtual console
++ framebuffer number
++ theme
++
++Fbcondecor protocol v1 specified an additional 'fbcondecor mode' after the
++framebuffer number. Fbcondecor protocol v1 is deprecated and should not be used.
++
++Fbcondecor protocol v2 specifies the following commands:
++
++getpic
++------
++ The kernel issues this command to request image data. It's up to the
++ userspace helper to find a background image appropriate for the specified
++ theme and the current resolution. The userspace helper should respond by
++ issuing the FBIOCONDECOR_SETPIC ioctl.
++
++init
++----
++ The kernel issues this command after the fbcondecor device is created and
++ the fbcondecor interface is initialized. Upon receiving 'init', the userspace
++ helper should parse the kernel command line (/proc/cmdline) or otherwise
++ decide whether fbcondecor is to be activated.
++
++ To activate fbcondecor on the first console the helper should issue the
++ FBIOCONDECOR_SETCFG, FBIOCONDECOR_SETPIC and FBIOCONDECOR_SETSTATE commands,
++ in the above-mentioned order.
++
++ When the userspace helper is called in an early phase of the boot process
++ (right after the initialization of fbcon), no filesystems will be mounted.
++ The helper program should mount sysfs and then create the appropriate
++ framebuffer, fbcondecor and tty0 devices (if they don't already exist) to get
++ current display settings and to be able to communicate with the kernel side.
++ It should probably also mount the procfs to be able to parse the kernel
++ command line parameters.
++
++ Note that the console sem is not held when the kernel calls fbcondecor_helper
++ with the 'init' command. The fbcondecor helper should perform all ioctls with
++ origin set to FBCON_DECOR_IO_ORIG_USER.
++
++modechange
++----------
++ The kernel issues this command on a mode change. The helper's response should
++ be similar to the response to the 'init' command. Note that this time the
++ console sem is held and all ioctls must be performed with origin set to
++ FBCON_DECOR_IO_ORIG_KERNEL.
++
++
++Userspace -> Kernel
++-------------------
++
++Userspace programs can communicate with fbcondecor via ioctls on the
++fbcondecor device. These ioctls are to be used by both the userspace helper
++(called only by the kernel) and userspace configuration tools (run by the users).
++
++The fbcondecor helper should set the origin field to FBCON_DECOR_IO_ORIG_KERNEL
++when doing the appropriate ioctls. All userspace configuration tools should
++use FBCON_DECOR_IO_ORIG_USER. Failure to set the appropriate value in the origin
++field when performing ioctls from the kernel helper will most likely result
++in a console deadlock.
++
++FBCON_DECOR_IO_ORIG_KERNEL instructs fbcondecor not to try to acquire the console
++semaphore. Not surprisingly, FBCON_DECOR_IO_ORIG_USER instructs it to acquire
++the console sem.
++
++The framebuffer console decoration provides the following ioctls (all defined in
++linux/fb.h):
++
++FBIOCONDECOR_SETPIC
++description: loads a background picture for a virtual console
++argument: struct fbcon_decor_iowrapper*; data: struct fb_image*
++notes:
++If called for consoles other than the current foreground one, the picture data
++will be ignored.
++
++If the current virtual console is running in a 8-bpp mode, the cmap substruct
++of fb_image has to be filled appropriately: start should be set to 16 (first
++16 colors are reserved for fbcon), len to a value <= 240 and red, green and
++blue should point to valid cmap data. The transp field is ingored. The fields
++dx, dy, bg_color, fg_color in fb_image are ignored as well.
++
++FBIOCONDECOR_SETCFG
++description: sets the fbcondecor config for a virtual console
++argument: struct fbcon_decor_iowrapper*; data: struct vc_decor*
++notes: The structure has to be filled with valid data.
++
++FBIOCONDECOR_GETCFG
++description: gets the fbcondecor config for a virtual console
++argument: struct fbcon_decor_iowrapper*; data: struct vc_decor*
++
++FBIOCONDECOR_SETSTATE
++description: sets the fbcondecor state for a virtual console
++argument: struct fbcon_decor_iowrapper*; data: unsigned int*
++ values: 0 = disabled, 1 = enabled.
++
++FBIOCONDECOR_GETSTATE
++description: gets the fbcondecor state for a virtual console
++argument: struct fbcon_decor_iowrapper*; data: unsigned int*
++ values: as in FBIOCONDECOR_SETSTATE
++
++Info on used structures:
++
++Definition of struct vc_decor can be found in linux/console_decor.h. It's
++heavily commented. Note that the 'theme' field should point to a string
++no longer than FBCON_DECOR_THEME_LEN. When FBIOCONDECOR_GETCFG call is
++performed, the theme field should point to a char buffer of length
++FBCON_DECOR_THEME_LEN.
++
++Definition of struct fbcon_decor_iowrapper can be found in linux/fb.h.
++The fields in this struct have the following meaning:
++
++vc:
++Virtual console number.
++
++origin:
++Specifies if the ioctl is performed as a response to a kernel request. The
++fbcondecor helper should set this field to FBCON_DECOR_IO_ORIG_KERNEL, userspace
++programs should set it to FBCON_DECOR_IO_ORIG_USER. This field is necessary to
++avoid console semaphore deadlocks.
++
++data:
++Pointer to a data structure appropriate for the performed ioctl. Type of
++the data struct is specified in the ioctls description.
++
++*****************************************************************************
++
++Credit
++------
++
++Original 'bootsplash' project & implementation by:
++ Volker Poplawski <volker@poplawski.de>, Stefan Reinauer <stepan@suse.de>,
++ Steffen Winterfeldt <snwint@suse.de>, Michael Schroeder <mls@suse.de>,
++ Ken Wimer <wimer@suse.de>.
++
++Fbcondecor, fbcondecor protocol design, current implementation & docs by:
++ Michal Januszewski <michalj+fbcondecor@gmail.com>
++
+diff -Nur linux-3.13.7.orig/drivers/Makefile linux-3.13.7/drivers/Makefile
+--- linux-3.13.7.orig/drivers/Makefile 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/Makefile 2014-03-29 16:03:17.000000000 +0100
+@@ -17,6 +17,10 @@
+ obj-$(CONFIG_PCI) += pci/
+ obj-$(CONFIG_PARISC) += parisc/
+ obj-$(CONFIG_RAPIDIO) += rapidio/
++# tty/ comes before char/ so that the VT console is the boot-time
++# default.
++obj-y += tty/
++obj-y += char/
+ obj-y += video/
+ obj-y += idle/
+
+@@ -42,11 +46,6 @@
+ # reset controllers early, since gpu drivers might rely on them to initialize
+ obj-$(CONFIG_RESET_CONTROLLER) += reset/
+
+-# tty/ comes before char/ so that the VT console is the boot-time
+-# default.
+-obj-y += tty/
+-obj-y += char/
+-
+ # gpu/ comes after char for AGP vs DRM startup
+ obj-y += gpu/
+
+diff -Nur linux-3.13.7.orig/drivers/video/Kconfig linux-3.13.7/drivers/video/Kconfig
+--- linux-3.13.7.orig/drivers/video/Kconfig 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/Kconfig 2014-03-29 16:03:17.000000000 +0100
+@@ -1231,7 +1231,6 @@
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+- select FB_TILEBLITTING
+ select FB_MACMODES if PPC_PMAC
+ ---help---
+ Say Y here if you have a Matrox Millennium, Matrox Millennium II,
+diff -Nur linux-3.13.7.orig/drivers/video/console/Kconfig linux-3.13.7/drivers/video/console/Kconfig
+--- linux-3.13.7.orig/drivers/video/console/Kconfig 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/console/Kconfig 2014-03-29 16:03:17.000000000 +0100
+@@ -125,6 +125,19 @@
+ such that other users of the framebuffer will remain normally
+ oriented.
+
++config FB_CON_DECOR
++ bool "Support for the Framebuffer Console Decorations"
++ depends on FRAMEBUFFER_CONSOLE=y && !FB_TILEBLITTING
++ default n
++ ---help---
++ This option enables support for framebuffer console decorations which
++ makes it possible to display images in the background of the system
++ consoles. Note that userspace utilities are necessary in order to take
++ advantage of these features. Refer to Documentation/fb/fbcondecor.txt
++ for more information.
++
++ If unsure, say N.
++
+ config STI_CONSOLE
+ bool "STI text console"
+ depends on PARISC
+diff -Nur linux-3.13.7.orig/drivers/video/console/Makefile linux-3.13.7/drivers/video/console/Makefile
+--- linux-3.13.7.orig/drivers/video/console/Makefile 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/console/Makefile 2014-03-29 16:03:17.000000000 +0100
+@@ -16,4 +16,5 @@
+ fbcon_ccw.o
+ endif
+
++obj-$(CONFIG_FB_CON_DECOR) += fbcondecor.o cfbcondecor.o
+ obj-$(CONFIG_FB_STI) += sticore.o
+diff -Nur linux-3.13.7.orig/drivers/video/console/bitblit.c linux-3.13.7/drivers/video/console/bitblit.c
+--- linux-3.13.7.orig/drivers/video/console/bitblit.c 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/console/bitblit.c 2014-03-29 16:03:17.000000000 +0100
+@@ -18,6 +18,7 @@
+ #include <linux/console.h>
+ #include <asm/types.h>
+ #include "fbcon.h"
++#include "fbcondecor.h"
+
+ /*
+ * Accelerated handlers.
+@@ -55,6 +56,13 @@
+ area.height = height * vc->vc_font.height;
+ area.width = width * vc->vc_font.width;
+
++ if (fbcon_decor_active(info, vc)) {
++ area.sx += vc->vc_decor.tx;
++ area.sy += vc->vc_decor.ty;
++ area.dx += vc->vc_decor.tx;
++ area.dy += vc->vc_decor.ty;
++ }
++
+ info->fbops->fb_copyarea(info, &area);
+ }
+
+@@ -380,11 +388,15 @@
+ cursor.image.depth = 1;
+ cursor.rop = ROP_XOR;
+
+- if (info->fbops->fb_cursor)
+- err = info->fbops->fb_cursor(info, &cursor);
++ if (fbcon_decor_active(info, vc)) {
++ fbcon_decor_cursor(info, &cursor);
++ } else {
++ if (info->fbops->fb_cursor)
++ err = info->fbops->fb_cursor(info, &cursor);
+
+- if (err)
+- soft_cursor(info, &cursor);
++ if (err)
++ soft_cursor(info, &cursor);
++ }
+
+ ops->cursor_reset = 0;
+ }
+diff -Nur linux-3.13.7.orig/drivers/video/console/cfbcondecor.c linux-3.13.7/drivers/video/console/cfbcondecor.c
+--- linux-3.13.7.orig/drivers/video/console/cfbcondecor.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.13.7/drivers/video/console/cfbcondecor.c 2014-03-29 16:03:17.000000000 +0100
+@@ -0,0 +1,471 @@
++/*
++ * linux/drivers/video/cfbcon_decor.c -- Framebuffer decor render functions
++ *
++ * Copyright (C) 2004 Michal Januszewski <michalj+fbcondecor@gmail.com>
++ *
++ * Code based upon "Bootdecor" (C) 2001-2003
++ * Volker Poplawski <volker@poplawski.de>,
++ * Stefan Reinauer <stepan@suse.de>,
++ * Steffen Winterfeldt <snwint@suse.de>,
++ * Michael Schroeder <mls@suse.de>,
++ * Ken Wimer <wimer@suse.de>.
++ *
++ * 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.
++ */
++#include <linux/module.h>
++#include <linux/types.h>
++#include <linux/fb.h>
++#include <linux/selection.h>
++#include <linux/slab.h>
++#include <linux/vt_kern.h>
++#include <asm/irq.h>
++
++#include "fbcon.h"
++#include "fbcondecor.h"
++
++#define parse_pixel(shift,bpp,type) \
++ do { \
++ if (d & (0x80 >> (shift))) \
++ dd2[(shift)] = fgx; \
++ else \
++ dd2[(shift)] = transparent ? *(type *)decor_src : bgx; \
++ decor_src += (bpp); \
++ } while (0) \
++
++extern int get_color(struct vc_data *vc, struct fb_info *info,
++ u16 c, int is_fg);
++
++void fbcon_decor_fix_pseudo_pal(struct fb_info *info, struct vc_data *vc)
++{
++ int i, j, k;
++ int minlen = min(min(info->var.red.length, info->var.green.length),
++ info->var.blue.length);
++ u32 col;
++
++ for (j = i = 0; i < 16; i++) {
++ k = color_table[i];
++
++ col = ((vc->vc_palette[j++] >> (8-minlen))
++ << info->var.red.offset);
++ col |= ((vc->vc_palette[j++] >> (8-minlen))
++ << info->var.green.offset);
++ col |= ((vc->vc_palette[j++] >> (8-minlen))
++ << info->var.blue.offset);
++ ((u32 *)info->pseudo_palette)[k] = col;
++ }
++}
++
++void fbcon_decor_renderc(struct fb_info *info, int ypos, int xpos, int height,
++ int width, u8* src, u32 fgx, u32 bgx, u8 transparent)
++{
++ unsigned int x, y;
++ u32 dd;
++ int bytespp = ((info->var.bits_per_pixel + 7) >> 3);
++ unsigned int d = ypos * info->fix.line_length + xpos * bytespp;
++ unsigned int ds = (ypos * info->var.xres + xpos) * bytespp;
++ u16 dd2[4];
++
++ u8* decor_src = (u8 *)(info->bgdecor.data + ds);
++ u8* dst = (u8 *)(info->screen_base + d);
++
++ if ((ypos + height) > info->var.yres || (xpos + width) > info->var.xres)
++ return;
++
++ for (y = 0; y < height; y++) {
++ switch (info->var.bits_per_pixel) {
++
++ case 32:
++ for (x = 0; x < width; x++) {
++
++ if ((x & 7) == 0)
++ d = *src++;
++ if (d & 0x80)
++ dd = fgx;
++ else
++ dd = transparent ?
++ *(u32 *)decor_src : bgx;
++
++ d <<= 1;
++ decor_src += 4;
++ fb_writel(dd, dst);
++ dst += 4;
++ }
++ break;
++ case 24:
++ for (x = 0; x < width; x++) {
++
++ if ((x & 7) == 0)
++ d = *src++;
++ if (d & 0x80)
++ dd = fgx;
++ else
++ dd = transparent ?
++ (*(u32 *)decor_src & 0xffffff) : bgx;
++
++ d <<= 1;
++ decor_src += 3;
++#ifdef __LITTLE_ENDIAN
++ fb_writew(dd & 0xffff, dst);
++ dst += 2;
++ fb_writeb((dd >> 16), dst);
++#else
++ fb_writew(dd >> 8, dst);
++ dst += 2;
++ fb_writeb(dd & 0xff, dst);
++#endif
++ dst++;
++ }
++ break;
++ case 16:
++ for (x = 0; x < width; x += 2) {
++ if ((x & 7) == 0)
++ d = *src++;
++
++ parse_pixel(0, 2, u16);
++ parse_pixel(1, 2, u16);
++#ifdef __LITTLE_ENDIAN
++ dd = dd2[0] | (dd2[1] << 16);
++#else
++ dd = dd2[1] | (dd2[0] << 16);
++#endif
++ d <<= 2;
++ fb_writel(dd, dst);
++ dst += 4;
++ }
++ break;
++
++ case 8:
++ for (x = 0; x < width; x += 4) {
++ if ((x & 7) == 0)
++ d = *src++;
++
++ parse_pixel(0, 1, u8);
++ parse_pixel(1, 1, u8);
++ parse_pixel(2, 1, u8);
++ parse_pixel(3, 1, u8);
++
++#ifdef __LITTLE_ENDIAN
++ dd = dd2[0] | (dd2[1] << 8) | (dd2[2] << 16) | (dd2[3] << 24);
++#else
++ dd = dd2[3] | (dd2[2] << 8) | (dd2[1] << 16) | (dd2[0] << 24);
++#endif
++ d <<= 4;
++ fb_writel(dd, dst);
++ dst += 4;
++ }
++ }
++
++ dst += info->fix.line_length - width * bytespp;
++ decor_src += (info->var.xres - width) * bytespp;
++ }
++}
++
++#define cc2cx(a) \
++ ((info->fix.visual == FB_VISUAL_TRUECOLOR || \
++ info->fix.visual == FB_VISUAL_DIRECTCOLOR) ? \
++ ((u32*)info->pseudo_palette)[a] : a)
++
++void fbcon_decor_putcs(struct vc_data *vc, struct fb_info *info,
++ const unsigned short *s, int count, int yy, int xx)
++{
++ unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
++ struct fbcon_ops *ops = info->fbcon_par;
++ int fg_color, bg_color, transparent;
++ u8 *src;
++ u32 bgx, fgx;
++ u16 c = scr_readw(s);
++
++ fg_color = get_color(vc, info, c, 1);
++ bg_color = get_color(vc, info, c, 0);
++
++ /* Don't paint the background image if console is blanked */
++ transparent = ops->blank_state ? 0 :
++ (vc->vc_decor.bg_color == bg_color);
++
++ xx = xx * vc->vc_font.width + vc->vc_decor.tx;
++ yy = yy * vc->vc_font.height + vc->vc_decor.ty;
++
++ fgx = cc2cx(fg_color);
++ bgx = cc2cx(bg_color);
++
++ while (count--) {
++ c = scr_readw(s++);
++ src = vc->vc_font.data + (c & charmask) * vc->vc_font.height *
++ ((vc->vc_font.width + 7) >> 3);
++
++ fbcon_decor_renderc(info, yy, xx, vc->vc_font.height,
++ vc->vc_font.width, src, fgx, bgx, transparent);
++ xx += vc->vc_font.width;
++ }
++}
++
++void fbcon_decor_cursor(struct fb_info *info, struct fb_cursor *cursor)
++{
++ int i;
++ unsigned int dsize, s_pitch;
++ struct fbcon_ops *ops = info->fbcon_par;
++ struct vc_data* vc;
++ u8 *src;
++
++ /* we really don't need any cursors while the console is blanked */
++ if (info->state != FBINFO_STATE_RUNNING || ops->blank_state)
++ return;
++
++ vc = vc_cons[ops->currcon].d;
++
++ src = kmalloc(64 + sizeof(struct fb_image), GFP_ATOMIC);
++ if (!src)
++ return;
++
++ s_pitch = (cursor->image.width + 7) >> 3;
++ dsize = s_pitch * cursor->image.height;
++ if (cursor->enable) {
++ switch (cursor->rop) {
++ case ROP_XOR:
++ for (i = 0; i < dsize; i++)
++ src[i] = cursor->image.data[i] ^ cursor->mask[i];
++ break;
++ case ROP_COPY:
++ default:
++ for (i = 0; i < dsize; i++)
++ src[i] = cursor->image.data[i] & cursor->mask[i];
++ break;
++ }
++ } else
++ memcpy(src, cursor->image.data, dsize);
++
++ fbcon_decor_renderc(info,
++ cursor->image.dy + vc->vc_decor.ty,
++ cursor->image.dx + vc->vc_decor.tx,
++ cursor->image.height,
++ cursor->image.width,
++ (u8*)src,
++ cc2cx(cursor->image.fg_color),
++ cc2cx(cursor->image.bg_color),
++ cursor->image.bg_color == vc->vc_decor.bg_color);
++
++ kfree(src);
++}
++
++static void decorset(u8 *dst, int height, int width, int dstbytes,
++ u32 bgx, int bpp)
++{
++ int i;
++
++ if (bpp == 8)
++ bgx |= bgx << 8;
++ if (bpp == 16 || bpp == 8)
++ bgx |= bgx << 16;
++
++ while (height-- > 0) {
++ u8 *p = dst;
++
++ switch (bpp) {
++
++ case 32:
++ for (i=0; i < width; i++) {
++ fb_writel(bgx, p); p += 4;
++ }
++ break;
++ case 24:
++ for (i=0; i < width; i++) {
++#ifdef __LITTLE_ENDIAN
++ fb_writew((bgx & 0xffff),(u16*)p); p += 2;
++ fb_writeb((bgx >> 16),p++);
++#else
++ fb_writew((bgx >> 8),(u16*)p); p += 2;
++ fb_writeb((bgx & 0xff),p++);
++#endif
++ }
++ case 16:
++ for (i=0; i < width/4; i++) {
++ fb_writel(bgx,p); p += 4;
++ fb_writel(bgx,p); p += 4;
++ }
++ if (width & 2) {
++ fb_writel(bgx,p); p += 4;
++ }
++ if (width & 1)
++ fb_writew(bgx,(u16*)p);
++ break;
++ case 8:
++ for (i=0; i < width/4; i++) {
++ fb_writel(bgx,p); p += 4;
++ }
++
++ if (width & 2) {
++ fb_writew(bgx,p); p += 2;
++ }
++ if (width & 1)
++ fb_writeb(bgx,(u8*)p);
++ break;
++
++ }
++ dst += dstbytes;
++ }
++}
++
++void fbcon_decor_copy(u8 *dst, u8 *src, int height, int width, int linebytes,
++ int srclinebytes, int bpp)
++{
++ int i;
++
++ while (height-- > 0) {
++ u32 *p = (u32 *)dst;
++ u32 *q = (u32 *)src;
++
++ switch (bpp) {
++
++ case 32:
++ for (i=0; i < width; i++)
++ fb_writel(*q++, p++);
++ break;
++ case 24:
++ for (i=0; i < (width*3/4); i++)
++ fb_writel(*q++, p++);
++ if ((width*3) % 4) {
++ if (width & 2) {
++ fb_writeb(*(u8*)q, (u8*)p);
++ } else if (width & 1) {
++ fb_writew(*(u16*)q, (u16*)p);
++ fb_writeb(*(u8*)((u16*)q+1),(u8*)((u16*)p+2));
++ }
++ }
++ break;
++ case 16:
++ for (i=0; i < width/4; i++) {
++ fb_writel(*q++, p++);
++ fb_writel(*q++, p++);
++ }
++ if (width & 2)
++ fb_writel(*q++, p++);
++ if (width & 1)
++ fb_writew(*(u16*)q, (u16*)p);
++ break;
++ case 8:
++ for (i=0; i < width/4; i++)
++ fb_writel(*q++, p++);
++
++ if (width & 2) {
++ fb_writew(*(u16*)q, (u16*)p);
++ q = (u32*) ((u16*)q + 1);
++ p = (u32*) ((u16*)p + 1);
++ }
++ if (width & 1)
++ fb_writeb(*(u8*)q, (u8*)p);
++ break;
++ }
++
++ dst += linebytes;
++ src += srclinebytes;
++ }
++}
++
++static void decorfill(struct fb_info *info, int sy, int sx, int height,
++ int width)
++{
++ int bytespp = ((info->var.bits_per_pixel + 7) >> 3);
++ int d = sy * info->fix.line_length + sx * bytespp;
++ int ds = (sy * info->var.xres + sx) * bytespp;
++
++ fbcon_decor_copy((u8 *)(info->screen_base + d), (u8 *)(info->bgdecor.data + ds),
++ height, width, info->fix.line_length, info->var.xres * bytespp,
++ info->var.bits_per_pixel);
++}
++
++void fbcon_decor_clear(struct vc_data *vc, struct fb_info *info, int sy, int sx,
++ int height, int width)
++{
++ int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
++ struct fbcon_ops *ops = info->fbcon_par;
++ u8 *dst;
++ int transparent, bg_color = attr_bgcol_ec(bgshift, vc, info);
++
++ transparent = (vc->vc_decor.bg_color == bg_color);
++ sy = sy * vc->vc_font.height + vc->vc_decor.ty;
++ sx = sx * vc->vc_font.width + vc->vc_decor.tx;
++ height *= vc->vc_font.height;
++ width *= vc->vc_font.width;
++
++ /* Don't paint the background image if console is blanked */
++ if (transparent && !ops->blank_state) {
++ decorfill(info, sy, sx, height, width);
++ } else {
++ dst = (u8 *)(info->screen_base + sy * info->fix.line_length +
++ sx * ((info->var.bits_per_pixel + 7) >> 3));
++ decorset(dst, height, width, info->fix.line_length, cc2cx(bg_color),
++ info->var.bits_per_pixel);
++ }
++}
++
++void fbcon_decor_clear_margins(struct vc_data *vc, struct fb_info *info,
++ int bottom_only)
++{
++ unsigned int tw = vc->vc_cols*vc->vc_font.width;
++ unsigned int th = vc->vc_rows*vc->vc_font.height;
++
++ if (!bottom_only) {
++ /* top margin */
++ decorfill(info, 0, 0, vc->vc_decor.ty, info->var.xres);
++ /* left margin */
++ decorfill(info, vc->vc_decor.ty, 0, th, vc->vc_decor.tx);
++ /* right margin */
++ decorfill(info, vc->vc_decor.ty, vc->vc_decor.tx + tw, th,
++ info->var.xres - vc->vc_decor.tx - tw);
++ }
++ decorfill(info, vc->vc_decor.ty + th, 0,
++ info->var.yres - vc->vc_decor.ty - th, info->var.xres);
++}
++
++void fbcon_decor_bmove_redraw(struct vc_data *vc, struct fb_info *info, int y,
++ int sx, int dx, int width)
++{
++ u16 *d = (u16 *) (vc->vc_origin + vc->vc_size_row * y + dx * 2);
++ u16 *s = d + (dx - sx);
++ u16 *start = d;
++ u16 *ls = d;
++ u16 *le = d + width;
++ u16 c;
++ int x = dx;
++ u16 attr = 1;
++
++ do {
++ c = scr_readw(d);
++ if (attr != (c & 0xff00)) {
++ attr = c & 0xff00;
++ if (d > start) {
++ fbcon_decor_putcs(vc, info, start, d - start, y, x);
++ x += d - start;
++ start = d;
++ }
++ }
++ if (s >= ls && s < le && c == scr_readw(s)) {
++ if (d > start) {
++ fbcon_decor_putcs(vc, info, start, d - start, y, x);
++ x += d - start + 1;
++ start = d + 1;
++ } else {
++ x++;
++ start++;
++ }
++ }
++ s++;
++ d++;
++ } while (d < le);
++ if (d > start)
++ fbcon_decor_putcs(vc, info, start, d - start, y, x);
++}
++
++void fbcon_decor_blank(struct vc_data *vc, struct fb_info *info, int blank)
++{
++ if (blank) {
++ decorset((u8 *)info->screen_base, info->var.yres, info->var.xres,
++ info->fix.line_length, 0, info->var.bits_per_pixel);
++ } else {
++ update_screen(vc);
++ fbcon_decor_clear_margins(vc, info, 0);
++ }
++}
++
+diff -Nur linux-3.13.7.orig/drivers/video/console/fbcon.c linux-3.13.7/drivers/video/console/fbcon.c
+--- linux-3.13.7.orig/drivers/video/console/fbcon.c 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/console/fbcon.c 2014-03-29 16:03:17.000000000 +0100
+@@ -79,6 +79,7 @@
+ #include <asm/irq.h>
+
+ #include "fbcon.h"
++#include "fbcondecor.h"
+
+ #ifdef FBCONDEBUG
+ # define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __func__ , ## args)
+@@ -94,7 +95,7 @@
+
+ static struct display fb_display[MAX_NR_CONSOLES];
+
+-static signed char con2fb_map[MAX_NR_CONSOLES];
++signed char con2fb_map[MAX_NR_CONSOLES];
+ static signed char con2fb_map_boot[MAX_NR_CONSOLES];
+
+ static int logo_lines;
+@@ -286,7 +287,7 @@
+ !vt_force_oops_output(vc);
+ }
+
+-static int get_color(struct vc_data *vc, struct fb_info *info,
++int get_color(struct vc_data *vc, struct fb_info *info,
+ u16 c, int is_fg)
+ {
+ int depth = fb_get_color_depth(&info->var, &info->fix);
+@@ -551,6 +552,9 @@
+ info_idx = -1;
+ } else {
+ fbcon_has_console_bind = 1;
++#ifdef CONFIG_FB_CON_DECOR
++ fbcon_decor_init();
++#endif
+ }
+
+ return err;
+@@ -1007,6 +1011,12 @@
+ rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
+ cols /= vc->vc_font.width;
+ rows /= vc->vc_font.height;
++
++ if (fbcon_decor_active(info, vc)) {
++ cols = vc->vc_decor.twidth / vc->vc_font.width;
++ rows = vc->vc_decor.theight / vc->vc_font.height;
++ }
++
+ vc_resize(vc, cols, rows);
+
+ DPRINTK("mode: %s\n", info->fix.id);
+@@ -1036,7 +1046,7 @@
+ cap = info->flags;
+
+ if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
+- (info->fix.type == FB_TYPE_TEXT))
++ (info->fix.type == FB_TYPE_TEXT) || fbcon_decor_active(info, vc))
+ logo = 0;
+
+ if (var_to_display(p, &info->var, info))
+@@ -1260,6 +1270,11 @@
+ fbcon_clear_margins(vc, 0);
+ }
+
++ if (fbcon_decor_active(info, vc)) {
++ fbcon_decor_clear(vc, info, sy, sx, height, width);
++ return;
++ }
++
+ /* Split blits that cross physical y_wrap boundary */
+
+ y_break = p->vrows - p->yscroll;
+@@ -1279,10 +1294,15 @@
+ struct display *p = &fb_display[vc->vc_num];
+ struct fbcon_ops *ops = info->fbcon_par;
+
+- if (!fbcon_is_inactive(vc, info))
+- ops->putcs(vc, info, s, count, real_y(p, ypos), xpos,
+- get_color(vc, info, scr_readw(s), 1),
+- get_color(vc, info, scr_readw(s), 0));
++ if (!fbcon_is_inactive(vc, info)) {
++
++ if (fbcon_decor_active(info, vc))
++ fbcon_decor_putcs(vc, info, s, count, ypos, xpos);
++ else
++ ops->putcs(vc, info, s, count, real_y(p, ypos), xpos,
++ get_color(vc, info, scr_readw(s), 1),
++ get_color(vc, info, scr_readw(s), 0));
++ }
+ }
+
+ static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos)
+@@ -1298,8 +1318,13 @@
+ struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
+ struct fbcon_ops *ops = info->fbcon_par;
+
+- if (!fbcon_is_inactive(vc, info))
+- ops->clear_margins(vc, info, bottom_only);
++ if (!fbcon_is_inactive(vc, info)) {
++ if (fbcon_decor_active(info, vc)) {
++ fbcon_decor_clear_margins(vc, info, bottom_only);
++ } else {
++ ops->clear_margins(vc, info, bottom_only);
++ }
++ }
+ }
+
+ static void fbcon_cursor(struct vc_data *vc, int mode)
+@@ -1819,7 +1844,7 @@
+ count = vc->vc_rows;
+ if (softback_top)
+ fbcon_softback_note(vc, t, count);
+- if (logo_shown >= 0)
++ if (logo_shown >= 0 || fbcon_decor_active(info, vc))
+ goto redraw_up;
+ switch (p->scrollmode) {
+ case SCROLL_MOVE:
+@@ -1912,6 +1937,8 @@
+ count = vc->vc_rows;
+ if (logo_shown >= 0)
+ goto redraw_down;
++ if (fbcon_decor_active(info, vc))
++ goto redraw_down;
+ switch (p->scrollmode) {
+ case SCROLL_MOVE:
+ fbcon_redraw_blit(vc, info, p, b - 1, b - t - count,
+@@ -2060,6 +2087,13 @@
+ }
+ return;
+ }
++
++ if (fbcon_decor_active(info, vc) && sy == dy && height == 1) {
++ /* must use slower redraw bmove to keep background pic intact */
++ fbcon_decor_bmove_redraw(vc, info, sy, sx, dx, width);
++ return;
++ }
++
+ ops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx,
+ height, width);
+ }
+@@ -2130,8 +2164,8 @@
+ var.yres = virt_h * virt_fh;
+ x_diff = info->var.xres - var.xres;
+ y_diff = info->var.yres - var.yres;
+- if (x_diff < 0 || x_diff > virt_fw ||
+- y_diff < 0 || y_diff > virt_fh) {
++ if ((x_diff < 0 || x_diff > virt_fw ||
++ y_diff < 0 || y_diff > virt_fh) && !vc->vc_decor.state) {
+ const struct fb_videomode *mode;
+
+ DPRINTK("attempting resize %ix%i\n", var.xres, var.yres);
+@@ -2167,6 +2201,21 @@
+
+ info = registered_fb[con2fb_map[vc->vc_num]];
+ ops = info->fbcon_par;
++ prev_console = ops->currcon;
++ if (prev_console != -1)
++ old_info = registered_fb[con2fb_map[prev_console]];
++
++#ifdef CONFIG_FB_CON_DECOR
++ if (!fbcon_decor_active_vc(vc) && info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
++ struct vc_data *vc_curr = vc_cons[prev_console].d;
++ if (vc_curr && fbcon_decor_active_vc(vc_curr)) {
++ /* Clear the screen to avoid displaying funky colors during
++ * palette updates. */
++ memset((u8*)info->screen_base + info->fix.line_length * info->var.yoffset,
++ 0, info->var.yres * info->fix.line_length);
++ }
++ }
++#endif
+
+ if (softback_top) {
+ if (softback_lines)
+@@ -2185,9 +2234,6 @@
+ logo_shown = FBCON_LOGO_CANSHOW;
+ }
+
+- prev_console = ops->currcon;
+- if (prev_console != -1)
+- old_info = registered_fb[con2fb_map[prev_console]];
+ /*
+ * FIXME: If we have multiple fbdev's loaded, we need to
+ * update all info->currcon. Perhaps, we can place this
+@@ -2231,6 +2277,18 @@
+ fbcon_del_cursor_timer(old_info);
+ }
+
++ if (fbcon_decor_active_vc(vc)) {
++ struct vc_data *vc_curr = vc_cons[prev_console].d;
++
++ if (!vc_curr->vc_decor.theme ||
++ strcmp(vc->vc_decor.theme, vc_curr->vc_decor.theme) ||
++ (fbcon_decor_active_nores(info, vc_curr) &&
++ !fbcon_decor_active(info, vc_curr))) {
++ fbcon_decor_disable(vc, 0);
++ fbcon_decor_call_helper("modechange", vc->vc_num);
++ }
++ }
++
+ if (fbcon_is_inactive(vc, info) ||
+ ops->blank_state != FB_BLANK_UNBLANK)
+ fbcon_del_cursor_timer(info);
+@@ -2339,15 +2397,20 @@
+ }
+ }
+
+- if (!fbcon_is_inactive(vc, info)) {
++ if (!fbcon_is_inactive(vc, info)) {
+ if (ops->blank_state != blank) {
+ ops->blank_state = blank;
+ fbcon_cursor(vc, blank ? CM_ERASE : CM_DRAW);
+ ops->cursor_flash = (!blank);
+
+- if (!(info->flags & FBINFO_MISC_USEREVENT))
+- if (fb_blank(info, blank))
+- fbcon_generic_blank(vc, info, blank);
++ if (!(info->flags & FBINFO_MISC_USEREVENT)) {
++ if (fb_blank(info, blank)) {
++ if (fbcon_decor_active(info, vc))
++ fbcon_decor_blank(vc, info, blank);
++ else
++ fbcon_generic_blank(vc, info, blank);
++ }
++ }
+ }
+
+ if (!blank)
+@@ -2522,13 +2585,22 @@
+ }
+
+ if (resize) {
++ /* reset wrap/pan */
+ int cols, rows;
+
+ cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres);
+ rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
++
++ if (fbcon_decor_active(info, vc)) {
++ info->var.xoffset = info->var.yoffset = p->yscroll = 0;
++ cols = vc->vc_decor.twidth;
++ rows = vc->vc_decor.theight;
++ }
+ cols /= w;
+ rows /= h;
++
+ vc_resize(vc, cols, rows);
++
+ if (CON_IS_VISIBLE(vc) && softback_buf)
+ fbcon_update_softback(vc);
+ } else if (CON_IS_VISIBLE(vc)
+@@ -2657,7 +2729,11 @@
+ int i, j, k, depth;
+ u8 val;
+
+- if (fbcon_is_inactive(vc, info))
++ if (fbcon_is_inactive(vc, info)
++#ifdef CONFIG_FB_CON_DECOR
++ || vc->vc_num != fg_console
++#endif
++ )
+ return -EINVAL;
+
+ if (!CON_IS_VISIBLE(vc))
+@@ -2683,14 +2759,56 @@
+ } else
+ fb_copy_cmap(fb_default_cmap(1 << depth), &palette_cmap);
+
+- return fb_set_cmap(&palette_cmap, info);
++ if (fbcon_decor_active(info, vc_cons[fg_console].d) &&
++ info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
++
++ u16 *red, *green, *blue;
++ int minlen = min(min(info->var.red.length, info->var.green.length),
++ info->var.blue.length);
++ int h;
++
++ struct fb_cmap cmap = {
++ .start = 0,
++ .len = (1 << minlen),
++ .red = NULL,
++ .green = NULL,
++ .blue = NULL,
++ .transp = NULL
++ };
++
++ red = kmalloc(256 * sizeof(u16) * 3, GFP_KERNEL);
++
++ if (!red)
++ goto out;
++
++ green = red + 256;
++ blue = green + 256;
++ cmap.red = red;
++ cmap.green = green;
++ cmap.blue = blue;
++
++ for (i = 0; i < cmap.len; i++) {
++ red[i] = green[i] = blue[i] = (0xffff * i)/(cmap.len-1);
++ }
++
++ h = fb_set_cmap(&cmap, info);
++ fbcon_decor_fix_pseudo_pal(info, vc_cons[fg_console].d);
++ kfree(red);
++
++ return h;
++
++ } else if (fbcon_decor_active(info, vc_cons[fg_console].d) &&
++ info->var.bits_per_pixel == 8 && info->bgdecor.cmap.red != NULL)
++ fb_set_cmap(&info->bgdecor.cmap, info);
++
++out: return fb_set_cmap(&palette_cmap, info);
+ }
+
+ static u16 *fbcon_screen_pos(struct vc_data *vc, int offset)
+ {
+ unsigned long p;
+ int line;
+-
++
+ if (vc->vc_num != fg_console || !softback_lines)
+ return (u16 *) (vc->vc_origin + offset);
+ line = offset / vc->vc_size_row;
+@@ -2909,7 +3027,14 @@
+ rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
+ cols /= vc->vc_font.width;
+ rows /= vc->vc_font.height;
+- vc_resize(vc, cols, rows);
++
++ if (!fbcon_decor_active_nores(info, vc)) {
++ vc_resize(vc, cols, rows);
++ } else {
++ fbcon_decor_disable(vc, 0);
++ fbcon_decor_call_helper("modechange", vc->vc_num);
++ }
++
+ updatescrollmode(p, info, vc);
+ scrollback_max = 0;
+ scrollback_current = 0;
+@@ -2954,7 +3079,9 @@
+ rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
+ cols /= vc->vc_font.width;
+ rows /= vc->vc_font.height;
+- vc_resize(vc, cols, rows);
++ if (!fbcon_decor_active_nores(info, vc)) {
++ vc_resize(vc, cols, rows);
++ }
+ }
+
+ if (fg != -1)
+@@ -3570,6 +3697,7 @@
+ }
+ }
+
++ fbcon_decor_exit();
+ fbcon_has_exited = 1;
+ }
+
+diff -Nur linux-3.13.7.orig/drivers/video/console/fbcondecor.c linux-3.13.7/drivers/video/console/fbcondecor.c
+--- linux-3.13.7.orig/drivers/video/console/fbcondecor.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.13.7/drivers/video/console/fbcondecor.c 2014-03-29 16:03:17.000000000 +0100
+@@ -0,0 +1,555 @@
++/*
++ * linux/drivers/video/console/fbcondecor.c -- Framebuffer console decorations
++ *
++ * Copyright (C) 2004-2009 Michal Januszewski <michalj+fbcondecor@gmail.com>
++ *
++ * Code based upon "Bootsplash" (C) 2001-2003
++ * Volker Poplawski <volker@poplawski.de>,
++ * Stefan Reinauer <stepan@suse.de>,
++ * Steffen Winterfeldt <snwint@suse.de>,
++ * Michael Schroeder <mls@suse.de>,
++ * Ken Wimer <wimer@suse.de>.
++ *
++ * Compat ioctl support by Thorsten Klein <TK@Thorsten-Klein.de>.
++ *
++ * 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.
++ *
++ */
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/string.h>
++#include <linux/types.h>
++#include <linux/fb.h>
++#include <linux/vt_kern.h>
++#include <linux/vmalloc.h>
++#include <linux/unistd.h>
++#include <linux/syscalls.h>
++#include <linux/init.h>
++#include <linux/proc_fs.h>
++#include <linux/workqueue.h>
++#include <linux/kmod.h>
++#include <linux/miscdevice.h>
++#include <linux/device.h>
++#include <linux/fs.h>
++#include <linux/compat.h>
++#include <linux/console.h>
++
++#include <asm/uaccess.h>
++#include <asm/irq.h>
++
++#include "fbcon.h"
++#include "fbcondecor.h"
++
++extern signed char con2fb_map[];
++static int fbcon_decor_enable(struct vc_data *vc);
++char fbcon_decor_path[KMOD_PATH_LEN] = "/sbin/fbcondecor_helper";
++static int initialized = 0;
++
++int fbcon_decor_call_helper(char* cmd, unsigned short vc)
++{
++ char *envp[] = {
++ "HOME=/",
++ "PATH=/sbin:/bin",
++ NULL
++ };
++
++ char tfb[5];
++ char tcons[5];
++ unsigned char fb = (int) con2fb_map[vc];
++
++ char *argv[] = {
++ fbcon_decor_path,
++ "2",
++ cmd,
++ tcons,
++ tfb,
++ vc_cons[vc].d->vc_decor.theme,
++ NULL
++ };
++
++ snprintf(tfb,5,"%d",fb);
++ snprintf(tcons,5,"%d",vc);
++
++ return call_usermodehelper(fbcon_decor_path, argv, envp, UMH_WAIT_EXEC);
++}
++
++/* Disables fbcondecor on a virtual console; called with console sem held. */
++int fbcon_decor_disable(struct vc_data *vc, unsigned char redraw)
++{
++ struct fb_info* info;
++
++ if (!vc->vc_decor.state)
++ return -EINVAL;
++
++ info = registered_fb[(int) con2fb_map[vc->vc_num]];
++
++ if (info == NULL)
++ return -EINVAL;
++
++ vc->vc_decor.state = 0;
++ vc_resize(vc, info->var.xres / vc->vc_font.width,
++ info->var.yres / vc->vc_font.height);
++
++ if (fg_console == vc->vc_num && redraw) {
++ redraw_screen(vc, 0);
++ update_region(vc, vc->vc_origin +
++ vc->vc_size_row * vc->vc_top,
++ vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
++ }
++
++ printk(KERN_INFO "fbcondecor: switched decor state to 'off' on console %d\n",
++ vc->vc_num);
++
++ return 0;
++}
++
++/* Enables fbcondecor on a virtual console; called with console sem held. */
++static int fbcon_decor_enable(struct vc_data *vc)
++{
++ struct fb_info* info;
++
++ info = registered_fb[(int) con2fb_map[vc->vc_num]];
++
++ if (vc->vc_decor.twidth == 0 || vc->vc_decor.theight == 0 ||
++ info == NULL || vc->vc_decor.state || (!info->bgdecor.data &&
++ vc->vc_num == fg_console))
++ return -EINVAL;
++
++ vc->vc_decor.state = 1;
++ vc_resize(vc, vc->vc_decor.twidth / vc->vc_font.width,
++ vc->vc_decor.theight / vc->vc_font.height);
++
++ if (fg_console == vc->vc_num) {
++ redraw_screen(vc, 0);
++ update_region(vc, vc->vc_origin +
++ vc->vc_size_row * vc->vc_top,
++ vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
++ fbcon_decor_clear_margins(vc, info, 0);
++ }
++
++ printk(KERN_INFO "fbcondecor: switched decor state to 'on' on console %d\n",
++ vc->vc_num);
++
++ return 0;
++}
++
++static inline int fbcon_decor_ioctl_dosetstate(struct vc_data *vc, unsigned int state, unsigned char origin)
++{
++ int ret;
++
++// if (origin == FBCON_DECOR_IO_ORIG_USER)
++ console_lock();
++ if (!state)
++ ret = fbcon_decor_disable(vc, 1);
++ else
++ ret = fbcon_decor_enable(vc);
++// if (origin == FBCON_DECOR_IO_ORIG_USER)
++ console_unlock();
++
++ return ret;
++}
++
++static inline void fbcon_decor_ioctl_dogetstate(struct vc_data *vc, unsigned int *state)
++{
++ *state = vc->vc_decor.state;
++}
++
++static int fbcon_decor_ioctl_dosetcfg(struct vc_data *vc, struct vc_decor *cfg, unsigned char origin)
++{
++ struct fb_info *info;
++ int len;
++ char *tmp;
++
++ info = registered_fb[(int) con2fb_map[vc->vc_num]];
++
++ if (info == NULL || !cfg->twidth || !cfg->theight ||
++ cfg->tx + cfg->twidth > info->var.xres ||
++ cfg->ty + cfg->theight > info->var.yres)
++ return -EINVAL;
++
++ len = strlen_user(cfg->theme);
++ if (!len || len > FBCON_DECOR_THEME_LEN)
++ return -EINVAL;
++ tmp = kmalloc(len, GFP_KERNEL);
++ if (!tmp)
++ return -ENOMEM;
++ if (copy_from_user(tmp, (void __user *)cfg->theme, len))
++ return -EFAULT;
++ cfg->theme = tmp;
++ cfg->state = 0;
++
++ /* If this ioctl is a response to a request from kernel, the console sem
++ * is already held; we also don't need to disable decor because either the
++ * new config and background picture will be successfully loaded, and the
++ * decor will stay on, or in case of a failure it'll be turned off in fbcon. */
++// if (origin == FBCON_DECOR_IO_ORIG_USER) {
++ console_lock();
++ if (vc->vc_decor.state)
++ fbcon_decor_disable(vc, 1);
++// }
++
++ if (vc->vc_decor.theme)
++ kfree(vc->vc_decor.theme);
++
++ vc->vc_decor = *cfg;
++
++// if (origin == FBCON_DECOR_IO_ORIG_USER)
++ console_unlock();
++
++ printk(KERN_INFO "fbcondecor: console %d using theme '%s'\n",
++ vc->vc_num, vc->vc_decor.theme);
++ return 0;
++}
++
++static int fbcon_decor_ioctl_dogetcfg(struct vc_data *vc, struct vc_decor *decor)
++{
++ char __user *tmp;
++
++ tmp = decor->theme;
++ *decor = vc->vc_decor;
++ decor->theme = tmp;
++
++ if (vc->vc_decor.theme) {
++ if (copy_to_user(tmp, vc->vc_decor.theme, strlen(vc->vc_decor.theme) + 1))
++ return -EFAULT;
++ } else
++ if (put_user(0, tmp))
++ return -EFAULT;
++
++ return 0;
++}
++
++static int fbcon_decor_ioctl_dosetpic(struct vc_data *vc, struct fb_image *img, unsigned char origin)
++{
++ struct fb_info *info;
++ int len;
++ u8 *tmp;
++
++ if (vc->vc_num != fg_console)
++ return -EINVAL;
++
++ info = registered_fb[(int) con2fb_map[vc->vc_num]];
++
++ if (info == NULL)
++ return -EINVAL;
++
++ if (img->width != info->var.xres || img->height != info->var.yres) {
++ printk(KERN_ERR "fbcondecor: picture dimensions mismatch\n");
++ printk(KERN_ERR "%dx%d vs %dx%d\n", img->width, img->height, info->var.xres, info->var.yres);
++ return -EINVAL;
++ }
++
++ if (img->depth != info->var.bits_per_pixel) {
++ printk(KERN_ERR "fbcondecor: picture depth mismatch\n");
++ return -EINVAL;
++ }
++
++ if (img->depth == 8) {
++ if (!img->cmap.len || !img->cmap.red || !img->cmap.green ||
++ !img->cmap.blue)
++ return -EINVAL;
++
++ tmp = vmalloc(img->cmap.len * 3 * 2);
++ if (!tmp)
++ return -ENOMEM;
++
++ if (copy_from_user(tmp,
++ (void __user*)img->cmap.red, (img->cmap.len << 1)) ||
++ copy_from_user(tmp + (img->cmap.len << 1),
++ (void __user*)img->cmap.green, (img->cmap.len << 1)) ||
++ copy_from_user(tmp + (img->cmap.len << 2),
++ (void __user*)img->cmap.blue, (img->cmap.len << 1))) {
++ vfree(tmp);
++ return -EFAULT;
++ }
++
++ img->cmap.transp = NULL;
++ img->cmap.red = (u16*)tmp;
++ img->cmap.green = img->cmap.red + img->cmap.len;
++ img->cmap.blue = img->cmap.green + img->cmap.len;
++ } else {
++ img->cmap.red = NULL;
++ }
++
++ len = ((img->depth + 7) >> 3) * img->width * img->height;
++
++ /*
++ * Allocate an additional byte so that we never go outside of the
++ * buffer boundaries in the rendering functions in a 24 bpp mode.
++ */
++ tmp = vmalloc(len + 1);
++
++ if (!tmp)
++ goto out;
++
++ if (copy_from_user(tmp, (void __user*)img->data, len))
++ goto out;
++
++ img->data = tmp;
++
++ /* If this ioctl is a response to a request from kernel, the console sem
++ * is already held. */
++// if (origin == FBCON_DECOR_IO_ORIG_USER)
++ console_lock();
++
++ if (info->bgdecor.data)
++ vfree((u8*)info->bgdecor.data);
++ if (info->bgdecor.cmap.red)
++ vfree(info->bgdecor.cmap.red);
++
++ info->bgdecor = *img;
++
++ if (fbcon_decor_active_vc(vc) && fg_console == vc->vc_num) {
++ redraw_screen(vc, 0);
++ update_region(vc, vc->vc_origin +
++ vc->vc_size_row * vc->vc_top,
++ vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
++ fbcon_decor_clear_margins(vc, info, 0);
++ }
++
++// if (origin == FBCON_DECOR_IO_ORIG_USER)
++ console_unlock();
++
++ return 0;
++
++out: if (img->cmap.red)
++ vfree(img->cmap.red);
++
++ if (tmp)
++ vfree(tmp);
++ return -ENOMEM;
++}
++
++static long fbcon_decor_ioctl(struct file *filp, u_int cmd, u_long arg)
++{
++ struct fbcon_decor_iowrapper __user *wrapper = (void __user*) arg;
++ struct vc_data *vc = NULL;
++ unsigned short vc_num = 0;
++ unsigned char origin = 0;
++ void __user *data = NULL;
++
++ if (!access_ok(VERIFY_READ, wrapper,
++ sizeof(struct fbcon_decor_iowrapper)))
++ return -EFAULT;
++
++ __get_user(vc_num, &wrapper->vc);
++ __get_user(origin, &wrapper->origin);
++ __get_user(data, &wrapper->data);
++
++ if (!vc_cons_allocated(vc_num))
++ return -EINVAL;
++
++ vc = vc_cons[vc_num].d;
++
++ switch (cmd) {
++ case FBIOCONDECOR_SETPIC:
++ {
++ struct fb_image img;
++ if (copy_from_user(&img, (struct fb_image __user *)data, sizeof(struct fb_image)))
++ return -EFAULT;
++
++ return fbcon_decor_ioctl_dosetpic(vc, &img, origin);
++ }
++ case FBIOCONDECOR_SETCFG:
++ {
++ struct vc_decor cfg;
++ if (copy_from_user(&cfg, (struct vc_decor __user *)data, sizeof(struct vc_decor)))
++ return -EFAULT;
++
++ return fbcon_decor_ioctl_dosetcfg(vc, &cfg, origin);
++ }
++ case FBIOCONDECOR_GETCFG:
++ {
++ int rval;
++ struct vc_decor cfg;
++
++ if (copy_from_user(&cfg, (struct vc_decor __user *)data, sizeof(struct vc_decor)))
++ return -EFAULT;
++
++ rval = fbcon_decor_ioctl_dogetcfg(vc, &cfg);
++
++ if (copy_to_user(data, &cfg, sizeof(struct vc_decor)))
++ return -EFAULT;
++ return rval;
++ }
++ case FBIOCONDECOR_SETSTATE:
++ {
++ unsigned int state = 0;
++ if (get_user(state, (unsigned int __user *)data))
++ return -EFAULT;
++ return fbcon_decor_ioctl_dosetstate(vc, state, origin);
++ }
++ case FBIOCONDECOR_GETSTATE:
++ {
++ unsigned int state = 0;
++ fbcon_decor_ioctl_dogetstate(vc, &state);
++ return put_user(state, (unsigned int __user *)data);
++ }
++
++ default:
++ return -ENOIOCTLCMD;
++ }
++}
++
++#ifdef CONFIG_COMPAT
++
++static long fbcon_decor_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) {
++
++ struct fbcon_decor_iowrapper32 __user *wrapper = (void __user *)arg;
++ struct vc_data *vc = NULL;
++ unsigned short vc_num = 0;
++ unsigned char origin = 0;
++ compat_uptr_t data_compat = 0;
++ void __user *data = NULL;
++
++ if (!access_ok(VERIFY_READ, wrapper,
++ sizeof(struct fbcon_decor_iowrapper32)))
++ return -EFAULT;
++
++ __get_user(vc_num, &wrapper->vc);
++ __get_user(origin, &wrapper->origin);
++ __get_user(data_compat, &wrapper->data);
++ data = compat_ptr(data_compat);
++
++ if (!vc_cons_allocated(vc_num))
++ return -EINVAL;
++
++ vc = vc_cons[vc_num].d;
++
++ switch (cmd) {
++ case FBIOCONDECOR_SETPIC32:
++ {
++ struct fb_image32 img_compat;
++ struct fb_image img;
++
++ if (copy_from_user(&img_compat, (struct fb_image32 __user *)data, sizeof(struct fb_image32)))
++ return -EFAULT;
++
++ fb_image_from_compat(img, img_compat);
++
++ return fbcon_decor_ioctl_dosetpic(vc, &img, origin);
++ }
++
++ case FBIOCONDECOR_SETCFG32:
++ {
++ struct vc_decor32 cfg_compat;
++ struct vc_decor cfg;
++
++ if (copy_from_user(&cfg_compat, (struct vc_decor32 __user *)data, sizeof(struct vc_decor32)))
++ return -EFAULT;
++
++ vc_decor_from_compat(cfg, cfg_compat);
++
++ return fbcon_decor_ioctl_dosetcfg(vc, &cfg, origin);
++ }
++
++ case FBIOCONDECOR_GETCFG32:
++ {
++ int rval;
++ struct vc_decor32 cfg_compat;
++ struct vc_decor cfg;
++
++ if (copy_from_user(&cfg_compat, (struct vc_decor32 __user *)data, sizeof(struct vc_decor32)))
++ return -EFAULT;
++ cfg.theme = compat_ptr(cfg_compat.theme);
++
++ rval = fbcon_decor_ioctl_dogetcfg(vc, &cfg);
++
++ vc_decor_to_compat(cfg_compat, cfg);
++
++ if (copy_to_user((struct vc_decor32 __user *)data, &cfg_compat, sizeof(struct vc_decor32)))
++ return -EFAULT;
++ return rval;
++ }
++
++ case FBIOCONDECOR_SETSTATE32:
++ {
++ compat_uint_t state_compat = 0;
++ unsigned int state = 0;
++
++ if (get_user(state_compat, (compat_uint_t __user *)data))
++ return -EFAULT;
++
++ state = (unsigned int)state_compat;
++
++ return fbcon_decor_ioctl_dosetstate(vc, state, origin);
++ }
++
++ case FBIOCONDECOR_GETSTATE32:
++ {
++ compat_uint_t state_compat = 0;
++ unsigned int state = 0;
++
++ fbcon_decor_ioctl_dogetstate(vc, &state);
++ state_compat = (compat_uint_t)state;
++
++ return put_user(state_compat, (compat_uint_t __user *)data);
++ }
++
++ default:
++ return -ENOIOCTLCMD;
++ }
++}
++#else
++ #define fbcon_decor_compat_ioctl NULL
++#endif
++
++static struct file_operations fbcon_decor_ops = {
++ .owner = THIS_MODULE,
++ .unlocked_ioctl = fbcon_decor_ioctl,
++ .compat_ioctl = fbcon_decor_compat_ioctl
++};
++
++static struct miscdevice fbcon_decor_dev = {
++ .minor = MISC_DYNAMIC_MINOR,
++ .name = "fbcondecor",
++ .fops = &fbcon_decor_ops
++};
++
++void fbcon_decor_reset()
++{
++ int i;
++
++ for (i = 0; i < num_registered_fb; i++) {
++ registered_fb[i]->bgdecor.data = NULL;
++ registered_fb[i]->bgdecor.cmap.red = NULL;
++ }
++
++ for (i = 0; i < MAX_NR_CONSOLES && vc_cons[i].d; i++) {
++ vc_cons[i].d->vc_decor.state = vc_cons[i].d->vc_decor.twidth =
++ vc_cons[i].d->vc_decor.theight = 0;
++ vc_cons[i].d->vc_decor.theme = NULL;
++ }
++
++ return;
++}
++
++int fbcon_decor_init()
++{
++ int i;
++
++ fbcon_decor_reset();
++
++ if (initialized)
++ return 0;
++
++ i = misc_register(&fbcon_decor_dev);
++ if (i) {
++ printk(KERN_ERR "fbcondecor: failed to register device\n");
++ return i;
++ }
++
++ fbcon_decor_call_helper("init", 0);
++ initialized = 1;
++ return 0;
++}
++
++int fbcon_decor_exit(void)
++{
++ fbcon_decor_reset();
++ return 0;
++}
++
++EXPORT_SYMBOL(fbcon_decor_path);
+diff -Nur linux-3.13.7.orig/drivers/video/console/fbcondecor.h linux-3.13.7/drivers/video/console/fbcondecor.h
+--- linux-3.13.7.orig/drivers/video/console/fbcondecor.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.13.7/drivers/video/console/fbcondecor.h 2014-03-29 21:17:27.000000000 +0100
+@@ -0,0 +1,79 @@
++/*
++ * linux/drivers/video/console/fbcondecor.h -- Framebuffer Console Decoration headers
++ *
++ * Copyright (C) 2004 Michal Januszewski <michalj+fbcondecor@gmail.com>
++ *
++ */
++
++#ifndef __FBCON_DECOR_H
++#define __FBCON_DECOR_H
++
++#ifndef _LINUX_FB_H
++#include <linux/fb.h>
++#endif
++
++/* This is needed for vc_cons in fbcmap.c */
++#include <linux/vt_kern.h>
++
++struct fb_cursor;
++struct fb_info;
++struct vc_data;
++
++#ifdef CONFIG_FB_CON_DECOR
++/* fbcondecor.c */
++int fbcon_decor_init(void);
++void fbcon_decor_reset(void);
++int fbcon_decor_exit(void);
++int fbcon_decor_call_helper(char* cmd, unsigned short cons);
++int fbcon_decor_disable(struct vc_data *vc, unsigned char redraw);
++
++/* cfbcondecor.c */
++void fbcon_decor_putcs(struct vc_data *vc, struct fb_info *info, const unsigned short *s, int count, int yy, int xx);
++void fbcon_decor_cursor(struct fb_info *info, struct fb_cursor *cursor);
++void fbcon_decor_clear(struct vc_data *vc, struct fb_info *info, int sy, int sx, int height, int width);
++void fbcon_decor_clear_margins(struct vc_data *vc, struct fb_info *info, int bottom_only);
++void fbcon_decor_blank(struct vc_data *vc, struct fb_info *info, int blank);
++void fbcon_decor_bmove_redraw(struct vc_data *vc, struct fb_info *info, int y, int sx, int dx, int width);
++void fbcon_decor_copy(u8 *dst, u8 *src, int height, int width, int linebytes, int srclinesbytes, int bpp);
++void fbcon_decor_fix_pseudo_pal(struct fb_info *info, struct vc_data *vc);
++
++/* vt.c */
++void acquire_console_sem(void);
++void release_console_sem(void);
++void do_unblank_screen(int entering_gfx);
++
++/* struct vc_data *y */
++#define fbcon_decor_active_vc(y) (y->vc_decor.state && y->vc_decor.theme)
++
++/* struct fb_info *x, struct vc_data *y */
++#define fbcon_decor_active_nores(x,y) (x->bgdecor.data && fbcon_decor_active_vc(y))
++
++/* struct fb_info *x, struct vc_data *y */
++#define fbcon_decor_active(x,y) (fbcon_decor_active_nores(x,y) && \
++ x->bgdecor.width == x->var.xres && \
++ x->bgdecor.height == x->var.yres && \
++ x->bgdecor.depth == x->var.bits_per_pixel)
++
++
++#else /* CONFIG_FB_CON_DECOR */
++
++static inline void fbcon_decor_putcs(struct vc_data *vc, struct fb_info *info, const unsigned short *s, int count, int yy, int xx) {}
++static inline void fbcon_decor_putc(struct vc_data *vc, struct fb_info *info, int c, int ypos, int xpos) {}
++static inline void fbcon_decor_cursor(struct fb_info *info, struct fb_cursor *cursor) {}
++static inline void fbcon_decor_clear(struct vc_data *vc, struct fb_info *info, int sy, int sx, int height, int width) {}
++static inline void fbcon_decor_clear_margins(struct vc_data *vc, struct fb_info *info, int bottom_only) {}
++static inline void fbcon_decor_blank(struct vc_data *vc, struct fb_info *info, int blank) {}
++static inline void fbcon_decor_bmove_redraw(struct vc_data *vc, struct fb_info *info, int y, int sx, int dx, int width) {}
++static inline void fbcon_decor_fix_pseudo_pal(struct fb_info *info, struct vc_data *vc) {}
++static inline int fbcon_decor_call_helper(char* cmd, unsigned short cons) { return 0; }
++static inline int fbcon_decor_init(void) { return 0; }
++static inline int fbcon_decor_exit(void) { return 0; }
++static inline int fbcon_decor_disable(struct vc_data *vc, unsigned char redraw) { return 0; }
++
++#define fbcon_decor_active_vc(y) (0)
++#define fbcon_decor_active_nores(x,y) (0)
++#define fbcon_decor_active(x,y) (0)
++
++#endif /* CONFIG_FB_CON_DECOR */
++
++#endif /* __FBCON_DECOR_H */
+diff -Nur linux-3.13.7.orig/drivers/video/fbcmap.c linux-3.13.7/drivers/video/fbcmap.c
+--- linux-3.13.7.orig/drivers/video/fbcmap.c 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/fbcmap.c 2014-03-29 16:03:17.000000000 +0100
+@@ -17,6 +17,8 @@
+ #include <linux/slab.h>
+ #include <linux/uaccess.h>
+
++#include "console/fbcondecor.h"
++
+ static u16 red2[] __read_mostly = {
+ 0x0000, 0xaaaa
+ };
+@@ -249,14 +251,17 @@
+ if (transp)
+ htransp = *transp++;
+ if (info->fbops->fb_setcolreg(start++,
+- hred, hgreen, hblue,
++ hred, hgreen, hblue,
+ htransp, info))
+ break;
+ }
+ }
+- if (rc == 0)
++ if (rc == 0) {
+ fb_copy_cmap(cmap, &info->cmap);
+-
++ if (fbcon_decor_active(info, vc_cons[fg_console].d) &&
++ info->fix.visual == FB_VISUAL_DIRECTCOLOR)
++ fbcon_decor_fix_pseudo_pal(info, vc_cons[fg_console].d);
++ }
+ return rc;
+ }
+
+diff -Nur linux-3.13.7.orig/drivers/video/fbmem.c linux-3.13.7/drivers/video/fbmem.c
+--- linux-3.13.7.orig/drivers/video/fbmem.c 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/drivers/video/fbmem.c 2014-03-29 16:03:17.000000000 +0100
+@@ -1250,15 +1250,6 @@
+ u16 reserved[3];
+ };
+
+-struct fb_cmap32 {
+- u32 start;
+- u32 len;
+- compat_caddr_t red;
+- compat_caddr_t green;
+- compat_caddr_t blue;
+- compat_caddr_t transp;
+-};
+-
+ static int fb_getput_cmap(struct fb_info *info, unsigned int cmd,
+ unsigned long arg)
+ {
+diff -Nur linux-3.13.7.orig/include/linux/console_decor.h linux-3.13.7/include/linux/console_decor.h
+--- linux-3.13.7.orig/include/linux/console_decor.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.13.7/include/linux/console_decor.h 2014-03-29 16:03:17.000000000 +0100
+@@ -0,0 +1,46 @@
++#ifndef _LINUX_CONSOLE_DECOR_H_
++#define _LINUX_CONSOLE_DECOR_H_ 1
++
++/* A structure used by the framebuffer console decorations (drivers/video/console/fbcondecor.c) */
++struct vc_decor {
++ __u8 bg_color; /* The color that is to be treated as transparent */
++ __u8 state; /* Current decor state: 0 = off, 1 = on */
++ __u16 tx, ty; /* Top left corner coordinates of the text field */
++ __u16 twidth, theight; /* Width and height of the text field */
++ char* theme;
++};
++
++#ifdef __KERNEL__
++#ifdef CONFIG_COMPAT
++#include <linux/compat.h>
++
++struct vc_decor32 {
++ __u8 bg_color; /* The color that is to be treated as transparent */
++ __u8 state; /* Current decor state: 0 = off, 1 = on */
++ __u16 tx, ty; /* Top left corner coordinates of the text field */
++ __u16 twidth, theight; /* Width and height of the text field */
++ compat_uptr_t theme;
++};
++
++#define vc_decor_from_compat(to, from) \
++ (to).bg_color = (from).bg_color; \
++ (to).state = (from).state; \
++ (to).tx = (from).tx; \
++ (to).ty = (from).ty; \
++ (to).twidth = (from).twidth; \
++ (to).theight = (from).theight; \
++ (to).theme = compat_ptr((from).theme)
++
++#define vc_decor_to_compat(to, from) \
++ (to).bg_color = (from).bg_color; \
++ (to).state = (from).state; \
++ (to).tx = (from).tx; \
++ (to).ty = (from).ty; \
++ (to).twidth = (from).twidth; \
++ (to).theight = (from).theight; \
++ (to).theme = ptr_to_compat((from).theme)
++
++#endif /* CONFIG_COMPAT */
++#endif /* __KERNEL__ */
++
++#endif
+diff -Nur linux-3.13.7.orig/include/linux/console_struct.h linux-3.13.7/include/linux/console_struct.h
+--- linux-3.13.7.orig/include/linux/console_struct.h 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/include/linux/console_struct.h 2014-03-29 16:03:17.000000000 +0100
+@@ -19,6 +19,7 @@
+ struct vt_struct;
+
+ #define NPAR 16
++#include <linux/console_decor.h>
+
+ struct vc_data {
+ struct tty_port port; /* Upper level data */
+@@ -107,6 +108,8 @@
+ unsigned long vc_uni_pagedir;
+ unsigned long *vc_uni_pagedir_loc; /* [!] Location of uni_pagedir variable for this console */
+ bool vc_panic_force_write; /* when oops/panic this VC can accept forced output/blanking */
++
++ struct vc_decor vc_decor;
+ /* additional information is in vt_kern.h */
+ };
+
+diff -Nur linux-3.13.7.orig/include/linux/fb.h linux-3.13.7/include/linux/fb.h
+--- linux-3.13.7.orig/include/linux/fb.h 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/include/linux/fb.h 2014-03-29 16:03:17.000000000 +0100
+@@ -219,6 +219,34 @@
+ };
+ #endif
+
++#ifdef __KERNEL__
++#ifdef CONFIG_COMPAT
++struct fb_image32 {
++ __u32 dx; /* Where to place image */
++ __u32 dy;
++ __u32 width; /* Size of image */
++ __u32 height;
++ __u32 fg_color; /* Only used when a mono bitmap */
++ __u32 bg_color;
++ __u8 depth; /* Depth of the image */
++ const compat_uptr_t data; /* Pointer to image data */
++ struct fb_cmap32 cmap; /* color map info */
++};
++
++#define fb_image_from_compat(to, from) \
++ (to).dx = (from).dx; \
++ (to).dy = (from).dy; \
++ (to).width = (from).width; \
++ (to).height = (from).height; \
++ (to).fg_color = (from).fg_color; \
++ (to).bg_color = (from).bg_color; \
++ (to).depth = (from).depth; \
++ (to).data = compat_ptr((from).data); \
++ fb_cmap_from_compat((to).cmap, (from).cmap)
++
++#endif /* CONFIG_COMPAT */
++#endif /* __KERNEL__ */
++
+ /*
+ * Frame buffer operations
+ *
+@@ -489,6 +517,9 @@
+ #define FBINFO_STATE_SUSPENDED 1
+ u32 state; /* Hardware state i.e suspend */
+ void *fbcon_par; /* fbcon use-only private area */
++
++ struct fb_image bgdecor;
++
+ /* From here on everything is device dependent */
+ void *par;
+ /* we need the PCI or similar aperture base/size not
+diff -Nur linux-3.13.7.orig/include/uapi/linux/fb.h linux-3.13.7/include/uapi/linux/fb.h
+--- linux-3.13.7.orig/include/uapi/linux/fb.h 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/include/uapi/linux/fb.h 2014-03-29 16:03:17.000000000 +0100
+@@ -8,6 +8,25 @@
+
+ #define FB_MAX 32 /* sufficient for now */
+
++struct fbcon_decor_iowrapper
++{
++ unsigned short vc; /* Virtual console */
++ unsigned char origin; /* Point of origin of the request */
++ void *data;
++};
++
++#ifdef __KERNEL__
++#ifdef CONFIG_COMPAT
++#include <linux/compat.h>
++struct fbcon_decor_iowrapper32
++{
++ unsigned short vc; /* Virtual console */
++ unsigned char origin; /* Point of origin of the request */
++ compat_uptr_t data;
++};
++#endif /* CONFIG_COMPAT */
++#endif /* __KERNEL__ */
++
+ /* ioctls
+ 0x46 is 'F' */
+ #define FBIOGET_VSCREENINFO 0x4600
+@@ -35,6 +54,25 @@
+ #define FBIOGET_DISPINFO 0x4618
+ #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32)
+
++#define FBIOCONDECOR_SETCFG _IOWR('F', 0x19, struct fbcon_decor_iowrapper)
++#define FBIOCONDECOR_GETCFG _IOR('F', 0x1A, struct fbcon_decor_iowrapper)
++#define FBIOCONDECOR_SETSTATE _IOWR('F', 0x1B, struct fbcon_decor_iowrapper)
++#define FBIOCONDECOR_GETSTATE _IOR('F', 0x1C, struct fbcon_decor_iowrapper)
++#define FBIOCONDECOR_SETPIC _IOWR('F', 0x1D, struct fbcon_decor_iowrapper)
++#ifdef __KERNEL__
++#ifdef CONFIG_COMPAT
++#define FBIOCONDECOR_SETCFG32 _IOWR('F', 0x19, struct fbcon_decor_iowrapper32)
++#define FBIOCONDECOR_GETCFG32 _IOR('F', 0x1A, struct fbcon_decor_iowrapper32)
++#define FBIOCONDECOR_SETSTATE32 _IOWR('F', 0x1B, struct fbcon_decor_iowrapper32)
++#define FBIOCONDECOR_GETSTATE32 _IOR('F', 0x1C, struct fbcon_decor_iowrapper32)
++#define FBIOCONDECOR_SETPIC32 _IOWR('F', 0x1D, struct fbcon_decor_iowrapper32)
++#endif /* CONFIG_COMPAT */
++#endif /* __KERNEL__ */
++
++#define FBCON_DECOR_THEME_LEN 128 /* Maximum lenght of a theme name */
++#define FBCON_DECOR_IO_ORIG_KERNEL 0 /* Kernel ioctl origin */
++#define FBCON_DECOR_IO_ORIG_USER 1 /* User ioctl origin */
++
+ #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
+ #define FB_TYPE_PLANES 1 /* Non interleaved planes */
+ #define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */
+@@ -277,6 +315,29 @@
+ __u32 reserved[4]; /* Reserved for future compatibility */
+ };
+
++#ifdef __KERNEL__
++#ifdef CONFIG_COMPAT
++struct fb_cmap32 {
++ __u32 start;
++ __u32 len; /* Number of entries */
++ compat_uptr_t red; /* Red values */
++ compat_uptr_t green;
++ compat_uptr_t blue;
++ compat_uptr_t transp; /* transparency, can be NULL */
++};
++
++#define fb_cmap_from_compat(to, from) \
++ (to).start = (from).start; \
++ (to).len = (from).len; \
++ (to).red = compat_ptr((from).red); \
++ (to).green = compat_ptr((from).green); \
++ (to).blue = compat_ptr((from).blue); \
++ (to).transp = compat_ptr((from).transp)
++
++#endif /* CONFIG_COMPAT */
++#endif /* __KERNEL__ */
++
++
+ struct fb_cmap {
+ __u32 start; /* First entry */
+ __u32 len; /* Number of entries */
+diff -Nur linux-3.13.7.orig/kernel/sysctl.c linux-3.13.7/kernel/sysctl.c
+--- linux-3.13.7.orig/kernel/sysctl.c 2014-03-24 05:45:42.000000000 +0100
++++ linux-3.13.7/kernel/sysctl.c 2014-03-29 16:03:17.000000000 +0100
+@@ -143,6 +143,10 @@
+ static int ngroups_max = NGROUPS_MAX;
+ static const int cap_last_cap = CAP_LAST_CAP;
+
++#ifdef CONFIG_FB_CON_DECOR
++extern char fbcon_decor_path[];
++#endif
++
+ #ifdef CONFIG_INOTIFY_USER
+ #include <linux/inotify.h>
+ #endif
+@@ -252,6 +256,15 @@
+ .mode = 0555,
+ .child = dev_table,
+ },
++#ifdef CONFIG_FB_CON_DECOR
++ {
++ .procname = "fbcondecor",
++ .data = &fbcon_decor_path,
++ .maxlen = KMOD_PATH_LEN,
++ .mode = 0644,
++ .proc_handler = &proc_dostring,
++ },
++#endif
+ { }
+ };
+
diff --git a/target/linux/patches/3.13.6/gemalto.patch b/target/linux/patches/3.13.7/gemalto.patch
index 65f7af1d7..65f7af1d7 100644
--- a/target/linux/patches/3.13.6/gemalto.patch
+++ b/target/linux/patches/3.13.7/gemalto.patch
diff --git a/target/linux/patches/3.13.6/lemote-rfkill.patch b/target/linux/patches/3.13.7/lemote-rfkill.patch
index a61488434..a61488434 100644
--- a/target/linux/patches/3.13.6/lemote-rfkill.patch
+++ b/target/linux/patches/3.13.7/lemote-rfkill.patch
diff --git a/target/linux/patches/3.13.6/microblaze-axi.patch b/target/linux/patches/3.13.7/microblaze-axi.patch
index 1a4b17d8c..1a4b17d8c 100644
--- a/target/linux/patches/3.13.6/microblaze-axi.patch
+++ b/target/linux/patches/3.13.7/microblaze-axi.patch
diff --git a/target/linux/patches/3.13.6/microblaze-early-printk.patch b/target/linux/patches/3.13.7/microblaze-early-printk.patch
index 92027cea1..92027cea1 100644
--- a/target/linux/patches/3.13.6/microblaze-early-printk.patch
+++ b/target/linux/patches/3.13.7/microblaze-early-printk.patch
diff --git a/target/linux/patches/3.13.6/microblaze-ethernet.patch b/target/linux/patches/3.13.7/microblaze-ethernet.patch
index 742ab477e..742ab477e 100644
--- a/target/linux/patches/3.13.6/microblaze-ethernet.patch
+++ b/target/linux/patches/3.13.7/microblaze-ethernet.patch
diff --git a/target/linux/patches/3.13.6/microblaze-setup.patch b/target/linux/patches/3.13.7/microblaze-setup.patch
index 43815f274..43815f274 100644
--- a/target/linux/patches/3.13.6/microblaze-setup.patch
+++ b/target/linux/patches/3.13.7/microblaze-setup.patch
diff --git a/target/linux/patches/3.13.6/mtd-rootfs.patch b/target/linux/patches/3.13.7/mtd-rootfs.patch
index 775d5fc80..775d5fc80 100644
--- a/target/linux/patches/3.13.6/mtd-rootfs.patch
+++ b/target/linux/patches/3.13.7/mtd-rootfs.patch
diff --git a/target/linux/patches/3.13.6/non-static.patch b/target/linux/patches/3.13.7/non-static.patch
index a967703d0..a967703d0 100644
--- a/target/linux/patches/3.13.6/non-static.patch
+++ b/target/linux/patches/3.13.7/non-static.patch
diff --git a/target/linux/patches/3.13.6/ppc64-missing-zlib.patch b/target/linux/patches/3.13.7/ppc64-missing-zlib.patch
index c6e0616be..c6e0616be 100644
--- a/target/linux/patches/3.13.6/ppc64-missing-zlib.patch
+++ b/target/linux/patches/3.13.7/ppc64-missing-zlib.patch
diff --git a/target/linux/patches/3.13.6/ppc64-missing_arch_random.patch b/target/linux/patches/3.13.7/ppc64-missing_arch_random.patch
index b341a7be5..b341a7be5 100644
--- a/target/linux/patches/3.13.6/ppc64-missing_arch_random.patch
+++ b/target/linux/patches/3.13.7/ppc64-missing_arch_random.patch
diff --git a/target/linux/patches/3.13.6/raspberry.patch b/target/linux/patches/3.13.7/raspberry.patch
index 1e2050a44..1e2050a44 100644
--- a/target/linux/patches/3.13.6/raspberry.patch
+++ b/target/linux/patches/3.13.7/raspberry.patch
diff --git a/target/linux/patches/3.13.7/startup.patch b/target/linux/patches/3.13.7/startup.patch
new file mode 100644
index 000000000..d396b75e4
--- /dev/null
+++ b/target/linux/patches/3.13.7/startup.patch
@@ -0,0 +1,37 @@
+diff -Nur linux-3.13.3.orig/init/main.c linux-3.13.3/init/main.c
+--- linux-3.13.3.orig/init/main.c 2014-02-13 23:00:14.000000000 +0100
++++ linux-3.13.3/init/main.c 2014-02-17 11:35:14.000000000 +0100
+@@ -916,6 +917,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+diff -Nur linux-3.13.6.orig/init/initramfs.c linux-3.13.6/init/initramfs.c
+--- linux-3.13.6.orig/init/initramfs.c 2014-03-07 07:07:02.000000000 +0100
++++ linux-3.13.6/init/initramfs.c 2014-03-15 12:11:31.882731916 +0100
+@@ -622,6 +622,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-3.13.6.orig/init/main.c linux-3.13.6/init/main.c
+--- linux-3.13.6.orig/init/main.c 2014-03-07 07:07:02.000000000 +0100
++++ linux-3.13.6/init/main.c 2014-03-15 12:13:16.459024452 +0100
+@@ -924,7 +924,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/3.13.6/uuid.patch b/target/linux/patches/3.13.7/uuid.patch
index ca23accdf..ca23accdf 100644
--- a/target/linux/patches/3.13.6/uuid.patch
+++ b/target/linux/patches/3.13.7/uuid.patch
diff --git a/target/linux/patches/3.13.6/vga-cons-default-off.patch b/target/linux/patches/3.13.7/vga-cons-default-off.patch
index 08a57f783..08a57f783 100644
--- a/target/linux/patches/3.13.6/vga-cons-default-off.patch
+++ b/target/linux/patches/3.13.7/vga-cons-default-off.patch
diff --git a/target/linux/patches/3.13.6/wlan-cf.patch b/target/linux/patches/3.13.7/wlan-cf.patch
index fc20759e2..fc20759e2 100644
--- a/target/linux/patches/3.13.6/wlan-cf.patch
+++ b/target/linux/patches/3.13.7/wlan-cf.patch
diff --git a/target/linux/patches/3.13.6/xargs.patch b/target/linux/patches/3.13.7/xargs.patch
index 2c7b3df59..2c7b3df59 100644
--- a/target/linux/patches/3.13.6/xargs.patch
+++ b/target/linux/patches/3.13.7/xargs.patch
diff --git a/target/linux/patches/3.13.6/zlib-inflate.patch b/target/linux/patches/3.13.7/zlib-inflate.patch
index 58e1f6d21..58e1f6d21 100644
--- a/target/linux/patches/3.13.6/zlib-inflate.patch
+++ b/target/linux/patches/3.13.7/zlib-inflate.patch
diff --git a/target/linux/patches/3.4.82/startup.patch b/target/linux/patches/3.4.82/startup.patch
deleted file mode 100644
index 4f47eddcb..000000000
--- a/target/linux/patches/3.4.82/startup.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur linux-2.6.34.orig/init/main.c linux-2.6.34/init/main.c
---- linux-2.6.34.orig/init/main.c 2010-05-16 23:17:36.000000000 +0200
-+++ linux-2.6.34/init/main.c 2010-05-20 20:13:26.321613615 +0200
-@@ -889,6 +890,8 @@
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- printk(KERN_WARNING "Warning: unable to open an initial console.\n");
-
-+ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
-+
- (void) sys_dup(0);
- (void) sys_dup(0);
- /*
diff --git a/target/linux/patches/3.4.82/bsd-compatibility.patch b/target/linux/patches/3.4.84/bsd-compatibility.patch
index 9e91a62de..9e91a62de 100644
--- a/target/linux/patches/3.4.82/bsd-compatibility.patch
+++ b/target/linux/patches/3.4.84/bsd-compatibility.patch
diff --git a/target/linux/patches/3.4.82/defaults.patch b/target/linux/patches/3.4.84/defaults.patch
index 58aae610b..58aae610b 100644
--- a/target/linux/patches/3.4.82/defaults.patch
+++ b/target/linux/patches/3.4.84/defaults.patch
diff --git a/target/linux/patches/3.4.82/gemalto.patch b/target/linux/patches/3.4.84/gemalto.patch
index 65f7af1d7..65f7af1d7 100644
--- a/target/linux/patches/3.4.82/gemalto.patch
+++ b/target/linux/patches/3.4.84/gemalto.patch
diff --git a/target/linux/patches/3.4.82/lemote-rfkill.patch b/target/linux/patches/3.4.84/lemote-rfkill.patch
index a61488434..a61488434 100644
--- a/target/linux/patches/3.4.82/lemote-rfkill.patch
+++ b/target/linux/patches/3.4.84/lemote-rfkill.patch
diff --git a/target/linux/patches/3.4.82/mips-error.patch b/target/linux/patches/3.4.84/mips-error.patch
index 800abc80d..800abc80d 100644
--- a/target/linux/patches/3.4.82/mips-error.patch
+++ b/target/linux/patches/3.4.84/mips-error.patch
diff --git a/target/linux/patches/3.4.82/module-alloc-size-check.patch b/target/linux/patches/3.4.84/module-alloc-size-check.patch
index a792ac60a..a792ac60a 100644
--- a/target/linux/patches/3.4.82/module-alloc-size-check.patch
+++ b/target/linux/patches/3.4.84/module-alloc-size-check.patch
diff --git a/target/linux/patches/3.4.82/non-static.patch b/target/linux/patches/3.4.84/non-static.patch
index a967703d0..a967703d0 100644
--- a/target/linux/patches/3.4.82/non-static.patch
+++ b/target/linux/patches/3.4.84/non-static.patch
diff --git a/target/linux/patches/3.4.82/sparc-include.patch b/target/linux/patches/3.4.84/sparc-include.patch
index 2f8ffd061..2f8ffd061 100644
--- a/target/linux/patches/3.4.82/sparc-include.patch
+++ b/target/linux/patches/3.4.84/sparc-include.patch
diff --git a/target/linux/patches/3.4.84/startup.patch b/target/linux/patches/3.4.84/startup.patch
new file mode 100644
index 000000000..c26430bcb
--- /dev/null
+++ b/target/linux/patches/3.4.84/startup.patch
@@ -0,0 +1,34 @@
+diff -Nur linux-3.4.82.orig/init/initramfs.c linux-3.4.82/init/initramfs.c
+--- linux-3.4.82.orig/init/initramfs.c 2014-02-22 19:33:35.000000000 +0100
++++ linux-3.4.82/init/initramfs.c 2014-03-15 18:46:22.674928245 +0100
+@@ -606,6 +606,9 @@
+ free_initrd();
+ #endif
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-3.4.82.orig/init/main.c linux-3.4.82/init/main.c
+--- linux-3.4.82.orig/init/main.c 2014-02-22 19:33:35.000000000 +0100
++++ linux-3.4.82/init/main.c 2014-03-15 18:46:22.674928245 +0100
+@@ -873,6 +873,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ printk(KERN_WARNING "Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+@@ -881,7 +883,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/3.4.82/usb-defaults-off.patch b/target/linux/patches/3.4.84/usb-defaults-off.patch
index 31367108a..31367108a 100644
--- a/target/linux/patches/3.4.82/usb-defaults-off.patch
+++ b/target/linux/patches/3.4.84/usb-defaults-off.patch
diff --git a/target/linux/patches/3.4.82/uuid.patch b/target/linux/patches/3.4.84/uuid.patch
index ca23accdf..ca23accdf 100644
--- a/target/linux/patches/3.4.82/uuid.patch
+++ b/target/linux/patches/3.4.84/uuid.patch
diff --git a/target/linux/patches/3.4.82/vga-cons-default-off.patch b/target/linux/patches/3.4.84/vga-cons-default-off.patch
index 178aeeeb9..178aeeeb9 100644
--- a/target/linux/patches/3.4.82/vga-cons-default-off.patch
+++ b/target/linux/patches/3.4.84/vga-cons-default-off.patch
diff --git a/target/linux/patches/3.4.82/wlan-cf.patch b/target/linux/patches/3.4.84/wlan-cf.patch
index fc20759e2..fc20759e2 100644
--- a/target/linux/patches/3.4.82/wlan-cf.patch
+++ b/target/linux/patches/3.4.84/wlan-cf.patch
diff --git a/target/linux/patches/3.4.82/zlib-inflate.patch b/target/linux/patches/3.4.84/zlib-inflate.patch
index 58e1f6d21..58e1f6d21 100644
--- a/target/linux/patches/3.4.82/zlib-inflate.patch
+++ b/target/linux/patches/3.4.84/zlib-inflate.patch
diff --git a/target/m68k/Makefile b/target/m68k/Makefile
index 193d8f3ed..78206042c 100644
--- a/target/m68k/Makefile
+++ b/target/m68k/Makefile
@@ -7,36 +7,36 @@ include $(TOPDIR)/mk/modules.mk
include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
-KERNEL:=$(LINUX_DIR)/vmlinux
+KERNEL:=$(LINUX_DIR)/vmlinux.gz
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K),y)
- @echo "Use following command to create a QEMU Image:"
- @echo "sudo ./scripts/create-image.sh -f ${ADK_TARGET_ROOTFS} qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-m68k -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K),y)
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-m68k -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+ifeq ($(ADK_TARGET_SYSTEM_ARANYM_M68K),y)
+ @sed -e "s#@@KERNEL@@#$(FW_DIR)/$(TARGET_KERNEL)#" \
+ -e "s#@@INITRAMFS@@#${FW_DIR}/${INITRAMFS}#" \
+ $(TOPDIR)/target/m68k/aranym.cfg.in \
+ > $(TOPDIR)/target/m68k/aranym.cfg
+ @echo 'Start aranym with: aranym-mmu -l -c target/m68k/aranym.cfg'
+ @echo 'Ungrab mouse with middle mouse click'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
imageinstall: createinitramfs
@cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_M68K),y)
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-m68k -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL)'
-endif
endif
diff --git a/target/m68k/aranym.cfg.in b/target/m68k/aranym.cfg.in
new file mode 100644
index 000000000..a2fd30170
--- /dev/null
+++ b/target/m68k/aranym.cfg.in
@@ -0,0 +1,195 @@
+[GLOBAL]
+FastRAM = 32
+Floppy =
+TOS = ROM
+EmuTOS = etos512k.img
+Bootstrap = mintara.prg
+BootstrapArgs =
+BootDrive =
+GMTime = No
+
+[STARTUP]
+GrabMouse = No
+Debugger = No
+
+[IKBD]
+WheelEiffel = No
+AltGr = Yes
+
+[HOTKEYS]
+Setup = 19:0
+Quit = 19:0x1
+Reboot = 19:0x40
+Ungrab = 27:0x141
+Debug = 19:0x100
+Screenshot = 316:0
+Fullscreen = 302:0
+
+[JIT]
+JIT = Yes
+JITFPU = Yes
+JITCacheSize = 8192
+JITLazyFlush = 1
+JITBlackList =
+JITInline = No
+
+[VIDEO]
+FullScreen = No
+BootColorDepth = -1
+VidelRefresh = 2
+VidelMonitor = -1
+SingleBlitComposing = No
+SingleBlitRefresh = No
+
+[TOS]
+Cookie_MCH = 50000
+RedirConsole = No
+
+[IDE0]
+Present = No
+IsCDROM = No
+ByteSwap = No
+ReadOnly = No
+Path =
+Cylinders = 0
+Heads = 0
+SectorsPerTrack = 0
+ModelName = Master
+
+[IDE1]
+Present = No
+IsCDROM = No
+ByteSwap = No
+ReadOnly = No
+Path =
+Cylinders = 0
+Heads = 0
+SectorsPerTrack = 0
+ModelName = Slave
+
+[PARTITION0]
+Path =
+Present = No
+PartID = BGM
+ByteSwap = No
+ReadOnly = No
+
+[HOSTFS]
+A =
+B =
+C =
+D =
+E =
+F =
+G =
+H =
+I =
+J =
+K =
+L =
+M =
+N =
+O =
+P =
+Q =
+R =
+S =
+T =
+U =
+V =
+W =
+X =
+Y =
+Z =
+
+[OPENGL]
+Enabled = No
+Filtered = No
+Library =
+
+[ETH0]
+Type = bridge
+Tunnel = tap0
+HostIP = 172.24.30.12
+AtariIP = 172.24.42.46
+Netmask = 255.255.0.0
+MAC = 00:41:45:54:48:30
+
+[LILO]
+Kernel = @@KERNEL@@
+Args = console=tty debug=par
+Ramdisk = @@INITRAMFS@@
+
+[MIDI]
+Type = none
+File =
+Sequencer = /dev/sequencer
+
+[CDROMS]
+A = -1
+B = -1
+C = -1
+D = -1
+E = -1
+F = -1
+G = -1
+H = -1
+I = -1
+J = -1
+K = -1
+L = -1
+M = -1
+N = -1
+O = -1
+P = -1
+Q = -1
+R = -1
+S = -1
+T = -1
+U = -1
+V = -1
+W = -1
+X = -1
+Y = -1
+Z = -1
+
+[AUTOZOOM]
+Enabled = No
+IntegerCoefs = No
+FixedSize = No
+Width = 640
+Height = 480
+
+[NFOSMESA]
+ChannelSize = 0
+LibGL = libGL.so
+LibOSMesa = libOSMesa.so
+
+[PARALLEL]
+Type = file
+File = stderr
+Parport = /dev/parport0
+
+[SERIAL]
+Serport = /dev/ttyS0
+
+[NATFEATS]
+CDROM = sdl
+Vdi = soft
+
+[NFVDI]
+UseHostMouseCursor = No
+
+[AUDIO]
+Frequency = 22050
+Channels = 2
+Bits = 16
+Samples = 1024
+
+[JOYSTICKS]
+Ikbd0 = -1
+Ikbd1 = 0
+JoypadA = -1
+JoypadAButtons = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+JoypadB = -1
+JoypadBButtons = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
diff --git a/target/m68k/kernel.config b/target/m68k/kernel.config
deleted file mode 100644
index bf7ba4f8a..000000000
--- a/target/m68k/kernel.config
+++ /dev/null
@@ -1,997 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/m68k 3.9.11 Kernel Configuration
-#
-CONFIG_M68K=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_TIME_LOW_RES=y
-CONFIG_NO_IOPORT=y
-# CONFIG_NO_DMA is not set
-CONFIG_ZONE_DMA=y
-CONFIG_HZ=100
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_DEFAULT_HOSTNAME="openadk"
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_FHANDLE is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_ARCH_USES_GETTIMEOFFSET=y
-
-#
-# CPU/Task time and stats accounting
-#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_STALL_COMMON is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_UIDGID_CONVERTED=y
-# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_HAVE_UID16=y
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
-CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_MODULES_USE_ELF_REL=y
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_OLD_SIGACTION=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_MODULE_SIG is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_ATARI_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_EFI_PARTITION=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_FREEZER is not set
-CONFIG_MMU=y
-CONFIG_MMU_MOTOROLA=y
-
-#
-# Platform setup
-#
-
-#
-# Processor Type
-#
-CONFIG_M68KCLASSIC=y
-# CONFIG_COLDFIRE is not set
-# CONFIG_M68020 is not set
-# CONFIG_M68030 is not set
-CONFIG_M68040=y
-# CONFIG_M68060 is not set
-
-#
-# Processor Specific Options
-#
-# CONFIG_M68KFPU_EMU is not set
-# CONFIG_ADVANCED is not set
-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
-CONFIG_NODES_SHIFT=3
-CONFIG_CPU_HAS_ADDRESS_SPACES=y
-CONFIG_FPU=y
-
-#
-# Machine Types
-#
-# CONFIG_AMIGA is not set
-CONFIG_ATARI=y
-# CONFIG_MAC is not set
-# CONFIG_APOLLO is not set
-# CONFIG_VME is not set
-# CONFIG_HP300 is not set
-# CONFIG_SUN3X is not set
-# CONFIG_Q40 is not set
-
-#
-# Bus Support
-#
-# CONFIG_GENERIC_ISA_DMA is not set
-
-#
-# Kernel Features
-#
-CONFIG_DISCONTIGMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_NEED_MULTIPLE_NODES=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_COREDUMP is not set
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_DIAG is not set
-CONFIG_UNIX=y
-# CONFIG_UNIX_DIAG is not set
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-CONFIG_HAVE_NET_DSA=y
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_OPENVSWITCH is not set
-# CONFIG_VSOCKETS is not set
-CONFIG_BQL=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_GENERIC_CPU_DEVICES=y
-# CONFIG_DMA_SHARED_BUFFER is not set
-
-#
-# Bus devices
-#
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_ATARI_FLOPPY is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_BLK_DEV_RBD is not set
-
-#
-# Misc devices
-#
-# CONFIG_SENSORS_LIS3LV02D is not set
-# CONFIG_ATMEL_SSC is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_93CX6 is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_MD is not set
-CONFIG_NETDEVICES=y
-# CONFIG_NET_CORE is not set
-
-#
-# CAIF transport drivers
-#
-
-#
-# Distributed Switch Architecture drivers
-#
-# CONFIG_NET_DSA_MV88E6XXX is not set
-# CONFIG_NET_DSA_MV88E6060 is not set
-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
-# CONFIG_NET_DSA_MV88E6131 is not set
-# CONFIG_NET_DSA_MV88E6123_61_65 is not set
-CONFIG_ETHERNET=y
-CONFIG_NET_VENDOR_AMD=y
-# CONFIG_ATARILANCE is not set
-CONFIG_NET_CADENCE=y
-# CONFIG_ARM_AT91_ETHER is not set
-# CONFIG_MACB is not set
-# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_CALXEDA_XGMAC is not set
-# CONFIG_DNET is not set
-CONFIG_NET_VENDOR_INTEL=y
-# CONFIG_NET_VENDOR_I825XX is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NET_VENDOR_8390=y
-# CONFIG_ETHOC is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_NET_VENDOR_WIZNET=y
-# CONFIG_WIZNET_W5100 is not set
-# CONFIG_WIZNET_W5300 is not set
-# CONFIG_PHYLIB is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_WLAN is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-# CONFIG_INPUT_MATRIXKMAP is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_SERIO_ARC_PS2 is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_TTY=y
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-# CONFIG_DEVKMEM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_DW is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_BRCM_CHAR_DRIVERS is not set
-# CONFIG_I2C is not set
-# CONFIG_SPI is not set
-# CONFIG_HSI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-# CONFIG_PTP_1588_CLOCK is not set
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# CONFIG_PTP_1588_CLOCK_PCH is not set
-CONFIG_GPIO_DEVRES=y
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_POWER_AVS is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_ATARI=y
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_GOLDFISH is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_AUO_K190X is not set
-# CONFIG_EXYNOS_VIDEO is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_LOGO is not set
-# CONFIG_SOUND is not set
-
-#
-# HID support
-#
-CONFIG_HID=y
-# CONFIG_HIDRAW is not set
-# CONFIG_UHID is not set
-CONFIG_HID_GENERIC=y
-
-#
-# Special HID drivers
-#
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB_ARCH_HAS_XHCI is not set
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_SYSTOHC=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-# CONFIG_RTC_INTF_PROC is not set
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_CMOS is not set
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-# CONFIG_RTC_DRV_DS2404 is not set
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_RTC_DRV_GENERIC is not set
-
-#
-# HID Sensor RTC drivers
-#
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_MMIO is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-# CONFIG_STAGING is not set
-
-#
-# Hardware Spinlock drivers
-#
-# CONFIG_MAILBOX is not set
-# CONFIG_IOMMU_SUPPORT is not set
-
-#
-# Remoteproc drivers
-#
-# CONFIG_STE_MODEM_RPROC is not set
-
-#
-# Rpmsg drivers
-#
-# CONFIG_VIRT_DRIVERS is not set
-# CONFIG_PM_DEVFREQ is not set
-# CONFIG_EXTCON is not set
-# CONFIG_MEMORY is not set
-# CONFIG_IIO is not set
-# CONFIG_PWM is not set
-# CONFIG_IPACK_BUS is not set
-
-#
-# Platform devices
-#
-# CONFIG_HEARTBEAT is not set
-# CONFIG_PROC_HARDWARE is not set
-CONFIG_NATFEAT=y
-CONFIG_NFBLOCK=y
-CONFIG_NFCON=y
-CONFIG_NFETH=y
-
-#
-# Character devices
-#
-# CONFIG_ATARI_DSP56K is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-# CONFIG_NLS is not set
-
-#
-# Kernel hacking
-#
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_READABLE_ASM is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_HAVE_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_FRAME_POINTER is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-
-#
-# RCU Debugging
-#
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_RBTREE_TEST is not set
-# CONFIG_INTERVAL_TREE_TEST is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_BOOTPARAM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_USER is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-# CONFIG_CRYPTO_CBC is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CRC32 is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_IO=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-CONFIG_ZLIB_INFLATE=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_DMA=y
-CONFIG_DQL=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
-# CONFIG_AVERAGE is not set
-# CONFIG_CORDIC is not set
-# CONFIG_DDR is not set
diff --git a/target/m68k/kernel/aranym-m68k b/target/m68k/kernel/aranym-m68k
new file mode 100644
index 000000000..ac513fdc6
--- /dev/null
+++ b/target/m68k/kernel/aranym-m68k
@@ -0,0 +1,11 @@
+CONFIG_M68K=y
+CONFIG_MMU_MOTOROLA=y
+CONFIG_M68KCLASSIC=y
+CONFIG_M68040=y
+CONFIG_FPU=y
+CONFIG_ATARI=y
+CONFIG_NATFEAT=y
+CONFIG_NFETH=y
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
diff --git a/target/m68k/sys-available/aranym-m68k b/target/m68k/sys-available/aranym-m68k
index 112e376b9..29e8810a5 100644
--- a/target/m68k/sys-available/aranym-m68k
+++ b/target/m68k/sys-available/aranym-m68k
@@ -5,6 +5,7 @@ config ADK_TARGET_SYSTEM_ARANYM_M68K
select ADK_TARGET_WITH_VGA
select ADK_TARGET_WITH_INPUT
select ADK_TARGET_WITH_HDD
+ select ADK_TARGET_KERNEL_ZIMAGE
help
Support for ARAnyM Emulator (M68K).
diff --git a/target/m68k/sys-available/toolchain-m68k b/target/m68k/sys-available/toolchain-m68k
index 0bc27683b..b48c9b784 100644
--- a/target/m68k/sys-available/toolchain-m68k
+++ b/target/m68k/sys-available/toolchain-m68k
@@ -3,7 +3,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_M68K
select ADK_m68k
select ADK_toolchain_m68k
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a m68k toolchain.
diff --git a/target/m68k/target.mk b/target/m68k/target.mk
index 732363b2a..80b1424a6 100644
--- a/target/m68k/target.mk
+++ b/target/m68k/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= m68k
CPU_ARCH:= $(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:= -O2 -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/m68k/uclibc.config b/target/m68k/uclibc.config
deleted file mode 100644
index 7ffcf7440..000000000
--- a/target/m68k/uclibc.config
+++ /dev/null
@@ -1,251 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# uClibc 0.9.34-git C Library Configuration
-#
-# TARGET_alpha is not set
-# TARGET_arc is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-# TARGET_c6x is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_hppa is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_ia64 is not set
-TARGET_m68k=y
-# TARGET_metag is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_vax is not set
-# TARGET_x86_64 is not set
-# TARGET_xtensa is not set
-
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="m68k"
-FORCE_OPTIONS_FOR_ARCH=y
-TARGET_SUBARCH=""
-
-#
-# Using ELF file format
-#
-ARCH_HAS_DEPRECATED_SYSCALLS=y
-ARCH_BIG_ENDIAN=y
-
-#
-# Using Big Endian
-#
-ARCH_HAS_MMU=y
-ARCH_USE_MMU=y
-UCLIBC_HAS_FLOATS=y
-UCLIBC_HAS_FPU=y
-DO_C99_MATH=y
-# DO_XSI_MATH is not set
-UCLIBC_HAS_FENV=y
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-DOPIC=y
-HAVE_SHARED=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_ENV_SUPPORT is not set
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_STANDALONE_SUPPORT is not set
-# LDSO_PRELINK_SUPPORT is not set
-# UCLIBC_STATIC_LDCONFIG is not set
-LDSO_RUNPATH=y
-LDSO_SAFE_RUNPATH=y
-LDSO_SEARCH_INTERP_PATH=y
-LDSO_LD_LIBRARY_PATH=y
-# LDSO_NO_CLEANUP is not set
-UCLIBC_CTOR_DTOR=y
-# LDSO_GNU_HASH_SUPPORT is not set
-# HAS_NO_THREADS is not set
-LINUXTHREADS_OLD=y
-# LINUXTHREADS_NEW is not set
-# UCLIBC_HAS_THREADS_NATIVE is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_SYSLOG=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_HAS_OBSTACK=y
-UCLIBC_DYNAMIC_ATEXIT=y
-COMPAT_ATEXIT=y
-# UCLIBC_SUSV2_LEGACY is not set
-UCLIBC_SUSV3_LEGACY=y
-# UCLIBC_SUSV3_LEGACY_MACROS is not set
-UCLIBC_SUSV4_LEGACY=y
-# UCLIBC_STRICT_HEADERS is not set
-# UCLIBC_HAS_STUBS is not set
-UCLIBC_HAS_SHADOW=y
-UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
-UCLIBC_HAS___PROGNAME=y
-UCLIBC_HAS_PTY=y
-ASSUME_DEVPTS=y
-UNIX98PTY_ONLY=y
-UCLIBC_HAS_GETPT=y
-UCLIBC_HAS_LIBUTIL=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
-
-#
-# Advanced Library Settings
-#
-UCLIBC_PWD_BUFFER_SIZE=256
-UCLIBC_GRP_BUFFER_SIZE=256
-
-#
-# Support various families of functions
-#
-UCLIBC_LINUX_MODULE_26=y
-# UCLIBC_LINUX_MODULE_24 is not set
-UCLIBC_LINUX_SPECIFIC=y
-UCLIBC_HAS_GNU_ERROR=y
-UCLIBC_BSD_SPECIFIC=y
-UCLIBC_HAS_BSD_ERR=y
-# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-# UCLIBC_SV4_DEPRECATED is not set
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-# UCLIBC_HAS_XATTR is not set
-# UCLIBC_HAS_PROFILING is not set
-UCLIBC_HAS_CRYPT_IMPL=y
-# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set
-# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set
-UCLIBC_HAS_CRYPT=y
-UCLIBC_HAS_NETWORK_SUPPORT=y
-UCLIBC_HAS_SOCKET=y
-UCLIBC_HAS_IPV4=y
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-UCLIBC_HAS_REENTRANT_RPC=y
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-UCLIBC_HAS_BSD_RES_CLOSE=y
-UCLIBC_HAS_COMPAT_RES_STATE=y
-# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
-UCLIBC_HAS_RESOLVER_SUPPORT=y
-UCLIBC_HAS_LIBRESOLV_STUB=y
-UCLIBC_HAS_LIBNSL_STUB=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-UCLIBC_HAS_GNU_GETSUBOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_REGEX_OLD is not set
-UCLIBC_HAS_FNMATCH=y
-# UCLIBC_HAS_FNMATCH_OLD is not set
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-# UCLIBC_HAS_FTS is not set
-UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-UCLIBC_HAS_UTMPX=y
-
-#
-# Library Installation Options
-#
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-MULTILIB_DIR="lib"
-HARDWIRED_ABSPATH=y
-
-#
-# Security options
-#
-UCLIBC_HAS_ARC4RANDOM=y
-# ARC4RANDOM_USES_NODEV is not set
-# UCLIBC_HAS_SSP is not set
-UCLIBC_BUILD_RELRO=y
-UCLIBC_BUILD_NOW=y
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# Development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-DOSTRIP=y
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MALLOC_DEBUGGING is not set
-# UCLIBC_HAS_BACKTRACE is not set
-WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
-# DOMULTI is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/target/microblaze/Makefile b/target/microblaze/Makefile
index 74f8d3dd0..58d02c5be 100644
--- a/target/microblaze/Makefile
+++ b/target/microblaze/Makefile
@@ -10,12 +10,10 @@ include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/microblaze/boot/$(ADK_TARGET_KERNEL)
ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605),y)
-MODEL:=petalogix-ml605
-DTB:=-dtb target/microblaze/ml605.dtb
+QEMU_ARGS+=-M petalogix-ml605 -dtb target/microblaze/ml605.dtb
endif
ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800),y)
-MODEL:=petalogix-s3adsp1800
-DTB:=
+QEMU_ARGS+=-M petalogix-s3adsp1800
endif
ifeq ($(ADK_TARGET_FS),squashfs)
@@ -25,7 +23,7 @@ imageinstall: $(BUILD_DIR)/root.squashfs
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following options:"
- @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSSQUASHFS) $(DTB)'
+ @echo 'qemu-system-${CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSSQUASHFS)'
endif
endif
ifeq ($(ADK_TARGET_FS),jffs2)
@@ -33,7 +31,7 @@ imageinstall: $(FW_DIR)/$(ROOTFSJFFS2)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following options:"
- @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSJFFS2) $(DTB)'
+ @echo 'qemu-system-${CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSJFFS2)'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
@@ -43,7 +41,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS)
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS} $(DTB)'
+ @echo 'qemu-system-${CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
@@ -52,11 +50,18 @@ imageinstall: createinitramfs
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} -M $(MODEL) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) $(DTB)'
+ @echo 'qemu-system-${CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
diff --git a/target/microblaze/kernel/qemu-microblaze-ml605 b/target/microblaze/kernel/qemu-microblaze-ml605
index 3c331795d..cb8da0cec 100644
--- a/target/microblaze/kernel/qemu-microblaze-ml605
+++ b/target/microblaze/kernel/qemu-microblaze-ml605
@@ -15,13 +15,11 @@ CONFIG_PCI_XILINX=y
CONFIG_DTC=y
CONFIG_OF=y
CONFIG_PROC_DEVICETREE=y
+CONFIG_NET_VENDOR_XILINX=y
+CONFIG_XILINX_AXI_EMAC=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
-CONFIG_NET_VENDOR_XILINX=y
-CONFIG_XILINX_AXI_EMAC=y
+CONFIG_CMDLINE_FORCE=y
diff --git a/target/microblaze/kernel/qemu-microblaze-s3adsp1800 b/target/microblaze/kernel/qemu-microblaze-s3adsp1800
index c49b961b3..3c3546b47 100644
--- a/target/microblaze/kernel/qemu-microblaze-s3adsp1800
+++ b/target/microblaze/kernel/qemu-microblaze-s3adsp1800
@@ -15,10 +15,8 @@ CONFIG_PCI_XILINX=y
CONFIG_DTC=y
CONFIG_OF=y
CONFIG_PROC_DEVICETREE=y
-CONFIG_SERIAL_UARTLITE=y
-CONFIG_SERIAL_UARTLITE_CONSOLE=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_XILINX=y
CONFIG_XILINX_EMACLITE=y
+CONFIG_SERIAL_UARTLITE=y
+CONFIG_SERIAL_UARTLITE_CONSOLE=y
+CONFIG_CMDLINE_FORCE=y
diff --git a/target/microblaze/s3adsp1800.dtb b/target/microblaze/s3adsp1800.dtb
new file mode 100644
index 000000000..163f1632d
--- /dev/null
+++ b/target/microblaze/s3adsp1800.dtb
Binary files differ
diff --git a/target/microblaze/s3adsp1800.dts b/target/microblaze/s3adsp1800.dts
new file mode 100644
index 000000000..9cc6bdc13
--- /dev/null
+++ b/target/microblaze/s3adsp1800.dts
@@ -0,0 +1,287 @@
+/dts-v1/;
+
+/ {
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+ compatible = "xlnx,microblaze";
+ model = "testing";
+
+ memory@90000000 {
+ device_type = "memory";
+ reg = <0x90000000 0x8000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyUL0,115200";
+ linux,stdout-path = "/plb@0/serial@84000000";
+ };
+
+ cpus {
+ #address-cells = <0x1>;
+ #cpus = <0x1>;
+ #size-cells = <0x0>;
+
+ cpu@0 {
+ clock-frequency = <0x3b9aca0>;
+ compatible = "xlnx,microblaze-7.10.d";
+ d-cache-baseaddr = <0x90000000>;
+ d-cache-highaddr = <0x97ffffff>;
+ d-cache-line-size = <0x10>;
+ d-cache-size = <0x800>;
+ device_type = "cpu";
+ i-cache-baseaddr = <0x90000000>;
+ i-cache-highaddr = <0x97ffffff>;
+ i-cache-line-size = <0x10>;
+ i-cache-size = <0x800>;
+ model = "microblaze,7.10.d";
+ reg = <0x0>;
+ timebase-frequency = <0x3b9aca0>;
+ xlnx,addr-tag-bits = <0x10>;
+ xlnx,allow-dcache-wr = <0x1>;
+ xlnx,allow-icache-wr = <0x1>;
+ xlnx,area-optimized = <0x0>;
+ xlnx,cache-byte-size = <0x800>;
+ xlnx,d-lmb = <0x1>;
+ xlnx,d-opb = <0x0>;
+ xlnx,d-plb = <0x1>;
+ xlnx,data-size = <0x20>;
+ xlnx,dcache-addr-tag = <0x10>;
+ xlnx,dcache-always-used = <0x0>;
+ xlnx,dcache-byte-size = <0x800>;
+ xlnx,dcache-line-len = <0x4>;
+ xlnx,dcache-use-fsl = <0x1>;
+ xlnx,debug-enabled = <0x1>;
+ xlnx,div-zero-exception = <0x0>;
+ xlnx,dopb-bus-exception = <0x0>;
+ xlnx,dynamic-bus-sizing = <0x1>;
+ xlnx,edge-is-positive = <0x1>;
+ xlnx,family = "spartan3adsp";
+ xlnx,fpu-exception = <0x0>;
+ xlnx,fsl-data-size = <0x20>;
+ xlnx,fsl-exception = <0x0>;
+ xlnx,fsl-links = <0x0>;
+ xlnx,i-lmb = <0x1>;
+ xlnx,i-opb = <0x0>;
+ xlnx,i-plb = <0x1>;
+ xlnx,icache-always-used = <0x0>;
+ xlnx,icache-line-len = <0x4>;
+ xlnx,icache-use-fsl = <0x1>;
+ xlnx,ill-opcode-exception = <0x0>;
+ xlnx,instance = "microblaze_0";
+ xlnx,interconnect = <0x1>;
+ xlnx,interrupt-is-edge = <0x0>;
+ xlnx,iopb-bus-exception = <0x0>;
+ xlnx,mmu-dtlb-size = <0x4>;
+ xlnx,mmu-itlb-size = <0x2>;
+ xlnx,mmu-tlb-access = <0x3>;
+ xlnx,mmu-zones = <0x10>;
+ xlnx,number-of-pc-brk = <0x3>;
+ xlnx,number-of-rd-addr-brk = <0x2>;
+ xlnx,number-of-wr-addr-brk = <0x2>;
+ xlnx,opcode-0x0-illegal = <0x0>;
+ xlnx,pvr = <0x1>;
+ xlnx,pvr-user1 = <0x0>;
+ xlnx,pvr-user2 = <0x0>;
+ xlnx,reset-msr = <0x0>;
+ xlnx,sco = <0x0>;
+ xlnx,unaligned-exceptions = <0x1>;
+ xlnx,use-barrel = <0x1>;
+ xlnx,use-dcache = <0x1>;
+ xlnx,use-div = <0x0>;
+ xlnx,use-ext-brk = <0x1>;
+ xlnx,use-ext-nm-brk = <0x1>;
+ xlnx,use-extended-fsl-instr = <0x0>;
+ xlnx,use-fpu = <0x0>;
+ xlnx,use-hw-mul = <0x1>;
+ xlnx,use-icache = <0x1>;
+ xlnx,use-interrupt = <0x1>;
+ xlnx,use-mmu = <0x3>;
+ xlnx,use-msr-instr = <0x1>;
+ xlnx,use-pcmp-instr = <0x1>;
+ };
+ };
+
+ plb@0 {
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+ compatible = "xlnx,plb-v46-1.03.a", "simple-bus";
+ ranges;
+
+ ethernet@81000000 {
+ compatible = "xlnx,xps-ethernetlite-2.00.b";
+ device_type = "network";
+ interrupt-parent = <0x1>;
+ interrupts = <0x1 0x0>;
+ local-mac-address = [02 00 00 00 00 00];
+ reg = <0x81000000 0x10000>;
+ xlnx,duplex = <0x1>;
+ xlnx,family = "spartan3adsp";
+ xlnx,rx-ping-pong = <0x0>;
+ xlnx,tx-ping-pong = <0x0>;
+ };
+
+ flash@a0000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ bank-width = <0x1>;
+ compatible = "xlnx,xps-mch-emc-2.00.a", "cfi-flash";
+ reg = <0xa0000000 0x1000000>;
+ xlnx,family = "spartan3adsp";
+ xlnx,include-datawidth-matching-0 = <0x1>;
+ xlnx,include-datawidth-matching-1 = <0x0>;
+ xlnx,include-datawidth-matching-2 = <0x0>;
+ xlnx,include-datawidth-matching-3 = <0x0>;
+ xlnx,include-negedge-ioregs = <0x0>;
+ xlnx,include-plb-ipif = <0x1>;
+ xlnx,include-wrbuf = <0x1>;
+ xlnx,max-mem-width = <0x8>;
+ xlnx,mch-native-dwidth = <0x20>;
+ xlnx,mch-plb-clk-period-ps = <0x3e80>;
+ xlnx,mch-splb-awidth = <0x20>;
+ xlnx,mch0-accessbuf-depth = <0x10>;
+ xlnx,mch0-protocol = <0x0>;
+ xlnx,mch0-rddatabuf-depth = <0x10>;
+ xlnx,mch1-accessbuf-depth = <0x10>;
+ xlnx,mch1-protocol = <0x0>;
+ xlnx,mch1-rddatabuf-depth = <0x10>;
+ xlnx,mch2-accessbuf-depth = <0x10>;
+ xlnx,mch2-protocol = <0x0>;
+ xlnx,mch2-rddatabuf-depth = <0x10>;
+ xlnx,mch3-accessbuf-depth = <0x10>;
+ xlnx,mch3-protocol = <0x0>;
+ xlnx,mch3-rddatabuf-depth = <0x10>;
+ xlnx,mem0-width = <0x8>;
+ xlnx,mem1-width = <0x20>;
+ xlnx,mem2-width = <0x20>;
+ xlnx,mem3-width = <0x20>;
+ xlnx,num-banks-mem = <0x1>;
+ xlnx,num-channels = <0x0>;
+ xlnx,priority-mode = <0x0>;
+ xlnx,synch-mem-0 = <0x0>;
+ xlnx,synch-mem-1 = <0x0>;
+ xlnx,synch-mem-2 = <0x0>;
+ xlnx,synch-mem-3 = <0x0>;
+ xlnx,synch-pipedelay-0 = <0x2>;
+ xlnx,synch-pipedelay-1 = <0x2>;
+ xlnx,synch-pipedelay-2 = <0x2>;
+ xlnx,synch-pipedelay-3 = <0x2>;
+ xlnx,tavdv-ps-mem-0 = <0x11170>;
+ xlnx,tavdv-ps-mem-1 = <0x3a98>;
+ xlnx,tavdv-ps-mem-2 = <0x3a98>;
+ xlnx,tavdv-ps-mem-3 = <0x3a98>;
+ xlnx,tcedv-ps-mem-0 = <0x11170>;
+ xlnx,tcedv-ps-mem-1 = <0x3a98>;
+ xlnx,tcedv-ps-mem-2 = <0x3a98>;
+ xlnx,tcedv-ps-mem-3 = <0x3a98>;
+ xlnx,thzce-ps-mem-0 = <0x61a8>;
+ xlnx,thzce-ps-mem-1 = <0x1b58>;
+ xlnx,thzce-ps-mem-2 = <0x1b58>;
+ xlnx,thzce-ps-mem-3 = <0x1b58>;
+ xlnx,thzoe-ps-mem-0 = <0x61a8>;
+ xlnx,thzoe-ps-mem-1 = <0x1b58>;
+ xlnx,thzoe-ps-mem-2 = <0x1b58>;
+ xlnx,thzoe-ps-mem-3 = <0x1b58>;
+ xlnx,tlzwe-ps-mem-0 = <0x1388>;
+ xlnx,tlzwe-ps-mem-1 = <0x0>;
+ xlnx,tlzwe-ps-mem-2 = <0x0>;
+ xlnx,tlzwe-ps-mem-3 = <0x0>;
+ xlnx,twc-ps-mem-0 = <0x11170>;
+ xlnx,twc-ps-mem-1 = <0x3a98>;
+ xlnx,twc-ps-mem-2 = <0x3a98>;
+ xlnx,twc-ps-mem-3 = <0x3a98>;
+ xlnx,twp-ps-mem-0 = <0xafc8>;
+ xlnx,twp-ps-mem-1 = <0x2ee0>;
+ xlnx,twp-ps-mem-2 = <0x2ee0>;
+ xlnx,twp-ps-mem-3 = <0x2ee0>;
+ xlnx,xcl0-linesize = <0x4>;
+ xlnx,xcl0-writexfer = <0x1>;
+ xlnx,xcl1-linesize = <0x4>;
+ xlnx,xcl1-writexfer = <0x1>;
+ xlnx,xcl2-linesize = <0x4>;
+ xlnx,xcl2-writexfer = <0x1>;
+ xlnx,xcl3-linesize = <0x4>;
+ xlnx,xcl3-writexfer = <0x1>;
+ partition@0x00000000 {
+ label = "rootfs";
+ reg = <0x00000000 0x01000000>;
+ };
+ };
+
+ gpio@81400000 {
+ compatible = "xlnx,xps-gpio-1.00.a";
+ interrupt-parent = <0x1>;
+ interrupts = <0x2 0x2>;
+ reg = <0x81400000 0x10000>;
+ xlnx,all-inputs = <0x0>;
+ xlnx,all-inputs-2 = <0x0>;
+ xlnx,dout-default = <0x0>;
+ xlnx,dout-default-2 = <0x0>;
+ xlnx,family = "spartan3adsp";
+ xlnx,gpio-width = <0x8>;
+ xlnx,interrupt-present = <0x1>;
+ xlnx,is-bidir = <0x0>;
+ xlnx,is-bidir-2 = <0x1>;
+ xlnx,is-dual = <0x0>;
+ xlnx,tri-default = <0xffffffff>;
+ xlnx,tri-default-2 = <0xffffffff>;
+ };
+
+ serial@84000000 {
+ clock-frequency = <0x3b9aca0>;
+ compatible = "xlnx,xps-uartlite-1.00.a";
+ current-speed = <0x1c200>;
+ device_type = "serial";
+ interrupt-parent = <0x1>;
+ interrupts = <0x3 0x0>;
+ port-number = <0x0>;
+ reg = <0x84000000 0x10000>;
+ xlnx,baudrate = <0x1c200>;
+ xlnx,data-bits = <0x8>;
+ xlnx,family = "spartan3adsp";
+ xlnx,odd-parity = <0x0>;
+ xlnx,use-parity = <0x0>;
+ };
+
+ debug@84400000 {
+ compatible = "xlnx,mdm-1.00.d";
+ reg = <0x84400000 0x10000>;
+ xlnx,family = "spartan3adsp";
+ xlnx,interconnect = <0x1>;
+ xlnx,jtag-chain = <0x2>;
+ xlnx,mb-dbg-ports = <0x1>;
+ xlnx,uart-width = <0x8>;
+ xlnx,use-uart = <0x1>;
+ xlnx,write-fsl-ports = <0x0>;
+ };
+
+ mpmc@90000000 {
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+ compatible = "xlnx,mpmc-4.03.a";
+ };
+
+ interrupt-controller@81800000 {
+ #interrupt-cells = <0x2>;
+ compatible = "xlnx,xps-intc-1.00.a";
+ interrupt-controller;
+ reg = <0x81800000 0x10000>;
+ xlnx,kind-of-intr = <0xa>;
+ xlnx,num-intr-inputs = <0x4>;
+ linux,phandle = <0x1>;
+ };
+
+ timer@83c00000 {
+ compatible = "xlnx,xps-timer-1.00.a";
+ interrupt-parent = <0x1>;
+ interrupts = <0x0 0x2>;
+ reg = <0x83c00000 0x10000>;
+ xlnx,count-width = <0x20>;
+ xlnx,family = "spartan3adsp";
+ xlnx,gen0-assert = <0x1>;
+ xlnx,gen1-assert = <0x1>;
+ xlnx,one-timer-only = <0x0>;
+ xlnx,trig0-assert = <0x1>;
+ xlnx,trig1-assert = <0x1>;
+ };
+ };
+};
diff --git a/target/microblaze/sys-available/qemu-microblaze b/target/microblaze/sys-available/qemu-microblaze
index 8f35db842..ee9cb6a52 100644
--- a/target/microblaze/sys-available/qemu-microblaze
+++ b/target/microblaze/sys-available/qemu-microblaze
@@ -3,11 +3,9 @@ config ADK_TARGET_SYSTEM_QEMU_MICROBLAZE
select ADK_microblaze
select ADK_big
select ADK_qemu_microblaze
- select ADK_KERNEL_CPU_BIG_ENDIAN
select ADK_HARDWARE_QEMU
+ select ADK_TARGET_WITH_MTD
select ADK_TARGET_KERNEL_LINUXBIN
- select ADK_USE_KERNEL_MINICONFIG
- select ADK_TOOLCHAIN_GCC_SJLJ
help
Qemu support for microblaze big endian architecture.
diff --git a/target/microblaze/sys-available/qemu-microblazeel b/target/microblaze/sys-available/qemu-microblazeel
index 085718e63..8dff0e260 100644
--- a/target/microblaze/sys-available/qemu-microblazeel
+++ b/target/microblaze/sys-available/qemu-microblazeel
@@ -1,13 +1,11 @@
config ADK_TARGET_SYSTEM_QEMU_MICROBLAZEEL
bool "Qemu Emulator (little endian)"
- select ADK_microblazeel
+ select ADK_microblaze
select ADK_qemu_microblazeel
select ADK_little
- select ADK_KERNEL_CPU_LITTLE_ENDIAN
select ADK_HARDWARE_QEMU
+ select ADK_TARGET_WITH_MTD
select ADK_TARGET_KERNEL_LINUXBIN
- select ADK_USE_KERNEL_MINICONFIG
- select ADK_TOOLCHAIN_GCC_SJLJ
help
Qemu support for microblaze little endian architecture.
diff --git a/target/microblaze/sys-available/toolchain-microblaze b/target/microblaze/sys-available/toolchain-microblaze
index 6fb76c5f5..3b8d3512b 100644
--- a/target/microblaze/sys-available/toolchain-microblaze
+++ b/target/microblaze/sys-available/toolchain-microblaze
@@ -4,7 +4,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MICROBLAZE
select ADK_big
select ADK_toolchain_microblaze
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Microblaze toolchain.
diff --git a/target/microblaze/sys-available/toolchain-microblazeel b/target/microblaze/sys-available/toolchain-microblazeel
index 8992e5550..c41e26f91 100644
--- a/target/microblaze/sys-available/toolchain-microblazeel
+++ b/target/microblaze/sys-available/toolchain-microblazeel
@@ -4,7 +4,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MICROBLAZEEL
select ADK_little
select ADK_toolchain_microblazeel
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Microblaze toolchain.
diff --git a/target/microblaze/target.mk b/target/microblaze/target.mk
index bee74e465..c179123f9 100644
--- a/target/microblaze/target.mk
+++ b/target/microblaze/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= microblaze
CPU_ARCH:= $(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/mips/Makefile b/target/mips/Makefile
index 68c2ea0fe..436b570e3 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -112,6 +112,12 @@ ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
@echo "The root parameter have to be changed."
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
diff --git a/target/mips/kernel.config b/target/mips/kernel.config
deleted file mode 100644
index a7000ece9..000000000
--- a/target/mips/kernel.config
+++ /dev/null
@@ -1,1095 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/mips 3.5.4 Kernel Configuration
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-# CONFIG_MIPS_ALCHEMY is not set
-# CONFIG_AR7 is not set
-# CONFIG_ATH79 is not set
-# CONFIG_BCM47XX is not set
-# CONFIG_BCM63XX is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_MACH_JZ4740 is not set
-# CONFIG_LANTIQ is not set
-# CONFIG_LASAT is not set
-CONFIG_MACH_LOONGSON=y
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_NEC_MARKEINS is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_NXP_STB220 is not set
-# CONFIG_NXP_STB225 is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_PMC_MSP is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_POWERTV is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP28 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_MACH_TX39XX is not set
-# CONFIG_MACH_TX49XX is not set
-# CONFIG_MIKROTIK_RB532 is not set
-# CONFIG_WR_PPMC is not set
-# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
-# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
-# CONFIG_NLM_XLR_BOARD is not set
-# CONFIG_NLM_XLP_BOARD is not set
-# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
-# CONFIG_LEMOTE_FULOONG2E is not set
-CONFIG_LEMOTE_MACH2F=y
-CONFIG_CS5536=y
-# CONFIG_CS5536_MFGPT is not set
-CONFIG_LOONGSON_SUSPEND=y
-CONFIG_LOONGSON_UART_BASE=y
-CONFIG_LOONGSON_MC146818=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_CEVT_R4K_LIB=y
-CONFIG_CEVT_R4K=y
-CONFIG_CSRC_R4K_LIB=y
-CONFIG_CSRC_R4K=y
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_SYS_HAS_EARLY_PRINTK=y
-CONFIG_I8259=y
-# CONFIG_MIPS_MACHINE is not set
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
-CONFIG_ISA_DMA_API=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
-CONFIG_IRQ_CPU=y
-CONFIG_BOOT_ELF32=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-
-#
-# CPU selection
-#
-CONFIG_CPU_LOONGSON2F=y
-CONFIG_CPU_NOP_WORKAROUNDS=y
-CONFIG_CPU_JUMP_WORKAROUNDS=y
-CONFIG_CPU_LOONGSON2F_WORKAROUNDS=y
-CONFIG_SYS_SUPPORTS_ZBOOT=y
-CONFIG_CPU_LOONGSON2=y
-CONFIG_SYS_HAS_CPU_LOONGSON2F=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_CPUFREQ=y
-CONFIG_CPU_SUPPORTS_UNCACHED_ACCELERATED=y
-
-#
-# Kernel type
-#
-CONFIG_32BIT=y
-# CONFIG_64BIT is not set
-CONFIG_PAGE_SIZE_16KB=y
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_BOARD_SCACHE=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-CONFIG_CPU_HAS_WB=y
-CONFIG_CPU_HAS_SYNC=y
-# CONFIG_HIGHMEM is not set
-CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_SYS_SUPPORTS_HIGHMEM=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
-CONFIG_ARCH_DISCARD_MEMBLOCK=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_CROSS_MEMORY_ATTACH=y
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-# CONFIG_HZ_48 is not set
-CONFIG_HZ_100=y
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-# CONFIG_HZ_1000 is not set
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=100
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_KEXEC is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_USE_OF is not set
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="openadk"
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_FHANDLE is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-
-#
-# Timers subsystem
-#
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_SYSCTL_SYSCALL=y
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_BLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# Bus options (PCI, PCMCIA, EISA, ISA, TC)
-#
-CONFIG_HW_HAS_PCI=y
-CONFIG_PCI=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_ISA=y
-CONFIG_MMU=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
-# CONFIG_HAVE_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-CONFIG_TRAD_SIGNALS=y
-
-#
-# Power management options
-#
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_PM_SLEEP=y
-# CONFIG_PM_AUTOSLEEP is not set
-# CONFIG_PM_WAKELOCKS is not set
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-# CONFIG_UNIX_DIAG is not set
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_OPENVSWITCH is not set
-CONFIG_BQL=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-# CONFIG_CFG80211 is not set
-# CONFIG_LIB80211 is not set
-
-#
-# CFG80211 needs to be enabled for MAC80211
-#
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_GENERIC_CPU_DEVICES is not set
-# CONFIG_DMA_SHARED_BUFFER is not set
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-# CONFIG_PNP is not set
-
-#
-# Misc devices
-#
-# CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_PCH_PHUB is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_CB710_CORE is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_TI_ST is not set
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_HAVE_IDE=y
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_I2O is not set
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-# CONFIG_BONDING is not set
-# CONFIG_DUMMY is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_MII is not set
-# CONFIG_NET_TEAM is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_NET_VENDOR_3COM=y
-# CONFIG_EL1 is not set
-# CONFIG_EL3 is not set
-# CONFIG_3C515 is not set
-# CONFIG_VORTEX is not set
-# CONFIG_TYPHOON is not set
-CONFIG_NET_VENDOR_ADAPTEC=y
-# CONFIG_ADAPTEC_STARFIRE is not set
-CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_ACENIC is not set
-CONFIG_NET_VENDOR_AMD=y
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_LANCE is not set
-# CONFIG_PCNET32 is not set
-# CONFIG_DEPCA is not set
-# CONFIG_NI65 is not set
-CONFIG_NET_VENDOR_ATHEROS=y
-# CONFIG_ATL2 is not set
-# CONFIG_ATL1 is not set
-# CONFIG_ATL1E is not set
-# CONFIG_ATL1C is not set
-CONFIG_NET_VENDOR_BROADCOM=y
-# CONFIG_B44 is not set
-# CONFIG_BNX2 is not set
-# CONFIG_CNIC is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2X is not set
-CONFIG_NET_VENDOR_BROCADE=y
-# CONFIG_BNA is not set
-# CONFIG_NET_CALXEDA_XGMAC is not set
-CONFIG_NET_VENDOR_CHELSIO=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_CHELSIO_T4 is not set
-# CONFIG_CHELSIO_T4VF is not set
-CONFIG_NET_VENDOR_CIRRUS=y
-# CONFIG_CS89x0 is not set
-CONFIG_NET_VENDOR_CISCO=y
-# CONFIG_ENIC is not set
-# CONFIG_DM9000 is not set
-# CONFIG_DNET is not set
-CONFIG_NET_VENDOR_DEC=y
-# CONFIG_EWRK3 is not set
-# CONFIG_NET_TULIP is not set
-CONFIG_NET_VENDOR_DLINK=y
-# CONFIG_DL2K is not set
-# CONFIG_SUNDANCE is not set
-CONFIG_NET_VENDOR_EMULEX=y
-# CONFIG_BE2NET is not set
-CONFIG_NET_VENDOR_EXAR=y
-# CONFIG_S2IO is not set
-# CONFIG_VXGE is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-# CONFIG_AT1700 is not set
-# CONFIG_ETH16I is not set
-CONFIG_NET_VENDOR_HP=y
-# CONFIG_HP100 is not set
-CONFIG_NET_VENDOR_INTEL=y
-# CONFIG_E100 is not set
-# CONFIG_E1000 is not set
-# CONFIG_E1000E is not set
-# CONFIG_IGB is not set
-# CONFIG_IGBVF is not set
-# CONFIG_IXGB is not set
-# CONFIG_IXGBE is not set
-CONFIG_NET_VENDOR_I825XX=y
-# CONFIG_ELPLUS is not set
-# CONFIG_EL16 is not set
-# CONFIG_APRICOT is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-# CONFIG_LP486E is not set
-# CONFIG_NI52 is not set
-# CONFIG_ZNET is not set
-# CONFIG_IP1000 is not set
-# CONFIG_JME is not set
-CONFIG_NET_VENDOR_MARVELL=y
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-# CONFIG_MLX4_EN is not set
-# CONFIG_MLX4_CORE is not set
-CONFIG_NET_VENDOR_MICREL=y
-# CONFIG_KS8851_MLL is not set
-# CONFIG_KSZ884X_PCI is not set
-CONFIG_NET_VENDOR_MYRI=y
-# CONFIG_MYRI10GE is not set
-# CONFIG_FEALNX is not set
-CONFIG_NET_VENDOR_NATSEMI=y
-# CONFIG_NATSEMI is not set
-# CONFIG_NS83820 is not set
-CONFIG_NET_VENDOR_8390=y
-# CONFIG_EL2 is not set
-# CONFIG_AC3200 is not set
-# CONFIG_AX88796 is not set
-# CONFIG_E2100 is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_NE2000 is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_ULTRA is not set
-# CONFIG_WD80x3 is not set
-CONFIG_NET_VENDOR_NVIDIA=y
-# CONFIG_FORCEDETH is not set
-CONFIG_NET_VENDOR_OKI=y
-# CONFIG_PCH_GBE is not set
-# CONFIG_ETHOC is not set
-CONFIG_NET_PACKET_ENGINE=y
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-CONFIG_NET_VENDOR_QLOGIC=y
-# CONFIG_QLA3XXX is not set
-# CONFIG_QLCNIC is not set
-# CONFIG_QLGE is not set
-# CONFIG_NETXEN_NIC is not set
-CONFIG_NET_VENDOR_RACAL=y
-# CONFIG_NI5010 is not set
-CONFIG_NET_VENDOR_REALTEK=y
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_R8169 is not set
-CONFIG_NET_VENDOR_RDC=y
-# CONFIG_R6040 is not set
-CONFIG_NET_VENDOR_SEEQ=y
-# CONFIG_SEEQ8005 is not set
-CONFIG_NET_VENDOR_SILAN=y
-# CONFIG_SC92031 is not set
-CONFIG_NET_VENDOR_SIS=y
-# CONFIG_SIS900 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SFC is not set
-CONFIG_NET_VENDOR_SMSC=y
-# CONFIG_SMC9194 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SMSC911X is not set
-# CONFIG_SMSC9420 is not set
-CONFIG_NET_VENDOR_STMICRO=y
-# CONFIG_STMMAC_ETH is not set
-CONFIG_NET_VENDOR_SUN=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NIU is not set
-CONFIG_NET_VENDOR_TEHUTI=y
-# CONFIG_TEHUTI is not set
-CONFIG_NET_VENDOR_TI=y
-# CONFIG_TLAN is not set
-CONFIG_NET_VENDOR_TOSHIBA=y
-# CONFIG_TC35815 is not set
-CONFIG_NET_VENDOR_VIA=y
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_VELOCITY is not set
-CONFIG_NET_VENDOR_WIZNET=y
-# CONFIG_WIZNET_W5100 is not set
-# CONFIG_WIZNET_W5300 is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_AMD_PHY is not set
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_STE10XP is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_MICREL_PHY is not set
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-CONFIG_WLAN=y
-# CONFIG_AIRO is not set
-# CONFIG_ATMEL is not set
-# CONFIG_PRISM54 is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_WL_TI is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-# CONFIG_VMXNET3 is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-# CONFIG_INPUT is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-# CONFIG_DEVKMEM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-# CONFIG_SERIAL_8250_PCI is not set
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-# CONFIG_SPI is not set
-# CONFIG_HSI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO drivers:
-#
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-
-#
-# PCI GPIO expanders:
-#
-# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_RDC321X is not set
-
-#
-# SPI GPIO expanders:
-#
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_LPC_ICH is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_VGA_ARB is not set
-# CONFIG_DRM is not set
-# CONFIG_STUB_POULSBO is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_EXYNOS_VIDEO is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-# CONFIG_SOUND is not set
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
-# CONFIG_VIRTIO_MMIO is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_ECHO is not set
-# CONFIG_R8187SE is not set
-# CONFIG_RTLLIB is not set
-# CONFIG_VT6655 is not set
-# CONFIG_DX_SEP is not set
-# CONFIG_CRYSTALHD is not set
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-# CONFIG_STAGING_MEDIA is not set
-
-#
-# Android
-#
-# CONFIG_ANDROID is not set
-# CONFIG_PHONE is not set
-# CONFIG_IPACK_BUS is not set
-# CONFIG_WIMAX_GDM72XX is not set
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_IOMMU_SUPPORT=y
-
-#
-# Remoteproc drivers (EXPERIMENTAL)
-#
-
-#
-# Rpmsg drivers (EXPERIMENTAL)
-#
-# CONFIG_VIRT_DRIVERS is not set
-# CONFIG_PM_DEVFREQ is not set
-# CONFIG_EXTCON is not set
-# CONFIG_MEMORY is not set
-# CONFIG_IIO is not set
-# CONFIG_VME_BUS is not set
-
-#
-# File systems
-#
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY_USER is not set
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-# CONFIG_NLS is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_READABLE_ASM is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_INFO_REDUCED is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE="init=/init"
-# CONFIG_CMDLINE_OVERRIDE is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_RUNTIME_DEBUG is not set
-# CONFIG_DEBUG_ZBOOT is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-# CONFIG_CRYPTO is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_IO=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_DQL=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
-# CONFIG_AVERAGE is not set
-# CONFIG_CORDIC is not set
-# CONFIG_DDR is not set
diff --git a/target/mips/kernel/lemote-yeelong b/target/mips/kernel/lemote-yeelong
index c37d40271..ec7868db2 100644
--- a/target/mips/kernel/lemote-yeelong
+++ b/target/mips/kernel/lemote-yeelong
@@ -15,9 +15,6 @@ CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_BLK_DEV=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_8139TOO=y
CONFIG_SERIO=y
diff --git a/target/mips/kernel/qemu-mips b/target/mips/kernel/qemu-mips
index 2ea58176a..d3129fbda 100644
--- a/target/mips/kernel/qemu-mips
+++ b/target/mips/kernel/qemu-mips
@@ -1,29 +1,13 @@
+CONFIG_MIPS=y
CONFIG_MIPS_MALTA=y
CONFIG_MIPS_BONITO64=y
CONFIG_MIPS_MSC=y
-CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_MIPS32_R1=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_PIIX=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_PHYLIB=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
diff --git a/target/mips/kernel/qemu-mips64 b/target/mips/kernel/qemu-mips64
index 5ccc48cca..3a1be029e 100644
--- a/target/mips/kernel/qemu-mips64
+++ b/target/mips/kernel/qemu-mips64
@@ -1,7 +1,6 @@
+CONFIG_MIPS=y
CONFIG_MIPS_MALTA=y
-CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_MIPS64_R1=y
-CONFIG_64BIT=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
@@ -9,23 +8,7 @@ CONFIG_MIPS32_COMPAT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_BINFMT_ELF32=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_PIIX=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
diff --git a/target/mips/kernel/qemu-mips64el b/target/mips/kernel/qemu-mips64el
index 11240010d..40192aff2 100644
--- a/target/mips/kernel/qemu-mips64el
+++ b/target/mips/kernel/qemu-mips64el
@@ -1,7 +1,6 @@
+CONFIG_MIPS=y
CONFIG_MIPS_MALTA=y
-CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPU_MIPS64_R1=y
-CONFIG_64BIT=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
@@ -9,21 +8,9 @@ CONFIG_MIPS32_COMPAT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_BINFMT_ELF32=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_PIIX=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=1
diff --git a/target/mips/kernel/qemu-mipsel b/target/mips/kernel/qemu-mipsel
index b1b7c8c5b..d3129fbda 100644
--- a/target/mips/kernel/qemu-mipsel
+++ b/target/mips/kernel/qemu-mipsel
@@ -1,29 +1,13 @@
+CONFIG_MIPS=y
CONFIG_MIPS_MALTA=y
CONFIG_MIPS_BONITO64=y
CONFIG_MIPS_MSC=y
-CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPU_MIPS32_R1=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_PIIX=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_PHYLIB=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
diff --git a/target/mips/kernel64.config b/target/mips/kernel64.config
deleted file mode 100644
index 80355e797..000000000
--- a/target/mips/kernel64.config
+++ /dev/null
@@ -1,1170 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/mips 3.4.65 Kernel Configuration
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-# CONFIG_MIPS_ALCHEMY is not set
-# CONFIG_AR7 is not set
-# CONFIG_ATH79 is not set
-# CONFIG_BCM47XX is not set
-# CONFIG_BCM63XX is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_MACH_JZ4740 is not set
-# CONFIG_LANTIQ is not set
-# CONFIG_LASAT is not set
-CONFIG_MACH_LOONGSON=y
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_NEC_MARKEINS is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_NXP_STB220 is not set
-# CONFIG_NXP_STB225 is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_POWERTV is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_MACH_TX39XX is not set
-# CONFIG_MACH_TX49XX is not set
-# CONFIG_MIKROTIK_RB532 is not set
-# CONFIG_WR_PPMC is not set
-# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
-# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
-# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-# CONFIG_LEMOTE_FULOONG2E is not set
-CONFIG_LEMOTE_MACH2F=y
-CONFIG_CS5536=y
-# CONFIG_CS5536_MFGPT is not set
-CONFIG_LOONGSON_UART_BASE=y
-CONFIG_LOONGSON_MC146818=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_CEVT_R4K_LIB=y
-CONFIG_CEVT_R4K=y
-CONFIG_CSRC_R4K_LIB=y
-CONFIG_CSRC_R4K=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_SYS_HAS_EARLY_PRINTK=y
-CONFIG_I8259=y
-# CONFIG_MIPS_MACHINE is not set
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
-CONFIG_ISA_DMA_API=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
-CONFIG_IRQ_CPU=y
-CONFIG_BOOT_ELF32=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-
-#
-# CPU selection
-#
-CONFIG_CPU_LOONGSON2F=y
-CONFIG_CPU_NOP_WORKAROUNDS=y
-CONFIG_CPU_JUMP_WORKAROUNDS=y
-CONFIG_CPU_LOONGSON2F_WORKAROUNDS=y
-CONFIG_SYS_SUPPORTS_ZBOOT=y
-CONFIG_CPU_LOONGSON2=y
-CONFIG_SYS_HAS_CPU_LOONGSON2F=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_CPUFREQ=y
-CONFIG_CPU_SUPPORTS_ADDRWINCFG=y
-CONFIG_CPU_SUPPORTS_UNCACHED_ACCELERATED=y
-
-#
-# Kernel type
-#
-# CONFIG_32BIT is not set
-CONFIG_64BIT=y
-CONFIG_PAGE_SIZE_16KB=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_BOARD_SCACHE=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-CONFIG_CPU_HAS_WB=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_SYS_SUPPORTS_HIGHMEM=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
-CONFIG_ARCH_DISCARD_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-# CONFIG_HZ_48 is not set
-CONFIG_HZ_100=y
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-# CONFIG_HZ_1000 is not set
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=100
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_USE_OF is not set
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-# CONFIG_EXPERIMENTAL is not set
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="openadk"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_FHANDLE is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_IRQ_FORCED_THREADING=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_SYSCTL_SYSCALL=y
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_SYSCALL_WRAPPERS=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_BLOCK_COMPAT=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-# CONFIG_FREEZER is not set
-
-#
-# Bus options (PCI, PCMCIA, EISA, ISA, TC)
-#
-CONFIG_HW_HAS_PCI=y
-CONFIG_PCI=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_ISA=y
-CONFIG_MMU=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
-# CONFIG_HAVE_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-CONFIG_MIPS32_COMPAT=y
-CONFIG_COMPAT=y
-CONFIG_SYSVIPC_COMPAT=y
-CONFIG_MIPS32_O32=y
-CONFIG_MIPS32_N32=y
-CONFIG_BINFMT_ELF32=y
-
-#
-# Power management options
-#
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_SUSPEND is not set
-# CONFIG_HIBERNATION is not set
-# CONFIG_PM_RUNTIME is not set
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-# CONFIG_UNIX_DIAG is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_PHONET is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_OPENVSWITCH is not set
-CONFIG_BQL=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-CONFIG_WIRELESS=y
-# CONFIG_CFG80211 is not set
-# CONFIG_LIB80211 is not set
-
-#
-# CFG80211 needs to be enabled for MAC80211
-#
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/mdev"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_GENERIC_CPU_DEVICES is not set
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-# CONFIG_PNP is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_NVME is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# Misc devices
-#
-# CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_PCH_PHUB is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_CB710_CORE is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_TI_ST is not set
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_ATA is not set
-# CONFIG_MD is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_I2O is not set
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-# CONFIG_BONDING is not set
-# CONFIG_DUMMY is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_MII is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_NET_VENDOR_3COM=y
-# CONFIG_EL1 is not set
-# CONFIG_EL3 is not set
-# CONFIG_3C515 is not set
-# CONFIG_VORTEX is not set
-# CONFIG_TYPHOON is not set
-CONFIG_NET_VENDOR_ADAPTEC=y
-# CONFIG_ADAPTEC_STARFIRE is not set
-CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_ACENIC is not set
-CONFIG_NET_VENDOR_AMD=y
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_LANCE is not set
-# CONFIG_PCNET32 is not set
-# CONFIG_DEPCA is not set
-# CONFIG_NI65 is not set
-CONFIG_NET_VENDOR_ATHEROS=y
-# CONFIG_ATL2 is not set
-# CONFIG_ATL1 is not set
-CONFIG_NET_VENDOR_BROADCOM=y
-# CONFIG_B44 is not set
-# CONFIG_BNX2 is not set
-# CONFIG_CNIC is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2X is not set
-CONFIG_NET_VENDOR_BROCADE=y
-# CONFIG_BNA is not set
-# CONFIG_NET_CALXEDA_XGMAC is not set
-CONFIG_NET_VENDOR_CHELSIO=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_CHELSIO_T4 is not set
-# CONFIG_CHELSIO_T4VF is not set
-CONFIG_NET_VENDOR_CIRRUS=y
-# CONFIG_CS89x0 is not set
-CONFIG_NET_VENDOR_CISCO=y
-# CONFIG_ENIC is not set
-# CONFIG_DM9000 is not set
-# CONFIG_DNET is not set
-CONFIG_NET_VENDOR_DEC=y
-# CONFIG_EWRK3 is not set
-# CONFIG_NET_TULIP is not set
-CONFIG_NET_VENDOR_DLINK=y
-# CONFIG_DL2K is not set
-# CONFIG_SUNDANCE is not set
-CONFIG_NET_VENDOR_EMULEX=y
-# CONFIG_BE2NET is not set
-CONFIG_NET_VENDOR_EXAR=y
-# CONFIG_S2IO is not set
-# CONFIG_VXGE is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-# CONFIG_ETH16I is not set
-CONFIG_NET_VENDOR_HP=y
-# CONFIG_HP100 is not set
-CONFIG_NET_VENDOR_INTEL=y
-# CONFIG_E100 is not set
-# CONFIG_E1000 is not set
-# CONFIG_E1000E is not set
-# CONFIG_IGB is not set
-# CONFIG_IGBVF is not set
-# CONFIG_IXGB is not set
-# CONFIG_IXGBE is not set
-CONFIG_NET_VENDOR_I825XX=y
-# CONFIG_ELPLUS is not set
-# CONFIG_APRICOT is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-# CONFIG_LP486E is not set
-# CONFIG_NI52 is not set
-# CONFIG_JME is not set
-CONFIG_NET_VENDOR_MARVELL=y
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-# CONFIG_MLX4_EN is not set
-# CONFIG_MLX4_CORE is not set
-CONFIG_NET_VENDOR_MICREL=y
-# CONFIG_KS8851_MLL is not set
-# CONFIG_KSZ884X_PCI is not set
-CONFIG_NET_VENDOR_MYRI=y
-# CONFIG_MYRI10GE is not set
-# CONFIG_FEALNX is not set
-CONFIG_NET_VENDOR_NATSEMI=y
-# CONFIG_NATSEMI is not set
-# CONFIG_NS83820 is not set
-CONFIG_NET_VENDOR_8390=y
-# CONFIG_EL2 is not set
-# CONFIG_AX88796 is not set
-# CONFIG_E2100 is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_NE2000 is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_ULTRA is not set
-# CONFIG_WD80x3 is not set
-CONFIG_NET_VENDOR_NVIDIA=y
-# CONFIG_FORCEDETH is not set
-CONFIG_NET_VENDOR_OKI=y
-# CONFIG_PCH_GBE is not set
-# CONFIG_ETHOC is not set
-CONFIG_NET_PACKET_ENGINE=y
-# CONFIG_HAMACHI is not set
-CONFIG_NET_VENDOR_QLOGIC=y
-# CONFIG_QLA3XXX is not set
-# CONFIG_QLCNIC is not set
-# CONFIG_QLGE is not set
-# CONFIG_NETXEN_NIC is not set
-CONFIG_NET_VENDOR_RACAL=y
-CONFIG_NET_VENDOR_REALTEK=y
-# CONFIG_8139TOO is not set
-# CONFIG_R8169 is not set
-CONFIG_NET_VENDOR_RDC=y
-# CONFIG_R6040 is not set
-CONFIG_NET_VENDOR_SIS=y
-# CONFIG_SIS900 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SFC is not set
-CONFIG_NET_VENDOR_SMSC=y
-# CONFIG_SMC9194 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SMSC911X is not set
-# CONFIG_SMSC9420 is not set
-CONFIG_NET_VENDOR_STMICRO=y
-# CONFIG_STMMAC_ETH is not set
-CONFIG_NET_VENDOR_SUN=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NIU is not set
-CONFIG_NET_VENDOR_TEHUTI=y
-# CONFIG_TEHUTI is not set
-CONFIG_NET_VENDOR_TI=y
-# CONFIG_TLAN is not set
-CONFIG_NET_VENDOR_TOSHIBA=y
-# CONFIG_TC35815 is not set
-CONFIG_NET_VENDOR_VIA=y
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_FDDI is not set
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_AMD_PHY is not set
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_STE10XP is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_MICREL_PHY is not set
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_TR is not set
-CONFIG_WLAN=y
-# CONFIG_AIRO is not set
-# CONFIG_ATMEL is not set
-# CONFIG_HOSTAP is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-# CONFIG_VMXNET3 is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-# CONFIG_INPUT is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_TRACE_SINK is not set
-# CONFIG_DEVKMEM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-# CONFIG_SERIAL_8250_PCI is not set
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-# CONFIG_RAMOOPS is not set
-# CONFIG_I2C is not set
-# CONFIG_SPI is not set
-# CONFIG_HSI is not set
-
-#
-# PPS support
-#
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-
-#
-# Memory mapped GPIO drivers:
-#
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-
-#
-# PCI GPIO expanders:
-#
-# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_RDC321X is not set
-
-#
-# SPI GPIO expanders:
-#
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_VGA_ARB is not set
-# CONFIG_DRM is not set
-# CONFIG_STUB_POULSBO is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_EXYNOS_VIDEO is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-# CONFIG_SOUND is not set
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_BALLOON is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-# CONFIG_STAGING is not set
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_IOMMU_SUPPORT=y
-
-#
-# Remoteproc drivers (EXPERIMENTAL)
-#
-
-#
-# Rpmsg drivers (EXPERIMENTAL)
-#
-# CONFIG_VIRT_DRIVERS is not set
-# CONFIG_PM_DEVFREQ is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-# CONFIG_NLS is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_INFO_REDUCED is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE="init=/init"
-# CONFIG_CMDLINE_OVERRIDE is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_RUNTIME_DEBUG is not set
-# CONFIG_DEBUG_ZBOOT is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=m
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_USER is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-# CONFIG_CRYPTO_CBC is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-CONFIG_CRYPTO_HW=y
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_IO=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_DQL=y
-CONFIG_NLATTR=y
-# CONFIG_AVERAGE is not set
-# CONFIG_CORDIC is not set
diff --git a/target/mips/sys-available/broadcom-bcm47xx b/target/mips/sys-available/broadcom-bcm47xx
index 532df8046..77bb28c63 100644
--- a/target/mips/sys-available/broadcom-bcm47xx
+++ b/target/mips/sys-available/broadcom-bcm47xx
@@ -3,7 +3,6 @@ config ADK_TARGET_SYSTEM_BROADCOM_BCM47XX
select ADK_mips
select ADK_little
select ADK_broadcom_bcm47xx
- select ADK_KERNEL_BCM47XX
select ADK_TARGET_WITH_MTD
select ADK_TARGET_WITH_SSB
select ADK_TARGET_WITH_WATCHDOG
diff --git a/target/mips/sys-available/fon-fon2100 b/target/mips/sys-available/fon-fon2100
index b0de9abe7..e1e0990b4 100644
--- a/target/mips/sys-available/fon-fon2100
+++ b/target/mips/sys-available/fon-fon2100
@@ -3,7 +3,6 @@ config ADK_TARGET_SYSTEM_FON_FON2100
select ADK_mips
select ADK_big
select ADK_fon_fon2100
- select ADK_KERNEL_ATHEROS_AR231X
select ADK_TARGET_WITH_MTD
select ADK_TARGET_WITH_AHB
select ADK_TARGET_KERNEL_VMLINUZ
diff --git a/target/mips/sys-available/lemote-yeelong b/target/mips/sys-available/lemote-yeelong
index 62eeb88ee..0a6fd9c32 100644
--- a/target/mips/sys-available/lemote-yeelong
+++ b/target/mips/sys-available/lemote-yeelong
@@ -12,8 +12,8 @@ config ADK_TARGET_SYSTEM_LEMOTE_YEELONG
select ADK_TARGET_WITH_RTC
select ADK_TARGET_WITH_HDD
select ADK_TARGET_WITH_PCI
+ select ADK_TARGET_WITH_ROOT_RW
select ADK_TARGET_KERNEL_VMLINUZ
- select ADK_USE_KERNEL_MINICONFIG
help
System profile for Lemote Yeelong laptop.
diff --git a/target/mips/sys-available/linksys-ag241 b/target/mips/sys-available/linksys-ag241
index 2bec0b522..a7465d951 100644
--- a/target/mips/sys-available/linksys-ag241
+++ b/target/mips/sys-available/linksys-ag241
@@ -3,8 +3,6 @@ config ADK_TARGET_SYSTEM_LINKSYS_AG241
select ADK_mips
select ADK_little
select ADK_linksys_ag241
- select ADK_KERNEL_AR7
- select ADK_KERNEL_KERNEL_LZMA
select ADK_TARGET_WITH_DSL
select ADK_TARGET_WITH_WATCHDOG
select ADK_TARGET_WITH_MTD
diff --git a/target/mips/sys-available/mikrotik-rb4xx b/target/mips/sys-available/mikrotik-rb4xx
index 2894fda87..0d68df59a 100644
--- a/target/mips/sys-available/mikrotik-rb4xx
+++ b/target/mips/sys-available/mikrotik-rb4xx
@@ -3,10 +3,6 @@ config ADK_TARGET_SYSTEM_MIKROTIK_RB4XX
select ADK_mips
select ADK_big
select ADK_mikrotik_rb4xx
- select ADK_KERNEL_ATHEROS_AR71XX
- select ADK_KERNEL_AR71XX_MACH_RB4XX
- select ADK_KERNEL_SPI_RB4XX
- select ADK_KERNEL_SPI_RB4XX_CPLD
select ADK_TARGET_WITH_MINIPCI
select ADK_TARGET_WITH_WATCHDOG
select ADK_TARGET_WITH_NAND
diff --git a/target/mips/sys-available/mikrotik-rb532 b/target/mips/sys-available/mikrotik-rb532
index bdea0dfb8..96ca4d46d 100644
--- a/target/mips/sys-available/mikrotik-rb532
+++ b/target/mips/sys-available/mikrotik-rb532
@@ -5,10 +5,8 @@ config ADK_TARGET_SYSTEM_MIKROTIK_RB532
select ADK_mikrotik_rb532
select ADK_TARGET_WITH_MINIPCI
select ADK_TARGET_WITH_WATCHDOG
- select ADK_TARGET_WITH_CF
select ADK_TARGET_WITH_NAND
select ADK_TARGET_WITH_LEDS
- select ADK_KERNEL_MIKROTIK_RB532
depends on ADK_BROKEN
help
Support for Mikrotik RB532.
diff --git a/target/mips/sys-available/qemu-mips b/target/mips/sys-available/qemu-mips
index c7f642dfa..d3ea99011 100644
--- a/target/mips/sys-available/qemu-mips
+++ b/target/mips/sys-available/qemu-mips
@@ -1,18 +1,10 @@
config ADK_TARGET_SYSTEM_QEMU_MIPS
- bool "Qemu Emulator (big endian)"
+ bool "Qemu Emulator (mips32 big endian)"
select ADK_mips
select ADK_big
select ADK_qemu_mips
- select ADK_KERNEL_MIPS_MALTA
- select ADK_KERNEL_CPU_BIG_ENDIAN
- select ADK_KERNEL_PAGE_SIZE_4KB
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
- select ADK_TARGET_WITH_PCI
- select ADK_TARGET_WITH_HDD
select ADK_TARGET_KERNEL_VMLINUZ
- select ADK_USE_KERNEL_MINICONFIG
help
- Qemu support for mips big endian architecture.
+ Qemu support for mips32 big endian architecture.
diff --git a/target/mips/sys-available/qemu-mips64 b/target/mips/sys-available/qemu-mips64
index 924c70bc4..ce9c5b0fa 100644
--- a/target/mips/sys-available/qemu-mips64
+++ b/target/mips/sys-available/qemu-mips64
@@ -1,13 +1,13 @@
config ADK_TARGET_SYSTEM_QEMU_MIPS64
- bool "Qemu Emulator (mips64 big endian)"
+ bool "Qemu Emulator (mips64 big endian o32 abi)"
select ADK_mips
select ADK_big
+ select ADK_o32
select ADK_qemu_mips64
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_HARDWARE_QEMU
select ADK_TARGET_KERNEL_VMLINUZ
- select ADK_USE_KERNEL_MINICONFIG
help
- Qemu support for mips64 big endian architecture.
+ Qemu support for mips64 big endian architecture with o32 abi.
diff --git a/target/mips/sys-available/qemu-mips64el b/target/mips/sys-available/qemu-mips64el
index 14b548632..067d0d6ed 100644
--- a/target/mips/sys-available/qemu-mips64el
+++ b/target/mips/sys-available/qemu-mips64el
@@ -1,12 +1,12 @@
config ADK_TARGET_SYSTEM_QEMU_MIPS64EL
- bool "Qemu Emulator (mips64 little endian)"
+ bool "Qemu Emulator (mips64 little endian o32 abi)"
select ADK_mips
select ADK_little
+ select ADK_o32
select ADK_qemu_mips64el
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_HARDWARE_QEMU
select ADK_TARGET_KERNEL_VMLINUZ
- select ADK_USE_KERNEL_MINICONFIG
help
- Qemu support for mips64 little endian architecture.
+ Qemu support for mips64 little endian architecture with o32 abi.
diff --git a/target/mips/sys-available/qemu-mips64eln32 b/target/mips/sys-available/qemu-mips64eln32
new file mode 100644
index 000000000..31c93b75c
--- /dev/null
+++ b/target/mips/sys-available/qemu-mips64eln32
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64ELN32
+ bool "Qemu Emulator (mips64 little endian n32 abi)"
+ select ADK_mips
+ select ADK_little
+ select ADK_n32
+ select ADK_qemu_mips64el
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_VMLINUZ
+ help
+ Qemu support for mips64 little endian architecture with n32 abi.
diff --git a/target/mips/sys-available/qemu-mips64eln64 b/target/mips/sys-available/qemu-mips64eln64
new file mode 100644
index 000000000..0f0697602
--- /dev/null
+++ b/target/mips/sys-available/qemu-mips64eln64
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64ELN64
+ bool "Qemu Emulator (mips64 little endian n64 abi)"
+ select ADK_mips
+ select ADK_little
+ select ADK_n64
+ select ADK_qemu_mips64el
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_VMLINUZ
+ help
+ Qemu support for mips64 little endian architecture with n64 abi.
diff --git a/target/mips/sys-available/qemu-mips64n32 b/target/mips/sys-available/qemu-mips64n32
new file mode 100644
index 000000000..614edde0b
--- /dev/null
+++ b/target/mips/sys-available/qemu-mips64n32
@@ -0,0 +1,13 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64N32
+ bool "Qemu Emulator (mips64 big endian n32 abi)"
+ select ADK_mips
+ select ADK_big
+ select ADK_n32
+ select ADK_qemu_mips64
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_VMLINUZ
+ help
+ Qemu support for mips64 big endian architecture with n32 abi.
+
diff --git a/target/mips/sys-available/qemu-mips64n64 b/target/mips/sys-available/qemu-mips64n64
new file mode 100644
index 000000000..49ad7bba8
--- /dev/null
+++ b/target/mips/sys-available/qemu-mips64n64
@@ -0,0 +1,13 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64N64
+ bool "Qemu Emulator (mips64 big endian n64 abi)"
+ select ADK_mips
+ select ADK_big
+ select ADK_n64
+ select ADK_qemu_mips64
+ select ADK_CPU_MIPS64
+ select ADK_LINUX_64
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_VMLINUZ
+ help
+ Qemu support for mips64 big endian architecture with n64 abi.
+
diff --git a/target/mips/sys-available/qemu-mipsel b/target/mips/sys-available/qemu-mipsel
index 869f0677a..688471d6d 100644
--- a/target/mips/sys-available/qemu-mipsel
+++ b/target/mips/sys-available/qemu-mipsel
@@ -1,18 +1,10 @@
config ADK_TARGET_SYSTEM_QEMU_MIPSEL
- bool "Qemu Emulator (little endian)"
+ bool "Qemu Emulator (mips32 little endian)"
select ADK_mips
select ADK_qemu_mipsel
select ADK_little
- select ADK_KERNEL_MIPS_MALTA
- select ADK_KERNEL_PAGE_SIZE_4KB
- select ADK_KERNEL_CPU_LITTLE_ENDIAN
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
- select ADK_TARGET_WITH_PCI
- select ADK_TARGET_WITH_HDD
select ADK_TARGET_KERNEL_VMLINUZ
- select ADK_USE_KERNEL_MINICONFIG
help
- Qemu support for mips little endian architecture.
+ Qemu support for mips32 little endian architecture.
diff --git a/target/mips/sys-available/toolchain-mips b/target/mips/sys-available/toolchain-mips
index 9e93cfdcd..7c7e1c142 100644
--- a/target/mips/sys-available/toolchain-mips
+++ b/target/mips/sys-available/toolchain-mips
@@ -1,10 +1,10 @@
config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS
- bool "Toolchain only (big endian)"
+ bool "Toolchain only (mips32 big endian)"
select ADK_mips
select ADK_big
select ADK_toolchain_mips
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
- MIPS toolchain.
+ MIPS32 big endian toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64 b/target/mips/sys-available/toolchain-mips64
index e9ea69170..f1cc555a2 100644
--- a/target/mips/sys-available/toolchain-mips64
+++ b/target/mips/sys-available/toolchain-mips64
@@ -7,6 +7,6 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
MIPS64 big endian o32 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64el b/target/mips/sys-available/toolchain-mips64el
index 0d54692ee..7aa82f05d 100644
--- a/target/mips/sys-available/toolchain-mips64el
+++ b/target/mips/sys-available/toolchain-mips64el
@@ -7,6 +7,6 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64EL
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
MIPS64 little endian o32 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64eln32 b/target/mips/sys-available/toolchain-mips64eln32
index 9c0f44381..96f409ba6 100644
--- a/target/mips/sys-available/toolchain-mips64eln32
+++ b/target/mips/sys-available/toolchain-mips64eln32
@@ -7,6 +7,6 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64ELN32
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
MIPS64 little endian n32 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64eln64 b/target/mips/sys-available/toolchain-mips64eln64
index 2795598d8..f28b14997 100644
--- a/target/mips/sys-available/toolchain-mips64eln64
+++ b/target/mips/sys-available/toolchain-mips64eln64
@@ -7,6 +7,6 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64ELN64
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
MIPS64 little endian n64 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64n32 b/target/mips/sys-available/toolchain-mips64n32
index e2acd59b3..1337d3e37 100644
--- a/target/mips/sys-available/toolchain-mips64n32
+++ b/target/mips/sys-available/toolchain-mips64n32
@@ -7,6 +7,6 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64N32
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
MIPS64 big endian n64 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mips64n64 b/target/mips/sys-available/toolchain-mips64n64
index e544008f4..4cb4939e5 100644
--- a/target/mips/sys-available/toolchain-mips64n64
+++ b/target/mips/sys-available/toolchain-mips64n64
@@ -7,6 +7,6 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPS64N64
select ADK_CPU_MIPS64
select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
MIPS64 big endian n64 ABI toolchain.
diff --git a/target/mips/sys-available/toolchain-mipsel b/target/mips/sys-available/toolchain-mipsel
index 4c197b808..4032f9d94 100644
--- a/target/mips/sys-available/toolchain-mipsel
+++ b/target/mips/sys-available/toolchain-mipsel
@@ -1,10 +1,10 @@
config ADK_TARGET_SYSTEM_TOOLCHAIN_MIPSEL
- bool "Toolchain only (little endian)"
+ bool "Toolchain only (mips32 little endian)"
select ADK_mips
select ADK_little
select ADK_toolchain_mipsel
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
- MIPS toolchain.
+ MIPS32 little endian toolchain.
diff --git a/target/mips/target.mk b/target/mips/target.mk
index f4864d2cc..8b13be890 100644
--- a/target/mips/target.mk
+++ b/target/mips/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= mips
CPU_ARCH:= $(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/native/Makefile b/target/native/Makefile
deleted file mode 100644
index 3112b2a6a..000000000
--- a/target/native/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-include $(TOPDIR)/mk/vars.mk
-include $(TOPDIR)/mk/kernel.mk
-include $(TOPDIR)/mk/modules.mk
-include $(TOPDIR)/mk/kernel-build.mk
-include $(TOPDIR)/mk/image.mk
-
-ifeq ($(CPU_ARCH),i686)
-KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
-else
-KERNEL:=$(LINUX_DIR)/vmlinuz
-endif
-
-ifeq ($(ADK_TARGET_FS),initramfs)
-imageinstall: $(FW_DIR)/$(INITRAMFS)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
-endif
-ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: createinitramfs
- @cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
- @echo 'The kernel+initramfs file is: ${FW_DIR}/${TARGET_KERNEL}'
-endif
-ifeq ($(ADK_TARGET_FS),archive)
-imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
- @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
-endif
-ifeq ($(ADK_TARGET_FS),nfsroot)
-imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo 'The nfs root tarball is: ${FW_DIR}/${ROOTFSUSERTARBALL}'
-endif
diff --git a/target/native/kernel.config.x86 b/target/native/kernel.config.x86
deleted file mode 100644
index ad87e5e3f..000000000
--- a/target/native/kernel.config.x86
+++ /dev/null
@@ -1,946 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.29
-# Sat Mar 28 12:28:20 2009
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_FAST_CMPXCHG_LOCAL=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
-# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_CLASSIC_RCU=y
-# CONFIG_TREE_RCU is not set
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_PREEMPT_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=15
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-# CONFIG_GROUP_SCHED is not set
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
-# CONFIG_PCSPKR_PLATFORM is not set
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-# CONFIG_MODULE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-# CONFIG_FREEZER is not set
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-# CONFIG_SMP is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_VSMP is not set
-# CONFIG_X86_RDC321X is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-# CONFIG_MEMTEST is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-CONFIG_MPENTIUMM=y
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_GENERIC_CPU is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_CPU=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
-CONFIG_X86_XADD=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_X86_DEBUGCTLMSR=y
-# CONFIG_PROCESSOR_SELECT is not set
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR_32=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-# CONFIG_X86_DS is not set
-# CONFIG_X86_PTRACE_BTS is not set
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-# CONFIG_IOMMU_API is not set
-CONFIG_NR_CPUS=1
-# CONFIG_PREEMPT_NONE is not set
-# CONFIG_PREEMPT_VOLUNTARY is not set
-CONFIG_PREEMPT=y
-CONFIG_X86_UP_APIC=y
-CONFIG_X86_UP_IOAPIC=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
-CONFIG_X86_MCE=y
-# CONFIG_X86_MCE_NONFATAL is not set
-# CONFIG_X86_MCE_P4THERMAL is not set
-# CONFIG_VM86 is not set
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_X86_REBOOTFIXUPS is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-# CONFIG_HIGHMEM64G is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
-# CONFIG_HIGHPTE is not set
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW_64K=y
-# CONFIG_MATH_EMULATION is not set
-CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
-# CONFIG_X86_PAT is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-# CONFIG_SCHED_HRTICK is not set
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x100000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-# CONFIG_COMPAT_VDSO is not set
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-
-#
-# Power management and ACPI options
-#
-# CONFIG_PM is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-# CONFIG_PCI_GOOLPC is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCIEPORTBUS is not set
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_LEGACY is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_HT_IRQ is not set
-CONFIG_ISA_DMA_API=y
-# CONFIG_ISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-# CONFIG_OLPC is not set
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_COMPAT_NET_DEV_OPS=y
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_PHONET is not set
-CONFIG_WIRELESS=y
-# CONFIG_CFG80211 is not set
-CONFIG_WIRELESS_OLD_REGULATORY=y
-# CONFIG_WIRELESS_EXT is not set
-# CONFIG_LIB80211 is not set
-# CONFIG_MAC80211 is not set
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-# CONFIG_BLK_DEV is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_SCSI_PROC_FS is not set
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# CONFIG_SCSI_LOWLEVEL is not set
-# CONFIG_SCSI_DH is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_SATA_PMP is not set
-# CONFIG_SATA_AHCI is not set
-# CONFIG_SATA_SIL24 is not set
-CONFIG_ATA_SFF=y
-# CONFIG_SATA_SVW is not set
-CONFIG_ATA_PIIX=y
-# CONFIG_SATA_MV is not set
-# CONFIG_SATA_NV is not set
-# CONFIG_PDC_ADMA is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_SX4 is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_PATA_ALI is not set
-# CONFIG_PATA_AMD is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CS5535 is not set
-# CONFIG_PATA_CS5536 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_ATA_GENERIC is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_OLDPIIX is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_NS87415 is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_RZ1000 is not set
-# CONFIG_PATA_SC1200 is not set
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_SCH is not set
-# CONFIG_MD is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# Enable only one of the two stacks, unless you know what you are doing
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_IEEE1394 is not set
-# CONFIG_I2O is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-# CONFIG_NET_ETHERNET is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-# CONFIG_WLAN_80211 is not set
-# CONFIG_IWLWIFI_LEDS is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-# CONFIG_CONSOLE_TRANSLATIONS is not set
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-CONFIG_DEVKMEM=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
-# CONFIG_MWAVE is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_NSC_GPIO is not set
-# CONFIG_CS5535_GPIO is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-# CONFIG_SPI is not set
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_THERMAL_HWMON is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_REGULATOR is not set
-
-#
-# Multimedia devices
-#
-
-#
-# Multimedia core support
-#
-# CONFIG_VIDEO_DEV is not set
-# CONFIG_DVB_CORE is not set
-# CONFIG_VIDEO_MEDIA is not set
-
-#
-# Multimedia drivers
-#
-# CONFIG_DAB is not set
-
-#
-# Graphics support
-#
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=512
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_DMADEVICES is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_X86_PLATFORM_DEVICES=y
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_FIRMWARE_MEMMAP is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-CONFIG_DMIID=y
-# CONFIG_ISCSI_IBFT_FIND is not set
-
-#
-# File systems
-#
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_FILE_LOCKING=y
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_NLS is not set
-# CONFIG_DLM is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-
-#
-# Tracers
-#
-# CONFIG_SYSPROF_TRACER is not set
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_X86_VERBOSE_BOOTUP is not set
-# CONFIG_EARLY_PRINTK is not set
-# CONFIG_4KSTACKS is not set
-# CONFIG_DOUBLEFAULT is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_OPTIMIZE_INLINING is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-# CONFIG_CRYPTO is not set
-CONFIG_HAVE_KVM=y
-# CONFIG_VIRTUALIZATION is not set
-
-#
-# Library routines
-#
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-# CONFIG_CRC32 is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/target/native/kernel.config.x86_64 b/target/native/kernel.config.x86_64
deleted file mode 100644
index ada69a344..000000000
--- a/target/native/kernel.config.x86_64
+++ /dev/null
@@ -1,1043 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.29.1
-# Thu Jun 4 21:10:07 2009
-#
-CONFIG_64BIT=y
-# CONFIG_X86_32 is not set
-CONFIG_X86_64=y
-CONFIG_X86=y
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_FAST_CMPXCHG_LOCAL=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_X86_64_SMP=y
-CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_X86_TRAMPOLINE=y
-# CONFIG_KTIME_SCALAR is not set
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_CLASSIC_RCU=y
-# CONFIG_TREE_RCU is not set
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_PREEMPT_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=15
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-# CONFIG_GROUP_SCHED is not set
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
-# CONFIG_PCSPKR_PLATFORM is not set
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-# CONFIG_MODULE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLOCK_COMPAT=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_FREEZER is not set
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_VSMP is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-# CONFIG_MEMTEST is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-CONFIG_GENERIC_CPU=y
-CONFIG_X86_CPU=y
-CONFIG_X86_L1_CACHE_BYTES=128
-CONFIG_X86_INTERNODE_CACHE_BYTES=128
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=64
-CONFIG_X86_DEBUGCTLMSR=y
-# CONFIG_PROCESSOR_SELECT is not set
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR_64=y
-# CONFIG_X86_DS is not set
-# CONFIG_X86_PTRACE_BTS is not set
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-CONFIG_GART_IOMMU=y
-# CONFIG_CALGARY_IOMMU is not set
-CONFIG_SWIOTLB=y
-CONFIG_IOMMU_HELPER=y
-# CONFIG_IOMMU_API is not set
-CONFIG_NR_CPUS=8
-# CONFIG_SCHED_SMT is not set
-CONFIG_SCHED_MC=y
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-# CONFIG_I8K is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_DIRECT_GBPAGES=y
-# CONFIG_NUMA is not set
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_FLATMEM_MANUAL is not set
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW_64K=y
-# CONFIG_MTRR is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-# CONFIG_SCHED_HRTICK is not set
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x200000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x200000
-# CONFIG_HOTPLUG_CPU is not set
-# CONFIG_COMPAT_VDSO is not set
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-
-#
-# Power management and ACPI options
-#
-# CONFIG_PM is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Memory power savings
-#
-# CONFIG_I7300_IDLE is not set
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCIEPORTBUS is not set
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_LEGACY is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_HT_IRQ is not set
-CONFIG_ISA_DMA_API=y
-CONFIG_K8_NB=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-# CONFIG_HAVE_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-CONFIG_IA32_EMULATION=y
-# CONFIG_IA32_AOUT is not set
-CONFIG_COMPAT=y
-CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-CONFIG_SYSVIPC_COMPAT=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_COMPAT_NET_DEV_OPS=y
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_PHONET is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_SCSI_PROC_FS is not set
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-# CONFIG_BLK_DEV_SD is not set
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# CONFIG_SCSI_LOWLEVEL is not set
-# CONFIG_SCSI_DH is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_SATA_PMP is not set
-# CONFIG_SATA_AHCI is not set
-# CONFIG_SATA_SIL24 is not set
-# CONFIG_ATA_SFF is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_BLK_DEV_DM is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# Enable only one of the two stacks, unless you know what you are doing
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_IEEE1394 is not set
-# CONFIG_I2O is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-# CONFIG_NET_ETHERNET is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-# CONFIG_WLAN_80211 is not set
-# CONFIG_IWLWIFI_LEDS is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-# CONFIG_CONSOLE_TRANSLATIONS is not set
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-CONFIG_DEVKMEM=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_MWAVE is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-# CONFIG_SPI is not set
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_THERMAL_HWMON is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_REGULATOR is not set
-
-#
-# Multimedia devices
-#
-
-#
-# Multimedia core support
-#
-# CONFIG_VIDEO_DEV is not set
-# CONFIG_DVB_CORE is not set
-# CONFIG_VIDEO_MEDIA is not set
-
-#
-# Multimedia drivers
-#
-# CONFIG_DAB is not set
-
-#
-# Graphics support
-#
-CONFIG_AGP=y
-CONFIG_AGP_AMD64=y
-# CONFIG_AGP_INTEL is not set
-# CONFIG_AGP_SIS is not set
-# CONFIG_AGP_VIA is not set
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=512
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_SOUND is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-# CONFIG_HIDRAW is not set
-# CONFIG_HID_PID is not set
-
-#
-# Special HID drivers
-#
-CONFIG_HID_COMPAT=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-# CONFIG_USB is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-
-#
-# Enable Host or Gadget support to see Inventra options
-#
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_DMADEVICES is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_X86_PLATFORM_DEVICES=y
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_FIRMWARE_MEMMAP is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-# CONFIG_DMIID is not set
-# CONFIG_ISCSI_IBFT_FIND is not set
-
-#
-# File systems
-#
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_FILE_LOCKING=y
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-# CONFIG_NFS_FS is not set
-# CONFIG_NFSD is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_NLS is not set
-# CONFIG_DLM is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-# CONFIG_FRAME_POINTER is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-
-#
-# Tracers
-#
-# CONFIG_SYSPROF_TRACER is not set
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_X86_VERBOSE_BOOTUP is not set
-# CONFIG_EARLY_PRINTK is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_OPTIMIZE_INLINING is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=m
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CRC32C_INTEL is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-CONFIG_CRYPTO_SHA256=m
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=m
-# CONFIG_CRYPTO_AES_X86_64 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SALSA20_X86_64 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-
-#
-# OCF Configuration
-#
-# CONFIG_OCF_OCF is not set
-CONFIG_HAVE_KVM=y
-# CONFIG_VIRTUALIZATION is not set
-
-#
-# Library routines
-#
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-# CONFIG_CRC32 is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/target/native/target.mk b/target/native/target.mk
deleted file mode 100644
index 0d32eb1bd..000000000
--- a/target/native/target.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-include $(TOPDIR)/mk/kernel-ver.mk
-ARCH:= $(shell uname -m|sed -e "s/i.*86/x86/" -e "s/_\?64//")
-CPU_ARCH:= $(shell gcc -dumpmachine | sed -e s'/-.*//' \
- -e 's/sparc.*/sparc/' \
- -e 's/arm.*/arm/g' \
- -e 's/m68k.*/m68k/' \
- -e 's/ppc/powerpc/g' \
- -e 's/sh[234]/sh/' \
- -e 's/mips-.*/mips/' \
- -e 's/mipsel-.*/mipsel/' \
- -e 's/i[3-9]86/i686/' \
- )
-TARGET_OPTIMIZATION:= -Os -pipe
-TARGET_CFLAGS_ARCH:= -march=native
diff --git a/target/native/uclibc.config b/target/native/uclibc.config
deleted file mode 100644
index 23b587ba5..000000000
--- a/target/native/uclibc.config
+++ /dev/null
@@ -1,257 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Version: 0.9.32-rc1
-# Mon Dec 27 23:12:21 2010
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_hppa is not set
-TARGET_i386=y
-# TARGET_i960 is not set
-# TARGET_ia64 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_vax is not set
-# TARGET_x86_64 is not set
-# TARGET_xtensa is not set
-
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="i386"
-FORCE_OPTIONS_FOR_ARCH=y
-# CONFIG_GENERIC_386 is not set
-# CONFIG_386 is not set
-CONFIG_486=y
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
-TARGET_SUBARCH="i486"
-
-#
-# Using ELF file format
-#
-ARCH_LITTLE_ENDIAN=y
-
-#
-# Using Little Endian
-#
-ARCH_HAS_MMU=y
-ARCH_USE_MMU=y
-UCLIBC_HAS_FLOATS=y
-UCLIBC_HAS_FPU=y
-DO_C99_MATH=y
-# DO_XSI_MATH is not set
-UCLIBC_HAS_FENV=y
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# ARCH_HAS_NO_SHARED is not set
-# ARCH_HAS_NO_LDSO is not set
-HAVE_SHARED=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_ENV_SUPPORT is not set
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# UCLIBC_STATIC_LDCONFIG is not set
-LDSO_RUNPATH=y
-LDSO_SEARCH_INTERP_PATH=y
-UCLIBC_CTOR_DTOR=y
-# LDSO_GNU_HASH_SUPPORT is not set
-# HAS_NO_THREADS is not set
-# LINUXTHREADS_OLD is not set
-# LINUXTHREADS_NEW is not set
-UCLIBC_HAS_THREADS_NATIVE=y
-UCLIBC_HAS_THREADS=y
-UCLIBC_HAS_TLS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_SYSLOG=y
-UCLIBC_HAS_LFS=y
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-COMPAT_ATEXIT=y
-UCLIBC_SUSV3_LEGACY=y
-# UCLIBC_SUSV3_LEGACY_MACROS is not set
-UCLIBC_SUSV4_LEGACY=y
-# UCLIBC_HAS_STUBS is not set
-UCLIBC_HAS_SHADOW=y
-UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
-UCLIBC_HAS___PROGNAME=y
-UCLIBC_HAS_PTY=y
-ASSUME_DEVPTS=y
-UNIX98PTY_ONLY=y
-UCLIBC_HAS_GETPT=y
-UCLIBC_HAS_LIBUTIL=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
-
-#
-# Advanced Library Settings
-#
-UCLIBC_PWD_BUFFER_SIZE=256
-UCLIBC_GRP_BUFFER_SIZE=256
-
-#
-# Support various families of functions
-#
-# UCLIBC_LINUX_MODULE_24 is not set
-UCLIBC_LINUX_SPECIFIC=y
-UCLIBC_HAS_GNU_ERROR=y
-UCLIBC_BSD_SPECIFIC=y
-UCLIBC_HAS_BSD_ERR=y
-# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-# UCLIBC_SV4_DEPRECATED is not set
-UCLIBC_HAS_REALTIME=y
-# UCLIBC_HAS_ADVANCED_REALTIME is not set
-UCLIBC_HAS_EPOLL=y
-# UCLIBC_HAS_XATTR is not set
-# UCLIBC_HAS_PROFILING is not set
-UCLIBC_HAS_CRYPT_IMPL=y
-UCLIBC_HAS_CRYPT=y
-UCLIBC_HAS_NETWORK_SUPPORT=y
-UCLIBC_HAS_SOCKET=y
-UCLIBC_HAS_IPV4=y
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-UCLIBC_HAS_REENTRANT_RPC=y
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-UCLIBC_HAS_BSD_RES_CLOSE=y
-UCLIBC_HAS_COMPAT_RES_STATE=y
-# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
-UCLIBC_HAS_LIBRESOLV_STUB=y
-UCLIBC_HAS_LIBNSL_STUB=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-UCLIBC_HAS_STDIO_FUTEXES=y
-UCLIBC_HAS_GNU_GETSUBOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_REGEX_OLD is not set
-UCLIBC_HAS_FNMATCH=y
-# UCLIBC_HAS_FNMATCH_OLD is not set
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-# UCLIBC_HAS_UTMPX is not set
-
-#
-# Library Installation Options
-#
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-MULTILIB_DIR="lib"
-HARDWIRED_ABSPATH=y
-
-#
-# Security options
-#
-# UCLIBC_BUILD_PIE is not set
-UCLIBC_HAS_ARC4RANDOM=y
-# HAVE_NO_SSP is not set
-# UCLIBC_HAS_SSP is not set
-UCLIBC_BUILD_RELRO=y
-# UCLIBC_BUILD_NOW is not set
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-DOSTRIP=y
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-# UCLIBC_MALLOC_DEBUGGING is not set
-WARNINGS="-Wall"
-EXTRA_WARNINGS=y
-# DOMULTI is not set
-# UCLIBC_MJN3_ONLY is not set
diff --git a/target/packages/pkg-available/development b/target/packages/pkg-available/development
index 8ac207205..6a883ebf2 100644
--- a/target/packages/pkg-available/development
+++ b/target/packages/pkg-available/development
@@ -34,7 +34,7 @@ config ADK_PKG_DEVELOPMENT
select ADK_PACKAGE_GDB
select ADK_PACKAGE_PARTED
select ADK_PACKAGE_SFDISK
- select ADK_APCKAGE_MKE2FS
+ select ADK_PACKAGE_MKE2FS
select ADK_PACKAGE_DOSFSTOOLS
help
After bootstrapping a Linux system you might want to
diff --git a/target/packages/pkg-available/mpdbox b/target/packages/pkg-available/mpdbox
index b1edc40e1..eab49bc8a 100644
--- a/target/packages/pkg-available/mpdbox
+++ b/target/packages/pkg-available/mpdbox
@@ -3,8 +3,9 @@ config ADK_PKG_MPDBOX
default n
select ADK_PACKAGE_MPDBOX
select ADK_PACKAGE_CIFS_UTILS
- select ADK_PACKAGE_NFS_UTILS if ADK_TARGET_LIB_GLIBC
- select ADK_PACKAGE_NFS_UTILS_CLIENT if ADK_TARGET_LIB_GLIBC
+ select ADK_PACKAGE_NFS_UTILS
+ select ADK_PACKAGE_NFS_UTILS_CLIENT
+ select ADK_PACKAGE_NTFS_3G
select ADK_PACKAGE_LIBMPDCLIENT
select ADK_PACKAGE_MPC
select ADK_PACKAGE_MPD
@@ -22,7 +23,6 @@ config ADK_PKG_MPDBOX
select ADK_PACKAGE_MPD_WITH_CURL
select ADK_PACKAGE_MPD_WITH_SAMPLERATE
select ADK_PACKAGE_MPD_WITH_HTTPD
- select ADK_PACKAGE_CPUFREQUTILS
select ADK_PACKAGE_FILE
select ADK_PACKAGE_HTOP
select ADK_PACKAGE_DROPBEAR
diff --git a/target/packages/pkg-available/test b/target/packages/pkg-available/test
index 6560dc8a1..5ffe80949 100644
--- a/target/packages/pkg-available/test
+++ b/target/packages/pkg-available/test
@@ -1,10 +1,17 @@
config ADK_PKG_TEST
bool "Compile a ADK test framework system"
- default n
select ADK_PACKAGE_ADK_TEST_TOOLS
select ADK_PACKAGE_STRACE
select ADK_PACKAGE_SOCAT
select ADK_PACKAGE_MAKE
+ select ADK_PACKAGE_FILE
+ select ADK_KERNEL_BLK_DEV_INITRD
+ select ADK_KERNEL_COMP_XZ
+ select ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
+ select ADK_SIMPLE_NETWORK_CONFIG
+ select ADK_KPACKAGE_KMOD_IPV6
+ select ADK_TARGET_PACKAGE_TXZ
+ default n
help
Package collection used to build adk-test-framework root
filesystem.
diff --git a/target/ppc/Makefile b/target/ppc/Makefile
index 3085e98cc..aae63f1c0 100644
--- a/target/ppc/Makefile
+++ b/target/ppc/Makefile
@@ -22,6 +22,12 @@ ifeq ($(ADK_HARDWARE_QEMU),y)
@echo 'qemu-system-ppc -M mac99 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
diff --git a/target/ppc/kernel/qemu-ppc b/target/ppc/kernel/qemu-ppc
index 08dd506b5..f45511601 100644
--- a/target/ppc/kernel/qemu-ppc
+++ b/target/ppc/kernel/qemu-ppc
@@ -26,21 +26,10 @@ CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
CONFIG_DTC=y
CONFIG_OF=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_PATA_MACIO=y
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_ADB=y
CONFIG_ADB_CUDA=y
CONFIG_INPUT_ADBHID=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NET_VENDOR_8390=y
CONFIG_NE2K_PCI=y
diff --git a/target/ppc/sys-available/qemu-ppc b/target/ppc/sys-available/qemu-ppc
index daf1fedfa..223e0213b 100644
--- a/target/ppc/sys-available/qemu-ppc
+++ b/target/ppc/sys-available/qemu-ppc
@@ -4,9 +4,6 @@ config ADK_TARGET_SYSTEM_QEMU_PPC
select ADK_qemu_ppc
select ADK_CPU_PPC
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator (PPC).
diff --git a/target/ppc/sys-available/toolchain-ppc b/target/ppc/sys-available/toolchain-ppc
index 54e35e6a5..dd432ecda 100644
--- a/target/ppc/sys-available/toolchain-ppc
+++ b/target/ppc/sys-available/toolchain-ppc
@@ -4,7 +4,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC
select ADK_toolchain_ppc
select ADK_CPU_PPC
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a ppc toolchain.
diff --git a/target/ppc/target.mk b/target/ppc/target.mk
index bd6624fe7..47ae3121f 100644
--- a/target/ppc/target.mk
+++ b/target/ppc/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= powerpc
CPU_ARCH:= ppc
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS) -Wl,--secure-plt
diff --git a/target/ppc64/Makefile b/target/ppc64/Makefile
index 2bc6e66cb..6ee949a09 100644
--- a/target/ppc64/Makefile
+++ b/target/ppc64/Makefile
@@ -22,6 +22,12 @@ ifeq ($(ADK_HARDWARE_QEMU),y)
@echo 'qemu-system-ppc64 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
diff --git a/target/ppc64/kernel/qemu-ppc64 b/target/ppc64/kernel/qemu-ppc64
index a9e1abecb..ebf952146 100644
--- a/target/ppc64/kernel/qemu-ppc64
+++ b/target/ppc64/kernel/qemu-ppc64
@@ -8,7 +8,6 @@ CONFIG_PPC_FPU=y
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_64=y
CONFIG_PPC_DOORBELL=y
-CONFIG_64BIT=y
CONFIG_PPC_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_PPC_PSERIES=y
@@ -28,17 +27,8 @@ CONFIG_PCI_SYSCALL=y
CONFIG_PCI_MSI=y
CONFIG_DTC=y
CONFIG_OF=y
-CONFIG_BLOCK=y
-CONFIG_SCSI=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_IBMVSCSI=y
-CONFIG_NETDEVICES=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_IBM=y
CONFIG_IBMVETH=y
-CONFIG_NET_CORE=y
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_CONSOLE=y
diff --git a/target/ppc64/sys-available/qemu-ppc64 b/target/ppc64/sys-available/qemu-ppc64
index 4dbd4cabd..ffc77a388 100644
--- a/target/ppc64/sys-available/qemu-ppc64
+++ b/target/ppc64/sys-available/qemu-ppc64
@@ -3,10 +3,8 @@ config ADK_TARGET_SYSTEM_QEMU_PPC64
select ADK_ppc64
select ADK_qemu_ppc64
select ADK_CPU_PPC64
+ select ADK_LINUX_64
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator (PPC64).
diff --git a/target/ppc64/sys-available/toolchain-ppc64 b/target/ppc64/sys-available/toolchain-ppc64
index 3615aab85..dce18a3a3 100644
--- a/target/ppc64/sys-available/toolchain-ppc64
+++ b/target/ppc64/sys-available/toolchain-ppc64
@@ -3,8 +3,9 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_PPC64
select ADK_ppc64
select ADK_toolchain_ppc64
select ADK_CPU_PPC64
+ select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a ppc64 toolchain.
diff --git a/target/ppc64/target.mk b/target/ppc64/target.mk
index 7ccf65b9c..5a0ecc30f 100644
--- a/target/ppc64/target.mk
+++ b/target/ppc64/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= powerpc
CPU_ARCH:= ppc64
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/sh/Makefile b/target/sh/Makefile
index 3cf65f614..0d5706eb3 100644
--- a/target/sh/Makefile
+++ b/target/sh/Makefile
@@ -22,6 +22,12 @@ ifneq ($(ADK_HARDWARE_QEMU),)
@echo 'qemu-system-${CPU_ARCH} ${QEMU_ARGS} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
diff --git a/target/sh/kernel/qemu-sh b/target/sh/kernel/qemu-sh
index 5c38a01fb..c8d6e347c 100644
--- a/target/sh/kernel/qemu-sh
+++ b/target/sh/kernel/qemu-sh
@@ -16,22 +16,9 @@ CONFIG_SH_INTC=y
CONFIG_CMDLINE_OVERWRITE=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
CONFIG_MII=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_8139CP=y
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
diff --git a/target/sh/sys-available/qemu-sh4 b/target/sh/sys-available/qemu-sh4
index 83a645d65..5ebd224be 100644
--- a/target/sh/sys-available/qemu-sh4
+++ b/target/sh/sys-available/qemu-sh4
@@ -4,10 +4,7 @@ config ADK_TARGET_SYSTEM_QEMU_SH4
select ADK_little
select ADK_qemu_sh4
select ADK_CPU_SH4
- select ADK_KERNEL_CPU_LITTLE_ENDIAN
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_USB
- select ADK_USE_KERNEL_MINICONFIG
select ADK_TARGET_KERNEL_ZIMAGE
help
Support for Qemu Emulator (superh).
diff --git a/target/sh/sys-available/qemu-sh4eb b/target/sh/sys-available/qemu-sh4eb
index 80389775e..f50f96b3e 100644
--- a/target/sh/sys-available/qemu-sh4eb
+++ b/target/sh/sys-available/qemu-sh4eb
@@ -4,10 +4,7 @@ config ADK_TARGET_SYSTEM_QEMU_SH4EB
select ADK_big
select ADK_qemu_sh4
select ADK_CPU_SH4
- select ADK_KERNEL_CPU_BIG_ENDIAN
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_USB
- select ADK_USE_KERNEL_MINICONFIG
select ADK_TARGET_KERNEL_ZIMAGE
help
Support for Qemu Emulator (superh).
diff --git a/target/sh/sys-available/toolchain-sh b/target/sh/sys-available/toolchain-sh
index 287401079..b9dedcfd2 100644
--- a/target/sh/sys-available/toolchain-sh
+++ b/target/sh/sys-available/toolchain-sh
@@ -5,7 +5,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_SH
select ADK_toolchain_sh
select ADK_CPU_SH4
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a superh toolchain (sh4).
diff --git a/target/sh/sys-available/toolchain-sheb b/target/sh/sys-available/toolchain-sheb
index 236d4e486..f61547d24 100644
--- a/target/sh/sys-available/toolchain-sheb
+++ b/target/sh/sys-available/toolchain-sheb
@@ -5,7 +5,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_SHEB
select ADK_toolchain_sheb
select ADK_CPU_SH4
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a superh toolchain (sh4 big endian).
diff --git a/target/sh/target.mk b/target/sh/target.mk
index b5630cced..408dd12c5 100644
--- a/target/sh/target.mk
+++ b/target/sh/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= sh
CPU_ARCH:= $(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/sparc/Makefile b/target/sparc/Makefile
index 6960aed4c..1e15ee7f0 100644
--- a/target/sparc/Makefile
+++ b/target/sparc/Makefile
@@ -21,6 +21,12 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC),y)
@echo 'qemu-system-sparc -M SS-5 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img -append "root=/dev/sda1"'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
diff --git a/target/sparc/kernel/qemu-sparc b/target/sparc/kernel/qemu-sparc
index 26bd9a29e..f58df04b4 100644
--- a/target/sparc/kernel/qemu-sparc
+++ b/target/sparc/kernel/qemu-sparc
@@ -6,14 +6,6 @@ CONFIG_PCI=y
CONFIG_PCI_SYSCALL=y
CONFIG_PCIC_PCI=y
CONFIG_OF=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_SCSI_SUNESP=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_AMD=y
CONFIG_SUNLANCE=y
CONFIG_SERIAL_CONSOLE=y
diff --git a/target/sparc/sys-available/qemu-sparc b/target/sparc/sys-available/qemu-sparc
index 0eefd2df7..26866628f 100644
--- a/target/sparc/sys-available/qemu-sparc
+++ b/target/sparc/sys-available/qemu-sparc
@@ -4,10 +4,7 @@ config ADK_TARGET_SYSTEM_QEMU_SPARC
select ADK_qemu_sparc
select ADK_CPU_SPARC_V8
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
select ADK_TARGET_KERNEL_ZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator (SPARC).
diff --git a/target/sparc/sys-available/toolchain-sparc b/target/sparc/sys-available/toolchain-sparc
index e668592e2..e7f5aafc4 100644
--- a/target/sparc/sys-available/toolchain-sparc
+++ b/target/sparc/sys-available/toolchain-sparc
@@ -4,7 +4,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_SPARC
select ADK_toolchain_sparc
select ADK_CPU_SPARC_V8
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a sparc toolchain.
diff --git a/target/sparc/target.mk b/target/sparc/target.mk
index 4de28f960..960a7cf19 100644
--- a/target/sparc/target.mk
+++ b/target/sparc/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= sparc
CPU_ARCH:= sparc
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/sparc64/Makefile b/target/sparc64/Makefile
index 8fe5ebbcc..882189284 100644
--- a/target/sparc64/Makefile
+++ b/target/sparc64/Makefile
@@ -9,6 +9,17 @@ include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/vmlinux
+QEMU_ARGS:=-M sun4u
+ifeq ($(ADK_TARGET_QEMU_WITH_GRAPHICS),)
+QEMU_ARGS+=-nographic
+endif
+ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
+QEMU_ARGS+=-net nic,model=virtio -net user
+ifeq ($(ADK_TARGET_FS),archive)
+QEMU_ARGS+=-drive file=qemu-${CPU_ARCH}.img,if=virtio,index=0
+endif
+endif
+
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
@@ -18,12 +29,14 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC64),y)
@echo "Use following command to create a QEMU Image:"
@echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
-ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
- @echo 'qemu-system-sparc64 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -drive file=qemu-${CPU_ARCH}.img,if=virtio,index=0 -net nic,model=virtio -net user'
-else
- @echo 'qemu-system-sparc64 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
+ @echo 'qemu-system-sparc64 $(QEMU_ARGS) -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(FW_DIR)/$(INITRAMFS)
@@ -32,7 +45,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS)
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC64),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-sparc64 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+ @echo 'qemu-system-sparc64 $(QEMU_ARGS) -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
@@ -41,6 +54,6 @@ imageinstall: createinitramfs
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC64),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-sparc64 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+ @echo 'qemu-system-sparc64 $(QEMU_ARGS) -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
diff --git a/target/sparc64/kernel/qemu-sparc64 b/target/sparc64/kernel/qemu-sparc64
index 5119f1225..e3cd03068 100644
--- a/target/sparc64/kernel/qemu-sparc64
+++ b/target/sparc64/kernel/qemu-sparc64
@@ -1,4 +1,3 @@
-CONFIG_64BIT=y
CONFIG_SPARC=y
CONFIG_SPARC64=y
CONFIG_PCI=y
@@ -12,16 +11,6 @@ CONFIG_OF_NET=y
CONFIG_OF_PCI=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_OF_IOMMU=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NET_VENDOR_8390=y
-CONFIG_NE2K_PCI=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_SERIAL_SUNCORE=y
CONFIG_SERIAL_SUNSU=y
diff --git a/target/sparc64/sys-available/qemu-sparc64 b/target/sparc64/sys-available/qemu-sparc64
index 5b88fe09a..d750ea1e4 100644
--- a/target/sparc64/sys-available/qemu-sparc64
+++ b/target/sparc64/sys-available/qemu-sparc64
@@ -2,12 +2,9 @@ config ADK_TARGET_SYSTEM_QEMU_SPARC64
bool "Qemu Emulator"
select ADK_sparc64
select ADK_qemu_sparc64
+ select ADK_LINUX_64
select ADK_CPU_SPARC_V9
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
select ADK_TARGET_KERNEL_ZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator (SPARC64).
-
diff --git a/target/sparc64/sys-available/toolchain-sparc64 b/target/sparc64/sys-available/toolchain-sparc64
index 15eaca575..a83ecd198 100644
--- a/target/sparc64/sys-available/toolchain-sparc64
+++ b/target/sparc64/sys-available/toolchain-sparc64
@@ -3,8 +3,9 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_SPARC64
select ADK_sparc64
select ADK_toolchain_sparc64
select ADK_CPU_SPARC_V9
+ select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a sparc64 toolchain.
diff --git a/target/sparc64/target.mk b/target/sparc64/target.mk
index 663e42d23..dda789e55 100644
--- a/target/sparc64/target.mk
+++ b/target/sparc64/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= sparc
CPU_ARCH:= sparc64
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/tarch.lst b/target/tarch.lst
index e7251f8d2..60e064398 100644
--- a/target/tarch.lst
+++ b/target/tarch.lst
@@ -1,14 +1,22 @@
arm
+armhf
m68k
microblaze
microblazeel
mips
mipsel
mips64
+mips64n32
+mips64n64
mips64el
+mips64eln32
+mips64eln64
ppc
ppc64
+sh4
+sh4eb
sparc
sparc64
x86
x86_64
+x86_64_x32
diff --git a/target/x86/Makefile b/target/x86/Makefile
index 91c9cef17..15d980d7c 100644
--- a/target/x86/Makefile
+++ b/target/x86/Makefile
@@ -14,7 +14,6 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "To install everything to CompactFlash use scripts/genext2.sh"
endif
-
ifeq ($(ADK_TARGET_FS),cf)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
@@ -42,6 +41,12 @@ ifeq ($(ADK_HARDWARE_VBOX),y)
@echo "./scripts/create.sh -T vdi vbox-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),usb)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
diff --git a/target/x86/kernel.config b/target/x86/kernel.config
deleted file mode 100644
index 00f9ffe7d..000000000
--- a/target/x86/kernel.config
+++ /dev/null
@@ -1,1193 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.9.8 Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_X86_32_LAZY_GS=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_ARCH_SUPPORTS_UPROBES=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_EXTABLE_SORT=y
-
-#
-# General setup
-#
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_LZMA is not set
-CONFIG_KERNEL_XZ=y
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="openadk"
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_FHANDLE is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-
-#
-# Timers subsystem
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-
-#
-# CPU/Task time and stats accounting
-#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_STALL_COMMON is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=15
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
-CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
-# CONFIG_CGROUPS is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_UIDGID_CONVERTED=y
-# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_HAVE_UID16=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_PCSPKR_PLATFORM is not set
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_OPROFILE_NMI_TIMER=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_ARCH_USE_BUILTIN_BSWAP=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_KPROBES_ON_FTRACE=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_HAVE_DMA_CONTIGUOUS=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_PERF_REGS=y
-CONFIG_HAVE_PERF_USER_STACK_DUMP=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-CONFIG_HAVE_CMPXCHG_LOCAL=y
-CONFIG_HAVE_CMPXCHG_DOUBLE=y
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
-CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
-CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
-CONFIG_MODULES_USE_ELF_REL=y
-CONFIG_CLONE_BACKWARDS=y
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_OLD_SIGACTION=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_MODULE_SIG is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-CONFIG_EFI_PARTITION=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_FREEZER is not set
-
-#
-# Processor type and features
-#
-CONFIG_ZONE_DMA=y
-# CONFIG_SMP is not set
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-# CONFIG_X86_GOLDFISH is not set
-# CONFIG_X86_32_IRIS is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-# CONFIG_MEMTEST is not set
-CONFIG_M486=y
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_L1_CACHE_SHIFT=6
-# CONFIG_X86_PPRO_FENCE is not set
-CONFIG_X86_F00F_BUG=y
-CONFIG_X86_INVD_BUG=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-# CONFIG_PROCESSOR_SELECT is not set
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-# CONFIG_HPET_TIMER is not set
-# CONFIG_DMI is not set
-CONFIG_NR_CPUS=1
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_X86_UP_APIC is not set
-# CONFIG_X86_MCE is not set
-CONFIG_VM86=y
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-CONFIG_X86_REBOOTFIXUPS=y
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-CONFIG_NEED_NODE_MEMMAP_SIZE=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_FLATMEM_MANUAL is not set
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
-CONFIG_ARCH_DISCARD_MEMBLOCK=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-# CONFIG_HIGHPTE is not set
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-# CONFIG_MATH_EMULATION is not set
-# CONFIG_MTRR is not set
-CONFIG_ARCH_RANDOM=y
-# CONFIG_X86_SMAP is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-# CONFIG_SCHED_HRTICK is not set
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x200000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x200000
-# CONFIG_COMPAT_VDSO is not set
-CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE=""
-# CONFIG_CMDLINE_OVERRIDE is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-
-#
-# Power management and ACPI options
-#
-# CONFIG_SUSPEND is not set
-# CONFIG_PM_RUNTIME is not set
-# CONFIG_ACPI is not set
-# CONFIG_SFI is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-# CONFIG_PCIEPORTBUS is not set
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_ISA_DMA_API=y
-# CONFIG_ISA is not set
-# CONFIG_SCx200 is not set
-# CONFIG_OLPC is not set
-# CONFIG_ALIX is not set
-# CONFIG_NET5501 is not set
-CONFIG_AMD_NB=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-CONFIG_COREDUMP=y
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_DIAG is not set
-CONFIG_UNIX=y
-# CONFIG_UNIX_DIAG is not set
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_OPENVSWITCH is not set
-# CONFIG_VSOCKETS is not set
-CONFIG_BQL=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_GENERIC_CPU_DEVICES is not set
-# CONFIG_DMA_SHARED_BUFFER is not set
-# CONFIG_CMA is not set
-
-#
-# Bus devices
-#
-# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-# CONFIG_BLK_DEV is not set
-
-#
-# Misc devices
-#
-# CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ATMEL_SSC is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_VMWARE_BALLOON is not set
-# CONFIG_PCH_PHUB is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_CB710_CORE is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-
-#
-# Altera FPGA firmware download module
-#
-# CONFIG_VMWARE_VMCI is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_ATA is not set
-# CONFIG_MD is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_I2O is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-# CONFIG_NETDEVICES is not set
-
-#
-# Input device support
-#
-# CONFIG_INPUT is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_TTY=y
-# CONFIG_VT is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-# CONFIG_DEVKMEM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-# CONFIG_SERIAL_8250_PCI is not set
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_DW is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_SERIAL_RP2 is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_MWAVE is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_NSC_GPIO is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-# CONFIG_SPI is not set
-# CONFIG_HSI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-# CONFIG_PTP_1588_CLOCK is not set
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# CONFIG_PTP_1588_CLOCK_PCH is not set
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIO_DEVRES=y
-# CONFIG_GPIOLIB is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_POWER_AVS is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_MFD_CS5535 is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_LPC_ICH is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_REGULATOR is not set
-CONFIG_MEDIA_SUPPORT=y
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CAMERA_SUPPORT is not set
-# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
-# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
-# CONFIG_MEDIA_RADIO_SUPPORT is not set
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-
-#
-# Media drivers
-#
-# CONFIG_MEDIA_PCI_SUPPORT is not set
-
-#
-# Supported MMC/SDIO adapters
-#
-
-#
-# Media ancillary drivers (tuners, sensors, i2c, frontends)
-#
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-# CONFIG_AGP is not set
-# CONFIG_VGA_ARB is not set
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_EXYNOS_VIDEO is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-# CONFIG_SOUND is not set
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_EDAC is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_MMIO is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-# CONFIG_STAGING is not set
-# CONFIG_X86_PLATFORM_DEVICES is not set
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_CLKBLD_I8253=y
-# CONFIG_MAILBOX is not set
-CONFIG_IOMMU_SUPPORT=y
-
-#
-# Remoteproc drivers
-#
-# CONFIG_STE_MODEM_RPROC is not set
-
-#
-# Rpmsg drivers
-#
-# CONFIG_VIRT_DRIVERS is not set
-# CONFIG_PM_DEVFREQ is not set
-# CONFIG_EXTCON is not set
-# CONFIG_MEMORY is not set
-# CONFIG_IIO is not set
-# CONFIG_VME_BUS is not set
-# CONFIG_PWM is not set
-# CONFIG_IPACK_BUS is not set
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_FIRMWARE_MEMMAP is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-# CONFIG_ISCSI_IBFT_FIND is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_DCACHE_WORD_ACCESS=y
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_FILE_LOCKING=y
-# CONFIG_FSNOTIFY is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY_USER is not set
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_MAC_ROMAN is not set
-# CONFIG_NLS_MAC_CELTIC is not set
-# CONFIG_NLS_MAC_CENTEURO is not set
-# CONFIG_NLS_MAC_CROATIAN is not set
-# CONFIG_NLS_MAC_CYRILLIC is not set
-# CONFIG_NLS_MAC_GAELIC is not set
-# CONFIG_NLS_MAC_GREEK is not set
-# CONFIG_NLS_MAC_ICELAND is not set
-# CONFIG_NLS_MAC_INUIT is not set
-# CONFIG_NLS_MAC_ROMANIAN is not set
-# CONFIG_NLS_MAC_TURKISH is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_READABLE_ASM is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-# CONFIG_FRAME_POINTER is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-
-#
-# RCU Debugging
-#
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_RBTREE_TEST is not set
-# CONFIG_INTERVAL_TREE_TEST is not set
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_X86_VERBOSE_BOOTUP is not set
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-# CONFIG_DEBUG_RODATA is not set
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-# CONFIG_DOUBLEFAULT is not set
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_CPA_DEBUG is not set
-# CONFIG_OPTIMIZE_INLINING is not set
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_USER is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-# CONFIG_CRYPTO_CBC is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CRC32C_INTEL is not set
-# CONFIG_CRYPTO_CRC32 is not set
-# CONFIG_CRYPTO_CRC32_PCLMUL is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_AES_586 is not set
-# CONFIG_CRYPTO_AES_NI_INTEL is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SALSA20_586 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_TWOFISH_586 is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-CONFIG_CRYPTO_HW=y
-# CONFIG_CRYPTO_DEV_PADLOCK is not set
-# CONFIG_CRYPTO_DEV_GEODE is not set
-# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_HAVE_KVM=y
-# CONFIG_VIRTUALIZATION is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_IO=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_DQL=y
-CONFIG_NLATTR=y
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
-# CONFIG_AVERAGE is not set
-# CONFIG_CORDIC is not set
-# CONFIG_DDR is not set
diff --git a/target/x86/kernel/ibm-x40 b/target/x86/kernel/ibm-x40
new file mode 100644
index 000000000..0d57d810a
--- /dev/null
+++ b/target/x86/kernel/ibm-x40
@@ -0,0 +1,27 @@
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_MPENTIUMM=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_NR_CPUS=1
+CONFIG_VM86=y
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_PCI=y
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+CONFIG_SATA_PMP=y
+CONFIG_ATA_SFF=y
+CONFIG_ATA_BMDMA=y
+CONFIG_ATA_PIIX=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E1000=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
diff --git a/target/x86/kernel/qemu-i686 b/target/x86/kernel/qemu-i686
index 802de7cca..7eb708745 100644
--- a/target/x86/kernel/qemu-i686
+++ b/target/x86/kernel/qemu-i686
@@ -5,21 +5,7 @@ CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_DOMAINS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_PIIX=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
diff --git a/target/x86/sys-available/ibm-x40 b/target/x86/sys-available/ibm-x40
index 7dc75ebf4..80c5bf531 100644
--- a/target/x86/sys-available/ibm-x40
+++ b/target/x86/sys-available/ibm-x40
@@ -3,7 +3,6 @@ config ADK_TARGET_SYSTEM_IBM_X40
select ADK_x86
select ADK_ibm_x40
select ADK_CPU_PENTIUM_M
- select ADK_KERNEL_MPENTIUMM
select ADK_TARGET_CPU_WITH_MMX
select ADK_TARGET_CPU_WITH_SSE
select ADK_TARGET_CPU_WITH_SSE2
@@ -14,14 +13,14 @@ config ADK_TARGET_SYSTEM_IBM_X40
select ADK_TARGET_WITH_VGA
select ADK_TARGET_WITH_INPUT
select ADK_TARGET_WITH_RTC
- select ADK_TARGET_WITH_CF
select ADK_TARGET_WITH_MINIPCI
select ADK_TARGET_WITH_HDD
select ADK_TARGET_WITH_PCI
select ADK_TARGET_WITH_ACPI
# with docking station
select ADK_TARGET_WITH_PP
+ select ADK_TARGET_WITH_ROOT_RW
select ADK_TARGET_KERNEL_BZIMAGE
+ select ADK_PACKAGE_GRUB_BIN
help
System profile for IBM X40 laptop.
-
diff --git a/target/x86/sys-available/pcengines-alix1c b/target/x86/sys-available/pcengines-alix1c
index b45be89a4..484439328 100644
--- a/target/x86/sys-available/pcengines-alix1c
+++ b/target/x86/sys-available/pcengines-alix1c
@@ -3,9 +3,6 @@ config ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
select ADK_x86
select ADK_pcengines_alix1c
select ADK_CPU_GEODE
- select ADK_KERNEL_MGEODE_LX
- select ADK_KERNEL_PM
- select ADK_KERNEL_ACPI
select ADK_TARGET_CPU_WITH_3DNOW
select ADK_TARGET_CPU_WITH_3DNOWEXT
select ADK_TARGET_CPU_WITH_MMX
@@ -17,7 +14,6 @@ config ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
select ADK_TARGET_WITH_VGA
select ADK_TARGET_WITH_INPUT
select ADK_TARGET_WITH_RTC
- select ADK_TARGET_WITH_CF
select ADK_TARGET_WITH_WATCHDOG
select ADK_TARGET_WITH_USB_BOOT
select ADK_TARGET_KERNEL_BZIMAGE
diff --git a/target/x86/sys-available/pcengines-alix2d13 b/target/x86/sys-available/pcengines-alix2d13
index d0843cc4d..33e939348 100644
--- a/target/x86/sys-available/pcengines-alix2d13
+++ b/target/x86/sys-available/pcengines-alix2d13
@@ -3,7 +3,6 @@ config ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
select ADK_x86
select ADK_pcengines_alix2d13
select ADK_CPU_GEODE
- select ADK_KERNEL_MGEODE_LX
select ADK_TARGET_CPU_WITH_3DNOW
select ADK_TARGET_CPU_WITH_3DNOWEXT
select ADK_TARGET_CPU_WITH_MMX
@@ -13,7 +12,6 @@ config ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
select ADK_TARGET_WITH_RTC
select ADK_TARGET_WITH_LEDS
select ADK_TARGET_WITH_WATCHDOG
- select ADK_TARGET_WITH_CF
select ADK_TARGET_KERNEL_BZIMAGE
depends on ADK_BROKEN
help
diff --git a/target/x86/sys-available/pcengines-alix2d2 b/target/x86/sys-available/pcengines-alix2d2
index fd83a700a..a48bec2cc 100644
--- a/target/x86/sys-available/pcengines-alix2d2
+++ b/target/x86/sys-available/pcengines-alix2d2
@@ -12,7 +12,6 @@ config ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
select ADK_TARGET_WITH_USB
select ADK_TARGET_WITH_LEDS
select ADK_TARGET_WITH_WATCHDOG
- select ADK_TARGET_WITH_CF
select ADK_TARGET_KERNEL_BZIMAGE
depends on ADK_BROKEN
help
diff --git a/target/x86/sys-available/pcengines-wrap b/target/x86/sys-available/pcengines-wrap
index 2fa4e13c4..50db08ccf 100644
--- a/target/x86/sys-available/pcengines-wrap
+++ b/target/x86/sys-available/pcengines-wrap
@@ -4,7 +4,6 @@ config ADK_TARGET_SYSTEM_PCENGINES_WRAP
select ADK_pcengines_wrap
select ADK_CPU_I486
select ADK_KERNEL_I486
- select ADK_TARGET_WITH_CF
select ADK_TARGET_WITH_MINIPCI
select ADK_TARGET_WITH_WATCHDOG
select ADK_TARGET_KERNEL_BZIMAGE
diff --git a/target/x86/sys-available/qemu-i686 b/target/x86/sys-available/qemu-i686
index 42f818a14..b047bc482 100644
--- a/target/x86/sys-available/qemu-i686
+++ b/target/x86/sys-available/qemu-i686
@@ -5,7 +5,6 @@ config ADK_TARGET_SYSTEM_QEMU_I686
select ADK_CPU_I686
select ADK_HARDWARE_QEMU
select ADK_TARGET_KERNEL_BZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator (i686).
diff --git a/target/x86/sys-available/toolchain-i686 b/target/x86/sys-available/toolchain-i686
index bec515fca..b7c3be238 100644
--- a/target/x86/sys-available/toolchain-i686
+++ b/target/x86/sys-available/toolchain-i686
@@ -4,7 +4,7 @@ config ADK_TARGET_SYSTEM_TOOLCHAIN_X86
select ADK_toolchain_x86
select ADK_CPU_I686
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a x86 toolchain (i686 optimized).
diff --git a/target/x86/target.mk b/target/x86/target.mk
index 30e558283..ecb811221 100644
--- a/target/x86/target.mk
+++ b/target/x86/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= x86
CPU_ARCH:= $(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/target/x86_64/Makefile b/target/x86_64/Makefile
index 596f2923f..c94c3a1a6 100644
--- a/target/x86_64/Makefile
+++ b/target/x86_64/Makefile
@@ -20,6 +20,12 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86_64),y)
@echo 'qemu-system-x86_64 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
+ @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
ifeq ($(ADK_TARGET_FS),usb)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
diff --git a/target/x86_64/kernel/qemu-x86_64 b/target/x86_64/kernel/qemu-x86_64
index fa22835b8..baad58c81 100644
--- a/target/x86_64/kernel/qemu-x86_64
+++ b/target/x86_64/kernel/qemu-x86_64
@@ -1,5 +1,4 @@
CONFIG_X86=y
-CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_GENERIC_CPU=y
CONFIG_PROCESSOR_SELECT=y
@@ -19,22 +18,8 @@ CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_IA32_EMULATION=y
CONFIG_X86_X32=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_SATA_PMP=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_PIIX=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
diff --git a/target/x86_64/sys-available/qemu-x86_64 b/target/x86_64/sys-available/qemu-x86_64
index 36e3d34b4..5067a8ecf 100644
--- a/target/x86_64/sys-available/qemu-x86_64
+++ b/target/x86_64/sys-available/qemu-x86_64
@@ -2,12 +2,11 @@ config ADK_TARGET_SYSTEM_QEMU_X86_64
bool "Qemu Emulator"
select ADK_x86_64
select ADK_qemu_x86_64
+ select ADK_64
select ADK_CPU_X86_64
select ADK_LINUX_64
select ADK_HARDWARE_QEMU
- select ADK_TARGET_KERNEL_MAY_64BIT
select ADK_TARGET_KERNEL_BZIMAGE
- select ADK_USE_KERNEL_MINICONFIG
help
Support for Qemu Emulator.
diff --git a/target/x86_64/sys-available/qemu-x86_64_x32 b/target/x86_64/sys-available/qemu-x86_64_x32
new file mode 100644
index 000000000..9108c7951
--- /dev/null
+++ b/target/x86_64/sys-available/qemu-x86_64_x32
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_X86_64_X32
+ bool "Qemu Emulator (x86_64 with X32 ABI)"
+ select ADK_x86_64
+ select ADK_qemu_x86_64
+ select ADK_x32
+ select ADK_CPU_X86_64
+ select ADK_LINUX_64
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_BZIMAGE
+ help
+ Support for Qemu Emulator.
+
diff --git a/target/x86_64/sys-available/toolchain-x86_64 b/target/x86_64/sys-available/toolchain-x86_64
index c268e9687..b93b479a1 100644
--- a/target/x86_64/sys-available/toolchain-x86_64
+++ b/target/x86_64/sys-available/toolchain-x86_64
@@ -1,10 +1,12 @@
config ADK_TARGET_SYSTEM_TOOLCHAIN_X86_64
bool "Toolchain only"
select ADK_x86_64
+ select ADK_64
select ADK_toolchain_x86_64
select ADK_CPU_X86_64
+ select ADK_LINUX_64
select ADK_TOOLCHAIN
- select ADK_TARGET_PACKAGE_TGZ
+ select ADK_TARGET_PACKAGE_TXZ
help
Build a x86_64 toolchain.
diff --git a/target/x86_64/sys-available/toolchain-x86_64_32 b/target/x86_64/sys-available/toolchain-x86_64_32
new file mode 100644
index 000000000..9e8297ea4
--- /dev/null
+++ b/target/x86_64/sys-available/toolchain-x86_64_32
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_X86_64_32
+ bool "Toolchain only (32 ABI)"
+ select ADK_x86_64
+ select ADK_32
+ select ADK_toolchain_x86_64
+ select ADK_CPU_X86_64
+ select ADK_LINUX_64
+ select ADK_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TXZ
+ help
+ Build a x86_64 toolchain.
+
diff --git a/target/x86_64/sys-available/toolchain-x86_64_x32 b/target/x86_64/sys-available/toolchain-x86_64_x32
new file mode 100644
index 000000000..22d94171f
--- /dev/null
+++ b/target/x86_64/sys-available/toolchain-x86_64_x32
@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_X86_64_X32
+ bool "Toolchain only (x32 ABI)"
+ select ADK_x86_64
+ select ADK_x32
+ select ADK_toolchain_x86_64
+ select ADK_CPU_X86_64
+ select ADK_LINUX_64
+ select ADK_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TXZ
+ help
+ Build a x86_64 toolchain.
+
diff --git a/target/x86_64/target.mk b/target/x86_64/target.mk
index 3eed00bf5..f381673fa 100644
--- a/target/x86_64/target.mk
+++ b/target/x86_64/target.mk
@@ -1,5 +1,4 @@
include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= x86
CPU_ARCH:= x86_64
-TARGET_OPTIMIZATION:= -Os -pipe
TARGET_CFLAGS_ARCH:= $(ADK_TARGET_CFLAGS)
diff --git a/toolchain/Config.in b/toolchain/Config.in
index d6a578233..54016212a 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -1,7 +1,3 @@
-config ADK_TOOLCHAIN_GCC_SJLJ
- boolean
- default n
-
menu "Toolchain settings"
config ADK_TOOLCHAIN_GDB
@@ -17,7 +13,7 @@ config ADK_TOOLCHAIN_GCC_CXX
config ADK_TOOLCHAIN_GCC_SSP
prompt "Enable Stack Smashing Protection in GCC"
boolean
- default n
+ default y
config ADK_TOOLCHAIN_GCC_USE_SSP
prompt "Use SSP for all packages"
@@ -28,7 +24,7 @@ config ADK_TOOLCHAIN_GCC_USE_SSP
config ADK_TOOLCHAIN_GCC_LTO
prompt "Enable Link Time Optimization in GCC"
boolean
- default n
+ default y
config ADK_TOOLCHAIN_GCC_USE_LTO
prompt "Use Link Time Optimization for all packages"
diff --git a/toolchain/Makefile b/toolchain/Makefile
index db5f65fd5..c70ea9820 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -53,17 +53,11 @@ else
$(LIBC)-fixup: gcc-install
endif
-$(STAGING_HOST_DIR):
- @mkdir -p $(STAGING_HOST_DIR)/lib
- @mkdir -p $(STAGING_HOST_DIR)/include
- @mkdir -p $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)
- @ln -sf ../lib $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib
-
%-download:
$(TRACE) toolchain/$(patsubst %-download,%,$@)/download
$(MAKE) -C $(patsubst %-download,%,$@) fetch
-%-prepare: $(STAGING_HOST_DIR)
+%-prepare:
$(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare
@if test x"$(patsubst %-prepare,%,$@)" = x"$(LIBC)"; then \
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index 8ebbea53c..4d34e3566 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -16,10 +16,16 @@ ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
CONFOPTS+= --with-arch=armv6
endif
-ifneq ($(strip $(ADK_LINUX_64)$(ADK_TARGET_KERNEL64)),)
+ifneq ($(ADK_LINUX_64),)
CONFOPTS+= --enable-64-bit-bfd
endif
+ifeq ($(ADK_LINUX_SH)$(ADK_LINUX_X86_64),)
+CONFOPTS+= --disable-multilib
+else
+CONFOPTS+= --enable-multilib
+endif
+
ifeq (${ADK_MAKE_PARALLEL},y)
BINUTILS_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
@@ -28,10 +34,9 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_HOST_DIR) \
+ --prefix=$(TOOLCHAIN_DIR)/usr \
--target=$(GNU_TARGET_NAME) \
--with-sysroot=$(STAGING_TARGET_DIR) \
- --disable-multilib \
--disable-dependency-tracking \
--disable-libtool-lock \
--disable-nls \
@@ -49,7 +54,7 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
$(MAKE) -C $(WRKBUILD) install
# needed on hosts without readelf, but strange things happen on Cygwin.
ifeq (${OStype},Darwin)
- $(CP) $(WRKBUILD)/binutils/readelf $(STAGING_HOST_DIR)/bin
+ $(CP) $(WRKBUILD)/binutils/readelf $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/binutils/Makefile.inc b/toolchain/binutils/Makefile.inc
index 16cfc47df..a7a2c3980 100644
--- a/toolchain/binutils/Makefile.inc
+++ b/toolchain/binutils/Makefile.inc
@@ -3,7 +3,6 @@
PKG_NAME:= binutils
PKG_VERSION:= 2.24
-PKG_MD5SUM:= e0f71a7b2ddab0f8612336ac81d9636b
+PKG_MD5SUM:= a5dd5dd2d212a282cc1d4a84633e0d88
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=binutils/}
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index d7527442f..611de97bf 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -4,21 +4,22 @@
include $(TOPDIR)/rules.mk
include ../rules.mk
-TARGET_CFLAGS:= $(filter-out -fstack-protector,$(TARGET_CFLAGS))
+TARGET_CFLAGS:= $(filter-out -fstack-protector,$(TARGET_CFLAGS))
include Makefile.inc
-GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \
+GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \
--with-bugurl="http://www.openadk.org/" \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
--target=$(GNU_TARGET_NAME) \
- --with-gmp=$(STAGING_HOST_DIR) \
- --with-mpfr=$(STAGING_HOST_DIR) \
- --with-libelf=$(STAGING_HOST_DIR) \
+ --with-gmp=$(STAGING_HOST_DIR)/usr \
+ --with-mpfr=$(STAGING_HOST_DIR)/usr \
+ --with-libelf=$(STAGING_HOST_DIR)/usr \
--disable-__cxa_atexit \
--with-gnu-ld \
--with-gnu-as \
+ --enable-tls \
--disable-libsanitizer \
--disable-libitm \
--disable-libmudflap \
@@ -27,51 +28,43 @@ GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \
--disable-libstdcxx-pch \
--disable-ppl-version-check \
--disable-cloog-version-check \
+ --with-system-zlib \
--without-ppl \
--without-cloog \
--without-isl \
--disable-nls
-ifeq ($(ADK_TOOLCHAIN_GCC_SJLJ),y)
-GCC_CONFOPTS+= --enable-sjlj-exceptions
-else
-GCC_CONFOPTS+= --disable-sjlj-exceptions
-endif
-
+GCC_FINAL_CONFOPTS:=
ifeq ($(ADK_LINUX_SH)$(ADK_LINUX_X86_64),)
-GCC_CONFOPTS+= --disable-biarch --disable-multilib
+GCC_FINAL_CONFOPTS+= --disable-biarch --disable-multilib
endif
+
ifeq ($(ADK_LINUX_SH),y)
-GCC_CONFOPTS+= --with-multilib-list=m4,m4-nofpu
+GCC_FINAL_CONFOPTS+= --enable-multilib --with-multilib-list=m4,m4-nofpu
endif
+
ifeq ($(ADK_LINUX_X86_64),y)
ifeq ($(ADK_x32),y)
-GCC_CONFOPTS+= --with-multilib-list=mx32
-else
-GCC_CONFOPTS+= --disable-biarch --disable-multilib
+GCC_FINAL_CONFOPTS+= --with-abi=x32
+endif
+ifeq ($(ADK_32),y)
+GCC_FINAL_CONFOPTS+= --with-abi=32
+endif
+ifeq ($(ADK_64),y)
+GCC_FINAL_CONFOPTS+= --disable-biarch --disable-multilib
endif
endif
ifeq ($(ADK_TOOLCHAIN_GCC_SSP),y)
-GCC_CONFOPTS+= --enable-libssp
+GCC_FINAL_CONFOPTS+= --enable-libssp
else
-GCC_CONFOPTS+= --disable-libssp
+GCC_FINAL_CONFOPTS+= --disable-libssp
endif
ifeq ($(ADK_TOOLCHAIN_GCC_LTO),y)
-GCC_CONFOPTS+= --enable-lto
+GCC_FINAL_CONFOPTS+= --enable-lto
else
-GCC_CONFOPTS+= --disable-lto
-endif
-
-ifeq ($(ARCH),m68k)
-ifeq ($(ADK_TARGET_LIBC),uclibc)
-GCC_CONFOPTS+= --disable-tls
-else
-GCC_CONFOPTS+= --enable-tls
-endif
-else
-GCC_CONFOPTS+= --enable-tls
+GCC_FINAL_CONFOPTS+= --disable-lto
endif
ifeq ($(ADK_LINUX_PPC),y)
@@ -87,6 +80,9 @@ endif
ifeq ($(ARCH),arm)
GCC_CONFOPTS+= --with-float=$(ADK_TARGET_FLOAT)
GCC_CONFOPTS+= --with-mode=$(ADK_TARGET_ARM_MODE)
+ifneq ($(ADK_TARGET_FPU),)
+GCC_CONFOPTS+= --with-fpu=$(ADK_TARGET_FPU)
+endif
endif
ifeq ($(ADK_CPU_ARM926EJ_S),y)
@@ -94,11 +90,11 @@ GCC_CONFOPTS+= --with-arch=armv5te --with-tune=arm1176jzf-s
endif
ifeq ($(ADK_CPU_ARM1176JZF_S),y)
-GCC_CONFOPTS+= --with-arch=armv6 --with-tune=arm1176jzf-s --with-fpu=vfp
+GCC_CONFOPTS+= --with-arch=armv6 --with-tune=arm1176jzf-s
endif
ifeq ($(ADK_CPU_CORTEX_A9),y)
-GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon
+GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9
endif
ifeq ($(ADK_CPU_SPARC_V9),y)
@@ -127,20 +123,27 @@ GCC_BUILD_DIR_FINAL:= $(WRKBUILD)-final
$(GCC_BUILD_DIR_MINIMAL)/.configured:
mkdir -p $(GCC_BUILD_DIR_MINIMAL)
# these symlinks are very important, do not remove
- rm -rf $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/sys-include
- ln -sf ${STAGING_TARGET_DIR}/usr/include $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/sys-include
- rm -rf ${STAGING_HOST_DIR}/$(GNU_TARGET_NAME)/lib
- ln -sf ${STAGING_TARGET_DIR}/lib $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib
+ rm -rf $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/sys-include
+ mkdir -p $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)
+ (cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME); \
+ ln -s ../$(STAGING_HOST2TARGET)/usr/include sys-include)
+ rm -rf ${TOOLCHAIN_DIR}/usr/$(GNU_TARGET_NAME)/lib
+ (cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME); \
+ ln -s ../$(STAGING_HOST2TARGET)/lib lib)
ifeq ($(ADK_LINUX_SH),y)
(cd ${STAGING_TARGET_DIR}/ && ln -sf . m4 && ln -sf . m4-nofpu)
endif
- sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' $(WRKBUILD)/gcc/configure
- cd $(GCC_BUILD_DIR_MINIMAL); PATH='$(TARGET_PATH)' \
+ $(SED) '/k prot/agcc_cv_libc_provides_ssp=yes' $(WRKBUILD)/gcc/configure
+ cd $(GCC_BUILD_DIR_MINIMAL); \
+ PATH='$(TARGET_PATH)' \
CFLAGS="-O0 -g0" \
CXXFLAGS="-O0 -g0" \
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
--enable-languages=c \
+ --disable-multilib \
+ --disable-lto \
+ --disable-libssp \
--disable-shared \
--without-headers
touch $@
@@ -155,11 +158,13 @@ $(WRKBUILD)/.headers: $(GCC_BUILD_DIR_MINIMAL)/.compiled
$(GCC_BUILD_DIR_INITIAL)/.configured:
mkdir -p $(GCC_BUILD_DIR_INITIAL)
- cd $(GCC_BUILD_DIR_INITIAL); PATH='$(TARGET_PATH)' \
+ cd $(GCC_BUILD_DIR_INITIAL); \
+ PATH='$(TARGET_PATH)' \
CFLAGS="-O0 -g0" \
CXXFLAGS="-O0 -g0" \
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
+ ${GCC_FINAL_CONFOPTS} \
--enable-languages=c \
--disable-shared \
--disable-threads \
@@ -177,9 +182,11 @@ $(WRKBUILD)/.configured: $(GCC_BUILD_DIR_INITIAL)/.compiled
$(GCC_BUILD_DIR_FINAL)/.configured:
mkdir -p $(GCC_BUILD_DIR_FINAL)
- cd $(GCC_BUILD_DIR_FINAL); PATH='$(TARGET_PATH)' \
+ cd $(GCC_BUILD_DIR_FINAL); \
+ PATH='$(TARGET_PATH)' \
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
+ ${GCC_FINAL_CONFOPTS} \
--enable-languages=$(LANGUAGES) \
--with-build-sysroot='$${prefix}/${STAGING_HOST2TARGET}' \
--with-sysroot='$${prefix}/${STAGING_HOST2TARGET}' \
@@ -194,33 +201,17 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
PATH='$(TARGET_PATH)' $(MAKE) -C $(GCC_BUILD_DIR_FINAL) install
# remove duplicate tools, convert hardlinks to symlinks
set -e; \
- cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/bin; \
+ cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin; \
for app in ar as c++ g++ gcc ld ld.bfd nm objcopy objdump ranlib strip; do \
ln -sf ../../bin/$(GNU_TARGET_NAME)-$${app} $${app}; \
done;
- (cd $(STAGING_HOST_DIR)/bin && \
+ (cd $(TOOLCHAIN_DIR)/usr/bin && \
ln -sf $(GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-gcc-${PKG_VERSION})
- # setup symlink, so that gcc/g++ find cc1plus
- (cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/ && \
- ln -sf ../libexec .)
- # setup symlink, so that gcc/g++ find stddef.h
- (cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib/ && \
- ln -sf ../../host_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_SUFFIX}/lib/gcc .)
- # fix linking g++ apps with libtool
- @-test -d $(STAGING_TARGET_DIR)/lib32 && \
- cd $(STAGING_TARGET_DIR)/lib32 && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so.6
- @-test -d $(STAGING_TARGET_DIR)/libx32 && \
- cd $(STAGING_TARGET_DIR)/libx32 && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so && \
- ln -sf libstdc++.so.6.0.18 libstdc++.so.6
- @-test -d $(STAGING_TARGET_DIR)/lib64 && \
- cd $(STAGING_TARGET_DIR)/lib64 && \
+ cd $(STAGING_TARGET_DIR)/lib && \
ln -sf libstdc++.so.6.0.18 libstdc++.so && \
ln -sf libstdc++.so.6.0.18 libstdc++.so.6
# cleanup unneeded docs
- rm -rf $(STAGING_HOST_DIR)/share
+ rm -rf $(TOOLCHAIN_DIR)/usr/share
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 86a0a5992..21720e4aa 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,8 +2,12 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gcc
+ifeq ($(ADK_LINUX_SPARC),y)
+PKG_VERSION:= 4.7.3
+PKG_MD5SUM:= 86f428a30379bdee0224e353ee2f999e
+else
PKG_VERSION:= 4.8.2
-PKG_MD5SUM:= a3d7d63b9cb6b6ea049469a0c4a43c9d
+PKG_MD5SUM:= deca88241c1135e2ff9fa5486ab5957b
+endif
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/gcc/patches/4.8.2/abi32.patch b/toolchain/gcc/patches/4.8.2/abi32.patch
new file mode 100644
index 000000000..856d608bd
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.2/abi32.patch
@@ -0,0 +1,54 @@
+diff -Nur gcc-4.8.2.orig/gcc/config/i386/biarch32.h gcc-4.8.2/gcc/config/i386/biarch32.h
+--- gcc-4.8.2.orig/gcc/config/i386/biarch32.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/biarch32.h 2014-03-23 20:33:52.000000000 +0100
+@@ -0,0 +1,27 @@
++/* Make configure files to produce biarch compiler defaulting to 32bit mode.
++ This file must be included very first, while the OS specific file later
++ to overwrite otherwise wrong defaults.
++ Copyright (C) 2001-2014 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC 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 General Public License for more details.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++<http://www.gnu.org/licenses/>. */
++
++#define TARGET_64BIT_DEFAULT 0
+diff -Nur gcc-4.8.2.orig/gcc/config.gcc gcc-4.8.2/gcc/config.gcc
+--- gcc-4.8.2.orig/gcc/config.gcc 2013-10-03 02:47:24.000000000 +0200
++++ gcc-4.8.2/gcc/config.gcc 2014-03-22 13:15:18.000000000 +0100
+@@ -522,6 +522,9 @@
+ 64 | m64)
+ tm_file="i386/biarch64.h ${tm_file}"
+ ;;
++ 32 | m32)
++ tm_file="i386/biarch32.h ${tm_file}"
++ ;;
+ x32 | mx32)
+ tm_file="i386/biarchx32.h ${tm_file}"
+ ;;
+@@ -1343,6 +1346,9 @@
+ x32 | mx32)
+ x86_multilibs="mx32"
+ ;;
++ 32 | m32)
++ x86_multilibs="m32"
++ ;;
+ *)
+ x86_multilibs="m64,m32"
+ ;;
diff --git a/toolchain/gdb/Makefile.inc b/toolchain/gdb/Makefile.inc
index 23912e1e6..c3807f8fe 100644
--- a/toolchain/gdb/Makefile.inc
+++ b/toolchain/gdb/Makefile.inc
@@ -3,7 +3,6 @@
PKG_NAME:= gdb
PKG_VERSION:= 7.7
-PKG_MD5SUM:= 271a18f41858a7e98b28ae4eb91287c9
+PKG_MD5SUM:= 40051ff95b39bd57b14b1809e2c16152
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=gdb/}
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 41987bada..44f73c1ff 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -5,13 +5,13 @@ include $(TOPDIR)/rules.mk
include ../rules.mk
# glibc does not compile with Os
-TARGET_CFLAGS_LIBC:= $(subst Os,O2,$(TARGET_CFLAGS_LIBC))
+TARGET_CFLAGS:= $(subst Os,O2,$(TARGET_CFLAGS))
ifneq ($(ADK_DEBUG),)
-TARGET_CFLAGS_LIBC+= -O2
+TARGET_CFLAGS+= -O2
endif
# ssp partially supported
-TARGET_CFLAGS_LIBC:= $(filter-out -fstack-protector,$(TARGET_CFLAGS_LIBC))
+TARGET_CFLAGS:= $(filter-out -fstack-protector,$(TARGET_CFLAGS))
include Makefile.inc
include ${TOPDIR}/mk/buildhlp.mk
@@ -64,19 +64,18 @@ $(WRKBUILD)/.installed:
${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL) install_root=$(STAGING_TARGET_DIR) install
mkdir -p ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/posix/gai.conf ${STAGING_TARGET_DIR}/etc
- ${INSTALL_DATA} ${WRKBUILD}/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc
${INSTALL_DATA} ${WRKBUILD}/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc
touch $@
$(WRKBUILD)/.fixup:
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
- -find $(STAGING_TARGET_DIR) -type f -name \*_pic\* -delete
rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
ifeq ($(ADK_TOOLCHAIN),y)
# strip target libs and host tools for toolchain builds
- PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)/bin $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh \
+ $(STAGING_TARGET_DIR) $(TOOLCHAIN_DIR)/usr/lib/gcc/$(GNU_TARGET_NAME)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc
index 3c1a3167d..3a9f24e33 100644
--- a/toolchain/glibc/Makefile.inc
+++ b/toolchain/glibc/Makefile.inc
@@ -6,8 +6,13 @@ PKG_VERSION:= 2.19
PKG_RELEASE:= 1
PKG_MD5SUM:= 5374d29864b583622b62bfc6b8429418
PKG_SITES:= ${MASTER_SITE_GNU:=glibc/}
+ifeq ($(ADK_32),y)
+GLIBC_TARGET_NAME:= i686-openadk-linux-gnu
+else
+GLIBC_TARGET_NAME:= $(GNU_TARGET_NAME)
+endif
GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
- --host=$(GNU_TARGET_NAME) \
+ --host=$(GLIBC_TARGET_NAME) \
--with-headers=$(STAGING_TARGET_DIR)/usr/include \
--disable-sanity-checks \
--disable-nls \
@@ -21,16 +26,15 @@ GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
--enable-kernel="2.6.32" \
--enable-add-ons
GLIBC_ENV:= PATH='${TARGET_PATH}' \
+ SHELL='${SHELL}' \
BUILD_CC=${CC_FOR_BUILD} \
- CFLAGS="$(TARGET_CFLAGS_LIBC)" \
- CC=${GNU_TARGET_NAME}-gcc \
- CXX=${GNU_TARGET_NAME}-g++ \
- AR=${GNU_TARGET_NAME}-ar \
- RANLIB=${GNU_TARGET_NAME}-ranlib \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CC="${TARGET_CC}" \
+ CXX="${TARGET_CXX}" \
+ AR="${TARGET_AR}" \
+ RANLIB="${TARGET_RANLIB}" \
libc_cv_forced_unwind=yes \
libc_cv_cc_with_libunwind=yes \
libc_cv_c_cleanup=yes \
libc_cv_gnu99_inline=yes \
- libc_cv_sparc64_tls=yes \
- libc_cv_slibdir="/lib" \
libc_cv_initfini_array=yes \
diff --git a/toolchain/gmp/Makefile b/toolchain/gmp/Makefile
index 692216b97..3e6e6c626 100644
--- a/toolchain/gmp/Makefile
+++ b/toolchain/gmp/Makefile
@@ -15,9 +15,10 @@ $(WRKBUILD)/.configured:
ifneq ($(OStype),Darwin)
(cd $(WRKBUILD); cp configfsf.guess config.guess)
endif
- (cd $(WRKBUILD); PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" \
+ (cd $(WRKBUILD); \
+ PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" \
./configure \
- --prefix=$(STAGING_HOST_DIR) \
+ --prefix=$(STAGING_HOST_DIR)/usr \
--with-pic \
--disable-shared \
--enable-static \
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index 4303accdc..89ebf340f 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -4,12 +4,12 @@
include $(TOPDIR)/rules.mk
include ../rules.mk
include $(TOPDIR)/mk/linux.mk
+include ${TOPDIR}/mk/kernel-vars.mk
include ${TOPDIR}/mk/buildhlp.mk
$(WRKBUILD)/.headers:
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
- headers_check
- $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
+ $(MAKE) -C $(WRKBUILD) ${KERNEL_MAKE_OPTS} headers_check
+ $(MAKE) -C $(WRKBUILD) ${KERNEL_MAKE_OPTS} \
INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \
headers_install
@-find $(STAGING_TARGET_DIR)/usr/include -name .install -delete
diff --git a/toolchain/kernel-headers/patches/3.10.33/cleankernel.patch b/toolchain/kernel-headers/patches/3.10.34/cleankernel.patch
index 5f26a6b72..5f26a6b72 100644
--- a/toolchain/kernel-headers/patches/3.10.33/cleankernel.patch
+++ b/toolchain/kernel-headers/patches/3.10.34/cleankernel.patch
diff --git a/toolchain/kernel-headers/patches/3.10.33/mkpiggy.patch b/toolchain/kernel-headers/patches/3.10.34/mkpiggy.patch
index d4e815cd2..d4e815cd2 100644
--- a/toolchain/kernel-headers/patches/3.10.33/mkpiggy.patch
+++ b/toolchain/kernel-headers/patches/3.10.34/mkpiggy.patch
diff --git a/toolchain/kernel-headers/patches/3.10.33/relocs.patch b/toolchain/kernel-headers/patches/3.10.34/relocs.patch
index 649b9e73e..649b9e73e 100644
--- a/toolchain/kernel-headers/patches/3.10.33/relocs.patch
+++ b/toolchain/kernel-headers/patches/3.10.34/relocs.patch
diff --git a/toolchain/kernel-headers/patches/3.10.33/sgidefs.patch b/toolchain/kernel-headers/patches/3.10.34/sgidefs.patch
index f00a284d9..f00a284d9 100644
--- a/toolchain/kernel-headers/patches/3.10.33/sgidefs.patch
+++ b/toolchain/kernel-headers/patches/3.10.34/sgidefs.patch
diff --git a/toolchain/kernel-headers/patches/3.10.33/sortext.patch b/toolchain/kernel-headers/patches/3.10.34/sortext.patch
index 65bbbb64b..65bbbb64b 100644
--- a/toolchain/kernel-headers/patches/3.10.33/sortext.patch
+++ b/toolchain/kernel-headers/patches/3.10.34/sortext.patch
diff --git a/toolchain/kernel-headers/patches/3.11.10/microperl.patch b/toolchain/kernel-headers/patches/3.11.10/microperl.patch
deleted file mode 100644
index 298d96593..000000000
--- a/toolchain/kernel-headers/patches/3.11.10/microperl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Nur linux-3.11.5.orig/scripts/headers_check.pl linux-3.11.5/scripts/headers_check.pl
---- linux-3.11.5.orig/scripts/headers_check.pl 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/scripts/headers_check.pl 2013-10-16 17:08:59.000000000 +0200
-@@ -18,7 +18,7 @@
- #
- # 3) Check for leaked CONFIG_ symbols
-
--use strict;
-+#use strict;
- use File::Basename;
-
- my ($dir, $arch, @files) = @ARGV;
-
diff --git a/toolchain/kernel-headers/patches/3.12.13/microperl.patch b/toolchain/kernel-headers/patches/3.12.13/microperl.patch
deleted file mode 100644
index 298d96593..000000000
--- a/toolchain/kernel-headers/patches/3.12.13/microperl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Nur linux-3.11.5.orig/scripts/headers_check.pl linux-3.11.5/scripts/headers_check.pl
---- linux-3.11.5.orig/scripts/headers_check.pl 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/scripts/headers_check.pl 2013-10-16 17:08:59.000000000 +0200
-@@ -18,7 +18,7 @@
- #
- # 3) Check for leaked CONFIG_ symbols
-
--use strict;
-+#use strict;
- use File::Basename;
-
- my ($dir, $arch, @files) = @ARGV;
-
diff --git a/toolchain/kernel-headers/patches/3.12.13/cleankernel.patch b/toolchain/kernel-headers/patches/3.12.14/cleankernel.patch
index d8c055dc3..d8c055dc3 100644
--- a/toolchain/kernel-headers/patches/3.12.13/cleankernel.patch
+++ b/toolchain/kernel-headers/patches/3.12.14/cleankernel.patch
diff --git a/toolchain/kernel-headers/patches/3.12.13/mkpiggy.patch b/toolchain/kernel-headers/patches/3.12.14/mkpiggy.patch
index d4e815cd2..d4e815cd2 100644
--- a/toolchain/kernel-headers/patches/3.12.13/mkpiggy.patch
+++ b/toolchain/kernel-headers/patches/3.12.14/mkpiggy.patch
diff --git a/toolchain/kernel-headers/patches/3.12.13/relocs.patch b/toolchain/kernel-headers/patches/3.12.14/relocs.patch
index 649b9e73e..649b9e73e 100644
--- a/toolchain/kernel-headers/patches/3.12.13/relocs.patch
+++ b/toolchain/kernel-headers/patches/3.12.14/relocs.patch
diff --git a/toolchain/kernel-headers/patches/3.12.13/sgidefs.patch b/toolchain/kernel-headers/patches/3.12.14/sgidefs.patch
index f00a284d9..f00a284d9 100644
--- a/toolchain/kernel-headers/patches/3.12.13/sgidefs.patch
+++ b/toolchain/kernel-headers/patches/3.12.14/sgidefs.patch
diff --git a/toolchain/kernel-headers/patches/3.12.13/sortext.patch b/toolchain/kernel-headers/patches/3.12.14/sortext.patch
index 8fd4e1d6b..8fd4e1d6b 100644
--- a/toolchain/kernel-headers/patches/3.12.13/sortext.patch
+++ b/toolchain/kernel-headers/patches/3.12.14/sortext.patch
diff --git a/toolchain/kernel-headers/patches/3.13.6/microperl.patch b/toolchain/kernel-headers/patches/3.13.6/microperl.patch
deleted file mode 100644
index 298d96593..000000000
--- a/toolchain/kernel-headers/patches/3.13.6/microperl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Nur linux-3.11.5.orig/scripts/headers_check.pl linux-3.11.5/scripts/headers_check.pl
---- linux-3.11.5.orig/scripts/headers_check.pl 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/scripts/headers_check.pl 2013-10-16 17:08:59.000000000 +0200
-@@ -18,7 +18,7 @@
- #
- # 3) Check for leaked CONFIG_ symbols
-
--use strict;
-+#use strict;
- use File::Basename;
-
- my ($dir, $arch, @files) = @ARGV;
-
diff --git a/toolchain/kernel-headers/patches/3.13.6/cleankernel.patch b/toolchain/kernel-headers/patches/3.13.7/cleankernel.patch
index d8c055dc3..d8c055dc3 100644
--- a/toolchain/kernel-headers/patches/3.13.6/cleankernel.patch
+++ b/toolchain/kernel-headers/patches/3.13.7/cleankernel.patch
diff --git a/toolchain/kernel-headers/patches/3.13.6/mkpiggy.patch b/toolchain/kernel-headers/patches/3.13.7/mkpiggy.patch
index 751678b74..751678b74 100644
--- a/toolchain/kernel-headers/patches/3.13.6/mkpiggy.patch
+++ b/toolchain/kernel-headers/patches/3.13.7/mkpiggy.patch
diff --git a/toolchain/kernel-headers/patches/3.13.6/relocs.patch b/toolchain/kernel-headers/patches/3.13.7/relocs.patch
index 649b9e73e..69a7c88a9 100644
--- a/toolchain/kernel-headers/patches/3.13.6/relocs.patch
+++ b/toolchain/kernel-headers/patches/3.13.7/relocs.patch
@@ -1,7 +1,18 @@
-diff -Nur linux-3.11.5.orig/arch/x86/tools/relocs.h linux-3.11.5/arch/x86/tools/relocs.h
---- linux-3.11.5.orig/arch/x86/tools/relocs.h 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/arch/x86/tools/relocs.h 2013-10-20 17:41:16.000000000 +0200
-@@ -9,10 +9,14 @@
+diff -Nur linux-3.13.6.orig/arch/x86/tools/relocs.c linux-3.13.6/arch/x86/tools/relocs.c
+--- linux-3.13.6.orig/arch/x86/tools/relocs.c 2014-03-07 07:07:02.000000000 +0100
++++ linux-3.13.6/arch/x86/tools/relocs.c 2014-03-15 19:39:45.000000000 +0100
+@@ -126,6 +126,7 @@
+
+ if (err) {
+ regerror(err, &sym_regex_c[i], errbuf, sizeof errbuf);
++ printf("foo: %s\n", sym_regex[i]);
+ die("%s", errbuf);
+ }
+ }
+diff -Nur linux-3.13.6.orig/arch/x86/tools/relocs.h linux-3.13.6/arch/x86/tools/relocs.h
+--- linux-3.13.6.orig/arch/x86/tools/relocs.h 2014-03-07 07:07:02.000000000 +0100
++++ linux-3.13.6/arch/x86/tools/relocs.h 2014-03-15 18:48:40.000000000 +0100
+@@ -9,11 +9,19 @@
#include <string.h>
#include <errno.h>
#include <unistd.h>
@@ -13,12 +24,17 @@ diff -Nur linux-3.11.5.orig/arch/x86/tools/relocs.h linux-3.11.5/arch/x86/tools/
+#else
+#include "elf.h"
+#endif
++#ifdef __APPLE__
++#include <pcreposix.h>
++#else
#include <regex.h>
++#endif
#include <tools/le_byteshift.h>
-diff -Nur linux-3.11.5.orig/tools/include/elf.h linux-3.11.5/tools/include/elf.h
---- linux-3.11.5.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.11.5/tools/include/elf.h 2013-10-20 17:42:10.000000000 +0200
+ void die(char *fmt, ...);
+diff -Nur linux-3.13.6.orig/tools/include/elf.h linux-3.13.6/tools/include/elf.h
+--- linux-3.13.6.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-3.13.6/tools/include/elf.h 2014-03-15 18:47:36.000000000 +0100
@@ -0,0 +1,2671 @@
+#ifndef _ELF_H
+#define _ELF_H
diff --git a/toolchain/kernel-headers/patches/3.13.6/sgidefs.patch b/toolchain/kernel-headers/patches/3.13.7/sgidefs.patch
index f00a284d9..f00a284d9 100644
--- a/toolchain/kernel-headers/patches/3.13.6/sgidefs.patch
+++ b/toolchain/kernel-headers/patches/3.13.7/sgidefs.patch
diff --git a/toolchain/kernel-headers/patches/3.13.6/sortext.patch b/toolchain/kernel-headers/patches/3.13.7/sortext.patch
index 8fd4e1d6b..8fd4e1d6b 100644
--- a/toolchain/kernel-headers/patches/3.13.6/sortext.patch
+++ b/toolchain/kernel-headers/patches/3.13.7/sortext.patch
diff --git a/toolchain/kernel-headers/patches/3.4.82/microperl.patch b/toolchain/kernel-headers/patches/3.4.82/microperl.patch
deleted file mode 100644
index 44c39f6e8..000000000
--- a/toolchain/kernel-headers/patches/3.4.82/microperl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Nur linux-3.4.2.orig/scripts/headers_check.pl linux-3.4.2/scripts/headers_check.pl
---- linux-3.4.2.orig/scripts/headers_check.pl 2012-06-09 17:36:33.000000000 +0200
-+++ linux-3.4.2/scripts/headers_check.pl 2012-06-15 12:45:43.000000000 +0200
-@@ -18,7 +18,7 @@
- #
- # 3) Check for leaked CONFIG_ symbols
-
--use strict;
-+#use strict;
- use File::Basename;
-
- my ($dir, $arch, @files) = @ARGV;
-diff -Nur linux-3.4.2.orig/scripts/headers_install.pl linux-3.4.2/scripts/headers_install.pl
---- linux-3.4.2.orig/scripts/headers_install.pl 2012-06-09 17:36:33.000000000 +0200
-+++ linux-3.4.2/scripts/headers_install.pl 2012-06-15 12:45:11.000000000 +0200
-@@ -16,7 +16,7 @@
- # 2) Drop include of compiler.h
- # 3) Drop all sections defined out by __KERNEL__ (using unifdef)
-
--use strict;
-+#use strict;
-
- my ($readdir, $installdir, $arch, @files) = @ARGV;
-
diff --git a/toolchain/kernel-headers/patches/3.4.82/aufs2.patch b/toolchain/kernel-headers/patches/3.4.84/aufs2.patch
index d40c9a3fe..d40c9a3fe 100644
--- a/toolchain/kernel-headers/patches/3.4.82/aufs2.patch
+++ b/toolchain/kernel-headers/patches/3.4.84/aufs2.patch
diff --git a/toolchain/kernel-headers/patches/3.4.82/linux-gcc-check.patch b/toolchain/kernel-headers/patches/3.4.84/linux-gcc-check.patch
index 7cc381845..7cc381845 100644
--- a/toolchain/kernel-headers/patches/3.4.82/linux-gcc-check.patch
+++ b/toolchain/kernel-headers/patches/3.4.84/linux-gcc-check.patch
diff --git a/toolchain/kernel-headers/patches/3.4.82/mkpiggy.patch b/toolchain/kernel-headers/patches/3.4.84/mkpiggy.patch
index d4e815cd2..d4e815cd2 100644
--- a/toolchain/kernel-headers/patches/3.4.82/mkpiggy.patch
+++ b/toolchain/kernel-headers/patches/3.4.84/mkpiggy.patch
diff --git a/toolchain/kernel-headers/patches/3.4.82/relocs.patch b/toolchain/kernel-headers/patches/3.4.84/relocs.patch
index 43c5bb580..43c5bb580 100644
--- a/toolchain/kernel-headers/patches/3.4.82/relocs.patch
+++ b/toolchain/kernel-headers/patches/3.4.84/relocs.patch
diff --git a/toolchain/libelf/Makefile b/toolchain/libelf/Makefile
index c243cdd00..90bf4cb8d 100644
--- a/toolchain/libelf/Makefile
+++ b/toolchain/libelf/Makefile
@@ -14,7 +14,7 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_HOST_DIR) \
+ --prefix=$(STAGING_HOST_DIR)/usr \
--disable-nls \
--disable-shared \
--enable-static \
diff --git a/toolchain/mpc/Makefile b/toolchain/mpc/Makefile
index 81f5b151d..40e7f615e 100644
--- a/toolchain/mpc/Makefile
+++ b/toolchain/mpc/Makefile
@@ -14,8 +14,8 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_HOST_DIR) \
- --with-gmp=$(STAGING_HOST_DIR) \
+ --prefix=$(STAGING_HOST_DIR)/usr \
+ --with-gmp=$(STAGING_HOST_DIR)/usr \
--disable-shared \
--enable-static \
);
diff --git a/toolchain/mpfr/Makefile b/toolchain/mpfr/Makefile
index 019d14d77..954040b85 100644
--- a/toolchain/mpfr/Makefile
+++ b/toolchain/mpfr/Makefile
@@ -15,7 +15,7 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
- --prefix=$(STAGING_HOST_DIR) \
+ --prefix=$(STAGING_HOST_DIR)/usr \
--with-gmp-build=$(GMP_BUILD_DIR) \
--disable-shared \
--enable-static \
diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile
index aa5e8845c..7b0eeb104 100644
--- a/toolchain/musl/Makefile
+++ b/toolchain/musl/Makefile
@@ -9,15 +9,10 @@ include ${TOPDIR}/mk/buildhlp.mk
ifeq ($(CPU_ARCH),ppc)
GNU_TARGET_NAME:= $(subst ppc,powerpc,$(GNU_TARGET_NAME))
endif
-ifeq ($(CPU_ARCH),mips64el)
-GNU_TARGET_NAME:= $(subst mips64el,mips,$(GNU_TARGET_NAME))
-endif
-ifeq ($(CPU_ARCH),mips64)
-GNU_TARGET_NAME:= $(subst mips64,mips,$(GNU_TARGET_NAME))
-endif
$(WRKBUILD)/.headers:
(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+ CFLAGS='$(TARGET_CFLAGS)' \
./configure --prefix=/usr \
--target=$(GNU_TARGET_NAME) \
--disable-gcc-wrapper \
@@ -28,35 +23,38 @@ $(WRKBUILD)/.headers:
$(WRKBUILD)/.compiled:
# reconfigure musl, otherwise linking with libgcc or libgcc_eh is disabled
- $(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) clean
+ $(MAKE) -C $(WRKBUILD) clean
(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+ CFLAGS='$(TARGET_CFLAGS)' \
./configure --prefix=/usr \
--target=$(GNU_TARGET_NAME) \
--disable-gcc-wrapper \
)
- $(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
+ $(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' all
touch $@
$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- $(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
+ $(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' DESTDIR=$(STAGING_TARGET_DIR) install
touch $@
$(WRKBUILD)/.fixup:
# reconfigure musl, otherwise linking with libgcc or libgcc_eh is disabled
- $(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) clean
+ $(MAKE) -C $(WRKBUILD) clean
(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+ CFLAGS='$(TARGET_CFLAGS)' \
./configure --prefix=/usr \
--target=$(GNU_TARGET_NAME) \
--disable-gcc-wrapper \
)
- $(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
- $(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
+ $(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' all
+ $(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' DESTDIR=$(STAGING_TARGET_DIR) install
# cleanup toolchain
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
ifeq ($(ADK_TOOLCHAIN),y)
# strip target libs and host tools for toolchain builds
- PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh \
+ $(STAGING_TARGET_DIR) $(TOOLCHAIN_DIR)/usr/lib/gcc/$(GNU_TARGET_NAME)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/musl/Makefile.inc b/toolchain/musl/Makefile.inc
index 506280532..40cf4fcf0 100644
--- a/toolchain/musl/Makefile.inc
+++ b/toolchain/musl/Makefile.inc
@@ -2,8 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= musl
-PKG_VERSION:= 0.9.15
+PKG_VERSION:= 1.0.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= 06f590a38c85722ee9343db2416425f4
+PKG_MD5SUM:= e54664fdf211d27737e328c4462b545e
PKG_SITES:= http://www.musl-libc.org/releases/
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/toolchain/musl/patches/musl-git-20140310.patch b/toolchain/musl/patches/musl-git-20140310.patch
deleted file mode 100644
index 29b58b843..000000000
--- a/toolchain/musl/patches/musl-git-20140310.patch
+++ /dev/null
@@ -1,8432 +0,0 @@
-diff -Nur musl-0.9.15/arch/arm/bits/shm.h musl-git/arch/arm/bits/shm.h
---- musl-0.9.15/arch/arm/bits/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -16,3 +16,14 @@
- unsigned long __pad1;
- unsigned long __pad2;
- };
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/arm/bits/termios.h musl-git/arch/arm/bits/termios.h
---- musl-0.9.15/arch/arm/bits/termios.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY 0004000
- #define IXOFF 0010000
- #define IMAXBEL 0020000
-+#define IUTF8 0040000
-
- #define OPOST 0000001
- #define OLCUC 0000002
-@@ -75,9 +76,6 @@
- #define VT0 0000000
- #define VT1 0040000
-
--/* ?? */
--#define XTABS 0014000
--
- #define B0 0000000
- #define B50 0000001
- #define B75 0000002
-@@ -125,8 +123,6 @@
- #define HUPCL 0002000
- #define CLOCAL 0004000
-
--#define CRTSCTS 020000000000
--
- #define ISIG 0000001
- #define ICANON 0000002
- #define ECHO 0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
-
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
-
- #define TCOOFF 0
- #define TCOON 1
-@@ -158,3 +151,10 @@
- #define TCSANOW 0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#endif
-diff -Nur musl-0.9.15/arch/arm/syscall_arch.h musl-git/arch/arm/syscall_arch.h
---- musl-0.9.15/arch/arm/syscall_arch.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/arm/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -3,6 +3,8 @@
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
- #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
-
-+long (__syscall)(long, ...);
-+
- #ifndef __clang__
-
- #define __asm_syscall(...) do { \
-diff -Nur musl-0.9.15/arch/i386/bits/shm.h musl-git/arch/i386/bits/shm.h
---- musl-0.9.15/arch/i386/bits/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/i386/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -16,3 +16,14 @@
- unsigned long __pad1;
- unsigned long __pad2;
- };
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/i386/bits/termios.h musl-git/arch/i386/bits/termios.h
---- musl-0.9.15/arch/i386/bits/termios.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/i386/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY 0004000
- #define IXOFF 0010000
- #define IMAXBEL 0020000
-+#define IUTF8 0040000
-
- #define OPOST 0000001
- #define OLCUC 0000002
-@@ -75,9 +76,6 @@
- #define VT0 0000000
- #define VT1 0040000
-
--/* ?? */
--#define XTABS 0014000
--
- #define B0 0000000
- #define B50 0000001
- #define B75 0000002
-@@ -125,8 +123,6 @@
- #define HUPCL 0002000
- #define CLOCAL 0004000
-
--#define CRTSCTS 020000000000
--
- #define ISIG 0000001
- #define ICANON 0000002
- #define ECHO 0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
-
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
-
- #define TCOOFF 0
- #define TCOON 1
-@@ -158,3 +151,10 @@
- #define TCSANOW 0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#endif
-diff -Nur musl-0.9.15/arch/microblaze/bits/shm.h musl-git/arch/microblaze/bits/shm.h
---- musl-0.9.15/arch/microblaze/bits/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -16,3 +16,14 @@
- unsigned long __pad1;
- unsigned long __pad2;
- };
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/microblaze/bits/termios.h musl-git/arch/microblaze/bits/termios.h
---- musl-0.9.15/arch/microblaze/bits/termios.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY 0004000
- #define IXOFF 0010000
- #define IMAXBEL 0020000
-+#define IUTF8 0040000
-
- #define OPOST 0000001
- #define OLCUC 0000002
-@@ -75,9 +76,6 @@
- #define VT0 0000000
- #define VT1 0040000
-
--/* ?? */
--#define XTABS 0014000
--
- #define B0 0000000
- #define B50 0000001
- #define B75 0000002
-@@ -125,8 +123,6 @@
- #define HUPCL 0002000
- #define CLOCAL 0004000
-
--#define CRTSCTS 020000000000
--
- #define ISIG 0000001
- #define ICANON 0000002
- #define ECHO 0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
-
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
-
- #define TCOOFF 0
- #define TCOON 1
-@@ -158,3 +151,10 @@
- #define TCSANOW 0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#endif
-diff -Nur musl-0.9.15/arch/microblaze/syscall_arch.h musl-git/arch/microblaze/syscall_arch.h
---- musl-0.9.15/arch/microblaze/syscall_arch.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/microblaze/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -3,6 +3,8 @@
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
- #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
-
-+long (__syscall)(long, ...);
-+
- #ifndef __clang__
-
- static __inline long __syscall0(long n)
-diff -Nur musl-0.9.15/arch/mips/bits/fenv.h musl-git/arch/mips/bits/fenv.h
---- musl-0.9.15/arch/mips/bits/fenv.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/fenv.h 2014-03-10 16:52:06.000000000 +0100
-@@ -1,3 +1,7 @@
-+#ifdef __mips_soft_float
-+#define FE_ALL_EXCEPT 0
-+#define FE_TONEAREST 0
-+#else
- #define FE_INEXACT 4
- #define FE_UNDERFLOW 8
- #define FE_OVERFLOW 16
-@@ -10,6 +14,7 @@
- #define FE_TOWARDZERO 1
- #define FE_UPWARD 2
- #define FE_DOWNWARD 3
-+#endif
-
- typedef unsigned short fexcept_t;
-
-diff -Nur musl-0.9.15/arch/mips/bits/shm.h musl-git/arch/mips/bits/shm.h
---- musl-0.9.15/arch/mips/bits/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -13,3 +13,14 @@
- unsigned long __pad1;
- unsigned long __pad2;
- };
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/mips/bits/termios.h musl-git/arch/mips/bits/termios.h
---- musl-0.9.15/arch/mips/bits/termios.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -77,9 +77,6 @@
- #define VT0 0000000
- #define VT1 0040000
-
--/* ?? */
--#define XTABS 0014000
--
- #define B0 0000000
- #define B50 0000001
- #define B75 0000002
-@@ -129,12 +126,6 @@
- #define PARODD 0001000
- #define HUPCL 0002000
- #define CLOCAL 0004000
--#define CBAUDEX 0010000
--
--#define CIBAUD 002003600000
--#define CMSPAR 010000000000
--#define CRTSCTS 020000000000
--#define IBSHIFT 16
-
- #define ISIG 0000001
- #define ICANON 0000002
-@@ -152,9 +143,6 @@
- #define PENDIN 0040000
- #define TOSTOP 0100000
- #define ITOSTOP 0100000
--#define EXTPROC 0200000
--
--#define TIOCSER_TEMT 1
-
- #define TCOOFF 0
- #define TCOON 1
-@@ -168,3 +156,14 @@
- #define TCSANOW 0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CIBAUD 002003600000
-+#define IBSHIFT 16
-+#define CMSPAR 010000000000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#define TIOCSER_TEMT 1
-+#endif
-diff -Nur musl-0.9.15/arch/mips/reloc.h musl-git/arch/mips/reloc.h
---- musl-0.9.15/arch/mips/reloc.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/reloc.h 2014-03-10 16:52:06.000000000 +0100
-@@ -8,7 +8,13 @@
- #define ENDIAN_SUFFIX ""
- #endif
-
--#define LDSO_ARCH "mips" ENDIAN_SUFFIX
-+#ifdef __mips_soft_float
-+#define FP_SUFFIX "-sf"
-+#else
-+#define FP_SUFFIX ""
-+#endif
-+
-+#define LDSO_ARCH "mips" ENDIAN_SUFFIX FP_SUFFIX
-
- #define IS_COPY(x) ((x)==R_MIPS_COPY)
- #define IS_PLT(x) 1
-diff -Nur musl-0.9.15/arch/mips/syscall_arch.h musl-git/arch/mips/syscall_arch.h
---- musl-0.9.15/arch/mips/syscall_arch.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/mips/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -3,6 +3,8 @@
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
- #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
-
-+long (__syscall)(long, ...);
-+
- #ifndef __clang__
-
- #define __asm_syscall(...) do { \
-diff -Nur musl-0.9.15/arch/powerpc/bits/shm.h musl-git/arch/powerpc/bits/shm.h
---- musl-0.9.15/arch/powerpc/bits/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -16,3 +16,14 @@
- unsigned long __pad1;
- unsigned long __pad2;
- };
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/powerpc/bits/termios.h musl-git/arch/powerpc/bits/termios.h
---- musl-0.9.15/arch/powerpc/bits/termios.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/powerpc/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -66,7 +66,6 @@
- #define TAB1 00002000
- #define TAB2 00004000
- #define TAB3 00006000
--#define XTABS 00006000
- #define CRDLY 00030000
- #define CR0 00000000
- #define CR1 00010000
-@@ -101,7 +100,6 @@
- #define B38400 0000017
- #define EXTA B19200
- #define EXTB B38400
--#define CBAUDEX 0000000
- #define B57600 00020
- #define B115200 00021
- #define B230400 00022
-@@ -120,9 +118,6 @@
- #define B4000000 00036
- #define BOTHER 00037
-
--#define CIBAUD 077600000
--#define IBSHIFT 16
--
- #define CSIZE 00001400
- #define CS5 00000000
- #define CS6 00000400
-@@ -136,8 +131,6 @@
- #define HUPCL 00040000
-
- #define CLOCAL 00100000
--#define CMSPAR 010000000000
--#define CRTSCTS 020000000000
-
- #define ISIG 0x00000080
- #define ICANON 0x00000100
-@@ -154,7 +147,6 @@
- #define FLUSHO 0x00800000
- #define PENDIN 0x20000000
- #define IEXTEN 0x00000400
--#define EXTPROC 0x10000000
-
- #define TCOOFF 0
- #define TCOON 1
-@@ -168,3 +160,13 @@
- #define TCSANOW 0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0000000
-+#define CIBAUD 077600000
-+#define IBSHIFT 16
-+#define CMSPAR 010000000000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0x10000000
-+#define XTABS 00006000
-+#endif
-diff -Nur musl-0.9.15/arch/sh/atomic.h musl-git/arch/sh/atomic.h
---- musl-0.9.15/arch/sh/atomic.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/atomic.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,87 @@
-+#ifndef _INTERNAL_ATOMIC_H
-+#define _INTERNAL_ATOMIC_H
-+
-+#include <stdint.h>
-+
-+static inline int a_ctz_l(unsigned long x)
-+{
-+ static const char debruijn32[32] = {
-+ 0, 1, 23, 2, 29, 24, 19, 3, 30, 27, 25, 11, 20, 8, 4, 13,
-+ 31, 22, 28, 18, 26, 10, 7, 12, 21, 17, 9, 6, 16, 5, 15, 14
-+ };
-+ return debruijn32[(x&-x)*0x076be629 >> 27];
-+}
-+
-+static inline int a_ctz_64(uint64_t x)
-+{
-+ uint32_t y = x;
-+ if (!y) {
-+ y = x>>32;
-+ return 32 + a_ctz_l(y);
-+ }
-+ return a_ctz_l(y);
-+}
-+
-+int __sh_cas(volatile int *, int, int);
-+int __sh_swap(volatile int *, int);
-+int __sh_fetch_add(volatile int *, int);
-+void __sh_store(volatile int *, int);
-+void __sh_and(volatile int *, int);
-+void __sh_or(volatile int *, int);
-+
-+#define a_cas(p,t,s) __sh_cas(p,t,s)
-+#define a_swap(x,v) __sh_swap(x,v)
-+#define a_fetch_add(x,v) __sh_fetch_add(x, v)
-+#define a_store(x,v) __sh_store(x, v)
-+#define a_and(x,v) __sh_and(x, v)
-+#define a_or(x,v) __sh_or(x, v)
-+
-+static inline void *a_cas_p(volatile void *p, void *t, void *s)
-+{
-+ return (void *)a_cas(p, (int)t, (int)s);
-+}
-+
-+static inline long a_cas_l(volatile void *p, long t, long s)
-+{
-+ return a_cas(p, t, s);
-+}
-+
-+static inline void a_inc(volatile int *x)
-+{
-+ a_fetch_add(x, 1);
-+}
-+
-+static inline void a_dec(volatile int *x)
-+{
-+ a_fetch_add(x, -1);
-+}
-+
-+static inline void a_spin()
-+{
-+}
-+
-+static inline void a_crash()
-+{
-+ *(volatile char *)0=0;
-+}
-+
-+static inline void a_or_l(volatile void *p, long v)
-+{
-+ a_or(p, v);
-+}
-+
-+static inline void a_and_64(volatile uint64_t *p, uint64_t v)
-+{
-+ union { uint64_t v; uint32_t r[2]; } u = { v };
-+ a_and((int *)p, u.r[0]);
-+ a_and((int *)p+1, u.r[1]);
-+}
-+
-+static inline void a_or_64(volatile uint64_t *p, uint64_t v)
-+{
-+ union { uint64_t v; uint32_t r[2]; } u = { v };
-+ a_or((int *)p, u.r[0]);
-+ a_or((int *)p+1, u.r[1]);
-+}
-+
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/alltypes.h.in musl-git/arch/sh/bits/alltypes.h.in
---- musl-0.9.15/arch/sh/bits/alltypes.h.in 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/alltypes.h.in 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,23 @@
-+#define _Addr int
-+#define _Int64 long long
-+#define _Reg int
-+
-+TYPEDEF __builtin_va_list va_list;
-+TYPEDEF __builtin_va_list __isoc_va_list;
-+
-+#ifndef __cplusplus
-+TYPEDEF long wchar_t;
-+#endif
-+TYPEDEF unsigned wint_t;
-+
-+TYPEDEF float float_t;
-+TYPEDEF double double_t;
-+
-+TYPEDEF long time_t;
-+TYPEDEF long suseconds_t;
-+
-+TYPEDEF struct { union { int __i[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-+TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
-+TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
-+TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-+TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
-diff -Nur musl-0.9.15/arch/sh/bits/endian.h musl-git/arch/sh/bits/endian.h
---- musl-0.9.15/arch/sh/bits/endian.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/endian.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+#if __BIG_ENDIAN__
-+#define __BYTE_ORDER __BIG_ENDIAN
-+#else
-+#define __BYTE_ORDER __LITTLE_ENDIAN
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/errno.h musl-git/arch/sh/bits/errno.h
---- musl-0.9.15/arch/sh/bits/errno.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/errno.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,134 @@
-+#define EPERM 1
-+#define ENOENT 2
-+#define ESRCH 3
-+#define EINTR 4
-+#define EIO 5
-+#define ENXIO 6
-+#define E2BIG 7
-+#define ENOEXEC 8
-+#define EBADF 9
-+#define ECHILD 10
-+#define EAGAIN 11
-+#define ENOMEM 12
-+#define EACCES 13
-+#define EFAULT 14
-+#define ENOTBLK 15
-+#define EBUSY 16
-+#define EEXIST 17
-+#define EXDEV 18
-+#define ENODEV 19
-+#define ENOTDIR 20
-+#define EISDIR 21
-+#define EINVAL 22
-+#define ENFILE 23
-+#define EMFILE 24
-+#define ENOTTY 25
-+#define ETXTBSY 26
-+#define EFBIG 27
-+#define ENOSPC 28
-+#define ESPIPE 29
-+#define EROFS 30
-+#define EMLINK 31
-+#define EPIPE 32
-+#define EDOM 33
-+#define ERANGE 34
-+#define EDEADLK 35
-+#define ENAMETOOLONG 36
-+#define ENOLCK 37
-+#define ENOSYS 38
-+#define ENOTEMPTY 39
-+#define ELOOP 40
-+#define EWOULDBLOCK EAGAIN
-+#define ENOMSG 42
-+#define EIDRM 43
-+#define ECHRNG 44
-+#define EL2NSYNC 45
-+#define EL3HLT 46
-+#define EL3RST 47
-+#define ELNRNG 48
-+#define EUNATCH 49
-+#define ENOCSI 50
-+#define EL2HLT 51
-+#define EBADE 52
-+#define EBADR 53
-+#define EXFULL 54
-+#define ENOANO 55
-+#define EBADRQC 56
-+#define EBADSLT 57
-+#define EDEADLOCK EDEADLK
-+#define EBFONT 59
-+#define ENOSTR 60
-+#define ENODATA 61
-+#define ETIME 62
-+#define ENOSR 63
-+#define ENONET 64
-+#define ENOPKG 65
-+#define EREMOTE 66
-+#define ENOLINK 67
-+#define EADV 68
-+#define ESRMNT 69
-+#define ECOMM 70
-+#define EPROTO 71
-+#define EMULTIHOP 72
-+#define EDOTDOT 73
-+#define EBADMSG 74
-+#define EOVERFLOW 75
-+#define ENOTUNIQ 76
-+#define EBADFD 77
-+#define EREMCHG 78
-+#define ELIBACC 79
-+#define ELIBBAD 80
-+#define ELIBSCN 81
-+#define ELIBMAX 82
-+#define ELIBEXEC 83
-+#define EILSEQ 84
-+#define ERESTART 85
-+#define ESTRPIPE 86
-+#define EUSERS 87
-+#define ENOTSOCK 88
-+#define EDESTADDRREQ 89
-+#define EMSGSIZE 90
-+#define EPROTOTYPE 91
-+#define ENOPROTOOPT 92
-+#define EPROTONOSUPPORT 93
-+#define ESOCKTNOSUPPORT 94
-+#define EOPNOTSUPP 95
-+#define ENOTSUP EOPNOTSUPP
-+#define EPFNOSUPPORT 96
-+#define EAFNOSUPPORT 97
-+#define EADDRINUSE 98
-+#define EADDRNOTAVAIL 99
-+#define ENETDOWN 100
-+#define ENETUNREACH 101
-+#define ENETRESET 102
-+#define ECONNABORTED 103
-+#define ECONNRESET 104
-+#define ENOBUFS 105
-+#define EISCONN 106
-+#define ENOTCONN 107
-+#define ESHUTDOWN 108
-+#define ETOOMANYREFS 109
-+#define ETIMEDOUT 110
-+#define ECONNREFUSED 111
-+#define EHOSTDOWN 112
-+#define EHOSTUNREACH 113
-+#define EALREADY 114
-+#define EINPROGRESS 115
-+#define ESTALE 116
-+#define EUCLEAN 117
-+#define ENOTNAM 118
-+#define ENAVAIL 119
-+#define EISNAM 120
-+#define EREMOTEIO 121
-+#define EDQUOT 122
-+#define ENOMEDIUM 123
-+#define EMEDIUMTYPE 124
-+#define ECANCELED 125
-+#define ENOKEY 126
-+#define EKEYEXPIRED 127
-+#define EKEYREVOKED 128
-+#define EKEYREJECTED 129
-+#define EOWNERDEAD 130
-+#define ENOTRECOVERABLE 131
-+#define ERFKILL 132
-+#define EHWPOISON 133
-diff -Nur musl-0.9.15/arch/sh/bits/fcntl.h musl-git/arch/sh/bits/fcntl.h
---- musl-0.9.15/arch/sh/bits/fcntl.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/fcntl.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,39 @@
-+#define O_CREAT 0100
-+#define O_EXCL 0200
-+#define O_NOCTTY 0400
-+#define O_TRUNC 01000
-+#define O_APPEND 02000
-+#define O_NONBLOCK 04000
-+#define O_DSYNC 010000
-+#define O_SYNC 04010000
-+#define O_RSYNC 04010000
-+#define O_DIRECTORY 0200000
-+#define O_NOFOLLOW 0400000
-+#define O_CLOEXEC 02000000
-+
-+#define O_ASYNC 020000
-+#define O_DIRECT 040000
-+#define O_LARGEFILE 0100000
-+#define O_NOATIME 01000000
-+#define O_TMPFILE 020200000
-+#define O_NDELAY O_NONBLOCK
-+
-+#define F_DUPFD 0
-+#define F_GETFD 1
-+#define F_SETFD 2
-+#define F_GETFL 3
-+#define F_SETFL 4
-+
-+#define F_SETOWN 8
-+#define F_GETOWN 9
-+#define F_SETSIG 10
-+#define F_GETSIG 11
-+
-+#define F_GETLK 12
-+#define F_SETLK 13
-+#define F_SETLKW 14
-+
-+#define F_SETOWN_EX 15
-+#define F_GETOWN_EX 16
-+
-+#define F_GETOWNER_UIDS 17
-diff -Nur musl-0.9.15/arch/sh/bits/fenv.h musl-git/arch/sh/bits/fenv.h
---- musl-0.9.15/arch/sh/bits/fenv.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/fenv.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,26 @@
-+#ifndef __SH_FPU_ANY__
-+
-+#define FE_ALL_EXCEPT 0
-+#define FE_TONEAREST 0
-+
-+#else
-+
-+#define FE_TONEAREST 0
-+#define FE_TOWARDZERO 1
-+
-+#define FE_INEXACT 0x04
-+#define FE_UNDERFLOW 0x08
-+#define FE_OVERFLOW 0x10
-+#define FE_DIVBYZERO 0x20
-+#define FE_INVALID 0x40
-+#define FE_ALL_EXCEPT 0x7c
-+
-+#endif
-+
-+typedef unsigned long fexcept_t;
-+
-+typedef struct {
-+ unsigned long __cw;
-+} fenv_t;
-+
-+#define FE_DFL_ENV ((const fenv_t *) -1)
-diff -Nur musl-0.9.15/arch/sh/bits/float.h musl-git/arch/sh/bits/float.h
---- musl-0.9.15/arch/sh/bits/float.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/float.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,17 @@
-+#define FLT_ROUNDS 1
-+#define FLT_EVAL_METHOD 0
-+
-+#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
-+#define LDBL_MIN 2.22507385850720138309e-308L
-+#define LDBL_MAX 1.79769313486231570815e+308L
-+#define LDBL_EPSILON 2.22044604925031308085e-16L
-+
-+#define LDBL_MANT_DIG 53
-+#define LDBL_MIN_EXP (-1021)
-+#define LDBL_MAX_EXP 1024
-+
-+#define LDBL_DIG 15
-+#define LDBL_MIN_10_EXP (-307)
-+#define LDBL_MAX_10_EXP 308
-+
-+#define DECIMAL_DIG 17
-diff -Nur musl-0.9.15/arch/sh/bits/ioctl.h musl-git/arch/sh/bits/ioctl.h
---- musl-0.9.15/arch/sh/bits/ioctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/ioctl.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,205 @@
-+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
-+#define _IOC_NONE 0U
-+#define _IOC_WRITE 1U
-+#define _IOC_READ 2U
-+
-+#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
-+#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
-+#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
-+#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
-+
-+#define FIOCLEX _IO('f', 1)
-+#define FIONCLEX _IO('f', 2)
-+#define FIOASYNC _IOW('f', 125, int)
-+#define FIONBIO _IOW('f', 126, int)
-+#define FIONREAD _IOR('f', 127, int)
-+#define TIOCINQ FIONREAD
-+#define FIOQSIZE _IOR('f', 128, char[8])
-+
-+#define TCGETA _IOR('t', 23, char[18])
-+#define TCSETA _IOW('t', 24, char[18])
-+#define TCSETAW _IOW('t', 25, char[18])
-+#define TCSETAF _IOW('t', 28, char[18])
-+
-+#define TCSBRK _IO('t', 29)
-+#define TCXONC _IO('t', 30)
-+#define TCFLSH _IO('t', 31)
-+
-+#define TIOCSWINSZ _IOW('t', 103, char[8])
-+#define TIOCGWINSZ _IOR('t', 104, char[8])
-+#define TIOCSTART _IO('t', 110)
-+#define TIOCSTOP _IO('t', 111)
-+#define TIOCOUTQ _IOR('t', 115, int)
-+
-+#define TIOCSPGRP _IOW('t', 118, int)
-+#define TIOCGPGRP _IOR('t', 119, int)
-+
-+#define TIOCEXCL _IO('T', 12)
-+#define TIOCNXCL _IO('T', 13)
-+#define TIOCSCTTY _IO('T', 14)
-+
-+#define TIOCSTI _IOW('T', 18, char)
-+#define TIOCMGET _IOR('T', 21, unsigned int)
-+#define TIOCMBIS _IOW('T', 22, unsigned int)
-+#define TIOCMBIC _IOW('T', 23, unsigned int)
-+#define TIOCMSET _IOW('T', 24, unsigned int)
-+#define TIOCM_LE 0x001
-+#define TIOCM_DTR 0x002
-+#define TIOCM_RTS 0x004
-+#define TIOCM_ST 0x008
-+#define TIOCM_SR 0x010
-+#define TIOCM_CTS 0x020
-+#define TIOCM_CAR 0x040
-+#define TIOCM_RNG 0x080
-+#define TIOCM_DSR 0x100
-+#define TIOCM_CD TIOCM_CAR
-+#define TIOCM_RI TIOCM_RNG
-+#define TIOCM_OUT1 0x2000
-+#define TIOCM_OUT2 0x4000
-+#define TIOCM_LOOP 0x8000
-+
-+#define TIOCGSOFTCAR _IOR('T', 25, unsigned int)
-+#define TIOCSSOFTCAR _IOW('T', 26, unsigned int)
-+#define TIOCLINUX _IOW('T', 28, char)
-+#define TIOCCONS _IO('T', 29)
-+#define TIOCGSERIAL _IOR('T', 30, char[60])
-+#define TIOCSSERIAL _IOW('T', 31, char[60])
-+#define TIOCPKT _IOW('T', 32, int)
-+#define TIOCPKT_DATA 0
-+#define TIOCPKT_FLUSHREAD 1
-+#define TIOCPKT_FLUSHWRITE 2
-+#define TIOCPKT_STOP 4
-+#define TIOCPKT_START 8
-+#define TIOCPKT_NOSTOP 16
-+#define TIOCPKT_DOSTOP 32
-+#define TIOCPKT_IOCTL 64
-+
-+#define TIOCNOTTY _IO('T', 34)
-+#define TIOCSETD _IOW('T', 35, int)
-+#define TIOCGETD _IOR('T', 36, int)
-+#define TCSBRKP _IOW('T', 37, int)
-+#define TIOCSBRK _IO('T', 39)
-+#define TIOCCBRK _IO('T', 40)
-+#define TIOCGSID _IOR('T', 41, int)
-+#define TCGETS _IOR('T', 42, char[44])
-+#define TCSETS _IOW('T', 43, char[44])
-+#define TCSETSW _IOW('T', 44, char[44])
-+#define TCSETSF _IOW('T', 45, char[44])
-+#define TIOCGPTN _IOR('T', 48, unsigned int)
-+#define TIOCSPTLCK _IOW('T', 49, int)
-+#define TIOCGDEV _IOR('T', 50, unsigned int)
-+#define TIOCSIG _IOW('T', 54, int)
-+#define TIOCVHANGUP _IO('T', 55)
-+#define TIOCGPKT _IOR('T', 56, int)
-+#define TIOCGPTLCK _IOR('T', 57, int)
-+#define TIOCGEXCL _IOR('T', 64, int)
-+
-+#define TIOCSERCONFIG _IO('T', 83)
-+#define TIOCSERGWILD _IOR('T', 84, int)
-+#define TIOCSERSWILD _IOW('T', 85, int)
-+#define TIOCGLCKTRMIOS _IO('T', 86)
-+#define TIOCSLCKTRMIOS _IO('T', 87)
-+#define TIOCSERGSTRUCT _IOR('T', 88, char[216])
-+#define TIOCSERGETLSR _IOR('T', 89, unsigned int)
-+#define TIOCSER_TEMT 0x01
-+#define TIOCSERGETMULTI _IOR('T', 90, char[168])
-+#define TIOCSERSETMULTI _IOW('T', 91, char[168])
-+
-+#define TIOCMIWAIT _IO('T', 92)
-+#define TIOCGICOUNT _IO('T', 93)
-+
-+struct winsize {
-+ unsigned short ws_row;
-+ unsigned short ws_col;
-+ unsigned short ws_xpixel;
-+ unsigned short ws_ypixel;
-+};
-+
-+#define TIOCM_MODEM_BITS TIOCM_OUT2
-+
-+#define N_TTY 0
-+#define N_SLIP 1
-+#define N_MOUSE 2
-+#define N_PPP 3
-+#define N_STRIP 4
-+#define N_AX25 5
-+#define N_X25 6
-+#define N_6PACK 7
-+#define N_MASC 8
-+#define N_R3964 9
-+#define N_PROFIBUS_FDL 10
-+#define N_IRDA 11
-+#define N_SMSBLOCK 12
-+#define N_HDLC 13
-+#define N_SYNC_PPP 14
-+#define N_HCI 15
-+
-+#define FIOGETOWN _IOR('f', 123, int)
-+#define FIOSETOWN _IOW('f', 124, int)
-+
-+#define SIOCATMARK _IOR('s', 7, int)
-+#define SIOCSPGRP _IOW('s', 8, int)
-+#define SIOCGPGRP _IOW('s', 9, int)
-+#define SIOCGSTAMP _IOR('s', 100, char[8])
-+
-+#define SIOCADDRT 0x890B
-+#define SIOCDELRT 0x890C
-+#define SIOCRTMSG 0x890D
-+
-+#define SIOCGIFNAME 0x8910
-+#define SIOCSIFLINK 0x8911
-+#define SIOCGIFCONF 0x8912
-+#define SIOCGIFFLAGS 0x8913
-+#define SIOCSIFFLAGS 0x8914
-+#define SIOCGIFADDR 0x8915
-+#define SIOCSIFADDR 0x8916
-+#define SIOCGIFDSTADDR 0x8917
-+#define SIOCSIFDSTADDR 0x8918
-+#define SIOCGIFBRDADDR 0x8919
-+#define SIOCSIFBRDADDR 0x891a
-+#define SIOCGIFNETMASK 0x891b
-+#define SIOCSIFNETMASK 0x891c
-+#define SIOCGIFMETRIC 0x891d
-+#define SIOCSIFMETRIC 0x891e
-+#define SIOCGIFMEM 0x891f
-+#define SIOCSIFMEM 0x8920
-+#define SIOCGIFMTU 0x8921
-+#define SIOCSIFMTU 0x8922
-+#define SIOCSIFHWADDR 0x8924
-+#define SIOCGIFENCAP 0x8925
-+#define SIOCSIFENCAP 0x8926
-+#define SIOCGIFHWADDR 0x8927
-+#define SIOCGIFSLAVE 0x8929
-+#define SIOCSIFSLAVE 0x8930
-+#define SIOCADDMULTI 0x8931
-+#define SIOCDELMULTI 0x8932
-+#define SIOCGIFINDEX 0x8933
-+#define SIOGIFINDEX SIOCGIFINDEX
-+#define SIOCSIFPFLAGS 0x8934
-+#define SIOCGIFPFLAGS 0x8935
-+#define SIOCDIFADDR 0x8936
-+#define SIOCSIFHWBROADCAST 0x8937
-+#define SIOCGIFCOUNT 0x8938
-+
-+#define SIOCGIFBR 0x8940
-+#define SIOCSIFBR 0x8941
-+
-+#define SIOCGIFTXQLEN 0x8942
-+#define SIOCSIFTXQLEN 0x8943
-+
-+#define SIOCDARP 0x8953
-+#define SIOCGARP 0x8954
-+#define SIOCSARP 0x8955
-+
-+#define SIOCDRARP 0x8960
-+#define SIOCGRARP 0x8961
-+#define SIOCSRARP 0x8962
-+
-+#define SIOCGIFMAP 0x8970
-+#define SIOCSIFMAP 0x8971
-+
-+#define SIOCADDDLCI 0x8980
-+#define SIOCDELDLCI 0x8981
-+
-+#define SIOCDEVPRIVATE 0x89F0
-+#define SIOCPROTOPRIVATE 0x89E0
-diff -Nur musl-0.9.15/arch/sh/bits/ipc.h musl-git/arch/sh/bits/ipc.h
---- musl-0.9.15/arch/sh/bits/ipc.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/ipc.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,14 @@
-+struct ipc_perm
-+{
-+ key_t __ipc_perm_key;
-+ uid_t uid;
-+ gid_t gid;
-+ uid_t cuid;
-+ gid_t cgid;
-+ mode_t mode;
-+ int __ipc_perm_seq;
-+ long __pad1;
-+ long __pad2;
-+};
-+
-+#define IPC_64 0x100
-diff -Nur musl-0.9.15/arch/sh/bits/limits.h musl-git/arch/sh/bits/limits.h
---- musl-0.9.15/arch/sh/bits/limits.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/limits.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,8 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define PAGE_SIZE 4096
-+#define LONG_BIT 32
-+#endif
-+
-+#define LONG_MAX 0x7fffffffL
-+#define LLONG_MAX 0x7fffffffffffffffLL
-diff -Nur musl-0.9.15/arch/sh/bits/mman.h musl-git/arch/sh/bits/mman.h
---- musl-0.9.15/arch/sh/bits/mman.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/mman.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,62 @@
-+#define MAP_FAILED ((void *) -1)
-+
-+#define PROT_NONE 0
-+#define PROT_READ 1
-+#define PROT_WRITE 2
-+#define PROT_EXEC 4
-+#define PROT_GROWSDOWN 0x01000000
-+#define PROT_GROWSUP 0x02000000
-+
-+#define MAP_SHARED 0x01
-+#define MAP_PRIVATE 0x02
-+#define MAP_FIXED 0x10
-+
-+#define MAP_TYPE 0x0f
-+#define MAP_FILE 0x00
-+#define MAP_ANON 0x20
-+#define MAP_ANONYMOUS MAP_ANON
-+#define MAP_32BIT 0x40
-+#define MAP_NORESERVE 0x4000
-+#define MAP_GROWSDOWN 0x0100
-+#define MAP_DENYWRITE 0x0800
-+#define MAP_EXECUTABLE 0x1000
-+#define MAP_LOCKED 0x2000
-+#define MAP_POPULATE 0x8000
-+#define MAP_NONBLOCK 0x10000
-+#define MAP_STACK 0x20000
-+#define MAP_HUGETLB 0x40000
-+
-+#define POSIX_MADV_NORMAL 0
-+#define POSIX_MADV_RANDOM 1
-+#define POSIX_MADV_SEQUENTIAL 2
-+#define POSIX_MADV_WILLNEED 3
-+#define POSIX_MADV_DONTNEED 4
-+
-+#define MS_ASYNC 1
-+#define MS_INVALIDATE 2
-+#define MS_SYNC 4
-+
-+#define MCL_CURRENT 1
-+#define MCL_FUTURE 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define MADV_NORMAL 0
-+#define MADV_RANDOM 1
-+#define MADV_SEQUENTIAL 2
-+#define MADV_WILLNEED 3
-+#define MADV_DONTNEED 4
-+#define MADV_REMOVE 9
-+#define MADV_DONTFORK 10
-+#define MADV_DOFORK 11
-+#define MADV_MERGEABLE 12
-+#define MADV_UNMERGEABLE 13
-+#define MADV_HUGEPAGE 14
-+#define MADV_NOHUGEPAGE 15
-+#define MADV_DONTDUMP 16
-+#define MADV_DODUMP 17
-+#define MADV_HWPOISON 100
-+#define MADV_SOFT_OFFLINE 101
-+
-+#define MREMAP_MAYMOVE 1
-+#define MREMAP_FIXED 2
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/msg.h musl-git/arch/sh/bits/msg.h
---- musl-0.9.15/arch/sh/bits/msg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/msg.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct msqid_ds
-+{
-+ struct ipc_perm msg_perm;
-+ time_t msg_stime;
-+ int __unused1;
-+ time_t msg_rtime;
-+ int __unused2;
-+ time_t msg_ctime;
-+ int __unused3;
-+ unsigned long msg_cbytes;
-+ msgqnum_t msg_qnum;
-+ msglen_t msg_qbytes;
-+ pid_t msg_lspid;
-+ pid_t msg_lrpid;
-+ unsigned long __unused[2];
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/posix.h musl-git/arch/sh/bits/posix.h
---- musl-0.9.15/arch/sh/bits/posix.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/posix.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,2 @@
-+#define _POSIX_V6_ILP32_OFFBIG 1
-+#define _POSIX_V7_ILP32_OFFBIG 1
-diff -Nur musl-0.9.15/arch/sh/bits/setjmp.h musl-git/arch/sh/bits/setjmp.h
---- musl-0.9.15/arch/sh/bits/setjmp.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/setjmp.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+typedef unsigned long __jmp_buf[13];
-diff -Nur musl-0.9.15/arch/sh/bits/shm.h musl-git/arch/sh/bits/shm.h
---- musl-0.9.15/arch/sh/bits/shm.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,28 @@
-+#define SHMLBA 16384
-+
-+struct shmid_ds
-+{
-+ struct ipc_perm shm_perm;
-+ size_t shm_segsz;
-+ time_t shm_atime;
-+ int __unused1;
-+ time_t shm_dtime;
-+ int __unused2;
-+ time_t shm_ctime;
-+ int __unused3;
-+ pid_t shm_cpid;
-+ pid_t shm_lpid;
-+ unsigned long shm_nattch;
-+ unsigned long __pad1;
-+ unsigned long __pad2;
-+};
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/signal.h musl-git/arch/sh/bits/signal.h
---- musl-0.9.15/arch/sh/bits/signal.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/signal.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,76 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+typedef int greg_t, gregset_t[16];
-+typedef int freg_t, fpregset_t[16];
-+typedef struct sigcontext {
-+ unsigned long oldmask;
-+ unsigned long sc_regs[16];
-+ unsigned long sc_pc, sc_pr, sc_sr;
-+ unsigned long sc_gbr, sc_mach, sc_macl;
-+ unsigned long sc_fpregs[16];
-+ unsigned long sc_xfpregs[16];
-+ unsigned int sc_fpscr, sc_fpul, sc_ownedfp;
-+} mcontext_t;
-+#else
-+typedef struct {
-+ unsigned long __regs[58];
-+} mcontext_t;
-+#endif
-+
-+typedef struct __ucontext {
-+ unsigned long uc_flags;
-+ struct __ucontext *uc_link;
-+ stack_t uc_stack;
-+ mcontext_t uc_mcontext;
-+ sigset_t uc_sigmask;
-+} ucontext_t;
-+
-+#define SA_NOCLDSTOP 1
-+#define SA_NOCLDWAIT 2
-+#define SA_SIGINFO 4
-+#define SA_ONSTACK 0x08000000
-+#define SA_RESTART 0x10000000
-+#define SA_NODEFER 0x40000000
-+#define SA_RESETHAND 0x80000000
-+#define SA_RESTORER 0x04000000
-+
-+#endif
-+
-+#define SIGHUP 1
-+#define SIGINT 2
-+#define SIGQUIT 3
-+#define SIGILL 4
-+#define SIGTRAP 5
-+#define SIGABRT 6
-+#define SIGIOT SIGABRT
-+#define SIGBUS 7
-+#define SIGFPE 8
-+#define SIGKILL 9
-+#define SIGUSR1 10
-+#define SIGSEGV 11
-+#define SIGUSR2 12
-+#define SIGPIPE 13
-+#define SIGALRM 14
-+#define SIGTERM 15
-+#define SIGSTKFLT 16
-+#define SIGCHLD 17
-+#define SIGCONT 18
-+#define SIGSTOP 19
-+#define SIGTSTP 20
-+#define SIGTTIN 21
-+#define SIGTTOU 22
-+#define SIGURG 23
-+#define SIGXCPU 24
-+#define SIGXFSZ 25
-+#define SIGVTALRM 26
-+#define SIGPROF 27
-+#define SIGWINCH 28
-+#define SIGIO 29
-+#define SIGPOLL 29
-+#define SIGPWR 30
-+#define SIGSYS 31
-+#define SIGUNUSED SIGSYS
-+
-+#define _NSIG 65
-diff -Nur musl-0.9.15/arch/sh/bits/socket.h musl-git/arch/sh/bits/socket.h
---- musl-0.9.15/arch/sh/bits/socket.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/socket.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,17 @@
-+struct msghdr
-+{
-+ void *msg_name;
-+ socklen_t msg_namelen;
-+ struct iovec *msg_iov;
-+ int msg_iovlen;
-+ void *msg_control;
-+ socklen_t msg_controllen;
-+ int msg_flags;
-+};
-+
-+struct cmsghdr
-+{
-+ socklen_t cmsg_len;
-+ int cmsg_level;
-+ int cmsg_type;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/statfs.h musl-git/arch/sh/bits/statfs.h
---- musl-0.9.15/arch/sh/bits/statfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/statfs.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+struct statfs {
-+ unsigned long f_type, f_bsize;
-+ fsblkcnt_t f_blocks, f_bfree, f_bavail;
-+ fsfilcnt_t f_files, f_ffree;
-+ fsid_t f_fsid;
-+ unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/stat.h musl-git/arch/sh/bits/stat.h
---- musl-0.9.15/arch/sh/bits/stat.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/stat.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* copied from kernel definition, but with padding replaced
-+ * by the corresponding correctly-sized userspace types. */
-+
-+struct stat
-+{
-+ dev_t st_dev;
-+ int __st_dev_padding;
-+ long __st_ino_truncated;
-+ mode_t st_mode;
-+ nlink_t st_nlink;
-+ uid_t st_uid;
-+ gid_t st_gid;
-+ dev_t st_rdev;
-+ int __st_rdev_padding;
-+ off_t st_size;
-+ blksize_t st_blksize;
-+ blkcnt_t st_blocks;
-+ struct timespec st_atim;
-+ struct timespec st_mtim;
-+ struct timespec st_ctim;
-+ ino_t st_ino;
-+};
-diff -Nur musl-0.9.15/arch/sh/bits/stdarg.h musl-git/arch/sh/bits/stdarg.h
---- musl-0.9.15/arch/sh/bits/stdarg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/stdarg.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,4 @@
-+#define va_start(v,l) __builtin_va_start(v,l)
-+#define va_end(v) __builtin_va_end(v)
-+#define va_arg(v,l) __builtin_va_arg(v,l)
-+#define va_copy(d,s) __builtin_va_copy(d,s)
-diff -Nur musl-0.9.15/arch/sh/bits/stdint.h musl-git/arch/sh/bits/stdint.h
---- musl-0.9.15/arch/sh/bits/stdint.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/stdint.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,20 @@
-+typedef int32_t int_fast16_t;
-+typedef int32_t int_fast32_t;
-+typedef uint32_t uint_fast16_t;
-+typedef uint32_t uint_fast32_t;
-+
-+#define INT_FAST16_MIN INT32_MIN
-+#define INT_FAST32_MIN INT32_MIN
-+
-+#define INT_FAST16_MAX INT32_MAX
-+#define INT_FAST32_MAX INT32_MAX
-+
-+#define UINT_FAST16_MAX UINT32_MAX
-+#define UINT_FAST32_MAX UINT32_MAX
-+
-+#define INTPTR_MIN INT32_MIN
-+#define INTPTR_MAX INT32_MAX
-+#define UINTPTR_MAX UINT32_MAX
-+#define PTRDIFF_MIN INT32_MIN
-+#define PTRDIFF_MAX INT32_MAX
-+#define SIZE_MAX UINT32_MAX
-diff -Nur musl-0.9.15/arch/sh/bits/syscall.h musl-git/arch/sh/bits/syscall.h
---- musl-0.9.15/arch/sh/bits/syscall.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/syscall.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,684 @@
-+#define __NR_restart_syscall 0
-+#define __NR_exit 1
-+#define __NR_fork 2
-+#define __NR_read 3
-+#define __NR_write 4
-+#define __NR_open 5
-+#define __NR_close 6
-+#define __NR_waitpid 7
-+#define __NR_creat 8
-+#define __NR_link 9
-+#define __NR_unlink 10
-+#define __NR_execve 11
-+#define __NR_chdir 12
-+#define __NR_time 13
-+#define __NR_mknod 14
-+#define __NR_chmod 15
-+#define __NR_lchown 16
-+#define __NR_oldstat 18
-+#define __NR_lseek 19
-+#define __NR_getpid 20
-+#define __NR_mount 21
-+#define __NR_umount 22
-+#define __NR_setuid 23
-+#define __NR_getuid 24
-+#define __NR_stime 25
-+#define __NR_ptrace 26
-+#define __NR_alarm 27
-+#define __NR_oldfstat 28
-+#define __NR_pause 29
-+#define __NR_utime 30
-+#define __NR_access 33
-+#define __NR_nice 34
-+#define __NR_sync 36
-+#define __NR_kill 37
-+#define __NR_rename 38
-+#define __NR_mkdir 39
-+#define __NR_rmdir 40
-+#define __NR_dup 41
-+#define __NR_pipe 42
-+#define __NR_times 43
-+#define __NR_brk 45
-+#define __NR_setgid 46
-+#define __NR_getgid 47
-+#define __NR_signal 48
-+#define __NR_geteuid 49
-+#define __NR_getegid 50
-+#define __NR_acct 51
-+#define __NR_umount2 52
-+#define __NR_ioctl 54
-+#define __NR_fcntl 55
-+#define __NR_setpgid 57
-+#define __NR_umask 60
-+#define __NR_chroot 61
-+#define __NR_ustat 62
-+#define __NR_dup2 63
-+#define __NR_getppid 64
-+#define __NR_getpgrp 65
-+#define __NR_setsid 66
-+#define __NR_sigaction 67
-+#define __NR_sgetmask 68
-+#define __NR_ssetmask 69
-+#define __NR_setreuid 70
-+#define __NR_setregid 71
-+#define __NR_sigsuspend 72
-+#define __NR_sigpending 73
-+#define __NR_sethostname 74
-+#define __NR_setrlimit 75
-+#define __NR_getrlimit 76
-+#define __NR_getrusage 77
-+#define __NR_gettimeofday 78
-+#define __NR_settimeofday 79
-+#define __NR_getgroups 80
-+#define __NR_setgroups 81
-+#define __NR_symlink 83
-+#define __NR_oldlstat 84
-+#define __NR_readlink 85
-+#define __NR_uselib 86
-+#define __NR_swapon 87
-+#define __NR_reboot 88
-+#define __NR_readdir 89
-+#define __NR_mmap 90
-+#define __NR_munmap 91
-+#define __NR_truncate 92
-+#define __NR_ftruncate 93
-+#define __NR_fchmod 94
-+#define __NR_fchown 95
-+#define __NR_getpriority 96
-+#define __NR_setpriority 97
-+#define __NR_statfs 99
-+#define __NR_fstatfs 100
-+#define __NR_socketcall 102
-+#define __NR_syslog 103
-+#define __NR_setitimer 104
-+#define __NR_getitimer 105
-+#define __NR_stat 106
-+#define __NR_lstat 107
-+#define __NR_fstat 108
-+#define __NR_olduname 109
-+#define __NR_vhangup 111
-+#define __NR_wait4 114
-+#define __NR_swapoff 115
-+#define __NR_sysinfo 116
-+#define __NR_ipc 117
-+#define __NR_fsync 118
-+#define __NR_sigreturn 119
-+#define __NR_clone 120
-+#define __NR_setdomainname 121
-+#define __NR_uname 122
-+#define __NR_cacheflush 123
-+#define __NR_adjtimex 124
-+#define __NR_mprotect 125
-+#define __NR_sigprocmask 126
-+#define __NR_init_module 128
-+#define __NR_delete_module 129
-+#define __NR_quotactl 131
-+#define __NR_getpgid 132
-+#define __NR_fchdir 133
-+#define __NR_bdflush 134
-+#define __NR_sysfs 135
-+#define __NR_personality 136
-+#define __NR_setfsuid 138
-+#define __NR_setfsgid 139
-+#define __NR__llseek 140
-+#define __NR_getdents 141
-+#define __NR__newselect 142
-+#define __NR_flock 143
-+#define __NR_msync 144
-+#define __NR_readv 145
-+#define __NR_writev 146
-+#define __NR_getsid 147
-+#define __NR_fdatasync 148
-+#define __NR__sysctl 149
-+#define __NR_mlock 150
-+#define __NR_munlock 151
-+#define __NR_mlockall 152
-+#define __NR_munlockall 153
-+#define __NR_sched_setparam 154
-+#define __NR_sched_getparam 155
-+#define __NR_sched_setscheduler 156
-+#define __NR_sched_getscheduler 157
-+#define __NR_sched_yield 158
-+#define __NR_sched_get_priority_max 159
-+#define __NR_sched_get_priority_min 160
-+#define __NR_sched_rr_get_interval 161
-+#define __NR_nanosleep 162
-+#define __NR_mremap 163
-+#define __NR_setresuid 164
-+#define __NR_getresuid 165
-+#define __NR_poll 168
-+#define __NR_nfsservctl 169
-+#define __NR_setresgid 170
-+#define __NR_getresgid 171
-+#define __NR_prctl 172
-+#define __NR_rt_sigreturn 173
-+#define __NR_rt_sigaction 174
-+#define __NR_rt_sigprocmask 175
-+#define __NR_rt_sigpending 176
-+#define __NR_rt_sigtimedwait 177
-+#define __NR_rt_sigqueueinfo 178
-+#define __NR_rt_sigsuspend 179
-+#define __NR_pread64 180
-+#define __NR_pwrite64 181
-+#define __NR_chown 182
-+#define __NR_getcwd 183
-+#define __NR_capget 184
-+#define __NR_capset 185
-+#define __NR_sigaltstack 186
-+#define __NR_sendfile 187
-+#define __NR_vfork 190
-+#define __NR_ugetrlimit 191
-+#define __NR_mmap2 192
-+#define __NR_truncate64 193
-+#define __NR_ftruncate64 194
-+#define __NR_stat64 195
-+#define __NR_lstat64 196
-+#define __NR_fstat64 197
-+#define __NR_lchown32 198
-+#define __NR_getuid32 199
-+#define __NR_getgid32 200
-+#define __NR_geteuid32 201
-+#define __NR_getegid32 202
-+#define __NR_setreuid32 203
-+#define __NR_setregid32 204
-+#define __NR_getgroups32 205
-+#define __NR_setgroups32 206
-+#define __NR_fchown32 207
-+#define __NR_setresuid32 208
-+#define __NR_getresuid32 209
-+#define __NR_setresgid32 210
-+#define __NR_getresgid32 211
-+#define __NR_chown32 212
-+#define __NR_setuid32 213
-+#define __NR_setgid32 214
-+#define __NR_setfsuid32 215
-+#define __NR_setfsgid32 216
-+#define __NR_pivot_root 217
-+#define __NR_mincore 218
-+#define __NR_madvise 219
-+#define __NR_getdents64 220
-+#define __NR_fcntl64 221
-+#define __NR_gettid 224
-+#define __NR_readahead 225
-+#define __NR_setxattr 226
-+#define __NR_lsetxattr 227
-+#define __NR_fsetxattr 228
-+#define __NR_getxattr 229
-+#define __NR_lgetxattr 230
-+#define __NR_fgetxattr 231
-+#define __NR_listxattr 232
-+#define __NR_llistxattr 233
-+#define __NR_flistxattr 234
-+#define __NR_removexattr 235
-+#define __NR_lremovexattr 236
-+#define __NR_fremovexattr 237
-+#define __NR_tkill 238
-+#define __NR_sendfile64 239
-+#define __NR_futex 240
-+#define __NR_sched_setaffinity 241
-+#define __NR_sched_getaffinity 242
-+#define __NR_io_setup 245
-+#define __NR_io_destroy 246
-+#define __NR_io_getevents 247
-+#define __NR_io_submit 248
-+#define __NR_io_cancel 249
-+#define __NR_fadvise64 250
-+#define __NR_exit_group 252
-+#define __NR_lookup_dcookie 253
-+#define __NR_epoll_create 254
-+#define __NR_epoll_ctl 255
-+#define __NR_epoll_wait 256
-+#define __NR_remap_file_pages 257
-+#define __NR_set_tid_address 258
-+#define __NR_timer_create 259
-+#define __NR_timer_settime 260
-+#define __NR_timer_gettime 261
-+#define __NR_timer_getoverrun 262
-+#define __NR_timer_delete 263
-+#define __NR_clock_settime 264
-+#define __NR_clock_gettime 265
-+#define __NR_clock_getres 266
-+#define __NR_clock_nanosleep 267
-+#define __NR_statfs64 268
-+#define __NR_fstatfs64 269
-+#define __NR_tgkill 270
-+#define __NR_utimes 271
-+#define __NR_fadvise64_64 272
-+#define __NR_mbind 274
-+#define __NR_get_mempolicy 275
-+#define __NR_set_mempolicy 276
-+#define __NR_mq_open 277
-+#define __NR_mq_unlink 278
-+#define __NR_mq_timedsend 279
-+#define __NR_mq_timedreceive 280
-+#define __NR_mq_notify 281
-+#define __NR_mq_getsetattr 282
-+#define __NR_kexec_load 283
-+#define __NR_waitid 284
-+#define __NR_add_key 285
-+#define __NR_request_key 286
-+#define __NR_keyctl 287
-+#define __NR_ioprio_set 288
-+#define __NR_ioprio_get 289
-+#define __NR_inotify_init 290
-+#define __NR_inotify_add_watch 291
-+#define __NR_inotify_rm_watch 292
-+#define __NR_migrate_pages 294
-+#define __NR_openat 295
-+#define __NR_mkdirat 296
-+#define __NR_mknodat 297
-+#define __NR_fchownat 298
-+#define __NR_futimesat 299
-+#define __NR_fstatat64 300
-+#define __NR_unlinkat 301
-+#define __NR_renameat 302
-+#define __NR_linkat 303
-+#define __NR_symlinkat 304
-+#define __NR_readlinkat 305
-+#define __NR_fchmodat 306
-+#define __NR_faccessat 307
-+#define __NR_pselect6 308
-+#define __NR_ppoll 309
-+#define __NR_unshare 310
-+#define __NR_set_robust_list 311
-+#define __NR_get_robust_list 312
-+#define __NR_splice 313
-+#define __NR_sync_file_range 314
-+#define __NR_tee 315
-+#define __NR_vmsplice 316
-+#define __NR_move_pages 317
-+#define __NR_getcpu 318
-+#define __NR_epoll_pwait 319
-+#define __NR_utimensat 320
-+#define __NR_signalfd 321
-+#define __NR_timerfd_create 322
-+#define __NR_eventfd 323
-+#define __NR_fallocate 324
-+#define __NR_timerfd_settime 325
-+#define __NR_timerfd_gettime 326
-+#define __NR_signalfd4 327
-+#define __NR_eventfd2 328
-+#define __NR_epoll_create1 329
-+#define __NR_dup3 330
-+#define __NR_pipe2 331
-+#define __NR_inotify_init1 332
-+#define __NR_preadv 333
-+#define __NR_pwritev 334
-+#define __NR_rt_tgsigqueueinfo 335
-+#define __NR_perf_event_open 336
-+#define __NR_fanotify_init 337
-+#define __NR_fanotify_mark 338
-+#define __NR_prlimit64 339
-+#define __NR_socket 340
-+#define __NR_bind 341
-+#define __NR_connect 342
-+#define __NR_listen 343
-+#define __NR_accept 344
-+#define __NR_getsockname 345
-+#define __NR_getpeername 346
-+#define __NR_socketpair 347
-+#define __NR_send 348
-+#define __NR_sendto 349
-+#define __NR_recv 350
-+#define __NR_recvfrom 351
-+#define __NR_shutdown 352
-+#define __NR_setsockopt 353
-+#define __NR_getsockopt 354
-+#define __NR_sendmsg 355
-+#define __NR_recvmsg 356
-+#define __NR_recvmmsg 357
-+#define __NR_accept4 358
-+#define __NR_name_to_handle_at 359
-+#define __NR_open_by_handle_at 360
-+#define __NR_clock_adjtime 361
-+#define __NR_syncfs 362
-+#define __NR_sendmmsg 363
-+#define __NR_setns 364
-+#define __NR_process_vm_readv 365
-+#define __NR_process_vm_writev 366
-+#define __NR_kcmp 367
-+#define __NR_finit_module 368
-+
-+
-+/* Repeated with SYS_ prefix */
-+
-+#define SYS_restart_syscall 0
-+#define SYS_exit 1
-+#define SYS_fork 2
-+#define SYS_read 3
-+#define SYS_write 4
-+#define SYS_open 5
-+#define SYS_close 6
-+#define SYS_waitpid 7
-+#define SYS_creat 8
-+#define SYS_link 9
-+#define SYS_unlink 10
-+#define SYS_execve 11
-+#define SYS_chdir 12
-+#define SYS_time 13
-+#define SYS_mknod 14
-+#define SYS_chmod 15
-+#define SYS_lchown 16
-+#define SYS_oldstat 18
-+#define SYS_lseek 19
-+#define SYS_getpid 20
-+#define SYS_mount 21
-+#define SYS_umount 22
-+#define SYS_setuid 23
-+#define SYS_getuid 24
-+#define SYS_stime 25
-+#define SYS_ptrace 26
-+#define SYS_alarm 27
-+#define SYS_oldfstat 28
-+#define SYS_pause 29
-+#define SYS_utime 30
-+#define SYS_access 33
-+#define SYS_nice 34
-+#define SYS_sync 36
-+#define SYS_kill 37
-+#define SYS_rename 38
-+#define SYS_mkdir 39
-+#define SYS_rmdir 40
-+#define SYS_dup 41
-+#define SYS_pipe 42
-+#define SYS_times 43
-+#define SYS_brk 45
-+#define SYS_setgid 46
-+#define SYS_getgid 47
-+#define SYS_signal 48
-+#define SYS_geteuid 49
-+#define SYS_getegid 50
-+#define SYS_acct 51
-+#define SYS_umount2 52
-+#define SYS_ioctl 54
-+#define SYS_fcntl 55
-+#define SYS_setpgid 57
-+#define SYS_umask 60
-+#define SYS_chroot 61
-+#define SYS_ustat 62
-+#define SYS_dup2 63
-+#define SYS_getppid 64
-+#define SYS_getpgrp 65
-+#define SYS_setsid 66
-+#define SYS_sigaction 67
-+#define SYS_sgetmask 68
-+#define SYS_ssetmask 69
-+#define SYS_setreuid 70
-+#define SYS_setregid 71
-+#define SYS_sigsuspend 72
-+#define SYS_sigpending 73
-+#define SYS_sethostname 74
-+#define SYS_setrlimit 75
-+#define SYS_getrlimit 76
-+#define SYS_getrusage 77
-+#define SYS_gettimeofday 78
-+#define SYS_settimeofday 79
-+#define SYS_getgroups 80
-+#define SYS_setgroups 81
-+#define SYS_symlink 83
-+#define SYS_oldlstat 84
-+#define SYS_readlink 85
-+#define SYS_uselib 86
-+#define SYS_swapon 87
-+#define SYS_reboot 88
-+#define SYS_readdir 89
-+#define SYS_mmap 90
-+#define SYS_munmap 91
-+#define SYS_truncate 92
-+#define SYS_ftruncate 93
-+#define SYS_fchmod 94
-+#define SYS_fchown 95
-+#define SYS_getpriority 96
-+#define SYS_setpriority 97
-+#define SYS_statfs 99
-+#define SYS_fstatfs 100
-+#define SYS_socketcall 102
-+#define SYS_syslog 103
-+#define SYS_setitimer 104
-+#define SYS_getitimer 105
-+#define SYS_stat 106
-+#define SYS_lstat 107
-+#define SYS_fstat 108
-+#define SYS_olduname 109
-+#define SYS_vhangup 111
-+#define SYS_wait4 114
-+#define SYS_swapoff 115
-+#define SYS_sysinfo 116
-+#define SYS_ipc 117
-+#define SYS_fsync 118
-+#define SYS_sigreturn 119
-+#define SYS_clone 120
-+#define SYS_setdomainname 121
-+#define SYS_uname 122
-+#define SYS_cacheflush 123
-+#define SYS_adjtimex 124
-+#define SYS_mprotect 125
-+#define SYS_sigprocmask 126
-+#define SYS_init_module 128
-+#define SYS_delete_module 129
-+#define SYS_quotactl 131
-+#define SYS_getpgid 132
-+#define SYS_fchdir 133
-+#define SYS_bdflush 134
-+#define SYS_sysfs 135
-+#define SYS_personality 136
-+#define SYS_setfsuid 138
-+#define SYS_setfsgid 139
-+#define SYS__llseek 140
-+#define SYS_getdents 141
-+#define SYS__newselect 142
-+#define SYS_flock 143
-+#define SYS_msync 144
-+#define SYS_readv 145
-+#define SYS_writev 146
-+#define SYS_getsid 147
-+#define SYS_fdatasync 148
-+#define SYS__sysctl 149
-+#define SYS_mlock 150
-+#define SYS_munlock 151
-+#define SYS_mlockall 152
-+#define SYS_munlockall 153
-+#define SYS_sched_setparam 154
-+#define SYS_sched_getparam 155
-+#define SYS_sched_setscheduler 156
-+#define SYS_sched_getscheduler 157
-+#define SYS_sched_yield 158
-+#define SYS_sched_get_priority_max 159
-+#define SYS_sched_get_priority_min 160
-+#define SYS_sched_rr_get_interval 161
-+#define SYS_nanosleep 162
-+#define SYS_mremap 163
-+#define SYS_setresuid 164
-+#define SYS_getresuid 165
-+#define SYS_poll 168
-+#define SYS_nfsservctl 169
-+#define SYS_setresgid 170
-+#define SYS_getresgid 171
-+#define SYS_prctl 172
-+#define SYS_rt_sigreturn 173
-+#define SYS_rt_sigaction 174
-+#define SYS_rt_sigprocmask 175
-+#define SYS_rt_sigpending 176
-+#define SYS_rt_sigtimedwait 177
-+#define SYS_rt_sigqueueinfo 178
-+#define SYS_rt_sigsuspend 179
-+#define SYS_pread64 180
-+#define SYS_pwrite64 181
-+#define SYS_chown 182
-+#define SYS_getcwd 183
-+#define SYS_capget 184
-+#define SYS_capset 185
-+#define SYS_sigaltstack 186
-+#define SYS_sendfile 187
-+#define SYS_vfork 190
-+#define SYS_ugetrlimit 191
-+#define SYS_mmap2 192
-+#define SYS_truncate64 193
-+#define SYS_ftruncate64 194
-+#define SYS_stat64 195
-+#define SYS_lstat64 196
-+#define SYS_fstat64 197
-+#define SYS_lchown32 198
-+#define SYS_getuid32 199
-+#define SYS_getgid32 200
-+#define SYS_geteuid32 201
-+#define SYS_getegid32 202
-+#define SYS_setreuid32 203
-+#define SYS_setregid32 204
-+#define SYS_getgroups32 205
-+#define SYS_setgroups32 206
-+#define SYS_fchown32 207
-+#define SYS_setresuid32 208
-+#define SYS_getresuid32 209
-+#define SYS_setresgid32 210
-+#define SYS_getresgid32 211
-+#define SYS_chown32 212
-+#define SYS_setuid32 213
-+#define SYS_setgid32 214
-+#define SYS_setfsuid32 215
-+#define SYS_setfsgid32 216
-+#define SYS_pivot_root 217
-+#define SYS_mincore 218
-+#define SYS_madvise 219
-+#define SYS_getdents64 220
-+#define SYS_fcntl64 221
-+#define SYS_gettid 224
-+#define SYS_readahead 225
-+#define SYS_setxattr 226
-+#define SYS_lsetxattr 227
-+#define SYS_fsetxattr 228
-+#define SYS_getxattr 229
-+#define SYS_lgetxattr 230
-+#define SYS_fgetxattr 231
-+#define SYS_listxattr 232
-+#define SYS_llistxattr 233
-+#define SYS_flistxattr 234
-+#define SYS_removexattr 235
-+#define SYS_lremovexattr 236
-+#define SYS_fremovexattr 237
-+#define SYS_tkill 238
-+#define SYS_sendfile64 239
-+#define SYS_futex 240
-+#define SYS_sched_setaffinity 241
-+#define SYS_sched_getaffinity 242
-+#define SYS_io_setup 245
-+#define SYS_io_destroy 246
-+#define SYS_io_getevents 247
-+#define SYS_io_submit 248
-+#define SYS_io_cancel 249
-+#define SYS_fadvise64 250
-+#define SYS_exit_group 252
-+#define SYS_lookup_dcookie 253
-+#define SYS_epoll_create 254
-+#define SYS_epoll_ctl 255
-+#define SYS_epoll_wait 256
-+#define SYS_remap_file_pages 257
-+#define SYS_set_tid_address 258
-+#define SYS_timer_create 259
-+#define SYS_timer_settime 260
-+#define SYS_timer_gettime 261
-+#define SYS_timer_getoverrun 262
-+#define SYS_timer_delete 263
-+#define SYS_clock_settime 264
-+#define SYS_clock_gettime 265
-+#define SYS_clock_getres 266
-+#define SYS_clock_nanosleep 267
-+#define SYS_statfs64 268
-+#define SYS_fstatfs64 269
-+#define SYS_tgkill 270
-+#define SYS_utimes 271
-+#define SYS_fadvise64_64 272
-+#define SYS_mbind 274
-+#define SYS_get_mempolicy 275
-+#define SYS_set_mempolicy 276
-+#define SYS_mq_open 277
-+#define SYS_mq_unlink 278
-+#define SYS_mq_timedsend 279
-+#define SYS_mq_timedreceive 280
-+#define SYS_mq_notify 281
-+#define SYS_mq_getsetattr 282
-+#define SYS_kexec_load 283
-+#define SYS_waitid 284
-+#define SYS_add_key 285
-+#define SYS_request_key 286
-+#define SYS_keyctl 287
-+#define SYS_ioprio_set 288
-+#define SYS_ioprio_get 289
-+#define SYS_inotify_init 290
-+#define SYS_inotify_add_watch 291
-+#define SYS_inotify_rm_watch 292
-+#define SYS_migrate_pages 294
-+#define SYS_openat 295
-+#define SYS_mkdirat 296
-+#define SYS_mknodat 297
-+#define SYS_fchownat 298
-+#define SYS_futimesat 299
-+#define SYS_fstatat64 300
-+#define SYS_unlinkat 301
-+#define SYS_renameat 302
-+#define SYS_linkat 303
-+#define SYS_symlinkat 304
-+#define SYS_readlinkat 305
-+#define SYS_fchmodat 306
-+#define SYS_faccessat 307
-+#define SYS_pselect6 308
-+#define SYS_ppoll 309
-+#define SYS_unshare 310
-+#define SYS_set_robust_list 311
-+#define SYS_get_robust_list 312
-+#define SYS_splice 313
-+#define SYS_sync_file_range 314
-+#define SYS_tee 315
-+#define SYS_vmsplice 316
-+#define SYS_move_pages 317
-+#define SYS_getcpu 318
-+#define SYS_epoll_pwait 319
-+#define SYS_utimensat 320
-+#define SYS_signalfd 321
-+#define SYS_timerfd_create 322
-+#define SYS_eventfd 323
-+#define SYS_fallocate 324
-+#define SYS_timerfd_settime 325
-+#define SYS_timerfd_gettime 326
-+#define SYS_signalfd4 327
-+#define SYS_eventfd2 328
-+#define SYS_epoll_create1 329
-+#define SYS_dup3 330
-+#define SYS_pipe2 331
-+#define SYS_inotify_init1 332
-+#define SYS_preadv 333
-+#define SYS_pwritev 334
-+#define SYS_rt_tgsigqueueinfo 335
-+#define SYS_perf_event_open 336
-+#define SYS_fanotify_init 337
-+#define SYS_fanotify_mark 338
-+#define SYS_prlimit64 339
-+#define SYS_socket 340
-+#define SYS_bind 341
-+#define SYS_connect 342
-+#define SYS_listen 343
-+#define SYS_accept 344
-+#define SYS_getsockname 345
-+#define SYS_getpeername 346
-+#define SYS_socketpair 347
-+#define SYS_send 348
-+#define SYS_sendto 349
-+#define SYS_recv 350
-+#define SYS_recvfrom 351
-+#define SYS_shutdown 352
-+#define SYS_setsockopt 353
-+#define SYS_getsockopt 354
-+#define SYS_sendmsg 355
-+#define SYS_recvmsg 356
-+#define SYS_recvmmsg 357
-+#define SYS_accept4 358
-+#define SYS_name_to_handle_at 359
-+#define SYS_open_by_handle_at 360
-+#define SYS_clock_adjtime 361
-+#define SYS_syncfs 362
-+#define SYS_sendmmsg 363
-+#define SYS_setns 364
-+#define SYS_process_vm_readv 365
-+#define SYS_process_vm_writev 366
-+#define SYS_kcmp 367
-+#define SYS_finit_module 368
-diff -Nur musl-0.9.15/arch/sh/bits/termios.h musl-git/arch/sh/bits/termios.h
---- musl-0.9.15/arch/sh/bits/termios.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,160 @@
-+struct termios
-+{
-+ tcflag_t c_iflag;
-+ tcflag_t c_oflag;
-+ tcflag_t c_cflag;
-+ tcflag_t c_lflag;
-+ cc_t c_line;
-+ cc_t c_cc[NCCS];
-+ speed_t __c_ispeed;
-+ speed_t __c_ospeed;
-+};
-+
-+#define VINTR 0
-+#define VQUIT 1
-+#define VERASE 2
-+#define VKILL 3
-+#define VEOF 4
-+#define VTIME 5
-+#define VMIN 6
-+#define VSWTC 7
-+#define VSTART 8
-+#define VSTOP 9
-+#define VSUSP 10
-+#define VEOL 11
-+#define VREPRINT 12
-+#define VDISCARD 13
-+#define VWERASE 14
-+#define VLNEXT 15
-+#define VEOL2 16
-+
-+#define IGNBRK 0000001
-+#define BRKINT 0000002
-+#define IGNPAR 0000004
-+#define PARMRK 0000010
-+#define INPCK 0000020
-+#define ISTRIP 0000040
-+#define INLCR 0000100
-+#define IGNCR 0000200
-+#define ICRNL 0000400
-+#define IUCLC 0001000
-+#define IXON 0002000
-+#define IXANY 0004000
-+#define IXOFF 0010000
-+#define IMAXBEL 0020000
-+#define IUTF8 0040000
-+
-+#define OPOST 0000001
-+#define OLCUC 0000002
-+#define ONLCR 0000004
-+#define OCRNL 0000010
-+#define ONOCR 0000020
-+#define ONLRET 0000040
-+#define OFILL 0000100
-+#define OFDEL 0000200
-+#define NLDLY 0000400
-+#define NL0 0000000
-+#define NL1 0000400
-+#define CRDLY 0003000
-+#define CR0 0000000
-+#define CR1 0001000
-+#define CR2 0002000
-+#define CR3 0003000
-+#define TABDLY 0014000
-+#define TAB0 0000000
-+#define TAB1 0004000
-+#define TAB2 0010000
-+#define TAB3 0014000
-+#define BSDLY 0020000
-+#define BS0 0000000
-+#define BS1 0020000
-+#define FFDLY 0100000
-+#define FF0 0000000
-+#define FF1 0100000
-+
-+#define VTDLY 0040000
-+#define VT0 0000000
-+#define VT1 0040000
-+
-+#define B0 0000000
-+#define B50 0000001
-+#define B75 0000002
-+#define B110 0000003
-+#define B134 0000004
-+#define B150 0000005
-+#define B200 0000006
-+#define B300 0000007
-+#define B600 0000010
-+#define B1200 0000011
-+#define B1800 0000012
-+#define B2400 0000013
-+#define B4800 0000014
-+#define B9600 0000015
-+#define B19200 0000016
-+#define B38400 0000017
-+
-+#define B57600 0010001
-+#define B115200 0010002
-+#define B230400 0010003
-+#define B460800 0010004
-+#define B500000 0010005
-+#define B576000 0010006
-+#define B921600 0010007
-+#define B1000000 0010010
-+#define B1152000 0010011
-+#define B1500000 0010012
-+#define B2000000 0010013
-+#define B2500000 0010014
-+#define B3000000 0010015
-+#define B3500000 0010016
-+#define B4000000 0010017
-+
-+#define CBAUD 0010017
-+
-+#define CSIZE 0000060
-+#define CS5 0000000
-+#define CS6 0000020
-+#define CS7 0000040
-+#define CS8 0000060
-+#define CSTOPB 0000100
-+#define CREAD 0000200
-+#define PARENB 0000400
-+#define PARODD 0001000
-+#define HUPCL 0002000
-+#define CLOCAL 0004000
-+
-+#define ISIG 0000001
-+#define ICANON 0000002
-+#define ECHO 0000010
-+#define ECHOE 0000020
-+#define ECHOK 0000040
-+#define ECHONL 0000100
-+#define NOFLSH 0000200
-+#define TOSTOP 0000400
-+#define IEXTEN 0100000
-+
-+#define ECHOCTL 0001000
-+#define ECHOPRT 0002000
-+#define ECHOKE 0004000
-+#define FLUSHO 0010000
-+#define PENDIN 0040000
-+
-+#define TCOOFF 0
-+#define TCOON 1
-+#define TCIOFF 2
-+#define TCION 3
-+
-+#define TCIFLUSH 0
-+#define TCOFLUSH 1
-+#define TCIOFLUSH 2
-+
-+#define TCSANOW 0
-+#define TCSADRAIN 1
-+#define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#endif
-diff -Nur musl-0.9.15/arch/sh/bits/user.h musl-git/arch/sh/bits/user.h
---- musl-0.9.15/arch/sh/bits/user.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/bits/user.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,75 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 32
-+
-+#define REG_REG0 0
-+#define REG_REG15 15
-+#define REG_PC 16
-+#define REG_PR 17
-+#define REG_SR 18
-+#define REG_GBR 19
-+#define REG_MACH 20
-+#define REG_MACL 21
-+#define REG_SYSCALL 22
-+#define REG_FPREG0 23
-+#define REG_FPREG15 38
-+#define REG_XFREG0 39
-+#define REG_XFREG15 54
-+#define REG_FPSCR 55
-+#define REG_FPUL 56
-+
-+struct pt_regs {
-+ unsigned long regs[16];
-+ unsigned long pc;
-+ unsigned long pr;
-+ unsigned long sr;
-+ unsigned long gbr;
-+ unsigned long mach;
-+ unsigned long macl;
-+ long tra;
-+};
-+
-+struct pt_dspregs {
-+ unsigned long a1;
-+ unsigned long a0g;
-+ unsigned long a1g;
-+ unsigned long m0;
-+ unsigned long m1;
-+ unsigned long a0;
-+ unsigned long x0;
-+ unsigned long x1;
-+ unsigned long y0;
-+ unsigned long y1;
-+ unsigned long dsr;
-+ unsigned long rs;
-+ unsigned long re;
-+ unsigned long mod;
-+};
-+
-+struct user_fpu_struct {
-+ unsigned long fp_regs[16];
-+ unsigned long xfp_regs[16];
-+ unsigned long fpscr;
-+ unsigned long fpul;
-+};
-+
-+#define ELF_NGREG 23
-+typedef unsigned long elf_greg_t;
-+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-+typedef struct user_fpu_struct elf_fpregset_t;
-+
-+struct user {
-+ struct pt_regs regs;
-+ struct user_fpu_struct fpu;
-+ int u_fpvalid;
-+ unsigned long u_tsize;
-+ unsigned long u_dsize;
-+ unsigned long u_ssize;
-+ unsigned long start_code;
-+ unsigned long start_data;
-+ unsigned long start_stack;
-+ long int signal;
-+ unsigned long u_ar0;
-+ struct user_fpu_struct *u_fpstate;
-+ unsigned long magic;
-+ char u_comm[32];
-+};
-diff -Nur musl-0.9.15/arch/sh/crt_arch.h musl-git/arch/sh/crt_arch.h
---- musl-0.9.15/arch/sh/crt_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/crt_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,9 @@
-+__asm__("\
-+.global _start \n\
-+_start: \n\
-+ mov r15, r4 \n\
-+ mov #-16, r0 \n\
-+ and r0, r15 \n\
-+ bsr __cstart \n\
-+ nop \n\
-+");
-diff -Nur musl-0.9.15/arch/sh/pthread_arch.h musl-git/arch/sh/pthread_arch.h
---- musl-0.9.15/arch/sh/pthread_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/pthread_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,11 @@
-+static inline struct pthread *__pthread_self()
-+{
-+ char *self;
-+ __asm__ __volatile__ ("stc gbr,%0" : "=r" (self) );
-+ return (struct pthread *) (self + 8 - sizeof(struct pthread));
-+}
-+
-+#define TLS_ABOVE_TP
-+#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 8)
-+
-+#define CANCEL_REG_IP 17
-diff -Nur musl-0.9.15/arch/sh/reloc.h musl-git/arch/sh/reloc.h
---- musl-0.9.15/arch/sh/reloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/reloc.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,47 @@
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+#define ENDIAN_SUFFIX "eb"
-+#else
-+#define ENDIAN_SUFFIX ""
-+#endif
-+
-+#define LDSO_ARCH "sh" ENDIAN_SUFFIX
-+
-+#define IS_COPY(x) ((x) == R_SH_COPY)
-+#define IS_PLT(x) ((x) == R_SH_JMP_SLOT)
-+
-+static inline void do_single_reloc(
-+ struct dso *self, unsigned char *base_addr,
-+ size_t *reloc_addr, int type, size_t addend,
-+ Sym *sym, size_t sym_size,
-+ struct symdef def, size_t sym_val)
-+{
-+ switch(type) {
-+ case R_SH_GLOB_DAT:
-+ case R_SH_JMP_SLOT:
-+ *reloc_addr = sym_val;
-+ break;
-+ case R_SH_RELATIVE:
-+ *reloc_addr = (size_t)base_addr + addend;
-+ break;
-+ case R_SH_DIR32:
-+ *reloc_addr = sym_val + addend;
-+ break;
-+ case R_SH_REL32:
-+ *reloc_addr = sym_val + addend - (size_t)reloc_addr + (size_t)base_addr;
-+ break;
-+ case R_SH_COPY:
-+ memcpy(reloc_addr, (void *)sym_val, sym_size);
-+ break;
-+ case R_SH_TLS_DTPMOD32:
-+ *reloc_addr += def.dso ? def.dso->tls_id : self->tls_id;
-+ break;
-+ case R_SH_TLS_DTPOFF32:
-+ *reloc_addr += def.sym->st_value;
-+ break;
-+ case R_SH_TLS_TPOFF32:
-+ *reloc_addr += def.sym
-+ ? def.sym->st_value + def.dso->tls_offset + 8
-+ : self->tls_offset + 8;
-+ break;
-+ }
-+}
-diff -Nur musl-0.9.15/arch/sh/src/atomic.c musl-git/arch/sh/src/atomic.c
---- musl-0.9.15/arch/sh/src/atomic.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/src/atomic.c 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,146 @@
-+#include "libc.h"
-+
-+#define LLSC_CLOBBERS "r0", "t", "memory"
-+#define LLSC_START(mem) \
-+ "0: movli.l @" mem ", r0\n"
-+#define LLSC_END(mem) \
-+ "1: movco.l r0, @" mem "\n" \
-+ " bf 0b\n" \
-+ " synco\n"
-+
-+/* gusa is a hack in the kernel which lets you create a sequence of instructions
-+ * which will be restarted if the process is preempted in the middle of the
-+ * sequence. It will do for implementing atomics on non-smp systems. ABI is:
-+ * r0 = address of first instruction after the atomic sequence
-+ * r1 = original stack pointer
-+ * r15 = -1 * length of atomic sequence in bytes
-+ */
-+#define GUSA_CLOBBERS "r0", "r1", "memory"
-+#define GUSA_START(mem,old,nop) \
-+ " .align 2\n" \
-+ " mova 1f, r0\n" \
-+ nop \
-+ " mov r15, r1\n" \
-+ " mov #(0f-1f), r15\n" \
-+ "0: mov.l @" mem ", " old "\n"
-+/* the target of mova must be 4 byte aligned, so we may need a nop */
-+#define GUSA_START_ODD(mem,old) GUSA_START(mem,old,"")
-+#define GUSA_START_EVEN(mem,old) GUSA_START(mem,old,"\tnop\n")
-+#define GUSA_END(mem,new) \
-+ " mov.l " new ", @" mem "\n" \
-+ "1: mov r1, r15\n"
-+
-+#define CPU_HAS_LLSC 0x0040
-+
-+int __sh_cas(volatile int *p, int t, int s)
-+{
-+ int old;
-+ if (__hwcap & CPU_HAS_LLSC) {
-+ __asm__ __volatile__(
-+ LLSC_START("%1")
-+ " mov r0, %0\n"
-+ " cmp/eq %0, %2\n"
-+ " bf 1f\n"
-+ " mov %3, r0\n"
-+ LLSC_END("%1")
-+ : "=&r"(old) : "r"(p), "r"(t), "r"(s) : LLSC_CLOBBERS);
-+ } else {
-+ __asm__ __volatile__(
-+ GUSA_START_EVEN("%1", "%0")
-+ " cmp/eq %0, %2\n"
-+ " bf 1f\n"
-+ GUSA_END("%1", "%3")
-+ : "=&r"(old) : "r"(p), "r"(t), "r"(s) : GUSA_CLOBBERS, "t");
-+ }
-+ return old;
-+}
-+
-+int __sh_swap(volatile int *x, int v)
-+{
-+ int old;
-+ if (__hwcap & CPU_HAS_LLSC) {
-+ __asm__ __volatile__(
-+ LLSC_START("%1")
-+ " mov r0, %0\n"
-+ " mov %2, r0\n"
-+ LLSC_END("%1")
-+ : "=&r"(old) : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+ } else {
-+ __asm__ __volatile__(
-+ GUSA_START_EVEN("%1", "%0")
-+ GUSA_END("%1", "%2")
-+ : "=&r"(old) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+ }
-+ return old;
-+}
-+
-+int __sh_fetch_add(volatile int *x, int v)
-+{
-+ int old, dummy;
-+ if (__hwcap & CPU_HAS_LLSC) {
-+ __asm__ __volatile__(
-+ LLSC_START("%1")
-+ " mov r0, %0\n"
-+ " add %2, r0\n"
-+ LLSC_END("%1")
-+ : "=&r"(old) : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+ } else {
-+ __asm__ __volatile__(
-+ GUSA_START_EVEN("%2", "%0")
-+ " mov %0, %1\n"
-+ " add %3, %1\n"
-+ GUSA_END("%2", "%1")
-+ : "=&r"(old), "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+ }
-+ return old;
-+}
-+
-+void __sh_store(volatile int *p, int x)
-+{
-+ if (__hwcap & CPU_HAS_LLSC) {
-+ __asm__ __volatile__(
-+ " mov.l %1, @%0\n"
-+ " synco\n"
-+ : : "r"(p), "r"(x) : "memory");
-+ } else {
-+ __asm__ __volatile__(
-+ " mov.l %1, @%0\n"
-+ : : "r"(p), "r"(x) : "memory");
-+ }
-+}
-+
-+void __sh_and(volatile int *x, int v)
-+{
-+ int dummy;
-+ if (__hwcap & CPU_HAS_LLSC) {
-+ __asm__ __volatile__(
-+ LLSC_START("%0")
-+ " and %1, r0\n"
-+ LLSC_END("%0")
-+ : : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+ } else {
-+ __asm__ __volatile__(
-+ GUSA_START_ODD("%1", "%0")
-+ " and %2, %0\n"
-+ GUSA_END("%1", "%0")
-+ : "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+ }
-+}
-+
-+void __sh_or(volatile int *x, int v)
-+{
-+ int dummy;
-+ if (__hwcap & CPU_HAS_LLSC) {
-+ __asm__ __volatile__(
-+ LLSC_START("%0")
-+ " or %1, r0\n"
-+ LLSC_END("%0")
-+ : : "r"(x), "r"(v) : LLSC_CLOBBERS);
-+ } else {
-+ __asm__ __volatile__(
-+ GUSA_START_ODD("%1", "%0")
-+ " or %2, %0\n"
-+ GUSA_END("%1", "%0")
-+ : "=&r"(dummy) : "r"(x), "r"(v) : GUSA_CLOBBERS);
-+ }
-+}
-diff -Nur musl-0.9.15/arch/sh/src/__fpsrc_values.c musl-git/arch/sh/src/__fpsrc_values.c
---- musl-0.9.15/arch/sh/src/__fpsrc_values.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/src/__fpsrc_values.c 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,2 @@
-+/* used by gcc for switching the FPU between single and double precision */
-+const unsigned long __fpscr_values[2] = { 0, 0x80000 };
-diff -Nur musl-0.9.15/arch/sh/syscall_arch.h musl-git/arch/sh/syscall_arch.h
---- musl-0.9.15/arch/sh/syscall_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/sh/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,87 @@
-+#define __SYSCALL_LL_E(x) \
-+((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
-+((union { long long ll; long l[2]; }){ .ll = x }).l[1]
-+#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
-+
-+/* The extra OR instructions are to work around a hardware bug:
-+ * http://documentation.renesas.com/doc/products/mpumcu/tu/tnsh7456ae.pdf
-+ */
-+#define __asm_syscall(trapno, ...) do { \
-+ __asm__ __volatile__ ( \
-+ "trapa #" #trapno "\n" \
-+ "or r0, r0\n" \
-+ "or r0, r0\n" \
-+ "or r0, r0\n" \
-+ "or r0, r0\n" \
-+ "or r0, r0\n" \
-+ : "=r"(r0) : __VA_ARGS__ : "memory"); \
-+ return r0; \
-+ } while (0)
-+
-+static inline long __syscall0(long n)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r0 __asm__("r0");
-+ __asm_syscall(16, "r"(r3));
-+}
-+
-+static inline long __syscall1(long n, long a)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r4 __asm__("r4") = a;
-+ register long r0 __asm__("r0");
-+ __asm_syscall(17, "r"(r3), "r"(r4));
-+}
-+
-+static inline long __syscall2(long n, long a, long b)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r4 __asm__("r4") = a;
-+ register long r5 __asm__("r5") = b;
-+ register long r0 __asm__("r0");
-+ __asm_syscall(18, "r"(r3), "r"(r4), "r"(r5));
-+}
-+
-+static inline long __syscall3(long n, long a, long b, long c)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r4 __asm__("r4") = a;
-+ register long r5 __asm__("r5") = b;
-+ register long r6 __asm__("r6") = c;
-+ register long r0 __asm__("r0");
-+ __asm_syscall(19, "r"(r3), "r"(r4), "r"(r5), "r"(r6));
-+}
-+
-+static inline long __syscall4(long n, long a, long b, long c, long d)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r4 __asm__("r4") = a;
-+ register long r5 __asm__("r5") = b;
-+ register long r6 __asm__("r6") = c;
-+ register long r7 __asm__("r7") = d;
-+ register long r0 __asm__("r0");
-+ __asm_syscall(20, "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7));
-+}
-+
-+static inline long __syscall5(long n, long a, long b, long c, long d, long e)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r4 __asm__("r4") = a;
-+ register long r5 __asm__("r5") = b;
-+ register long r6 __asm__("r6") = c;
-+ register long r7 __asm__("r7") = d;
-+ register long r0 __asm__("r0") = e;
-+ __asm_syscall(21, "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7), "0"(r0));
-+}
-+
-+static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
-+{
-+ register long r3 __asm__("r3") = n;
-+ register long r4 __asm__("r4") = a;
-+ register long r5 __asm__("r5") = b;
-+ register long r6 __asm__("r6") = c;
-+ register long r7 __asm__("r7") = d;
-+ register long r0 __asm__("r0") = e;
-+ register long r1 __asm__("r1") = f;
-+ __asm_syscall(22, "r"(r3), "r"(r4), "r"(r5), "r"(r6), "r"(r7), "0"(r0), "r"(r1));
-+}
-diff -Nur musl-0.9.15/arch/x32/atomic.h musl-git/arch/x32/atomic.h
---- musl-0.9.15/arch/x32/atomic.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/atomic.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,125 @@
-+#ifndef _INTERNAL_ATOMIC_H
-+#define _INTERNAL_ATOMIC_H
-+
-+#include <stdint.h>
-+
-+static inline int a_ctz_64(uint64_t x)
-+{
-+ __asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+ return x;
-+}
-+
-+static inline int a_ctz_l(unsigned long x)
-+{
-+ __asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+ return x;
-+}
-+
-+static inline void a_and_64(volatile uint64_t *p, uint64_t v)
-+{
-+ __asm__( "lock ; and %1, %0"
-+ : "=m"(*p) : "r"(v) : "memory" );
-+}
-+
-+static inline void a_or_64(volatile uint64_t *p, uint64_t v)
-+{
-+ __asm__( "lock ; or %1, %0"
-+ : "=m"(*p) : "r"(v) : "memory" );
-+}
-+
-+static inline void a_store_l(volatile void *p, long x)
-+{
-+ __asm__( "mov %1, %0" : "=m"(*(long *)p) : "r"(x) : "memory" );
-+}
-+
-+static inline void a_or_l(volatile void *p, long v)
-+{
-+ __asm__( "lock ; or %1, %0"
-+ : "=m"(*(long *)p) : "r"(v) : "memory" );
-+}
-+
-+static inline void *a_cas_p(volatile void *p, void *t, void *s)
-+{
-+ __asm__( "lock ; cmpxchg %3, %1"
-+ : "=a"(t), "=m"(*(long *)p) : "a"(t), "r"(s) : "memory" );
-+ return t;
-+}
-+
-+static inline long a_cas_l(volatile void *p, long t, long s)
-+{
-+ __asm__( "lock ; cmpxchg %3, %1"
-+ : "=a"(t), "=m"(*(long *)p) : "a"(t), "r"(s) : "memory" );
-+ return t;
-+}
-+
-+static inline int a_cas(volatile int *p, int t, int s)
-+{
-+ __asm__( "lock ; cmpxchg %3, %1"
-+ : "=a"(t), "=m"(*p) : "a"(t), "r"(s) : "memory" );
-+ return t;
-+}
-+
-+static inline void *a_swap_p(void *volatile *x, void *v)
-+{
-+ __asm__( "xchg %0, %1" : "=r"(v), "=m"(*(void **)x) : "0"(v) : "memory" );
-+ return v;
-+}
-+static inline long a_swap_l(volatile void *x, long v)
-+{
-+ __asm__( "xchg %0, %1" : "=r"(v), "=m"(*(long *)x) : "0"(v) : "memory" );
-+ return v;
-+}
-+
-+static inline void a_or(volatile void *p, int v)
-+{
-+ __asm__( "lock ; or %1, %0"
-+ : "=m"(*(int *)p) : "r"(v) : "memory" );
-+}
-+
-+static inline void a_and(volatile void *p, int v)
-+{
-+ __asm__( "lock ; and %1, %0"
-+ : "=m"(*(int *)p) : "r"(v) : "memory" );
-+}
-+
-+static inline int a_swap(volatile int *x, int v)
-+{
-+ __asm__( "xchg %0, %1" : "=r"(v), "=m"(*x) : "0"(v) : "memory" );
-+ return v;
-+}
-+
-+#define a_xchg a_swap
-+
-+static inline int a_fetch_add(volatile int *x, int v)
-+{
-+ __asm__( "lock ; xadd %0, %1" : "=r"(v), "=m"(*x) : "0"(v) : "memory" );
-+ return v;
-+}
-+
-+static inline void a_inc(volatile int *x)
-+{
-+ __asm__( "lock ; incl %0" : "=m"(*x) : "m"(*x) : "memory" );
-+}
-+
-+static inline void a_dec(volatile int *x)
-+{
-+ __asm__( "lock ; decl %0" : "=m"(*x) : "m"(*x) : "memory" );
-+}
-+
-+static inline void a_store(volatile int *p, int x)
-+{
-+ __asm__( "mov %1, %0" : "=m"(*p) : "r"(x) : "memory" );
-+}
-+
-+static inline void a_spin()
-+{
-+ __asm__ __volatile__( "pause" : : : "memory" );
-+}
-+
-+static inline void a_crash()
-+{
-+ __asm__ __volatile__( "hlt" : : : "memory" );
-+}
-+
-+
-+#endif
-diff -Nur musl-0.9.15/arch/x32/bits/alltypes.h.in musl-git/arch/x32/bits/alltypes.h.in
---- musl-0.9.15/arch/x32/bits/alltypes.h.in 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/alltypes.h.in 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,28 @@
-+#define _Addr int
-+#define _Int64 long long
-+#define _Reg long long
-+
-+TYPEDEF __builtin_va_list va_list;
-+TYPEDEF __builtin_va_list __isoc_va_list;
-+
-+#ifndef __cplusplus
-+TYPEDEF long wchar_t;
-+#endif
-+TYPEDEF unsigned wint_t;
-+
-+#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 2
-+TYPEDEF long double float_t;
-+TYPEDEF long double double_t;
-+#else
-+TYPEDEF float float_t;
-+TYPEDEF double double_t;
-+#endif
-+
-+TYPEDEF long long time_t;
-+TYPEDEF long long suseconds_t;
-+
-+TYPEDEF struct { union { int __i[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
-+TYPEDEF struct { union { int __i[10]; void *__p[5]; } __u; } pthread_mutex_t;
-+TYPEDEF struct { union { int __i[12]; void *__p[6]; } __u; } pthread_cond_t;
-+TYPEDEF struct { union { int __i[14]; void *__p[7]; } __u; } pthread_rwlock_t;
-+TYPEDEF struct { union { int __i[8]; void *__p[4]; } __u; } pthread_barrier_t;
-diff -Nur musl-0.9.15/arch/x32/bits/endian.h musl-git/arch/x32/bits/endian.h
---- musl-0.9.15/arch/x32/bits/endian.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/endian.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+#define __BYTE_ORDER __LITTLE_ENDIAN
-diff -Nur musl-0.9.15/arch/x32/bits/errno.h musl-git/arch/x32/bits/errno.h
---- musl-0.9.15/arch/x32/bits/errno.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/errno.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,134 @@
-+#define EPERM 1
-+#define ENOENT 2
-+#define ESRCH 3
-+#define EINTR 4
-+#define EIO 5
-+#define ENXIO 6
-+#define E2BIG 7
-+#define ENOEXEC 8
-+#define EBADF 9
-+#define ECHILD 10
-+#define EAGAIN 11
-+#define ENOMEM 12
-+#define EACCES 13
-+#define EFAULT 14
-+#define ENOTBLK 15
-+#define EBUSY 16
-+#define EEXIST 17
-+#define EXDEV 18
-+#define ENODEV 19
-+#define ENOTDIR 20
-+#define EISDIR 21
-+#define EINVAL 22
-+#define ENFILE 23
-+#define EMFILE 24
-+#define ENOTTY 25
-+#define ETXTBSY 26
-+#define EFBIG 27
-+#define ENOSPC 28
-+#define ESPIPE 29
-+#define EROFS 30
-+#define EMLINK 31
-+#define EPIPE 32
-+#define EDOM 33
-+#define ERANGE 34
-+#define EDEADLK 35
-+#define ENAMETOOLONG 36
-+#define ENOLCK 37
-+#define ENOSYS 38
-+#define ENOTEMPTY 39
-+#define ELOOP 40
-+#define EWOULDBLOCK EAGAIN
-+#define ENOMSG 42
-+#define EIDRM 43
-+#define ECHRNG 44
-+#define EL2NSYNC 45
-+#define EL3HLT 46
-+#define EL3RST 47
-+#define ELNRNG 48
-+#define EUNATCH 49
-+#define ENOCSI 50
-+#define EL2HLT 51
-+#define EBADE 52
-+#define EBADR 53
-+#define EXFULL 54
-+#define ENOANO 55
-+#define EBADRQC 56
-+#define EBADSLT 57
-+#define EDEADLOCK EDEADLK
-+#define EBFONT 59
-+#define ENOSTR 60
-+#define ENODATA 61
-+#define ETIME 62
-+#define ENOSR 63
-+#define ENONET 64
-+#define ENOPKG 65
-+#define EREMOTE 66
-+#define ENOLINK 67
-+#define EADV 68
-+#define ESRMNT 69
-+#define ECOMM 70
-+#define EPROTO 71
-+#define EMULTIHOP 72
-+#define EDOTDOT 73
-+#define EBADMSG 74
-+#define EOVERFLOW 75
-+#define ENOTUNIQ 76
-+#define EBADFD 77
-+#define EREMCHG 78
-+#define ELIBACC 79
-+#define ELIBBAD 80
-+#define ELIBSCN 81
-+#define ELIBMAX 82
-+#define ELIBEXEC 83
-+#define EILSEQ 84
-+#define ERESTART 85
-+#define ESTRPIPE 86
-+#define EUSERS 87
-+#define ENOTSOCK 88
-+#define EDESTADDRREQ 89
-+#define EMSGSIZE 90
-+#define EPROTOTYPE 91
-+#define ENOPROTOOPT 92
-+#define EPROTONOSUPPORT 93
-+#define ESOCKTNOSUPPORT 94
-+#define EOPNOTSUPP 95
-+#define ENOTSUP EOPNOTSUPP
-+#define EPFNOSUPPORT 96
-+#define EAFNOSUPPORT 97
-+#define EADDRINUSE 98
-+#define EADDRNOTAVAIL 99
-+#define ENETDOWN 100
-+#define ENETUNREACH 101
-+#define ENETRESET 102
-+#define ECONNABORTED 103
-+#define ECONNRESET 104
-+#define ENOBUFS 105
-+#define EISCONN 106
-+#define ENOTCONN 107
-+#define ESHUTDOWN 108
-+#define ETOOMANYREFS 109
-+#define ETIMEDOUT 110
-+#define ECONNREFUSED 111
-+#define EHOSTDOWN 112
-+#define EHOSTUNREACH 113
-+#define EALREADY 114
-+#define EINPROGRESS 115
-+#define ESTALE 116
-+#define EUCLEAN 117
-+#define ENOTNAM 118
-+#define ENAVAIL 119
-+#define EISNAM 120
-+#define EREMOTEIO 121
-+#define EDQUOT 122
-+#define ENOMEDIUM 123
-+#define EMEDIUMTYPE 124
-+#define ECANCELED 125
-+#define ENOKEY 126
-+#define EKEYEXPIRED 127
-+#define EKEYREVOKED 128
-+#define EKEYREJECTED 129
-+#define EOWNERDEAD 130
-+#define ENOTRECOVERABLE 131
-+#define ERFKILL 132
-+#define EHWPOISON 133
-diff -Nur musl-0.9.15/arch/x32/bits/fcntl.h musl-git/arch/x32/bits/fcntl.h
---- musl-0.9.15/arch/x32/bits/fcntl.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/fcntl.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,39 @@
-+#define O_CREAT 0100
-+#define O_EXCL 0200
-+#define O_NOCTTY 0400
-+#define O_TRUNC 01000
-+#define O_APPEND 02000
-+#define O_NONBLOCK 04000
-+#define O_DSYNC 010000
-+#define O_SYNC 04010000
-+#define O_RSYNC 04010000
-+#define O_DIRECTORY 0200000
-+#define O_NOFOLLOW 0400000
-+#define O_CLOEXEC 02000000
-+
-+#define O_ASYNC 020000
-+#define O_DIRECT 040000
-+#define O_LARGEFILE 0
-+#define O_NOATIME 01000000
-+#define O_TMPFILE 020200000
-+#define O_NDELAY O_NONBLOCK
-+
-+#define F_DUPFD 0
-+#define F_GETFD 1
-+#define F_SETFD 2
-+#define F_GETFL 3
-+#define F_SETFL 4
-+
-+#define F_SETOWN 8
-+#define F_GETOWN 9
-+#define F_SETSIG 10
-+#define F_GETSIG 11
-+
-+#define F_GETLK 5
-+#define F_SETLK 6
-+#define F_SETLKW 7
-+
-+#define F_SETOWN_EX 15
-+#define F_GETOWN_EX 16
-+
-+#define F_GETOWNER_UIDS 17
-diff -Nur musl-0.9.15/arch/x32/bits/fenv.h musl-git/arch/x32/bits/fenv.h
---- musl-0.9.15/arch/x32/bits/fenv.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/fenv.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,34 @@
-+#define FE_INVALID 1
-+#define __FE_DENORM 2
-+#define FE_DIVBYZERO 4
-+#define FE_OVERFLOW 8
-+#define FE_UNDERFLOW 16
-+#define FE_INEXACT 32
-+
-+#define FE_ALL_EXCEPT 63
-+
-+#define FE_TONEAREST 0
-+#define FE_DOWNWARD 0x400
-+#define FE_UPWARD 0x800
-+#define FE_TOWARDZERO 0xc00
-+
-+typedef unsigned short fexcept_t;
-+
-+typedef struct {
-+ unsigned short __control_word;
-+ unsigned short __unused1;
-+ unsigned short __status_word;
-+ unsigned short __unused2;
-+ unsigned short __tags;
-+ unsigned short __unused3;
-+ unsigned int __eip;
-+ unsigned short __cs_selector;
-+ unsigned int __opcode:11;
-+ unsigned int __unused4:5;
-+ unsigned int __data_offset;
-+ unsigned short __data_selector;
-+ unsigned short __unused5;
-+ unsigned int __mxcsr;
-+} fenv_t;
-+
-+#define FE_DFL_ENV ((const fenv_t *) -1)
-diff -Nur musl-0.9.15/arch/x32/bits/float.h musl-git/arch/x32/bits/float.h
---- musl-0.9.15/arch/x32/bits/float.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/float.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,21 @@
-+#define FLT_ROUNDS 1
-+#ifdef __FLT_EVAL_METHOD__
-+#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-+#else
-+#define FLT_EVAL_METHOD 0
-+#endif
-+
-+#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
-+#define LDBL_MIN 3.3621031431120935063e-4932L
-+#define LDBL_MAX 1.1897314953572317650e+4932L
-+#define LDBL_EPSILON 1.0842021724855044340e-19L
-+
-+#define LDBL_MANT_DIG 64
-+#define LDBL_MIN_EXP (-16381)
-+#define LDBL_MAX_EXP 16384
-+
-+#define LDBL_DIG 18
-+#define LDBL_MIN_10_EXP (-4931)
-+#define LDBL_MAX_10_EXP 4932
-+
-+#define DECIMAL_DIG 21
-diff -Nur musl-0.9.15/arch/x32/bits/ioctl.h musl-git/arch/x32/bits/ioctl.h
---- musl-0.9.15/arch/x32/bits/ioctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/ioctl.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,197 @@
-+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
-+#define _IOC_NONE 0U
-+#define _IOC_WRITE 1U
-+#define _IOC_READ 2U
-+
-+#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
-+#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
-+#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
-+#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
-+
-+#define TCGETS 0x5401
-+#define TCSETS 0x5402
-+#define TCSETSW 0x5403
-+#define TCSETSF 0x5404
-+#define TCGETA 0x5405
-+#define TCSETA 0x5406
-+#define TCSETAW 0x5407
-+#define TCSETAF 0x5408
-+#define TCSBRK 0x5409
-+#define TCXONC 0x540A
-+#define TCFLSH 0x540B
-+#define TIOCEXCL 0x540C
-+#define TIOCNXCL 0x540D
-+#define TIOCSCTTY 0x540E
-+#define TIOCGPGRP 0x540F
-+#define TIOCSPGRP 0x5410
-+#define TIOCOUTQ 0x5411
-+#define TIOCSTI 0x5412
-+#define TIOCGWINSZ 0x5413
-+#define TIOCSWINSZ 0x5414
-+#define TIOCMGET 0x5415
-+#define TIOCMBIS 0x5416
-+#define TIOCMBIC 0x5417
-+#define TIOCMSET 0x5418
-+#define TIOCGSOFTCAR 0x5419
-+#define TIOCSSOFTCAR 0x541A
-+#define FIONREAD 0x541B
-+#define TIOCINQ FIONREAD
-+#define TIOCLINUX 0x541C
-+#define TIOCCONS 0x541D
-+#define TIOCGSERIAL 0x541E
-+#define TIOCSSERIAL 0x541F
-+#define TIOCPKT 0x5420
-+#define FIONBIO 0x5421
-+#define TIOCNOTTY 0x5422
-+#define TIOCSETD 0x5423
-+#define TIOCGETD 0x5424
-+#define TCSBRKP 0x5425
-+#define TIOCTTYGSTRUCT 0x5426
-+#define TIOCSBRK 0x5427
-+#define TIOCCBRK 0x5428
-+#define TIOCGSID 0x5429
-+#define TIOCGPTN 0x80045430
-+#define TIOCSPTLCK 0x40045431
-+#define TCGETX 0x5432
-+#define TCSETX 0x5433
-+#define TCSETXF 0x5434
-+#define TCSETXW 0x5435
-+
-+#define FIONCLEX 0x5450
-+#define FIOCLEX 0x5451
-+#define FIOASYNC 0x5452
-+#define TIOCSERCONFIG 0x5453
-+#define TIOCSERGWILD 0x5454
-+#define TIOCSERSWILD 0x5455
-+#define TIOCGLCKTRMIOS 0x5456
-+#define TIOCSLCKTRMIOS 0x5457
-+#define TIOCSERGSTRUCT 0x5458
-+#define TIOCSERGETLSR 0x5459
-+#define TIOCSERGETMULTI 0x545A
-+#define TIOCSERSETMULTI 0x545B
-+
-+#define TIOCMIWAIT 0x545C
-+#define TIOCGICOUNT 0x545D
-+#define TIOCGHAYESESP 0x545E
-+#define TIOCSHAYESESP 0x545F
-+#define FIOQSIZE 0x5460
-+
-+#define TIOCPKT_DATA 0
-+#define TIOCPKT_FLUSHREAD 1
-+#define TIOCPKT_FLUSHWRITE 2
-+#define TIOCPKT_STOP 4
-+#define TIOCPKT_START 8
-+#define TIOCPKT_NOSTOP 16
-+#define TIOCPKT_DOSTOP 32
-+#define TIOCPKT_IOCTL 64
-+
-+#define TIOCSER_TEMT 0x01
-+
-+struct winsize {
-+ unsigned short ws_row;
-+ unsigned short ws_col;
-+ unsigned short ws_xpixel;
-+ unsigned short ws_ypixel;
-+};
-+
-+#define TIOCM_LE 0x001
-+#define TIOCM_DTR 0x002
-+#define TIOCM_RTS 0x004
-+#define TIOCM_ST 0x008
-+#define TIOCM_SR 0x010
-+#define TIOCM_CTS 0x020
-+#define TIOCM_CAR 0x040
-+#define TIOCM_RNG 0x080
-+#define TIOCM_DSR 0x100
-+#define TIOCM_CD TIOCM_CAR
-+#define TIOCM_RI TIOCM_RNG
-+#define TIOCM_OUT1 0x2000
-+#define TIOCM_OUT2 0x4000
-+#define TIOCM_LOOP 0x8000
-+#define TIOCM_MODEM_BITS TIOCM_OUT2
-+
-+#define N_TTY 0
-+#define N_SLIP 1
-+#define N_MOUSE 2
-+#define N_PPP 3
-+#define N_STRIP 4
-+#define N_AX25 5
-+#define N_X25 6
-+#define N_6PACK 7
-+#define N_MASC 8
-+#define N_R3964 9
-+#define N_PROFIBUS_FDL 10
-+#define N_IRDA 11
-+#define N_SMSBLOCK 12
-+#define N_HDLC 13
-+#define N_SYNC_PPP 14
-+#define N_HCI 15
-+
-+#define FIOSETOWN 0x8901
-+#define SIOCSPGRP 0x8902
-+#define FIOGETOWN 0x8903
-+#define SIOCGPGRP 0x8904
-+#define SIOCATMARK 0x8905
-+#define SIOCGSTAMP 0x8906
-+
-+#define SIOCADDRT 0x890B
-+#define SIOCDELRT 0x890C
-+#define SIOCRTMSG 0x890D
-+
-+#define SIOCGIFNAME 0x8910
-+#define SIOCSIFLINK 0x8911
-+#define SIOCGIFCONF 0x8912
-+#define SIOCGIFFLAGS 0x8913
-+#define SIOCSIFFLAGS 0x8914
-+#define SIOCGIFADDR 0x8915
-+#define SIOCSIFADDR 0x8916
-+#define SIOCGIFDSTADDR 0x8917
-+#define SIOCSIFDSTADDR 0x8918
-+#define SIOCGIFBRDADDR 0x8919
-+#define SIOCSIFBRDADDR 0x891a
-+#define SIOCGIFNETMASK 0x891b
-+#define SIOCSIFNETMASK 0x891c
-+#define SIOCGIFMETRIC 0x891d
-+#define SIOCSIFMETRIC 0x891e
-+#define SIOCGIFMEM 0x891f
-+#define SIOCSIFMEM 0x8920
-+#define SIOCGIFMTU 0x8921
-+#define SIOCSIFMTU 0x8922
-+#define SIOCSIFHWADDR 0x8924
-+#define SIOCGIFENCAP 0x8925
-+#define SIOCSIFENCAP 0x8926
-+#define SIOCGIFHWADDR 0x8927
-+#define SIOCGIFSLAVE 0x8929
-+#define SIOCSIFSLAVE 0x8930
-+#define SIOCADDMULTI 0x8931
-+#define SIOCDELMULTI 0x8932
-+#define SIOCGIFINDEX 0x8933
-+#define SIOGIFINDEX SIOCGIFINDEX
-+#define SIOCSIFPFLAGS 0x8934
-+#define SIOCGIFPFLAGS 0x8935
-+#define SIOCDIFADDR 0x8936
-+#define SIOCSIFHWBROADCAST 0x8937
-+#define SIOCGIFCOUNT 0x8938
-+
-+#define SIOCGIFBR 0x8940
-+#define SIOCSIFBR 0x8941
-+
-+#define SIOCGIFTXQLEN 0x8942
-+#define SIOCSIFTXQLEN 0x8943
-+
-+#define SIOCDARP 0x8953
-+#define SIOCGARP 0x8954
-+#define SIOCSARP 0x8955
-+
-+#define SIOCDRARP 0x8960
-+#define SIOCGRARP 0x8961
-+#define SIOCSRARP 0x8962
-+
-+#define SIOCGIFMAP 0x8970
-+#define SIOCSIFMAP 0x8971
-+
-+#define SIOCADDDLCI 0x8980
-+#define SIOCDELDLCI 0x8981
-+
-+#define SIOCDEVPRIVATE 0x89F0
-+#define SIOCPROTOPRIVATE 0x89E0
-diff -Nur musl-0.9.15/arch/x32/bits/io.h musl-git/arch/x32/bits/io.h
---- musl-0.9.15/arch/x32/bits/io.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/io.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,77 @@
-+static __inline void outb(unsigned char __val, unsigned short __port)
-+{
-+ __asm__ volatile ("outb %0,%1" : : "a" (__val), "dN" (__port));
-+}
-+
-+static __inline void outw(unsigned short __val, unsigned short __port)
-+{
-+ __asm__ volatile ("outw %0,%1" : : "a" (__val), "dN" (__port));
-+}
-+
-+static __inline void outl(unsigned int __val, unsigned short __port)
-+{
-+ __asm__ volatile ("outl %0,%1" : : "a" (__val), "dN" (__port));
-+}
-+
-+static __inline unsigned char inb(unsigned short __port)
-+{
-+ unsigned char __val;
-+ __asm__ volatile ("inb %1,%0" : "=a" (__val) : "dN" (__port));
-+ return __val;
-+}
-+
-+static __inline unsigned short inw(unsigned short __port)
-+{
-+ unsigned short __val;
-+ __asm__ volatile ("inw %1,%0" : "=a" (__val) : "dN" (__port));
-+ return __val;
-+}
-+
-+static __inline unsigned int inl(unsigned short __port)
-+{
-+ unsigned int __val;
-+ __asm__ volatile ("inl %1,%0" : "=a" (__val) : "dN" (__port));
-+ return __val;
-+}
-+
-+static __inline void outsb(unsigned short __port, const void *__buf, unsigned long __n)
-+{
-+ __asm__ volatile ("cld; rep; outsb"
-+ : "+S" (__buf), "+c" (__n)
-+ : "d" (__port));
-+}
-+
-+static __inline void outsw(unsigned short __port, const void *__buf, unsigned long __n)
-+{
-+ __asm__ volatile ("cld; rep; outsw"
-+ : "+S" (__buf), "+c" (__n)
-+ : "d" (__port));
-+}
-+
-+static __inline void outsl(unsigned short __port, const void *__buf, unsigned long __n)
-+{
-+ __asm__ volatile ("cld; rep; outsl"
-+ : "+S" (__buf), "+c"(__n)
-+ : "d" (__port));
-+}
-+
-+static __inline void insb(unsigned short __port, void *__buf, unsigned long __n)
-+{
-+ __asm__ volatile ("cld; rep; insb"
-+ : "+D" (__buf), "+c" (__n)
-+ : "d" (__port));
-+}
-+
-+static __inline void insw(unsigned short __port, void *__buf, unsigned long __n)
-+{
-+ __asm__ volatile ("cld; rep; insw"
-+ : "+D" (__buf), "+c" (__n)
-+ : "d" (__port));
-+}
-+
-+static __inline void insl(unsigned short __port, void *__buf, unsigned long __n)
-+{
-+ __asm__ volatile ("cld; rep; insl"
-+ : "+D" (__buf), "+c" (__n)
-+ : "d" (__port));
-+}
-diff -Nur musl-0.9.15/arch/x32/bits/ipc.h musl-git/arch/x32/bits/ipc.h
---- musl-0.9.15/arch/x32/bits/ipc.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/ipc.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,14 @@
-+struct ipc_perm
-+{
-+ key_t __ipc_perm_key;
-+ uid_t uid;
-+ gid_t gid;
-+ uid_t cuid;
-+ gid_t cgid;
-+ mode_t mode;
-+ int __ipc_perm_seq;
-+ long long __pad1;
-+ long long __pad2;
-+};
-+
-+#define IPC_64 0
-diff -Nur musl-0.9.15/arch/x32/bits/limits.h musl-git/arch/x32/bits/limits.h
---- musl-0.9.15/arch/x32/bits/limits.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/limits.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,8 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define PAGE_SIZE 4096
-+#define LONG_BIT 32
-+#endif
-+
-+#define LONG_MAX 0x7fffffffL
-+#define LLONG_MAX 0x7fffffffffffffffLL
-diff -Nur musl-0.9.15/arch/x32/bits/mman.h musl-git/arch/x32/bits/mman.h
---- musl-0.9.15/arch/x32/bits/mman.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/mman.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,62 @@
-+#define MAP_FAILED ((void *) -1)
-+
-+#define PROT_NONE 0
-+#define PROT_READ 1
-+#define PROT_WRITE 2
-+#define PROT_EXEC 4
-+#define PROT_GROWSDOWN 0x01000000
-+#define PROT_GROWSUP 0x02000000
-+
-+#define MAP_SHARED 0x01
-+#define MAP_PRIVATE 0x02
-+#define MAP_FIXED 0x10
-+
-+#define MAP_TYPE 0x0f
-+#define MAP_FILE 0x00
-+#define MAP_ANON 0x20
-+#define MAP_ANONYMOUS MAP_ANON
-+#define MAP_32BIT 0x40
-+#define MAP_NORESERVE 0x4000
-+#define MAP_GROWSDOWN 0x0100
-+#define MAP_DENYWRITE 0x0800
-+#define MAP_EXECUTABLE 0x1000
-+#define MAP_LOCKED 0x2000
-+#define MAP_POPULATE 0x8000
-+#define MAP_NONBLOCK 0x10000
-+#define MAP_STACK 0x20000
-+#define MAP_HUGETLB 0x40000
-+
-+#define POSIX_MADV_NORMAL 0
-+#define POSIX_MADV_RANDOM 1
-+#define POSIX_MADV_SEQUENTIAL 2
-+#define POSIX_MADV_WILLNEED 3
-+#define POSIX_MADV_DONTNEED 0
-+
-+#define MS_ASYNC 1
-+#define MS_INVALIDATE 2
-+#define MS_SYNC 4
-+
-+#define MCL_CURRENT 1
-+#define MCL_FUTURE 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define MADV_NORMAL 0
-+#define MADV_RANDOM 1
-+#define MADV_SEQUENTIAL 2
-+#define MADV_WILLNEED 3
-+#define MADV_DONTNEED 4
-+#define MADV_REMOVE 9
-+#define MADV_DONTFORK 10
-+#define MADV_DOFORK 11
-+#define MADV_MERGEABLE 12
-+#define MADV_UNMERGEABLE 13
-+#define MADV_HUGEPAGE 14
-+#define MADV_NOHUGEPAGE 15
-+#define MADV_DONTDUMP 16
-+#define MADV_DODUMP 17
-+#define MADV_HWPOISON 100
-+#define MADV_SOFT_OFFLINE 101
-+
-+#define MREMAP_MAYMOVE 1
-+#define MREMAP_FIXED 2
-+#endif
-diff -Nur musl-0.9.15/arch/x32/bits/msg.h musl-git/arch/x32/bits/msg.h
---- musl-0.9.15/arch/x32/bits/msg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/msg.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,16 @@
-+struct msqid_ds
-+{
-+ struct ipc_perm msg_perm;
-+ time_t msg_stime;
-+ time_t msg_rtime;
-+ time_t msg_ctime;
-+ unsigned long msg_cbytes;
-+ long __unused1;
-+ msgqnum_t msg_qnum;
-+ long __unused2;
-+ msglen_t msg_qbytes;
-+ long __unused3;
-+ pid_t msg_lspid;
-+ pid_t msg_lrpid;
-+ unsigned long long __unused[2];
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/posix.h musl-git/arch/x32/bits/posix.h
---- musl-0.9.15/arch/x32/bits/posix.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/posix.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,2 @@
-+#define _POSIX_V6_LP64_OFF64 1
-+#define _POSIX_V7_LP64_OFF64 1
-diff -Nur musl-0.9.15/arch/x32/bits/reg.h musl-git/arch/x32/bits/reg.h
---- musl-0.9.15/arch/x32/bits/reg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/reg.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,29 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 32
-+#define R15 0
-+#define R14 1
-+#define R13 2
-+#define R12 3
-+#define RBP 4
-+#define RBX 5
-+#define R11 6
-+#define R10 7
-+#define R9 8
-+#define R8 9
-+#define RAX 10
-+#define RCX 11
-+#define RDX 12
-+#define RSI 13
-+#define RDI 14
-+#define ORIG_RAX 15
-+#define RIP 16
-+#define CS 17
-+#define EFLAGS 18
-+#define RSP 19
-+#define SS 20
-+#define FS_BASE 21
-+#define GS_BASE 22
-+#define DS 23
-+#define ES 24
-+#define FS 25
-+#define GS 26
-diff -Nur musl-0.9.15/arch/x32/bits/setjmp.h musl-git/arch/x32/bits/setjmp.h
---- musl-0.9.15/arch/x32/bits/setjmp.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/setjmp.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+typedef unsigned long long __jmp_buf[8];
-diff -Nur musl-0.9.15/arch/x32/bits/shm.h musl-git/arch/x32/bits/shm.h
---- musl-0.9.15/arch/x32/bits/shm.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,33 @@
-+#define SHMLBA 4096
-+
-+struct shmid_ds
-+{
-+ struct ipc_perm shm_perm;
-+ size_t shm_segsz;
-+ time_t shm_atime;
-+ time_t shm_dtime;
-+ time_t shm_ctime;
-+ pid_t shm_cpid;
-+ pid_t shm_lpid;
-+ unsigned long shm_nattch;
-+ unsigned long __pad0;
-+ unsigned long long __pad1;
-+ unsigned long long __pad2;
-+};
-+
-+struct shminfo {
-+ unsigned long shmmax, __pad0, shmmin, __pad1, shmmni, __pad2,
-+ shmseg, __pad3, shmall, __pad4;
-+ unsigned long long __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ int __pad_ids;
-+ unsigned long shm_tot, __pad0, shm_rss, __pad1, shm_swp, __pad2;
-+ unsigned long __swap_attempts, __pad3, __swap_successes, __pad4;
-+}
-+#ifdef __GNUC__
-+__attribute__((__aligned__(8)))
-+#endif
-+;
-diff -Nur musl-0.9.15/arch/x32/bits/signal.h musl-git/arch/x32/bits/signal.h
---- musl-0.9.15/arch/x32/bits/signal.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/signal.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,119 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#ifdef _GNU_SOURCE
-+#define REG_R8 0
-+#define REG_R9 1
-+#define REG_R10 2
-+#define REG_R11 3
-+#define REG_R12 4
-+#define REG_R13 5
-+#define REG_R14 6
-+#define REG_R15 7
-+#define REG_RDI 8
-+#define REG_RSI 9
-+#define REG_RBP 10
-+#define REG_RBX 11
-+#define REG_RDX 12
-+#define REG_RAX 13
-+#define REG_RCX 14
-+#define REG_RSP 15
-+#define REG_RIP 16
-+#define REG_EFL 17
-+#define REG_CSGSFS 18
-+#define REG_ERR 19
-+#define REG_TRAPNO 20
-+#define REG_OLDMASK 21
-+#define REG_CR2 22
-+#endif
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+typedef long long greg_t, gregset_t[23];
-+typedef struct _fpstate {
-+ unsigned short cwd, swd, ftw, fop;
-+ unsigned long long rip, rdp;
-+ unsigned mxcsr, mxcr_mask;
-+ struct {
-+ unsigned short significand[4], exponent, padding[3];
-+ } _st[8];
-+ struct {
-+ unsigned element[4];
-+ } _xmm[16];
-+ unsigned padding[24];
-+} *fpregset_t;
-+struct sigcontext {
-+ unsigned long long r8, r9, r10, r11, r12, r13, r14, r15;
-+ unsigned long long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
-+ unsigned short cs, gs, fs, __pad0;
-+ unsigned long long err, trapno, oldmask, cr2;
-+ struct _fpstate *fpstate;
-+ unsigned long long __reserved1[8];
-+};
-+typedef struct {
-+ gregset_t gregs;
-+ fpregset_t fpregs;
-+ unsigned long long __reserved1[8];
-+} mcontext_t;
-+#else
-+typedef struct {
-+ unsigned long long __space[32];
-+} mcontext_t;
-+#endif
-+
-+typedef struct __ucontext {
-+ unsigned long uc_flags;
-+ struct __ucontext *uc_link;
-+ stack_t uc_stack;
-+ mcontext_t uc_mcontext;
-+ sigset_t uc_sigmask;
-+ unsigned long long __fpregs_mem[64];
-+} ucontext_t;
-+
-+#define SA_NOCLDSTOP 1
-+#define SA_NOCLDWAIT 2
-+#define SA_SIGINFO 4
-+#define SA_ONSTACK 0x08000000
-+#define SA_RESTART 0x10000000
-+#define SA_NODEFER 0x40000000
-+#define SA_RESETHAND 0x80000000
-+#define SA_RESTORER 0x04000000
-+
-+#endif
-+
-+#define SIGHUP 1
-+#define SIGINT 2
-+#define SIGQUIT 3
-+#define SIGILL 4
-+#define SIGTRAP 5
-+#define SIGABRT 6
-+#define SIGIOT SIGABRT
-+#define SIGBUS 7
-+#define SIGFPE 8
-+#define SIGKILL 9
-+#define SIGUSR1 10
-+#define SIGSEGV 11
-+#define SIGUSR2 12
-+#define SIGPIPE 13
-+#define SIGALRM 14
-+#define SIGTERM 15
-+#define SIGSTKFLT 16
-+#define SIGCHLD 17
-+#define SIGCONT 18
-+#define SIGSTOP 19
-+#define SIGTSTP 20
-+#define SIGTTIN 21
-+#define SIGTTOU 22
-+#define SIGURG 23
-+#define SIGXCPU 24
-+#define SIGXFSZ 25
-+#define SIGVTALRM 26
-+#define SIGPROF 27
-+#define SIGWINCH 28
-+#define SIGIO 29
-+#define SIGPOLL 29
-+#define SIGPWR 30
-+#define SIGSYS 31
-+#define SIGUNUSED SIGSYS
-+
-+#define _NSIG 65
-+
-diff -Nur musl-0.9.15/arch/x32/bits/socket.h musl-git/arch/x32/bits/socket.h
---- musl-0.9.15/arch/x32/bits/socket.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/socket.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,18 @@
-+struct msghdr
-+{
-+ void *msg_name;
-+ socklen_t msg_namelen;
-+ struct iovec *msg_iov;
-+ int msg_iovlen, __pad1;
-+ void *msg_control;
-+ socklen_t msg_controllen, __pad2;
-+ int msg_flags;
-+};
-+
-+struct cmsghdr
-+{
-+ socklen_t cmsg_len;
-+ int __pad1;
-+ int cmsg_level;
-+ int cmsg_type;
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/statfs.h musl-git/arch/x32/bits/statfs.h
---- musl-0.9.15/arch/x32/bits/statfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/statfs.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+struct statfs {
-+ unsigned long f_type, f_bsize;
-+ fsblkcnt_t f_blocks, f_bfree, f_bavail;
-+ fsfilcnt_t f_files, f_ffree;
-+ fsid_t f_fsid;
-+ unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/stat.h musl-git/arch/x32/bits/stat.h
---- musl-0.9.15/arch/x32/bits/stat.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/stat.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* copied from kernel definition, but with padding replaced
-+ * by the corresponding correctly-sized userspace types. */
-+
-+struct stat {
-+ dev_t st_dev;
-+ ino_t st_ino;
-+ nlink_t st_nlink;
-+
-+ mode_t st_mode;
-+ uid_t st_uid;
-+ gid_t st_gid;
-+ unsigned int __pad0;
-+ dev_t st_rdev;
-+ off_t st_size;
-+ blksize_t st_blksize;
-+ blkcnt_t st_blocks;
-+
-+ struct timespec st_atim;
-+ struct timespec st_mtim;
-+ struct timespec st_ctim;
-+ long long __unused[3];
-+};
-diff -Nur musl-0.9.15/arch/x32/bits/stdarg.h musl-git/arch/x32/bits/stdarg.h
---- musl-0.9.15/arch/x32/bits/stdarg.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/stdarg.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,4 @@
-+#define va_start(v,l) __builtin_va_start(v,l)
-+#define va_end(v) __builtin_va_end(v)
-+#define va_arg(v,l) __builtin_va_arg(v,l)
-+#define va_copy(d,s) __builtin_va_copy(d,s)
-diff -Nur musl-0.9.15/arch/x32/bits/stdint.h musl-git/arch/x32/bits/stdint.h
---- musl-0.9.15/arch/x32/bits/stdint.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/stdint.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,20 @@
-+typedef int32_t int_fast16_t;
-+typedef int32_t int_fast32_t;
-+typedef uint32_t uint_fast16_t;
-+typedef uint32_t uint_fast32_t;
-+
-+#define INT_FAST16_MIN INT32_MIN
-+#define INT_FAST32_MIN INT32_MIN
-+
-+#define INT_FAST16_MAX INT32_MAX
-+#define INT_FAST32_MAX INT32_MAX
-+
-+#define UINT_FAST16_MAX UINT32_MAX
-+#define UINT_FAST32_MAX UINT32_MAX
-+
-+#define INTPTR_MIN INT32_MIN
-+#define INTPTR_MAX INT32_MAX
-+#define UINTPTR_MAX UINT32_MAX
-+#define PTRDIFF_MIN INT32_MIN
-+#define PTRDIFF_MAX INT32_MAX
-+#define SIZE_MAX UINT32_MAX
-diff -Nur musl-0.9.15/arch/x32/bits/syscall.h musl-git/arch/x32/bits/syscall.h
---- musl-0.9.15/arch/x32/bits/syscall.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/syscall.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,634 @@
-+#define __X32_SYSCALL_BIT 0x40000000
-+#define __NR_read (__X32_SYSCALL_BIT + 0)
-+#define __NR_write (__X32_SYSCALL_BIT + 1)
-+#define __NR_open (__X32_SYSCALL_BIT + 2)
-+#define __NR_close (__X32_SYSCALL_BIT + 3)
-+#define __NR_stat (__X32_SYSCALL_BIT + 4)
-+#define __NR_fstat (__X32_SYSCALL_BIT + 5)
-+#define __NR_lstat (__X32_SYSCALL_BIT + 6)
-+#define __NR_poll (__X32_SYSCALL_BIT + 7)
-+#define __NR_lseek (__X32_SYSCALL_BIT + 8)
-+#define __NR_mmap (__X32_SYSCALL_BIT + 9)
-+#define __NR_mprotect (__X32_SYSCALL_BIT + 10)
-+#define __NR_munmap (__X32_SYSCALL_BIT + 11)
-+#define __NR_brk (__X32_SYSCALL_BIT + 12)
-+#define __NR_rt_sigprocmask (__X32_SYSCALL_BIT + 14)
-+#define __NR_pread64 (__X32_SYSCALL_BIT + 17)
-+#define __NR_pwrite64 (__X32_SYSCALL_BIT + 18)
-+#define __NR_access (__X32_SYSCALL_BIT + 21)
-+#define __NR_pipe (__X32_SYSCALL_BIT + 22)
-+#define __NR_select (__X32_SYSCALL_BIT + 23)
-+#define __NR_sched_yield (__X32_SYSCALL_BIT + 24)
-+#define __NR_mremap (__X32_SYSCALL_BIT + 25)
-+#define __NR_msync (__X32_SYSCALL_BIT + 26)
-+#define __NR_mincore (__X32_SYSCALL_BIT + 27)
-+#define __NR_madvise (__X32_SYSCALL_BIT + 28)
-+#define __NR_shmget (__X32_SYSCALL_BIT + 29)
-+#define __NR_shmat (__X32_SYSCALL_BIT + 30)
-+#define __NR_shmctl (__X32_SYSCALL_BIT + 31)
-+#define __NR_dup (__X32_SYSCALL_BIT + 32)
-+#define __NR_dup2 (__X32_SYSCALL_BIT + 33)
-+#define __NR_pause (__X32_SYSCALL_BIT + 34)
-+#define __NR_nanosleep (__X32_SYSCALL_BIT + 35)
-+#define __NR_getitimer (__X32_SYSCALL_BIT + 36)
-+#define __NR_alarm (__X32_SYSCALL_BIT + 37)
-+#define __NR_setitimer (__X32_SYSCALL_BIT + 38)
-+#define __NR_getpid (__X32_SYSCALL_BIT + 39)
-+#define __NR_sendfile (__X32_SYSCALL_BIT + 40)
-+#define __NR_socket (__X32_SYSCALL_BIT + 41)
-+#define __NR_connect (__X32_SYSCALL_BIT + 42)
-+#define __NR_accept (__X32_SYSCALL_BIT + 43)
-+#define __NR_sendto (__X32_SYSCALL_BIT + 44)
-+#define __NR_shutdown (__X32_SYSCALL_BIT + 48)
-+#define __NR_bind (__X32_SYSCALL_BIT + 49)
-+#define __NR_listen (__X32_SYSCALL_BIT + 50)
-+#define __NR_getsockname (__X32_SYSCALL_BIT + 51)
-+#define __NR_getpeername (__X32_SYSCALL_BIT + 52)
-+#define __NR_socketpair (__X32_SYSCALL_BIT + 53)
-+#define __NR_clone (__X32_SYSCALL_BIT + 56)
-+#define __NR_fork (__X32_SYSCALL_BIT + 57)
-+#define __NR_vfork (__X32_SYSCALL_BIT + 58)
-+#define __NR_exit (__X32_SYSCALL_BIT + 60)
-+#define __NR_wait4 (__X32_SYSCALL_BIT + 61)
-+#define __NR_kill (__X32_SYSCALL_BIT + 62)
-+#define __NR_uname (__X32_SYSCALL_BIT + 63)
-+#define __NR_semget (__X32_SYSCALL_BIT + 64)
-+#define __NR_semop (__X32_SYSCALL_BIT + 65)
-+#define __NR_semctl (__X32_SYSCALL_BIT + 66)
-+#define __NR_shmdt (__X32_SYSCALL_BIT + 67)
-+#define __NR_msgget (__X32_SYSCALL_BIT + 68)
-+#define __NR_msgsnd (__X32_SYSCALL_BIT + 69)
-+#define __NR_msgrcv (__X32_SYSCALL_BIT + 70)
-+#define __NR_msgctl (__X32_SYSCALL_BIT + 71)
-+#define __NR_fcntl (__X32_SYSCALL_BIT + 72)
-+#define __NR_flock (__X32_SYSCALL_BIT + 73)
-+#define __NR_fsync (__X32_SYSCALL_BIT + 74)
-+#define __NR_fdatasync (__X32_SYSCALL_BIT + 75)
-+#define __NR_truncate (__X32_SYSCALL_BIT + 76)
-+#define __NR_ftruncate (__X32_SYSCALL_BIT + 77)
-+#define __NR_getdents (__X32_SYSCALL_BIT + 78)
-+#define __NR_getcwd (__X32_SYSCALL_BIT + 79)
-+#define __NR_chdir (__X32_SYSCALL_BIT + 80)
-+#define __NR_fchdir (__X32_SYSCALL_BIT + 81)
-+#define __NR_rename (__X32_SYSCALL_BIT + 82)
-+#define __NR_mkdir (__X32_SYSCALL_BIT + 83)
-+#define __NR_rmdir (__X32_SYSCALL_BIT + 84)
-+#define __NR_creat (__X32_SYSCALL_BIT + 85)
-+#define __NR_link (__X32_SYSCALL_BIT + 86)
-+#define __NR_unlink (__X32_SYSCALL_BIT + 87)
-+#define __NR_symlink (__X32_SYSCALL_BIT + 88)
-+#define __NR_readlink (__X32_SYSCALL_BIT + 89)
-+#define __NR_chmod (__X32_SYSCALL_BIT + 90)
-+#define __NR_fchmod (__X32_SYSCALL_BIT + 91)
-+#define __NR_chown (__X32_SYSCALL_BIT + 92)
-+#define __NR_fchown (__X32_SYSCALL_BIT + 93)
-+#define __NR_lchown (__X32_SYSCALL_BIT + 94)
-+#define __NR_umask (__X32_SYSCALL_BIT + 95)
-+#define __NR_gettimeofday (__X32_SYSCALL_BIT + 96)
-+#define __NR_getrlimit (__X32_SYSCALL_BIT + 97)
-+#define __NR_getrusage (__X32_SYSCALL_BIT + 98)
-+#define __NR_sysinfo (__X32_SYSCALL_BIT + 99)
-+#define __NR_times (__X32_SYSCALL_BIT + 100)
-+#define __NR_getuid (__X32_SYSCALL_BIT + 102)
-+#define __NR_syslog (__X32_SYSCALL_BIT + 103)
-+#define __NR_getgid (__X32_SYSCALL_BIT + 104)
-+#define __NR_setuid (__X32_SYSCALL_BIT + 105)
-+#define __NR_setgid (__X32_SYSCALL_BIT + 106)
-+#define __NR_geteuid (__X32_SYSCALL_BIT + 107)
-+#define __NR_getegid (__X32_SYSCALL_BIT + 108)
-+#define __NR_setpgid (__X32_SYSCALL_BIT + 109)
-+#define __NR_getppid (__X32_SYSCALL_BIT + 110)
-+#define __NR_getpgrp (__X32_SYSCALL_BIT + 111)
-+#define __NR_setsid (__X32_SYSCALL_BIT + 112)
-+#define __NR_setreuid (__X32_SYSCALL_BIT + 113)
-+#define __NR_setregid (__X32_SYSCALL_BIT + 114)
-+#define __NR_getgroups (__X32_SYSCALL_BIT + 115)
-+#define __NR_setgroups (__X32_SYSCALL_BIT + 116)
-+#define __NR_setresuid (__X32_SYSCALL_BIT + 117)
-+#define __NR_getresuid (__X32_SYSCALL_BIT + 118)
-+#define __NR_setresgid (__X32_SYSCALL_BIT + 119)
-+#define __NR_getresgid (__X32_SYSCALL_BIT + 120)
-+#define __NR_getpgid (__X32_SYSCALL_BIT + 121)
-+#define __NR_setfsuid (__X32_SYSCALL_BIT + 122)
-+#define __NR_setfsgid (__X32_SYSCALL_BIT + 123)
-+#define __NR_getsid (__X32_SYSCALL_BIT + 124)
-+#define __NR_capget (__X32_SYSCALL_BIT + 125)
-+#define __NR_capset (__X32_SYSCALL_BIT + 126)
-+#define __NR_rt_sigsuspend (__X32_SYSCALL_BIT + 130)
-+#define __NR_utime (__X32_SYSCALL_BIT + 132)
-+#define __NR_mknod (__X32_SYSCALL_BIT + 133)
-+#define __NR_personality (__X32_SYSCALL_BIT + 135)
-+#define __NR_ustat (__X32_SYSCALL_BIT + 136)
-+#define __NR_statfs (__X32_SYSCALL_BIT + 137)
-+#define __NR_fstatfs (__X32_SYSCALL_BIT + 138)
-+#define __NR_sysfs (__X32_SYSCALL_BIT + 139)
-+#define __NR_getpriority (__X32_SYSCALL_BIT + 140)
-+#define __NR_setpriority (__X32_SYSCALL_BIT + 141)
-+#define __NR_sched_setparam (__X32_SYSCALL_BIT + 142)
-+#define __NR_sched_getparam (__X32_SYSCALL_BIT + 143)
-+#define __NR_sched_setscheduler (__X32_SYSCALL_BIT + 144)
-+#define __NR_sched_getscheduler (__X32_SYSCALL_BIT + 145)
-+#define __NR_sched_get_priority_max (__X32_SYSCALL_BIT + 146)
-+#define __NR_sched_get_priority_min (__X32_SYSCALL_BIT + 147)
-+#define __NR_sched_rr_get_interval (__X32_SYSCALL_BIT + 148)
-+#define __NR_mlock (__X32_SYSCALL_BIT + 149)
-+#define __NR_munlock (__X32_SYSCALL_BIT + 150)
-+#define __NR_mlockall (__X32_SYSCALL_BIT + 151)
-+#define __NR_munlockall (__X32_SYSCALL_BIT + 152)
-+#define __NR_vhangup (__X32_SYSCALL_BIT + 153)
-+#define __NR_modify_ldt (__X32_SYSCALL_BIT + 154)
-+#define __NR_pivot_root (__X32_SYSCALL_BIT + 155)
-+#define __NR_prctl (__X32_SYSCALL_BIT + 157)
-+#define __NR_arch_prctl (__X32_SYSCALL_BIT + 158)
-+#define __NR_adjtimex (__X32_SYSCALL_BIT + 159)
-+#define __NR_setrlimit (__X32_SYSCALL_BIT + 160)
-+#define __NR_chroot (__X32_SYSCALL_BIT + 161)
-+#define __NR_sync (__X32_SYSCALL_BIT + 162)
-+#define __NR_acct (__X32_SYSCALL_BIT + 163)
-+#define __NR_settimeofday (__X32_SYSCALL_BIT + 164)
-+#define __NR_mount (__X32_SYSCALL_BIT + 165)
-+#define __NR_umount2 (__X32_SYSCALL_BIT + 166)
-+#define __NR_swapon (__X32_SYSCALL_BIT + 167)
-+#define __NR_swapoff (__X32_SYSCALL_BIT + 168)
-+#define __NR_reboot (__X32_SYSCALL_BIT + 169)
-+#define __NR_sethostname (__X32_SYSCALL_BIT + 170)
-+#define __NR_setdomainname (__X32_SYSCALL_BIT + 171)
-+#define __NR_iopl (__X32_SYSCALL_BIT + 172)
-+#define __NR_ioperm (__X32_SYSCALL_BIT + 173)
-+#define __NR_init_module (__X32_SYSCALL_BIT + 175)
-+#define __NR_delete_module (__X32_SYSCALL_BIT + 176)
-+#define __NR_quotactl (__X32_SYSCALL_BIT + 179)
-+#define __NR_getpmsg (__X32_SYSCALL_BIT + 181)
-+#define __NR_putpmsg (__X32_SYSCALL_BIT + 182)
-+#define __NR_afs_syscall (__X32_SYSCALL_BIT + 183)
-+#define __NR_tuxcall (__X32_SYSCALL_BIT + 184)
-+#define __NR_security (__X32_SYSCALL_BIT + 185)
-+#define __NR_gettid (__X32_SYSCALL_BIT + 186)
-+#define __NR_readahead (__X32_SYSCALL_BIT + 187)
-+#define __NR_setxattr (__X32_SYSCALL_BIT + 188)
-+#define __NR_lsetxattr (__X32_SYSCALL_BIT + 189)
-+#define __NR_fsetxattr (__X32_SYSCALL_BIT + 190)
-+#define __NR_getxattr (__X32_SYSCALL_BIT + 191)
-+#define __NR_lgetxattr (__X32_SYSCALL_BIT + 192)
-+#define __NR_fgetxattr (__X32_SYSCALL_BIT + 193)
-+#define __NR_listxattr (__X32_SYSCALL_BIT + 194)
-+#define __NR_llistxattr (__X32_SYSCALL_BIT + 195)
-+#define __NR_flistxattr (__X32_SYSCALL_BIT + 196)
-+#define __NR_removexattr (__X32_SYSCALL_BIT + 197)
-+#define __NR_lremovexattr (__X32_SYSCALL_BIT + 198)
-+#define __NR_fremovexattr (__X32_SYSCALL_BIT + 199)
-+#define __NR_tkill (__X32_SYSCALL_BIT + 200)
-+#define __NR_time (__X32_SYSCALL_BIT + 201)
-+#define __NR_futex (__X32_SYSCALL_BIT + 202)
-+#define __NR_sched_setaffinity (__X32_SYSCALL_BIT + 203)
-+#define __NR_sched_getaffinity (__X32_SYSCALL_BIT + 204)
-+#define __NR_io_setup (__X32_SYSCALL_BIT + 206)
-+#define __NR_io_destroy (__X32_SYSCALL_BIT + 207)
-+#define __NR_io_getevents (__X32_SYSCALL_BIT + 208)
-+#define __NR_io_submit (__X32_SYSCALL_BIT + 209)
-+#define __NR_io_cancel (__X32_SYSCALL_BIT + 210)
-+#define __NR_lookup_dcookie (__X32_SYSCALL_BIT + 212)
-+#define __NR_epoll_create (__X32_SYSCALL_BIT + 213)
-+#define __NR_remap_file_pages (__X32_SYSCALL_BIT + 216)
-+#define __NR_getdents64 (__X32_SYSCALL_BIT + 217)
-+#define __NR_set_tid_address (__X32_SYSCALL_BIT + 218)
-+#define __NR_restart_syscall (__X32_SYSCALL_BIT + 219)
-+#define __NR_semtimedop (__X32_SYSCALL_BIT + 220)
-+#define __NR_fadvise64 (__X32_SYSCALL_BIT + 221)
-+#define __NR_timer_settime (__X32_SYSCALL_BIT + 223)
-+#define __NR_timer_gettime (__X32_SYSCALL_BIT + 224)
-+#define __NR_timer_getoverrun (__X32_SYSCALL_BIT + 225)
-+#define __NR_timer_delete (__X32_SYSCALL_BIT + 226)
-+#define __NR_clock_settime (__X32_SYSCALL_BIT + 227)
-+#define __NR_clock_gettime (__X32_SYSCALL_BIT + 228)
-+#define __NR_clock_getres (__X32_SYSCALL_BIT + 229)
-+#define __NR_clock_nanosleep (__X32_SYSCALL_BIT + 230)
-+#define __NR_exit_group (__X32_SYSCALL_BIT + 231)
-+#define __NR_epoll_wait (__X32_SYSCALL_BIT + 232)
-+#define __NR_epoll_ctl (__X32_SYSCALL_BIT + 233)
-+#define __NR_tgkill (__X32_SYSCALL_BIT + 234)
-+#define __NR_utimes (__X32_SYSCALL_BIT + 235)
-+#define __NR_mbind (__X32_SYSCALL_BIT + 237)
-+#define __NR_set_mempolicy (__X32_SYSCALL_BIT + 238)
-+#define __NR_get_mempolicy (__X32_SYSCALL_BIT + 239)
-+#define __NR_mq_open (__X32_SYSCALL_BIT + 240)
-+#define __NR_mq_unlink (__X32_SYSCALL_BIT + 241)
-+#define __NR_mq_timedsend (__X32_SYSCALL_BIT + 242)
-+#define __NR_mq_timedreceive (__X32_SYSCALL_BIT + 243)
-+#define __NR_mq_getsetattr (__X32_SYSCALL_BIT + 245)
-+#define __NR_add_key (__X32_SYSCALL_BIT + 248)
-+#define __NR_request_key (__X32_SYSCALL_BIT + 249)
-+#define __NR_keyctl (__X32_SYSCALL_BIT + 250)
-+#define __NR_ioprio_set (__X32_SYSCALL_BIT + 251)
-+#define __NR_ioprio_get (__X32_SYSCALL_BIT + 252)
-+#define __NR_inotify_init (__X32_SYSCALL_BIT + 253)
-+#define __NR_inotify_add_watch (__X32_SYSCALL_BIT + 254)
-+#define __NR_inotify_rm_watch (__X32_SYSCALL_BIT + 255)
-+#define __NR_migrate_pages (__X32_SYSCALL_BIT + 256)
-+#define __NR_openat (__X32_SYSCALL_BIT + 257)
-+#define __NR_mkdirat (__X32_SYSCALL_BIT + 258)
-+#define __NR_mknodat (__X32_SYSCALL_BIT + 259)
-+#define __NR_fchownat (__X32_SYSCALL_BIT + 260)
-+#define __NR_futimesat (__X32_SYSCALL_BIT + 261)
-+#define __NR_newfstatat (__X32_SYSCALL_BIT + 262)
-+#define __NR_unlinkat (__X32_SYSCALL_BIT + 263)
-+#define __NR_renameat (__X32_SYSCALL_BIT + 264)
-+#define __NR_linkat (__X32_SYSCALL_BIT + 265)
-+#define __NR_symlinkat (__X32_SYSCALL_BIT + 266)
-+#define __NR_readlinkat (__X32_SYSCALL_BIT + 267)
-+#define __NR_fchmodat (__X32_SYSCALL_BIT + 268)
-+#define __NR_faccessat (__X32_SYSCALL_BIT + 269)
-+#define __NR_pselect6 (__X32_SYSCALL_BIT + 270)
-+#define __NR_ppoll (__X32_SYSCALL_BIT + 271)
-+#define __NR_unshare (__X32_SYSCALL_BIT + 272)
-+#define __NR_splice (__X32_SYSCALL_BIT + 275)
-+#define __NR_tee (__X32_SYSCALL_BIT + 276)
-+#define __NR_sync_file_range (__X32_SYSCALL_BIT + 277)
-+#define __NR_utimensat (__X32_SYSCALL_BIT + 280)
-+#define __NR_epoll_pwait (__X32_SYSCALL_BIT + 281)
-+#define __NR_signalfd (__X32_SYSCALL_BIT + 282)
-+#define __NR_timerfd_create (__X32_SYSCALL_BIT + 283)
-+#define __NR_eventfd (__X32_SYSCALL_BIT + 284)
-+#define __NR_fallocate (__X32_SYSCALL_BIT + 285)
-+#define __NR_timerfd_settime (__X32_SYSCALL_BIT + 286)
-+#define __NR_timerfd_gettime (__X32_SYSCALL_BIT + 287)
-+#define __NR_accept4 (__X32_SYSCALL_BIT + 288)
-+#define __NR_signalfd4 (__X32_SYSCALL_BIT + 289)
-+#define __NR_eventfd2 (__X32_SYSCALL_BIT + 290)
-+#define __NR_epoll_create1 (__X32_SYSCALL_BIT + 291)
-+#define __NR_dup3 (__X32_SYSCALL_BIT + 292)
-+#define __NR_pipe2 (__X32_SYSCALL_BIT + 293)
-+#define __NR_inotify_init1 (__X32_SYSCALL_BIT + 294)
-+#define __NR_perf_event_open (__X32_SYSCALL_BIT + 298)
-+#define __NR_fanotify_init (__X32_SYSCALL_BIT + 300)
-+#define __NR_fanotify_mark (__X32_SYSCALL_BIT + 301)
-+#define __NR_prlimit64 (__X32_SYSCALL_BIT + 302)
-+#define __NR_name_to_handle_at (__X32_SYSCALL_BIT + 303)
-+#define __NR_open_by_handle_at (__X32_SYSCALL_BIT + 304)
-+#define __NR_clock_adjtime (__X32_SYSCALL_BIT + 305)
-+#define __NR_syncfs (__X32_SYSCALL_BIT + 306)
-+#define __NR_setns (__X32_SYSCALL_BIT + 308)
-+#define __NR_getcpu (__X32_SYSCALL_BIT + 309)
-+#define __NR_kcmp (__X32_SYSCALL_BIT + 312)
-+#define __NR_finit_module (__X32_SYSCALL_BIT + 313)
-+#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
-+#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
-+#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
-+#define __NR_readv (__X32_SYSCALL_BIT + 515)
-+#define __NR_writev (__X32_SYSCALL_BIT + 516)
-+#define __NR_recvfrom (__X32_SYSCALL_BIT + 517)
-+#define __NR_sendmsg (__X32_SYSCALL_BIT + 518)
-+#define __NR_recvmsg (__X32_SYSCALL_BIT + 519)
-+#define __NR_execve (__X32_SYSCALL_BIT + 520)
-+#define __NR_ptrace (__X32_SYSCALL_BIT + 521)
-+#define __NR_rt_sigpending (__X32_SYSCALL_BIT + 522)
-+#define __NR_rt_sigtimedwait (__X32_SYSCALL_BIT + 523)
-+#define __NR_rt_sigqueueinfo (__X32_SYSCALL_BIT + 524)
-+#define __NR_sigaltstack (__X32_SYSCALL_BIT + 525)
-+#define __NR_timer_create (__X32_SYSCALL_BIT + 526)
-+#define __NR_mq_notify (__X32_SYSCALL_BIT + 527)
-+#define __NR_kexec_load (__X32_SYSCALL_BIT + 528)
-+#define __NR_waitid (__X32_SYSCALL_BIT + 529)
-+#define __NR_set_robust_list (__X32_SYSCALL_BIT + 530)
-+#define __NR_get_robust_list (__X32_SYSCALL_BIT + 531)
-+#define __NR_vmsplice (__X32_SYSCALL_BIT + 532)
-+#define __NR_move_pages (__X32_SYSCALL_BIT + 533)
-+#define __NR_preadv (__X32_SYSCALL_BIT + 534)
-+#define __NR_pwritev (__X32_SYSCALL_BIT + 535)
-+#define __NR_rt_tgsigqueueinfo (__X32_SYSCALL_BIT + 536)
-+#define __NR_recvmmsg (__X32_SYSCALL_BIT + 537)
-+#define __NR_sendmmsg (__X32_SYSCALL_BIT + 538)
-+#define __NR_process_vm_readv (__X32_SYSCALL_BIT + 539)
-+#define __NR_process_vm_writev (__X32_SYSCALL_BIT + 540)
-+#define __NR_setsockopt (__X32_SYSCALL_BIT + 541)
-+#define __NR_getsockopt (__X32_SYSCALL_BIT + 542)
-+
-+#undef __NR_fstatat
-+#undef __NR_pread
-+#undef __NR_pwrite
-+#undef __NR_getdents
-+#define __NR_fstatat __NR_newfstatat
-+#define __NR_pread __NR_pread64
-+#define __NR_pwrite __NR_pwrite64
-+#define __NR_getdents __NR_getdents64
-+#define __NR_fadvise __NR_fadvise64
-+
-+
-+
-+/* Repeat with SYS_ prefix */
-+
-+
-+
-+#define SYS_read __NR_read
-+#define SYS_write __NR_write
-+#define SYS_open __NR_open
-+#define SYS_close __NR_close
-+#define SYS_stat __NR_stat
-+#define SYS_fstat __NR_fstat
-+#define SYS_lstat __NR_lstat
-+#define SYS_poll __NR_poll
-+#define SYS_lseek __NR_lseek
-+#define SYS_mmap __NR_mmap
-+#define SYS_mprotect __NR_mprotect
-+#define SYS_munmap __NR_munmap
-+#define SYS_brk __NR_brk
-+#define SYS_rt_sigprocmask __NR_rt_sigprocmask
-+#define SYS_pread64 __NR_pread64
-+#define SYS_pwrite64 __NR_pwrite64
-+#define SYS_access __NR_access
-+#define SYS_pipe __NR_pipe
-+#define SYS_select __NR_select
-+#define SYS_sched_yield __NR_sched_yield
-+#define SYS_mremap __NR_mremap
-+#define SYS_msync __NR_msync
-+#define SYS_mincore __NR_mincore
-+#define SYS_madvise __NR_madvise
-+#define SYS_shmget __NR_shmget
-+#define SYS_shmat __NR_shmat
-+#define SYS_shmctl __NR_shmctl
-+#define SYS_dup __NR_dup
-+#define SYS_dup2 __NR_dup2
-+#define SYS_pause __NR_pause
-+#define SYS_nanosleep __NR_nanosleep
-+#define SYS_getitimer __NR_getitimer
-+#define SYS_alarm __NR_alarm
-+#define SYS_setitimer __NR_setitimer
-+#define SYS_getpid __NR_getpid
-+#define SYS_sendfile __NR_sendfile
-+#define SYS_socket __NR_socket
-+#define SYS_connect __NR_connect
-+#define SYS_accept __NR_accept
-+#define SYS_sendto __NR_sendto
-+#define SYS_shutdown __NR_shutdown
-+#define SYS_bind __NR_bind
-+#define SYS_listen __NR_listen
-+#define SYS_getsockname __NR_getsockname
-+#define SYS_getpeername __NR_getpeername
-+#define SYS_socketpair __NR_socketpair
-+#define SYS_clone __NR_clone
-+#define SYS_fork __NR_fork
-+#define SYS_vfork __NR_vfork
-+#define SYS_exit __NR_exit
-+#define SYS_wait4 __NR_wait4
-+#define SYS_kill __NR_kill
-+#define SYS_uname __NR_uname
-+#define SYS_semget __NR_semget
-+#define SYS_semop __NR_semop
-+#define SYS_semctl __NR_semctl
-+#define SYS_shmdt __NR_shmdt
-+#define SYS_msgget __NR_msgget
-+#define SYS_msgsnd __NR_msgsnd
-+#define SYS_msgrcv __NR_msgrcv
-+#define SYS_msgctl __NR_msgctl
-+#define SYS_fcntl __NR_fcntl
-+#define SYS_flock __NR_flock
-+#define SYS_fsync __NR_fsync
-+#define SYS_fdatasync __NR_fdatasync
-+#define SYS_truncate __NR_truncate
-+#define SYS_ftruncate __NR_ftruncate
-+#define SYS_getdents __NR_getdents
-+#define SYS_getcwd __NR_getcwd
-+#define SYS_chdir __NR_chdir
-+#define SYS_fchdir __NR_fchdir
-+#define SYS_rename __NR_rename
-+#define SYS_mkdir __NR_mkdir
-+#define SYS_rmdir __NR_rmdir
-+#define SYS_creat __NR_creat
-+#define SYS_link __NR_link
-+#define SYS_unlink __NR_unlink
-+#define SYS_symlink __NR_symlink
-+#define SYS_readlink __NR_readlink
-+#define SYS_chmod __NR_chmod
-+#define SYS_fchmod __NR_fchmod
-+#define SYS_chown __NR_chown
-+#define SYS_fchown __NR_fchown
-+#define SYS_lchown __NR_lchown
-+#define SYS_umask __NR_umask
-+#define SYS_gettimeofday __NR_gettimeofday
-+#define SYS_getrlimit __NR_getrlimit
-+#define SYS_getrusage __NR_getrusage
-+#define SYS_sysinfo __NR_sysinfo
-+#define SYS_times __NR_times
-+#define SYS_getuid __NR_getuid
-+#define SYS_syslog __NR_syslog
-+#define SYS_getgid __NR_getgid
-+#define SYS_setuid __NR_setuid
-+#define SYS_setgid __NR_setgid
-+#define SYS_geteuid __NR_geteuid
-+#define SYS_getegid __NR_getegid
-+#define SYS_setpgid __NR_setpgid
-+#define SYS_getppid __NR_getppid
-+#define SYS_getpgrp __NR_getpgrp
-+#define SYS_setsid __NR_setsid
-+#define SYS_setreuid __NR_setreuid
-+#define SYS_setregid __NR_setregid
-+#define SYS_getgroups __NR_getgroups
-+#define SYS_setgroups __NR_setgroups
-+#define SYS_setresuid __NR_setresuid
-+#define SYS_getresuid __NR_getresuid
-+#define SYS_setresgid __NR_setresgid
-+#define SYS_getresgid __NR_getresgid
-+#define SYS_getpgid __NR_getpgid
-+#define SYS_setfsuid __NR_setfsuid
-+#define SYS_setfsgid __NR_setfsgid
-+#define SYS_getsid __NR_getsid
-+#define SYS_capget __NR_capget
-+#define SYS_capset __NR_capset
-+#define SYS_rt_sigsuspend __NR_rt_sigsuspend
-+#define SYS_utime __NR_utime
-+#define SYS_mknod __NR_mknod
-+#define SYS_personality __NR_personality
-+#define SYS_ustat __NR_ustat
-+#define SYS_statfs __NR_statfs
-+#define SYS_fstatfs __NR_fstatfs
-+#define SYS_sysfs __NR_sysfs
-+#define SYS_getpriority __NR_getpriority
-+#define SYS_setpriority __NR_setpriority
-+#define SYS_sched_setparam __NR_sched_setparam
-+#define SYS_sched_getparam __NR_sched_getparam
-+#define SYS_sched_setscheduler __NR_sched_setscheduler
-+#define SYS_sched_getscheduler __NR_sched_getscheduler
-+#define SYS_sched_get_priority_max __NR_sched_get_priority_max
-+#define SYS_sched_get_priority_min __NR_sched_get_priority_min
-+#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
-+#define SYS_mlock __NR_mlock
-+#define SYS_munlock __NR_munlock
-+#define SYS_mlockall __NR_mlockall
-+#define SYS_munlockall __NR_munlockall
-+#define SYS_vhangup __NR_vhangup
-+#define SYS_modify_ldt __NR_modify_ldt
-+#define SYS_pivot_root __NR_pivot_root
-+#define SYS_prctl __NR_prctl
-+#define SYS_arch_prctl __NR_arch_prctl
-+#define SYS_adjtimex __NR_adjtimex
-+#define SYS_setrlimit __NR_setrlimit
-+#define SYS_chroot __NR_chroot
-+#define SYS_sync __NR_sync
-+#define SYS_acct __NR_acct
-+#define SYS_settimeofday __NR_settimeofday
-+#define SYS_mount __NR_mount
-+#define SYS_umount2 __NR_umount2
-+#define SYS_swapon __NR_swapon
-+#define SYS_swapoff __NR_swapoff
-+#define SYS_reboot __NR_reboot
-+#define SYS_sethostname __NR_sethostname
-+#define SYS_setdomainname __NR_setdomainname
-+#define SYS_iopl __NR_iopl
-+#define SYS_ioperm __NR_ioperm
-+#define SYS_init_module __NR_init_module
-+#define SYS_delete_module __NR_delete_module
-+#define SYS_quotactl __NR_quotactl
-+#define SYS_getpmsg __NR_getpmsg
-+#define SYS_putpmsg __NR_putpmsg
-+#define SYS_afs_syscall __NR_afs_syscall
-+#define SYS_tuxcall __NR_tuxcall
-+#define SYS_security __NR_security
-+#define SYS_gettid __NR_gettid
-+#define SYS_readahead __NR_readahead
-+#define SYS_setxattr __NR_setxattr
-+#define SYS_lsetxattr __NR_lsetxattr
-+#define SYS_fsetxattr __NR_fsetxattr
-+#define SYS_getxattr __NR_getxattr
-+#define SYS_lgetxattr __NR_lgetxattr
-+#define SYS_fgetxattr __NR_fgetxattr
-+#define SYS_listxattr __NR_listxattr
-+#define SYS_llistxattr __NR_llistxattr
-+#define SYS_flistxattr __NR_flistxattr
-+#define SYS_removexattr __NR_removexattr
-+#define SYS_lremovexattr __NR_lremovexattr
-+#define SYS_fremovexattr __NR_fremovexattr
-+#define SYS_tkill __NR_tkill
-+#define SYS_time __NR_time
-+#define SYS_futex __NR_futex
-+#define SYS_sched_setaffinity __NR_sched_setaffinity
-+#define SYS_sched_getaffinity __NR_sched_getaffinity
-+#define SYS_io_setup __NR_io_setup
-+#define SYS_io_destroy __NR_io_destroy
-+#define SYS_io_getevents __NR_io_getevents
-+#define SYS_io_submit __NR_io_submit
-+#define SYS_io_cancel __NR_io_cancel
-+#define SYS_lookup_dcookie __NR_lookup_dcookie
-+#define SYS_epoll_create __NR_epoll_create
-+#define SYS_remap_file_pages __NR_remap_file_pages
-+#define SYS_getdents64 __NR_getdents64
-+#define SYS_set_tid_address __NR_set_tid_address
-+#define SYS_restart_syscall __NR_restart_syscall
-+#define SYS_semtimedop __NR_semtimedop
-+#define SYS_fadvise64 __NR_fadvise64
-+#define SYS_timer_settime __NR_timer_settime
-+#define SYS_timer_gettime __NR_timer_gettime
-+#define SYS_timer_getoverrun __NR_timer_getoverrun
-+#define SYS_timer_delete __NR_timer_delete
-+#define SYS_clock_settime __NR_clock_settime
-+#define SYS_clock_gettime __NR_clock_gettime
-+#define SYS_clock_getres __NR_clock_getres
-+#define SYS_clock_nanosleep __NR_clock_nanosleep
-+#define SYS_exit_group __NR_exit_group
-+#define SYS_epoll_wait __NR_epoll_wait
-+#define SYS_epoll_ctl __NR_epoll_ctl
-+#define SYS_tgkill __NR_tgkill
-+#define SYS_utimes __NR_utimes
-+#define SYS_mbind __NR_mbind
-+#define SYS_set_mempolicy __NR_set_mempolicy
-+#define SYS_get_mempolicy __NR_get_mempolicy
-+#define SYS_mq_open __NR_mq_open
-+#define SYS_mq_unlink __NR_mq_unlink
-+#define SYS_mq_timedsend __NR_mq_timedsend
-+#define SYS_mq_timedreceive __NR_mq_timedreceive
-+#define SYS_mq_getsetattr __NR_mq_getsetattr
-+#define SYS_add_key __NR_add_key
-+#define SYS_request_key __NR_request_key
-+#define SYS_keyctl __NR_keyctl
-+#define SYS_ioprio_set __NR_ioprio_set
-+#define SYS_ioprio_get __NR_ioprio_get
-+#define SYS_inotify_init __NR_inotify_init
-+#define SYS_inotify_add_watch __NR_inotify_add_watch
-+#define SYS_inotify_rm_watch __NR_inotify_rm_watch
-+#define SYS_migrate_pages __NR_migrate_pages
-+#define SYS_openat __NR_openat
-+#define SYS_mkdirat __NR_mkdirat
-+#define SYS_mknodat __NR_mknodat
-+#define SYS_fchownat __NR_fchownat
-+#define SYS_futimesat __NR_futimesat
-+#define SYS_newfstatat __NR_newfstatat
-+#define SYS_unlinkat __NR_unlinkat
-+#define SYS_renameat __NR_renameat
-+#define SYS_linkat __NR_linkat
-+#define SYS_symlinkat __NR_symlinkat
-+#define SYS_readlinkat __NR_readlinkat
-+#define SYS_fchmodat __NR_fchmodat
-+#define SYS_faccessat __NR_faccessat
-+#define SYS_pselect6 __NR_pselect6
-+#define SYS_ppoll __NR_ppoll
-+#define SYS_unshare __NR_unshare
-+#define SYS_splice __NR_splice
-+#define SYS_tee __NR_tee
-+#define SYS_sync_file_range __NR_sync_file_range
-+#define SYS_utimensat __NR_utimensat
-+#define SYS_epoll_pwait __NR_epoll_pwait
-+#define SYS_signalfd __NR_signalfd
-+#define SYS_timerfd_create __NR_timerfd_create
-+#define SYS_eventfd __NR_eventfd
-+#define SYS_fallocate __NR_fallocate
-+#define SYS_timerfd_settime __NR_timerfd_settime
-+#define SYS_timerfd_gettime __NR_timerfd_gettime
-+#define SYS_accept4 __NR_accept4
-+#define SYS_signalfd4 __NR_signalfd4
-+#define SYS_eventfd2 __NR_eventfd2
-+#define SYS_epoll_create1 __NR_epoll_create1
-+#define SYS_dup3 __NR_dup3
-+#define SYS_pipe2 __NR_pipe2
-+#define SYS_inotify_init1 __NR_inotify_init1
-+#define SYS_perf_event_open __NR_perf_event_open
-+#define SYS_fanotify_init __NR_fanotify_init
-+#define SYS_fanotify_mark __NR_fanotify_mark
-+#define SYS_prlimit64 __NR_prlimit64
-+#define SYS_name_to_handle_at __NR_name_to_handle_at
-+#define SYS_open_by_handle_at __NR_open_by_handle_at
-+#define SYS_clock_adjtime __NR_clock_adjtime
-+#define SYS_syncfs __NR_syncfs
-+#define SYS_setns __NR_setns
-+#define SYS_getcpu __NR_getcpu
-+#define SYS_kcmp __NR_kcmp
-+#define SYS_finit_module __NR_finit_module
-+#define SYS_rt_sigaction __NR_rt_sigaction
-+#define SYS_rt_sigreturn __NR_rt_sigreturn
-+#define SYS_ioctl __NR_ioctl
-+#define SYS_readv __NR_readv
-+#define SYS_writev __NR_writev
-+#define SYS_recvfrom __NR_recvfrom
-+#define SYS_sendmsg __NR_sendmsg
-+#define SYS_recvmsg __NR_recvmsg
-+#define SYS_execve __NR_execve
-+#define SYS_ptrace __NR_ptrace
-+#define SYS_rt_sigpending __NR_rt_sigpending
-+#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
-+#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
-+#define SYS_sigaltstack __NR_sigaltstack
-+#define SYS_timer_create __NR_timer_create
-+#define SYS_mq_notify __NR_mq_notify
-+#define SYS_kexec_load __NR_kexec_load
-+#define SYS_waitid __NR_waitid
-+#define SYS_set_robust_list __NR_set_robust_list
-+#define SYS_get_robust_list __NR_get_robust_list
-+#define SYS_vmsplice __NR_vmsplice
-+#define SYS_move_pages __NR_move_pages
-+#define SYS_preadv __NR_preadv
-+#define SYS_pwritev __NR_pwritev
-+#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
-+#define SYS_recvmmsg __NR_recvmmsg
-+#define SYS_sendmmsg __NR_sendmmsg
-+#define SYS_process_vm_readv __NR_process_vm_readv
-+#define SYS_process_vm_writev __NR_process_vm_writev
-+#define SYS_setsockopt __NR_setsockopt
-+#define SYS_getsockopt __NR_getsockopt
-+
-+#undef SYS_fstatat
-+#undef SYS_pread
-+#undef SYS_pwrite
-+#undef SYS_getdents
-+#define SYS_fstatat SYS_newfstatat
-+#define SYS_pread SYS_pread64
-+#define SYS_pwrite SYS_pwrite64
-+#define SYS_getdents SYS_getdents64
-+#define SYS_fadvise SYS_fadvise64
-diff -Nur musl-0.9.15/arch/x32/bits/termios.h musl-git/arch/x32/bits/termios.h
---- musl-0.9.15/arch/x32/bits/termios.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,160 @@
-+struct termios
-+{
-+ tcflag_t c_iflag;
-+ tcflag_t c_oflag;
-+ tcflag_t c_cflag;
-+ tcflag_t c_lflag;
-+ cc_t c_line;
-+ cc_t c_cc[NCCS];
-+ speed_t __c_ispeed;
-+ speed_t __c_ospeed;
-+};
-+
-+#define VINTR 0
-+#define VQUIT 1
-+#define VERASE 2
-+#define VKILL 3
-+#define VEOF 4
-+#define VTIME 5
-+#define VMIN 6
-+#define VSWTC 7
-+#define VSTART 8
-+#define VSTOP 9
-+#define VSUSP 10
-+#define VEOL 11
-+#define VREPRINT 12
-+#define VDISCARD 13
-+#define VWERASE 14
-+#define VLNEXT 15
-+#define VEOL2 16
-+
-+#define IGNBRK 0000001
-+#define BRKINT 0000002
-+#define IGNPAR 0000004
-+#define PARMRK 0000010
-+#define INPCK 0000020
-+#define ISTRIP 0000040
-+#define INLCR 0000100
-+#define IGNCR 0000200
-+#define ICRNL 0000400
-+#define IUCLC 0001000
-+#define IXON 0002000
-+#define IXANY 0004000
-+#define IXOFF 0010000
-+#define IMAXBEL 0020000
-+#define IUTF8 0040000
-+
-+#define OPOST 0000001
-+#define OLCUC 0000002
-+#define ONLCR 0000004
-+#define OCRNL 0000010
-+#define ONOCR 0000020
-+#define ONLRET 0000040
-+#define OFILL 0000100
-+#define OFDEL 0000200
-+#define NLDLY 0000400
-+#define NL0 0000000
-+#define NL1 0000400
-+#define CRDLY 0003000
-+#define CR0 0000000
-+#define CR1 0001000
-+#define CR2 0002000
-+#define CR3 0003000
-+#define TABDLY 0014000
-+#define TAB0 0000000
-+#define TAB1 0004000
-+#define TAB2 0010000
-+#define TAB3 0014000
-+#define BSDLY 0020000
-+#define BS0 0000000
-+#define BS1 0020000
-+#define FFDLY 0100000
-+#define FF0 0000000
-+#define FF1 0100000
-+
-+#define VTDLY 0040000
-+#define VT0 0000000
-+#define VT1 0040000
-+
-+#define B0 0000000
-+#define B50 0000001
-+#define B75 0000002
-+#define B110 0000003
-+#define B134 0000004
-+#define B150 0000005
-+#define B200 0000006
-+#define B300 0000007
-+#define B600 0000010
-+#define B1200 0000011
-+#define B1800 0000012
-+#define B2400 0000013
-+#define B4800 0000014
-+#define B9600 0000015
-+#define B19200 0000016
-+#define B38400 0000017
-+
-+#define B57600 0010001
-+#define B115200 0010002
-+#define B230400 0010003
-+#define B460800 0010004
-+#define B500000 0010005
-+#define B576000 0010006
-+#define B921600 0010007
-+#define B1000000 0010010
-+#define B1152000 0010011
-+#define B1500000 0010012
-+#define B2000000 0010013
-+#define B2500000 0010014
-+#define B3000000 0010015
-+#define B3500000 0010016
-+#define B4000000 0010017
-+
-+#define CBAUD 0010017
-+
-+#define CSIZE 0000060
-+#define CS5 0000000
-+#define CS6 0000020
-+#define CS7 0000040
-+#define CS8 0000060
-+#define CSTOPB 0000100
-+#define CREAD 0000200
-+#define PARENB 0000400
-+#define PARODD 0001000
-+#define HUPCL 0002000
-+#define CLOCAL 0004000
-+
-+#define ISIG 0000001
-+#define ICANON 0000002
-+#define ECHO 0000010
-+#define ECHOE 0000020
-+#define ECHOK 0000040
-+#define ECHONL 0000100
-+#define NOFLSH 0000200
-+#define TOSTOP 0000400
-+#define IEXTEN 0100000
-+
-+#define ECHOCTL 0001000
-+#define ECHOPRT 0002000
-+#define ECHOKE 0004000
-+#define FLUSHO 0010000
-+#define PENDIN 0040000
-+
-+#define TCOOFF 0
-+#define TCOON 1
-+#define TCIOFF 2
-+#define TCION 3
-+
-+#define TCIFLUSH 0
-+#define TCOFLUSH 1
-+#define TCIOFLUSH 2
-+
-+#define TCSANOW 0
-+#define TCSADRAIN 1
-+#define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#endif
-diff -Nur musl-0.9.15/arch/x32/bits/user.h musl-git/arch/x32/bits/user.h
---- musl-0.9.15/arch/x32/bits/user.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/bits/user.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,44 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 64
-+
-+typedef struct user_fpregs_struct
-+{
-+ uint16_t cwd, swd, ftw, fop;
-+ uint64_t rip, rdp;
-+ uint32_t mxcsr, mxcs_mask;
-+ uint32_t st_space[32], xmm_space[64], padding[24];
-+} elf_fpregset_t;
-+
-+struct user_regs_struct
-+{
-+ unsigned long r15, r14, r13, r12, rbp, rbx, r11, r10, r9, r8;
-+ unsigned long rax, rcx, rdx, rsi, rdi, orig_rax, rip;
-+ unsigned long cs, eflags, rsp, ss, fs_base, gs_base, ds, es, fs, gs;
-+};
-+#define ELF_NGREG 27
-+typedef unsigned long long elf_greg_t, elf_gregset_t[ELF_NGREG];
-+
-+struct user
-+{
-+ struct user_regs_struct regs;
-+ int u_fpvalid;
-+ struct user_fpregs_struct i387;
-+ unsigned long u_tsize;
-+ unsigned long u_dsize;
-+ unsigned long u_ssize;
-+ unsigned long start_code;
-+ unsigned long start_stack;
-+ long signal;
-+ int reserved;
-+ struct user_regs_struct *u_ar0;
-+ struct user_fpregs_struct *u_fpstate;
-+ unsigned long magic;
-+ char u_comm[32];
-+ unsigned long u_debugreg[8];
-+};
-+
-+#define PAGE_MASK (~(PAGE_SIZE-1))
-+#define NBPG PAGE_SIZE
-+#define UPAGES 1
-+#define HOST_TEXT_START_ADDR (u.start_code)
-+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
-diff -Nur musl-0.9.15/arch/x32/crt_arch.h musl-git/arch/x32/crt_arch.h
---- musl-0.9.15/arch/x32/crt_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/crt_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,9 @@
-+__asm__("\
-+.text \n\
-+.global _start \n\
-+_start: \n\
-+ xor %rbp,%rbp \n\
-+ mov %rsp,%rdi \n\
-+ andq $-16,%rsp \n\
-+ call __cstart \n\
-+");
-diff -Nur musl-0.9.15/arch/x32/pthread_arch.h musl-git/arch/x32/pthread_arch.h
---- musl-0.9.15/arch/x32/pthread_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/pthread_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,10 @@
-+static inline struct pthread *__pthread_self()
-+{
-+ struct pthread *self;
-+ __asm__ __volatile__ ("mov %%fs:0,%0" : "=r" (self) );
-+ return self;
-+}
-+
-+#define TP_ADJ(p) (p)
-+
-+#define CANCEL_REG_IP 16
-diff -Nur musl-0.9.15/arch/x32/reloc.h musl-git/arch/x32/reloc.h
---- musl-0.9.15/arch/x32/reloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/reloc.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,46 @@
-+#include <stdint.h>
-+#include <string.h>
-+#include <elf.h>
-+
-+#define LDSO_ARCH "x32"
-+
-+#define IS_COPY(x) ((x)==R_X86_64_COPY)
-+#define IS_PLT(x) ((x)==R_X86_64_JUMP_SLOT)
-+
-+static inline void do_single_reloc(
-+ struct dso *self, unsigned char *base_addr,
-+ size_t *reloc_addr, int type, size_t addend,
-+ Sym *sym, size_t sym_size,
-+ struct symdef def, size_t sym_val)
-+{
-+ switch(type) {
-+ case R_X86_64_GLOB_DAT:
-+ case R_X86_64_JUMP_SLOT:
-+ case R_X86_64_64:
-+ *reloc_addr = sym_val + addend;
-+ break;
-+ case R_X86_64_32:
-+ *(uint32_t *)reloc_addr = sym_val + addend;
-+ break;
-+ case R_X86_64_PC32:
-+ *reloc_addr = sym_val + addend - (size_t)reloc_addr + (size_t)base_addr;
-+ break;
-+ case R_X86_64_RELATIVE:
-+ *reloc_addr = (size_t)base_addr + addend;
-+ break;
-+ case R_X86_64_COPY:
-+ memcpy(reloc_addr, (void *)sym_val, sym_size);
-+ break;
-+ case R_X86_64_DTPMOD64:
-+ *reloc_addr = def.dso ? def.dso->tls_id : self->tls_id;
-+ break;
-+ case R_X86_64_DTPOFF64:
-+ *reloc_addr = def.sym->st_value + addend;
-+ break;
-+ case R_X86_64_TPOFF64:
-+ *reloc_addr = (def.sym
-+ ? def.sym->st_value - def.dso->tls_offset
-+ : 0 - self->tls_offset) + addend;
-+ break;
-+ }
-+}
-diff -Nur musl-0.9.15/arch/x32/src/syscall_cp_fixup.c musl-git/arch/x32/src/syscall_cp_fixup.c
---- musl-0.9.15/arch/x32/src/syscall_cp_fixup.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/src/syscall_cp_fixup.c 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,31 @@
-+#include <sys/syscall.h>
-+long __syscall_cp_internal(volatile void*, long long, long long, long long, long long,
-+ long long, long long, long long);
-+
-+struct __timespec { long long tv_sec; long tv_nsec; };
-+struct __timespec_kernel { long long tv_sec; long long tv_nsec; };
-+#define __tsc(X) ((struct __timespec*)(unsigned long)(X))
-+#define __fixup(X) do { if(X) X = (unsigned long) (&(struct __timespec_kernel) \
-+ { .tv_sec = __tsc(X)->tv_sec, .tv_nsec = __tsc(X)->tv_nsec}); } while(0)
-+
-+long __syscall_cp_asm (volatile void * foo, long long n, long long a1, long long a2, long long a3,
-+ long long a4, long long a5, long long a6) {
-+ switch (n) {
-+ case SYS_mq_timedsend: case SYS_mq_timedreceive: case SYS_pselect6:
-+ __fixup(a5);
-+ break;
-+ case SYS_futex:
-+ if((a2 & (~128 /* FUTEX_PRIVATE_FLAG */)) == 0 /* FUTEX_WAIT */)
-+ __fixup(a4);
-+ break;
-+ case SYS_clock_nanosleep:
-+ case SYS_rt_sigtimedwait: case SYS_ppoll:
-+ __fixup(a3);
-+ break;
-+ case SYS_nanosleep:
-+ __fixup(a1);
-+ break;
-+ }
-+ return __syscall_cp_internal(foo, n, a1, a2, a3, a4, a5, a6);
-+}
-+
-diff -Nur musl-0.9.15/arch/x32/src/sysinfo.c musl-git/arch/x32/src/sysinfo.c
---- musl-0.9.15/arch/x32/src/sysinfo.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/src/sysinfo.c 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,47 @@
-+#include <sys/sysinfo.h>
-+#include "syscall.h"
-+
-+#define klong long long
-+#define kulong unsigned long long
-+
-+struct kernel_sysinfo {
-+ klong uptime;
-+ kulong loads[3];
-+ kulong totalram;
-+ kulong freeram;
-+ kulong sharedram;
-+ kulong bufferram;
-+ kulong totalswap;
-+ kulong freeswap;
-+ short procs;
-+ short pad;
-+ kulong totalhigh;
-+ kulong freehigh;
-+ unsigned mem_unit;
-+};
-+
-+int __x32_sysinfo(struct sysinfo *info)
-+{
-+ struct kernel_sysinfo tmp;
-+ int ret = syscall(SYS_sysinfo, &tmp);
-+ if(ret == -1) return ret;
-+ info->uptime = tmp.uptime;
-+ info->loads[0] = tmp.loads[0];
-+ info->loads[1] = tmp.loads[1];
-+ info->loads[2] = tmp.loads[2];
-+ kulong shifts;
-+ kulong max = tmp.totalram | tmp.totalswap;
-+ __asm__("bsr %1,%0" : "=r"(shifts) : "r"(max));
-+ shifts = shifts >= 32 ? shifts - 31 : 0;
-+ info->totalram = tmp.totalram >> shifts;
-+ info->freeram = tmp.freeram >> shifts;
-+ info->sharedram = tmp.sharedram >> shifts;
-+ info->bufferram = tmp.bufferram >> shifts;
-+ info->totalswap = tmp.totalswap >> shifts;
-+ info->freeswap = tmp.freeswap >> shifts;
-+ info->procs = tmp.procs ;
-+ info->totalhigh = tmp.totalhigh >> shifts;
-+ info->freehigh = tmp.freehigh >> shifts;
-+ info->mem_unit = (tmp.mem_unit ? tmp.mem_unit : 1) << shifts;
-+ return ret;
-+}
-diff -Nur musl-0.9.15/arch/x32/syscall_arch.h musl-git/arch/x32/syscall_arch.h
---- musl-0.9.15/arch/x32/syscall_arch.h 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/arch/x32/syscall_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,117 @@
-+#define __SYSCALL_LL_E(x) (x)
-+#define __SYSCALL_LL_O(x) (x)
-+
-+#define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) (X) : (long long) (X)
-+typedef long long syscall_arg_t;
-+struct __timespec { long long tv_sec; long tv_nsec; };
-+struct __timespec_kernel { long long tv_sec; long long tv_nsec; };
-+#define __tsc(X) ((struct __timespec*)(unsigned long)(X))
-+#define __fixup(X) do { if(X) X = (unsigned long) (&(struct __timespec_kernel) \
-+ { .tv_sec = __tsc(X)->tv_sec, .tv_nsec = __tsc(X)->tv_nsec}); } while(0)
-+#define __fixup_case_2 \
-+ case SYS_nanosleep: \
-+ __fixup(a1); break; \
-+ case SYS_clock_settime: \
-+ __fixup(a2); break;
-+#define __fixup_case_3 \
-+ case SYS_clock_nanosleep: case SYS_rt_sigtimedwait: case SYS_ppoll: \
-+ __fixup(a3); break; \
-+ case SYS_utimensat: \
-+ if(a3) a3 = (unsigned long) ((struct __timespec_kernel[2]) { \
-+ [0] = {.tv_sec = __tsc(a3)[0].tv_sec, .tv_nsec = __tsc(a3)[0].tv_nsec}, \
-+ [1] = {.tv_sec = __tsc(a3)[1].tv_sec, .tv_nsec = __tsc(a3)[1].tv_nsec}, \
-+ }); break;
-+#define __fixup_case_4 \
-+ case SYS_futex: \
-+ if((a2 & (~128 /* FUTEX_PRIVATE_FLAG */)) == 0 /* FUTEX_WAIT */) __fixup(a4); break;
-+#define __fixup_case_5 \
-+ case SYS_mq_timedsend: case SYS_mq_timedreceive: case SYS_pselect6: \
-+ __fixup(a5); break;
-+
-+static __inline long __syscall0(long long n)
-+{
-+ unsigned long ret;
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n) : "rcx", "r11", "memory");
-+ return ret;
-+}
-+
-+static __inline long __syscall1(long long n, long long a1)
-+{
-+ unsigned long ret;
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1) : "rcx", "r11", "memory");
-+ return ret;
-+}
-+
-+static __inline long __syscall2(long long n, long long a1, long long a2)
-+{
-+ unsigned long ret;
-+ struct __timespec *ts2 = 0;
-+ switch (n) {
-+ __fixup_case_2;
-+ }
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2)
-+ : "rcx", "r11", "memory");
-+ return ret;
-+}
-+
-+static __inline long __syscall3(long long n, long long a1, long long a2, long long a3)
-+{
-+ unsigned long ret;
-+ switch (n) {
-+ __fixup_case_2;
-+ __fixup_case_3;
-+ }
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+ "d"(a3) : "rcx", "r11", "memory");
-+ return ret;
-+}
-+
-+static __inline long __syscall4(long long n, long long a1, long long a2, long long a3,
-+ long long a4_)
-+{
-+ unsigned long ret;
-+ register long long a4 __asm__("r10") = a4_;
-+ switch (n) {
-+ __fixup_case_2;
-+ __fixup_case_3;
-+ __fixup_case_4;
-+ }
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+ "d"(a3), "r"(a4): "rcx", "r11", "memory");
-+ return ret;
-+}
-+
-+static __inline long __syscall5(long long n, long long a1, long long a2, long long a3,
-+ long long a4_, long long a5_)
-+{
-+ unsigned long ret;
-+ register long long a4 __asm__("r10") = a4_;
-+ register long long a5 __asm__("r8") = a5_;
-+ switch (n) {
-+ __fixup_case_2;
-+ __fixup_case_3;
-+ __fixup_case_4;
-+ __fixup_case_5;
-+ }
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+ "d"(a3), "r"(a4), "r"(a5) : "rcx", "r11", "memory");
-+ return ret;
-+}
-+
-+static __inline long __syscall6(long long n, long long a1, long long a2, long long a3,
-+ long long a4_, long long a5_, long long a6_)
-+{
-+ unsigned long ret;
-+ register long long a4 __asm__("r10") = a4_;
-+ register long long a5 __asm__("r8") = a5_;
-+ register long long a6 __asm__("r9") = a6_;
-+ switch (n) {
-+ __fixup_case_2;
-+ __fixup_case_3;
-+ __fixup_case_4;
-+ __fixup_case_5;
-+ }
-+ __asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
-+ "d"(a3), "r"(a4), "r"(a5), "r"(a6) : "rcx", "r11", "memory");
-+ return ret;
-+}
-diff -Nur musl-0.9.15/arch/x86_64/atomic.h musl-git/arch/x86_64/atomic.h
---- musl-0.9.15/arch/x86_64/atomic.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/atomic.h 2014-03-10 16:52:06.000000000 +0100
-@@ -5,38 +5,36 @@
-
- static inline int a_ctz_64(uint64_t x)
- {
-- long r;
-- __asm__( "bsf %1,%0" : "=r"(r) : "r"(x) );
-- return r;
-+ __asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+ return x;
- }
-
- static inline int a_ctz_l(unsigned long x)
- {
-- long r;
-- __asm__( "bsf %1,%0" : "=r"(r) : "r"(x) );
-- return r;
-+ __asm__( "bsf %1,%0" : "=r"(x) : "r"(x) );
-+ return x;
- }
-
- static inline void a_and_64(volatile uint64_t *p, uint64_t v)
- {
-- __asm__( "lock ; andq %1, %0"
-- : "=m"(*(long *)p) : "r"(v) : "memory" );
-+ __asm__( "lock ; and %1, %0"
-+ : "=m"(*p) : "r"(v) : "memory" );
- }
-
- static inline void a_or_64(volatile uint64_t *p, uint64_t v)
- {
-- __asm__( "lock ; orq %1, %0"
-- : "=m"(*(long *)p) : "r"(v) : "memory" );
-+ __asm__( "lock ; or %1, %0"
-+ : "=m"(*p) : "r"(v) : "memory" );
- }
-
- static inline void a_store_l(volatile void *p, long x)
- {
-- __asm__( "movq %1, %0" : "=m"(*(long *)p) : "r"(x) : "memory" );
-+ __asm__( "mov %1, %0" : "=m"(*(long *)p) : "r"(x) : "memory" );
- }
-
- static inline void a_or_l(volatile void *p, long v)
- {
-- __asm__( "lock ; orq %1, %0"
-+ __asm__( "lock ; or %1, %0"
- : "=m"(*(long *)p) : "r"(v) : "memory" );
- }
-
-@@ -56,7 +54,7 @@
-
- static inline int a_cas(volatile int *p, int t, int s)
- {
-- __asm__( "lock ; cmpxchgl %3, %1"
-+ __asm__( "lock ; cmpxchg %3, %1"
- : "=a"(t), "=m"(*p) : "a"(t), "r"(s) : "memory" );
- return t;
- }
-@@ -74,13 +72,13 @@
-
- static inline void a_or(volatile void *p, int v)
- {
-- __asm__( "lock ; orl %1, %0"
-+ __asm__( "lock ; or %1, %0"
- : "=m"(*(int *)p) : "r"(v) : "memory" );
- }
-
- static inline void a_and(volatile void *p, int v)
- {
-- __asm__( "lock ; andl %1, %0"
-+ __asm__( "lock ; and %1, %0"
- : "=m"(*(int *)p) : "r"(v) : "memory" );
- }
-
-@@ -110,7 +108,7 @@
-
- static inline void a_store(volatile int *p, int x)
- {
-- __asm__( "movl %1, %0" : "=m"(*p) : "r"(x) : "memory" );
-+ __asm__( "mov %1, %0" : "=m"(*p) : "r"(x) : "memory" );
- }
-
- static inline void a_spin()
-diff -Nur musl-0.9.15/arch/x86_64/bits/shm.h musl-git/arch/x86_64/bits/shm.h
---- musl-0.9.15/arch/x86_64/bits/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -13,3 +13,14 @@
- unsigned long __pad1;
- unsigned long __pad2;
- };
-+
-+struct shminfo {
-+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
-+};
-+
-+struct shm_info {
-+ int __used_ids;
-+ unsigned long shm_tot, shm_rss, shm_swp;
-+ unsigned long __swap_attempts, __swap_successes;
-+};
-+
-diff -Nur musl-0.9.15/arch/x86_64/bits/stat.h musl-git/arch/x86_64/bits/stat.h
---- musl-0.9.15/arch/x86_64/bits/stat.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/stat.h 2014-03-10 16:52:06.000000000 +0100
-@@ -2,7 +2,7 @@
- * by the corresponding correctly-sized userspace types. */
-
- struct stat {
-- unsigned long st_dev;
-+ dev_t st_dev;
- ino_t st_ino;
- nlink_t st_nlink;
-
-diff -Nur musl-0.9.15/arch/x86_64/bits/termios.h musl-git/arch/x86_64/bits/termios.h
---- musl-0.9.15/arch/x86_64/bits/termios.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/bits/termios.h 2014-03-10 16:52:06.000000000 +0100
-@@ -42,6 +42,7 @@
- #define IXANY 0004000
- #define IXOFF 0010000
- #define IMAXBEL 0020000
-+#define IUTF8 0040000
-
- #define OPOST 0000001
- #define OLCUC 0000002
-@@ -75,9 +76,6 @@
- #define VT0 0000000
- #define VT1 0040000
-
--/* ?? */
--#define XTABS 0014000
--
- #define B0 0000000
- #define B50 0000001
- #define B75 0000002
-@@ -125,8 +123,6 @@
- #define HUPCL 0002000
- #define CLOCAL 0004000
-
--#define CRTSCTS 020000000000
--
- #define ISIG 0000001
- #define ICANON 0000002
- #define ECHO 0000010
-@@ -137,14 +133,11 @@
- #define TOSTOP 0000400
- #define IEXTEN 0100000
-
--/* Extensions? */
--#define CBAUDEX 0010000
- #define ECHOCTL 0001000
- #define ECHOPRT 0002000
- #define ECHOKE 0004000
- #define FLUSHO 0010000
- #define PENDIN 0040000
--#define EXTPROC 0200000
-
- #define TCOOFF 0
- #define TCOON 1
-@@ -158,3 +151,10 @@
- #define TCSANOW 0
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
-+
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define CBAUDEX 0010000
-+#define CRTSCTS 020000000000
-+#define EXTPROC 0200000
-+#define XTABS 0014000
-+#endif
-diff -Nur musl-0.9.15/arch/x86_64/pthread_arch.h musl-git/arch/x86_64/pthread_arch.h
---- musl-0.9.15/arch/x86_64/pthread_arch.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/arch/x86_64/pthread_arch.h 2014-03-10 16:52:06.000000000 +0100
-@@ -1,7 +1,7 @@
- static inline struct pthread *__pthread_self()
- {
- struct pthread *self;
-- __asm__ __volatile__ ("movq %%fs:0,%0" : "=r" (self) );
-+ __asm__ __volatile__ ("mov %%fs:0,%0" : "=r" (self) );
- return self;
- }
-
-diff -Nur musl-0.9.15/configure musl-git/configure
---- musl-0.9.15/configure 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/configure 2014-03-10 16:52:06.000000000 +0100
-@@ -222,12 +222,16 @@
- # Convert to just ARCH
- #
- case "$target" in
-+# Catch these early to simplify matching for 32-bit archs
-+mips64*|powerpc64*) fail "$0: unsupported target \"$target\"" ;;
- arm*) ARCH=arm ;;
- i?86*) ARCH=i386 ;;
-+x86_64-x32*|x32*) ARCH=x32 ;;
- x86_64*) ARCH=x86_64 ;;
--mips-*|mipsel-*) ARCH=mips ;;
--microblaze-*) ARCH=microblaze ;;
--powerpc-*) ARCH=powerpc ;;
-+mips*) ARCH=mips ;;
-+microblaze*) ARCH=microblaze ;;
-+powerpc*) ARCH=powerpc ;;
-+sh[1-9bel-]*|sh|superh*) ARCH=sh ;;
- unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;;
- *) fail "$0: unknown or unsupported target \"$target\"" ;;
- esac
-@@ -381,6 +385,7 @@
- tryflag CFLAGS_AUTO -Wno-unused-value
- tryflag CFLAGS_AUTO -Wno-unused-but-set-variable
- tryflag CFLAGS_AUTO -Wno-unknown-pragmas
-+tryflag CFLAGS_AUTO -Wno-pointer-to-int-cast
- fi
-
- # Some patched GCC builds have these defaults messed up...
-@@ -410,12 +415,33 @@
- trycppif __ARM_PCS_VFP "$t" && SUBARCH=${SUBARCH}hf
- fi
-
--test "$ARCH" = "mips" && trycppif "_MIPSEL || __MIPSEL || __MIPSEL__" "$t" \
--&& SUBARCH=${SUBARCH}el
-+if test "$ARCH" = "mips" ; then
-+trycppif "_MIPSEL || __MIPSEL || __MIPSEL__" "$t" && SUBARCH=${SUBARCH}el
-+trycppif __mips_soft_float "$t" && SUBARCH=${SUBARCH}-sf
-+fi
-
- test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \
- && SUBARCH=${SUBARCH}el
-
-+if test "$ARCH" = "sh" ; then
-+trycppif __BIG_ENDIAN__ "$t" && SUBARCH=${SUBARCH}eb
-+if trycppif __SH_FPU_ANY__ "$t" ; then
-+# Some sh configurations are broken and replace double with float
-+# rather than using softfloat when the fpu is present but only
-+# supports single precision. Reject them.
-+printf "checking whether compiler's double type is IEEE double... "
-+echo 'typedef char dblcheck[(int)sizeof(double)-5];' > "$tmpc"
-+if $CC $CFLAGS_C99FSE $CPPFLAGS $CFLAGS -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
-+printf "yes\n"
-+else
-+printf "no\n"
-+fail "$0: error: compiler's floating point configuration is unsupported"
-+fi
-+else
-+SUBARCH=${SUBARCH}-nofpu
-+fi
-+fi
-+
- test "$SUBARCH" \
- && printf "configured for %s variant: %s\n" "$ARCH" "$ARCH$SUBARCH"
-
-diff -Nur musl-0.9.15/COPYRIGHT musl-git/COPYRIGHT
---- musl-0.9.15/COPYRIGHT 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/COPYRIGHT 2014-03-10 16:52:06.000000000 +0100
-@@ -1,6 +1,6 @@
- musl as a whole is licensed under the following standard MIT license:
-
--Copyright © 2005-2013 Rich Felker
-+Copyright © 2005-2014 Rich Felker
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
-@@ -79,7 +79,7 @@
- from Bionic libc, used on Android.
-
- All other files which have no copyright comments are original works
--Copyright © 2005-2013 Rich Felker, the main author of this library.
-+Copyright © 2005-2014 Rich Felker, the main author of this library.
- The decision to exclude such comments is intentional, as it should be
- possible to carry around the complete source code on tiny storage
- media. All public header files (include/* and arch/*/bits/*) should be
-diff -Nur musl-0.9.15/crt/superh/crti.s musl-git/crt/superh/crti.s
---- musl-0.9.15/crt/superh/crti.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/superh/crti.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,13 @@
-+.section .init
-+.global _init
-+.type _init, @function
-+_init:
-+ sts.l pr, @-r15
-+ nop
-+
-+.section .fini
-+.global _fini
-+.type _fini, @function
-+_fini:
-+ sts.l pr, @-r15
-+ nop
-diff -Nur musl-0.9.15/crt/superh/crtn.s musl-git/crt/superh/crtn.s
---- musl-0.9.15/crt/superh/crtn.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/superh/crtn.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,9 @@
-+.section .init
-+ lds.l @r15+, pr
-+ rts
-+ nop
-+
-+.section .fini
-+ lds.l @r15+, pr
-+ rts
-+ nop
-diff -Nur musl-0.9.15/crt/x32/crti.s musl-git/crt/x32/crti.s
---- musl-0.9.15/crt/x32/crti.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/x32/crti.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,9 @@
-+.section .init
-+.global _init
-+_init:
-+ push %rax
-+
-+.section .fini
-+.global _fini
-+_fini:
-+ push %rax
-diff -Nur musl-0.9.15/crt/x32/crtn.s musl-git/crt/x32/crtn.s
---- musl-0.9.15/crt/x32/crtn.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/crt/x32/crtn.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.section .init
-+ pop %rax
-+ ret
-+
-+.section .fini
-+ pop %rax
-+ ret
-diff -Nur musl-0.9.15/.gitignore musl-git/.gitignore
---- musl-0.9.15/.gitignore 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/.gitignore 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,11 @@
-+*.o
-+*.lo
-+*.a
-+*.so
-+*.so.1
-+arch/*/bits/alltypes.h
-+config.mak
-+include/bits
-+tools/musl-gcc
-+lib/musl-gcc.specs
-+src/internal/version.h
-diff -Nur musl-0.9.15/include/arpa/inet.h musl-git/include/arpa/inet.h
---- musl-0.9.15/include/arpa/inet.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/arpa/inet.h 2014-03-10 16:52:06.000000000 +0100
-@@ -20,7 +20,7 @@
- const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
-
- int inet_aton (const char *, struct in_addr *);
--struct in_addr inet_makeaddr(int, int);
-+struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
- in_addr_t inet_lnaof(struct in_addr);
- in_addr_t inet_netof(struct in_addr);
-
-diff -Nur musl-0.9.15/include/dlfcn.h musl-git/include/dlfcn.h
---- musl-0.9.15/include/dlfcn.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/dlfcn.h 2014-03-10 16:52:06.000000000 +0100
-@@ -31,7 +31,7 @@
- const char *dli_sname;
- void *dli_saddr;
- } Dl_info;
--int dladdr(void *, Dl_info *);
-+int dladdr(const void *, Dl_info *);
- int dlinfo(void *, int, void *);
- #endif
-
-diff -Nur musl-0.9.15/include/elf.h musl-git/include/elf.h
---- musl-0.9.15/include/elf.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/elf.h 2014-03-10 16:52:06.000000000 +0100
-@@ -1153,6 +1153,7 @@
- #define EF_MIPS_64BIT_WHIRL 16
- #define EF_MIPS_ABI2 32
- #define EF_MIPS_ABI_ON32 64
-+#define EF_MIPS_NAN2008 1024
- #define EF_MIPS_ARCH 0xf0000000
-
-
-@@ -2092,6 +2093,117 @@
- #define R_AARCH64_NONE 0
- #define R_AARCH64_ABS64 257
- #define R_AARCH64_ABS32 258
-+#define R_AARCH64_ABS16 259
-+#define R_AARCH64_PREL64 260
-+#define R_AARCH64_PREL32 261
-+#define R_AARCH64_PREL16 262
-+#define R_AARCH64_MOVW_UABS_G0 263
-+#define R_AARCH64_MOVW_UABS_G0_NC 264
-+#define R_AARCH64_MOVW_UABS_G1 265
-+#define R_AARCH64_MOVW_UABS_G1_NC 266
-+#define R_AARCH64_MOVW_UABS_G2 267
-+#define R_AARCH64_MOVW_UABS_G2_NC 268
-+#define R_AARCH64_MOVW_UABS_G3 269
-+#define R_AARCH64_MOVW_SABS_G0 270
-+#define R_AARCH64_MOVW_SABS_G1 271
-+#define R_AARCH64_MOVW_SABS_G2 272
-+#define R_AARCH64_LD_PREL_LO19 273
-+#define R_AARCH64_ADR_PREL_LO21 274
-+#define R_AARCH64_ADR_PREL_PG_HI21 275
-+#define R_AARCH64_ADR_PREL_PG_HI21_NC 276
-+#define R_AARCH64_ADD_ABS_LO12_NC 277
-+#define R_AARCH64_LDST8_ABS_LO12_NC 278
-+#define R_AARCH64_TSTBR14 279
-+#define R_AARCH64_CONDBR19 280
-+#define R_AARCH64_JUMP26 282
-+#define R_AARCH64_CALL26 283
-+#define R_AARCH64_LDST16_ABS_LO12_NC 284
-+#define R_AARCH64_LDST32_ABS_LO12_NC 285
-+#define R_AARCH64_LDST64_ABS_LO12_NC 286
-+#define R_AARCH64_MOVW_PREL_G0 287
-+#define R_AARCH64_MOVW_PREL_G0_NC 288
-+#define R_AARCH64_MOVW_PREL_G1 289
-+#define R_AARCH64_MOVW_PREL_G1_NC 290
-+#define R_AARCH64_MOVW_PREL_G2 291
-+#define R_AARCH64_MOVW_PREL_G2_NC 292
-+#define R_AARCH64_MOVW_PREL_G3 293
-+#define R_AARCH64_LDST128_ABS_LO12_NC 299
-+#define R_AARCH64_MOVW_GOTOFF_G0 300
-+#define R_AARCH64_MOVW_GOTOFF_G0_NC 301
-+#define R_AARCH64_MOVW_GOTOFF_G1 302
-+#define R_AARCH64_MOVW_GOTOFF_G1_NC 303
-+#define R_AARCH64_MOVW_GOTOFF_G2 304
-+#define R_AARCH64_MOVW_GOTOFF_G2_NC 305
-+#define R_AARCH64_MOVW_GOTOFF_G3 306
-+#define R_AARCH64_GOTREL64 307
-+#define R_AARCH64_GOTREL32 308
-+#define R_AARCH64_GOT_LD_PREL19 309
-+#define R_AARCH64_LD64_GOTOFF_LO15 310
-+#define R_AARCH64_ADR_GOT_PAGE 311
-+#define R_AARCH64_LD64_GOT_LO12_NC 312
-+#define R_AARCH64_LD64_GOTPAGE_LO15 313
-+#define R_AARCH64_TLSGD_ADR_PREL21 512
-+#define R_AARCH64_TLSGD_ADR_PAGE21 513
-+#define R_AARCH64_TLSGD_ADD_LO12_NC 514
-+#define R_AARCH64_TLSGD_MOVW_G1 515
-+#define R_AARCH64_TLSGD_MOVW_G0_NC 516
-+#define R_AARCH64_TLSLD_ADR_PREL21 517
-+#define R_AARCH64_TLSLD_ADR_PAGE21 518
-+#define R_AARCH64_TLSLD_ADD_LO12_NC 519
-+#define R_AARCH64_TLSLD_MOVW_G1 520
-+#define R_AARCH64_TLSLD_MOVW_G0_NC 521
-+#define R_AARCH64_TLSLD_LD_PREL19 522
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G2 523
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G1 524
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 525
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G0 526
-+#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 527
-+#define R_AARCH64_TLSLD_ADD_DTPREL_HI12 528
-+#define R_AARCH64_TLSLD_ADD_DTPREL_LO12 529
-+#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 530
-+#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12 531
-+#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 532
-+#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12 533
-+#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534
-+#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12 535
-+#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536
-+#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12 537
-+#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538
-+#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 539
-+#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 540
-+#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 541
-+#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542
-+#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 543
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G2 544
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G1 545
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 546
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G0 547
-+#define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 548
-+#define R_AARCH64_TLSLE_ADD_TPREL_HI12 549
-+#define R_AARCH64_TLSLE_ADD_TPREL_LO12 550
-+#define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 551
-+#define R_AARCH64_TLSLE_LDST8_TPREL_LO12 552
-+#define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 553
-+#define R_AARCH64_TLSLE_LDST16_TPREL_LO12 554
-+#define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 555
-+#define R_AARCH64_TLSLE_LDST32_TPREL_LO12 556
-+#define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 557
-+#define R_AARCH64_TLSLE_LDST64_TPREL_LO12 558
-+#define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 559
-+#define R_AARCH64_TLSDESC_LD_PREL19 560
-+#define R_AARCH64_TLSDESC_ADR_PREL21 561
-+#define R_AARCH64_TLSDESC_ADR_PAGE21 562
-+#define R_AARCH64_TLSDESC_LD64_LO12 563
-+#define R_AARCH64_TLSDESC_ADD_LO12 564
-+#define R_AARCH64_TLSDESC_OFF_G1 565
-+#define R_AARCH64_TLSDESC_OFF_G0_NC 566
-+#define R_AARCH64_TLSDESC_LDR 567
-+#define R_AARCH64_TLSDESC_ADD 568
-+#define R_AARCH64_TLSDESC_CALL 569
-+#define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570
-+#define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571
-+#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572
-+#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573
- #define R_AARCH64_COPY 1024
- #define R_AARCH64_GLOB_DAT 1025
- #define R_AARCH64_JUMP_SLOT 1026
-diff -Nur musl-0.9.15/include/fcntl.h musl-git/include/fcntl.h
---- musl-0.9.15/include/fcntl.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/fcntl.h 2014-03-10 16:52:06.000000000 +0100
-@@ -148,6 +148,7 @@
- #define SPLICE_F_MORE 4
- #define SPLICE_F_GIFT 8
- int fallocate(int, int, off_t, off_t);
-+#define fallocate64 fallocate
- ssize_t readahead(int, off_t, size_t);
- int sync_file_range(int, off_t, off_t, unsigned);
- ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
-@@ -160,6 +161,7 @@
- #define F_GETLK64 F_GETLK
- #define F_SETLK64 F_SETLK
- #define F_SETLKW64 F_SETLKW
-+#define flock64 flock
- #define open64 open
- #define openat64 openat
- #define creat64 creat
-diff -Nur musl-0.9.15/include/math.h musl-git/include/math.h
---- musl-0.9.15/include/math.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/math.h 2014-03-10 16:52:06.000000000 +0100
-@@ -42,12 +42,14 @@
-
- static __inline unsigned __FLOAT_BITS(float __f)
- {
-- union {float __f; unsigned __i;} __u = {__f};
-+ union {float __f; unsigned __i;} __u;
-+ __u.__f = __f;
- return __u.__i;
- }
- static __inline unsigned long long __DOUBLE_BITS(double __f)
- {
-- union {double __f; unsigned long long __i;} __u = {__f};
-+ union {double __f; unsigned long long __i;} __u;
-+ __u.__f = __f;
- return __u.__i;
- }
-
-diff -Nur musl-0.9.15/include/netdb.h musl-git/include/netdb.h
---- musl-0.9.15/include/netdb.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netdb.h 2014-03-10 16:52:06.000000000 +0100
-@@ -131,6 +131,7 @@
- #define TRY_AGAIN 2
- #define NO_RECOVERY 3
- #define NO_DATA 4
-+#define NO_ADDRESS NO_DATA
- #endif
-
- #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-diff -Nur musl-0.9.15/include/netinet/if_ether.h musl-git/include/netinet/if_ether.h
---- musl-0.9.15/include/netinet/if_ether.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/if_ether.h 2014-03-10 16:52:06.000000000 +0100
-@@ -54,6 +54,7 @@
- #define ETH_P_8021AH 0x88E7
- #define ETH_P_MVRP 0x88F5
- #define ETH_P_1588 0x88F7
-+#define ETH_P_PRP 0x88FB
- #define ETH_P_FCOE 0x8906
- #define ETH_P_TDLS 0x890D
- #define ETH_P_FIP 0x8914
-diff -Nur musl-0.9.15/include/netinet/in.h musl-git/include/netinet/in.h
---- musl-0.9.15/include/netinet/in.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/in.h 2014-03-10 16:52:06.000000000 +0100
-@@ -149,7 +149,7 @@
- (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
-
- #define __ARE_4_EQUAL(a,b) \
-- (!( 0[a]-0[b] | 1[a]-1[b] | 2[a]-2[b] | 3[a]-3[b] ))
-+ (!( (0[a]-0[b]) | (1[a]-1[b]) | (2[a]-2[b]) | (3[a]-3[b]) ))
- #define IN6_ARE_ADDR_EQUAL(a,b) \
- __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b))
-
-@@ -211,27 +211,13 @@
- #define IP_MULTICAST_ALL 49
- #define IP_UNICAST_IF 50
-
--#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
--#define MCAST_JOIN_GROUP 42
--#define MCAST_BLOCK_SOURCE 43
--#define MCAST_UNBLOCK_SOURCE 44
--#define MCAST_LEAVE_GROUP 45
--#define MCAST_JOIN_SOURCE_GROUP 46
--#define MCAST_LEAVE_SOURCE_GROUP 47
--#define MCAST_MSFILTER 48
--
--#define MCAST_EXCLUDE 0
--#define MCAST_INCLUDE 1
--#endif
--
- #define IP_RECVRETOPTS IP_RETOPTS
-
- #define IP_PMTUDISC_DONT 0
- #define IP_PMTUDISC_WANT 1
- #define IP_PMTUDISC_DO 2
- #define IP_PMTUDISC_PROBE 3
--
--#define SOL_IP 0
-+#define IP_PMTUDISC_INTERFACE 4
-
- #define IP_DEFAULT_MULTICAST_TTL 1
- #define IP_DEFAULT_MULTICAST_LOOP 1
-@@ -243,6 +229,19 @@
- char ip_opts[40];
- };
-
-+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#define MCAST_JOIN_GROUP 42
-+#define MCAST_BLOCK_SOURCE 43
-+#define MCAST_UNBLOCK_SOURCE 44
-+#define MCAST_LEAVE_GROUP 45
-+#define MCAST_JOIN_SOURCE_GROUP 46
-+#define MCAST_LEAVE_SOURCE_GROUP 47
-+#define MCAST_MSFILTER 48
-+
-+#define MCAST_EXCLUDE 0
-+#define MCAST_INCLUDE 1
-+
- struct ip_mreq
- {
- struct in_addr imr_multiaddr;
-@@ -273,7 +272,6 @@
- (sizeof(struct ip_msfilter) - sizeof(struct in_addr) \
- + (numsrc) * sizeof(struct in_addr))
-
--#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
- struct group_req {
- uint32_t gr_interface;
- struct sockaddr_storage gr_group;
-@@ -295,7 +293,6 @@
- #define GROUP_FILTER_SIZE(numsrc) \
- (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \
- + (numsrc) * sizeof(struct sockaddr_storage))
--#endif
-
- struct in_pktinfo
- {
-@@ -315,6 +312,7 @@
- struct sockaddr_in6 ip6m_addr;
- uint32_t ip6m_mtu;
- };
-+#endif
-
- #define IPV6_ADDRFORM 1
- #define IPV6_2292PKTINFO 2
-@@ -324,7 +322,6 @@
- #define IPV6_2292PKTOPTIONS 6
- #define IPV6_CHECKSUM 7
- #define IPV6_2292HOPLIMIT 8
--#define SCM_SRCRT IPV6_RXSRCRT
- #define IPV6_NEXTHOP 9
- #define IPV6_AUTHHDR 10
- #define IPV6_UNICAST_HOPS 16
-@@ -363,15 +360,11 @@
- #define IPV6_RXHOPOPTS IPV6_HOPOPTS
- #define IPV6_RXDSTOPTS IPV6_DSTOPTS
-
--
- #define IPV6_PMTUDISC_DONT 0
- #define IPV6_PMTUDISC_WANT 1
- #define IPV6_PMTUDISC_DO 2
- #define IPV6_PMTUDISC_PROBE 3
-
--#define SOL_IPV6 41
--#define SOL_ICMPV6 58
--
- #define IPV6_RTHDR_LOOSE 0
- #define IPV6_RTHDR_STRICT 1
-
-diff -Nur musl-0.9.15/include/netinet/tcp.h musl-git/include/netinet/tcp.h
---- musl-0.9.15/include/netinet/tcp.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/tcp.h 2014-03-10 16:52:06.000000000 +0100
-@@ -44,42 +44,80 @@
- #define SOL_TCP 6
- #include <sys/types.h>
- #include <sys/socket.h>
--#endif
-+#include <stdint.h>
-+#include <endian.h>
-+
-+typedef uint32_t tcp_seq;
-
-+#define TH_FIN 0x01
-+#define TH_SYN 0x02
-+#define TH_RST 0x04
-+#define TH_PUSH 0x08
-+#define TH_ACK 0x10
-+#define TH_URG 0x20
-+
-+struct tcphdr {
- #ifdef _GNU_SOURCE
--#include <endian.h>
--struct tcphdr
--{
-- u_int16_t source;
-- u_int16_t dest;
-- u_int32_t seq;
-- u_int32_t ack_seq;
-+#ifdef __GNUC__
-+ __extension__
-+#endif
-+ union { struct {
-+
-+ uint16_t source;
-+ uint16_t dest;
-+ uint32_t seq;
-+ uint32_t ack_seq;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+ uint16_t res1:4;
-+ uint16_t doff:4;
-+ uint16_t fin:1;
-+ uint16_t syn:1;
-+ uint16_t rst:1;
-+ uint16_t psh:1;
-+ uint16_t ack:1;
-+ uint16_t urg:1;
-+ uint16_t res2:2;
-+#else
-+ uint16_t doff:4;
-+ uint16_t res1:4;
-+ uint16_t res2:2;
-+ uint16_t urg:1;
-+ uint16_t ack:1;
-+ uint16_t psh:1;
-+ uint16_t rst:1;
-+ uint16_t syn:1;
-+ uint16_t fin:1;
-+#endif
-+ uint16_t window;
-+ uint16_t check;
-+ uint16_t urg_ptr;
-+
-+ }; struct {
-+#endif
-+
-+ uint16_t th_sport;
-+ uint16_t th_dport;
-+ uint32_t th_seq;
-+ uint32_t th_ack;
- #if __BYTE_ORDER == __LITTLE_ENDIAN
-- u_int16_t res1:4;
-- u_int16_t doff:4;
-- u_int16_t fin:1;
-- u_int16_t syn:1;
-- u_int16_t rst:1;
-- u_int16_t psh:1;
-- u_int16_t ack:1;
-- u_int16_t urg:1;
-- u_int16_t res2:2;
-+ uint8_t th_x2:4;
-+ uint8_t th_off:4;
- #else
-- u_int16_t doff:4;
-- u_int16_t res1:4;
-- u_int16_t res2:2;
-- u_int16_t urg:1;
-- u_int16_t ack:1;
-- u_int16_t psh:1;
-- u_int16_t rst:1;
-- u_int16_t syn:1;
-- u_int16_t fin:1;
--#endif
-- u_int16_t window;
-- u_int16_t check;
-- u_int16_t urg_ptr;
-+ uint8_t th_off:4;
-+ uint8_t th_x2:4;
-+#endif
-+ uint8_t th_flags;
-+ uint16_t th_win;
-+ uint16_t th_sum;
-+ uint16_t th_urp;
-+
-+#ifdef _GNU_SOURCE
-+ }; };
-+#endif
- };
-+#endif
-
-+#ifdef _GNU_SOURCE
- #define TCPI_OPT_TIMESTAMPS 1
- #define TCPI_OPT_SACK 2
- #define TCPI_OPT_WSCALE 4
-@@ -93,37 +131,37 @@
-
- struct tcp_info
- {
-- u_int8_t tcpi_state;
-- u_int8_t tcpi_ca_state;
-- u_int8_t tcpi_retransmits;
-- u_int8_t tcpi_probes;
-- u_int8_t tcpi_backoff;
-- u_int8_t tcpi_options;
-- u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-- u_int32_t tcpi_rto;
-- u_int32_t tcpi_ato;
-- u_int32_t tcpi_snd_mss;
-- u_int32_t tcpi_rcv_mss;
-- u_int32_t tcpi_unacked;
-- u_int32_t tcpi_sacked;
-- u_int32_t tcpi_lost;
-- u_int32_t tcpi_retrans;
-- u_int32_t tcpi_fackets;
-- u_int32_t tcpi_last_data_sent;
-- u_int32_t tcpi_last_ack_sent;
-- u_int32_t tcpi_last_data_recv;
-- u_int32_t tcpi_last_ack_recv;
-- u_int32_t tcpi_pmtu;
-- u_int32_t tcpi_rcv_ssthresh;
-- u_int32_t tcpi_rtt;
-- u_int32_t tcpi_rttvar;
-- u_int32_t tcpi_snd_ssthresh;
-- u_int32_t tcpi_snd_cwnd;
-- u_int32_t tcpi_advmss;
-- u_int32_t tcpi_reordering;
-- u_int32_t tcpi_rcv_rtt;
-- u_int32_t tcpi_rcv_space;
-- u_int32_t tcpi_total_retrans;
-+ uint8_t tcpi_state;
-+ uint8_t tcpi_ca_state;
-+ uint8_t tcpi_retransmits;
-+ uint8_t tcpi_probes;
-+ uint8_t tcpi_backoff;
-+ uint8_t tcpi_options;
-+ uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-+ uint32_t tcpi_rto;
-+ uint32_t tcpi_ato;
-+ uint32_t tcpi_snd_mss;
-+ uint32_t tcpi_rcv_mss;
-+ uint32_t tcpi_unacked;
-+ uint32_t tcpi_sacked;
-+ uint32_t tcpi_lost;
-+ uint32_t tcpi_retrans;
-+ uint32_t tcpi_fackets;
-+ uint32_t tcpi_last_data_sent;
-+ uint32_t tcpi_last_ack_sent;
-+ uint32_t tcpi_last_data_recv;
-+ uint32_t tcpi_last_ack_recv;
-+ uint32_t tcpi_pmtu;
-+ uint32_t tcpi_rcv_ssthresh;
-+ uint32_t tcpi_rtt;
-+ uint32_t tcpi_rttvar;
-+ uint32_t tcpi_snd_ssthresh;
-+ uint32_t tcpi_snd_cwnd;
-+ uint32_t tcpi_advmss;
-+ uint32_t tcpi_reordering;
-+ uint32_t tcpi_rcv_rtt;
-+ uint32_t tcpi_rcv_space;
-+ uint32_t tcpi_total_retrans;
- };
-
- #define TCP_MD5SIG_MAXKEYLEN 80
-@@ -131,10 +169,10 @@
- struct tcp_md5sig
- {
- struct sockaddr_storage tcpm_addr;
-- u_int16_t __tcpm_pad1;
-- u_int16_t tcpm_keylen;
-- u_int32_t __tcpm_pad2;
-- u_int8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
-+ uint16_t __tcpm_pad1;
-+ uint16_t tcpm_keylen;
-+ uint32_t __tcpm_pad2;
-+ uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
- };
-
- #endif
-diff -Nur musl-0.9.15/include/netinet/udp.h musl-git/include/netinet/udp.h
---- musl-0.9.15/include/netinet/udp.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/netinet/udp.h 2014-03-10 16:52:06.000000000 +0100
-@@ -5,19 +5,22 @@
- extern "C" {
- #endif
-
-+#include <features.h>
- #include <stdint.h>
-
--struct udphdr {
-- uint16_t source;
-- uint16_t dest;
-- uint16_t len;
-- uint16_t check;
--};
--
-+#ifdef _GNU_SOURCE
- #define uh_sport source
- #define uh_dport dest
- #define uh_ulen len
- #define uh_sum check
-+#endif
-+
-+struct udphdr {
-+ uint16_t uh_sport;
-+ uint16_t uh_dport;
-+ uint16_t uh_ulen;
-+ uint16_t uh_sum;
-+};
-
- #define UDP_CORK 1
- #define UDP_ENCAP 100
-diff -Nur musl-0.9.15/include/sched.h musl-git/include/sched.h
---- musl-0.9.15/include/sched.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sched.h 2014-03-10 16:52:06.000000000 +0100
-@@ -78,7 +78,7 @@
- int sched_getaffinity(pid_t, size_t, cpu_set_t *);
- int sched_setaffinity(pid_t, size_t, const cpu_set_t *);
-
--#define __CPU_op_S(i, size, set, op) ( (i)/8 >= (size) ? 0 : \
-+#define __CPU_op_S(i, size, set, op) ( (i)/8U >= (size) ? 0 : \
- ((set)->__bits[(i)/8/sizeof(long)] op (1UL<<((i)%(8*sizeof(long))))) )
-
- #define CPU_SET_S(i, size, set) __CPU_op_S(i, size, set, |=)
-diff -Nur musl-0.9.15/include/signal.h musl-git/include/signal.h
---- musl-0.9.15/include/signal.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/signal.h 2014-03-10 16:52:06.000000000 +0100
-@@ -227,8 +227,8 @@
- typedef void (*sighandler_t)(int);
- void (*bsd_signal(int, void (*)(int)))(int);
- int sigisemptyset(const sigset_t *);
--int sigorset (sigset_t *, sigset_t *, sigset_t *);
--int sigandset(sigset_t *, sigset_t *, sigset_t *);
-+int sigorset (sigset_t *, const sigset_t *, const sigset_t *);
-+int sigandset(sigset_t *, const sigset_t *, const sigset_t *);
-
- #define SA_NOMASK SA_NODEFER
- #define SA_ONESHOT SA_RESETHAND
-diff -Nur musl-0.9.15/include/stdlib.h musl-git/include/stdlib.h
---- musl-0.9.15/include/stdlib.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/stdlib.h 2014-03-10 16:52:06.000000000 +0100
-@@ -93,7 +93,7 @@
- #define WSTOPSIG(s) WEXITSTATUS(s)
- #define WIFEXITED(s) (!WTERMSIG(s))
- #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00)
--#define WIFSIGNALED(s) (((s)&0xffff)-1 < 0xffu)
-+#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu)
-
- int posix_memalign (void **, size_t, size_t);
- int setenv (const char *, const char *, int);
-diff -Nur musl-0.9.15/include/sys/inotify.h musl-git/include/sys/inotify.h
---- musl-0.9.15/include/sys/inotify.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/inotify.h 2014-03-10 16:52:06.000000000 +0100
-@@ -48,7 +48,7 @@
- int inotify_init(void);
- int inotify_init1(int);
- int inotify_add_watch(int, const char *, uint32_t);
--int inotify_rm_watch(int, uint32_t);
-+int inotify_rm_watch(int, int);
-
- #ifdef __cplusplus
- }
-diff -Nur musl-0.9.15/include/sys/mman.h musl-git/include/sys/mman.h
---- musl-0.9.15/include/sys/mman.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/mman.h 2014-03-10 16:52:06.000000000 +0100
-@@ -33,7 +33,7 @@
-
- #ifdef _GNU_SOURCE
- void *mremap (void *, size_t, size_t, int, ...);
--int remap_file_pages (void *, size_t, int, ssize_t, int);
-+int remap_file_pages (void *, size_t, int, size_t, int);
- #endif
-
- #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-diff -Nur musl-0.9.15/include/sys/procfs.h musl-git/include/sys/procfs.h
---- musl-0.9.15/include/sys/procfs.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/procfs.h 2014-03-10 16:52:06.000000000 +0100
-@@ -40,7 +40,7 @@
- char pr_zomb;
- char pr_nice;
- unsigned long int pr_flag;
--#if __WORDSIZE == 32
-+#if UINTPTR_MAX == 0xffffffff
- unsigned short int pr_uid;
- unsigned short int pr_gid;
- #else
-diff -Nur musl-0.9.15/include/sys/sem.h musl-git/include/sys/sem.h
---- musl-0.9.15/include/sys/sem.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/sem.h 2014-03-10 16:52:06.000000000 +0100
-@@ -29,19 +29,19 @@
-
- struct semid_ds {
- struct ipc_perm sem_perm;
-- long sem_otime;
-- unsigned long __unused1;
-- long sem_ctime;
-- unsigned long __unused2;
-+ time_t sem_otime;
-+ time_t __unused1;
-+ time_t sem_ctime;
-+ time_t __unused2;
- #if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned short sem_nsems;
-- char __sem_nsems_pad[sizeof(long)-sizeof(short)];
-+ char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
- #else
-- char __sem_nsems_pad[sizeof(long)-sizeof(short)];
-+ char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
- unsigned short sem_nsems;
- #endif
-- unsigned long __unused3;
-- unsigned long __unused4;
-+ time_t __unused3;
-+ time_t __unused4;
- };
-
- #define _SEM_SEMUN_UNDEFINED 1
-diff -Nur musl-0.9.15/include/sys/shm.h musl-git/include/sys/shm.h
---- musl-0.9.15/include/sys/shm.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/shm.h 2014-03-10 16:52:06.000000000 +0100
-@@ -14,6 +14,13 @@
- #include <bits/alltypes.h>
-
- #include <sys/ipc.h>
-+
-+#ifdef _GNU_SOURCE
-+#define __used_ids used_ids
-+#define __swap_attempts swap_attempts
-+#define __swap_successes swap_successes
-+#endif
-+
- #include <bits/shm.h>
-
- #define SHM_R 0400
-@@ -33,20 +40,6 @@
- #define SHM_HUGETLB 04000
- #define SHM_NORESERVE 010000
-
--struct shminfo {
-- unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
--};
--
--struct shm_info {
-- int used_ids;
-- unsigned long shm_tot, shm_rss, shm_swp;
--#ifdef _GNU_SOURCE
-- unsigned long swap_attempts, swap_successes;
--#else
-- unsigned long __reserved[2];
--#endif
--};
--
- typedef unsigned long shmatt_t;
-
- void *shmat(int, const void *, int);
-diff -Nur musl-0.9.15/include/sys/socket.h musl-git/include/sys/socket.h
---- musl-0.9.15/include/sys/socket.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/socket.h 2014-03-10 16:52:06.000000000 +0100
-@@ -202,11 +202,16 @@
- #define SO_LOCK_FILTER 44
- #define SO_SELECT_ERR_QUEUE 45
- #define SO_BUSY_POLL 46
-+#define SO_MAX_PACING_RATE 47
-
- #ifndef SOL_SOCKET
- #define SOL_SOCKET 1
- #endif
-
-+#define SOL_IP 0
-+#define SOL_IPV6 41
-+#define SOL_ICMPV6 58
-+
- #define SOL_RAW 255
- #define SOL_DECNET 261
- #define SOL_X25 262
-diff -Nur musl-0.9.15/include/sys/sysctl.h musl-git/include/sys/sysctl.h
---- musl-0.9.15/include/sys/sysctl.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/sysctl.h 1970-01-01 01:00:00.000000000 +0100
-@@ -1,17 +0,0 @@
--#ifndef _SYS_SYSCTL_H
--#define _SYS_SYSCTL_H
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--#define __NEED_size_t
--#include <bits/alltypes.h>
--
--int sysctl (int *, int, void *, size_t *, void *, size_t);
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif
-diff -Nur musl-0.9.15/include/sys/time.h musl-git/include/sys/time.h
---- musl-0.9.15/include/sys/time.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/time.h 2014-03-10 16:52:06.000000000 +0100
-@@ -51,6 +51,17 @@
- ((a)->tv_usec += 1000000, (a)->tv_sec--) )
- #endif
-
-+#if defined(_GNU_SOURCE)
-+#define TIMEVAL_TO_TIMESPEC(tv, ts) ( \
-+ (ts)->tv_sec = (tv)->tv_sec, \
-+ (ts)->tv_nsec = (tv)->tv_usec * 1000, \
-+ (void)0 )
-+#define TIMESPEC_TO_TIMEVAL(tv, ts) ( \
-+ (tv)->tv_sec = (ts)->tv_sec, \
-+ (tv)->tv_usec = (ts)->tv_nsec / 1000, \
-+ (void)0 )
-+#endif
-+
- #ifdef __cplusplus
- }
- #endif
-diff -Nur musl-0.9.15/include/sys/wait.h musl-git/include/sys/wait.h
---- musl-0.9.15/include/sys/wait.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/sys/wait.h 2014-03-10 16:52:06.000000000 +0100
-@@ -50,7 +50,7 @@
- #define WCOREDUMP(s) ((s) & 0x80)
- #define WIFEXITED(s) (!WTERMSIG(s))
- #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00)
--#define WIFSIGNALED(s) (((s)&0xffff)-1 < 0xffu)
-+#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu)
- #define WIFCONTINUED(s) ((s) == 0xffff)
-
- #ifdef __cplusplus
-diff -Nur musl-0.9.15/include/syslog.h musl-git/include/syslog.h
---- musl-0.9.15/include/syslog.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/syslog.h 2014-03-10 16:52:06.000000000 +0100
-@@ -21,7 +21,7 @@
- #define LOG_MAKEPRI(f, p) (((f)<<3)|(p))
-
- #define LOG_MASK(p) (1<<(p))
--#define LOG_UPTO(p) ((1<<(p)+1)-1)
-+#define LOG_UPTO(p) ((1<<((p)+1))-1)
-
- #define LOG_KERN (0<<3)
- #define LOG_USER (1<<3)
-diff -Nur musl-0.9.15/include/time.h musl-git/include/time.h
---- musl-0.9.15/include/time.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/time.h 2014-03-10 16:52:06.000000000 +0100
-@@ -125,7 +125,7 @@
-
-
- #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
--int stime(time_t *);
-+int stime(const time_t *);
- time_t timegm(struct tm *);
- #endif
-
-diff -Nur musl-0.9.15/include/utmp.h musl-git/include/utmp.h
---- musl-0.9.15/include/utmp.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/utmp.h 2014-03-10 16:52:06.000000000 +0100
-@@ -10,6 +10,7 @@
- #define ACCOUNTING 9
- #define UT_NAMESIZE 32
- #define UT_HOSTSIZE 256
-+#define UT_LINESIZE 32
-
- struct lastlog {
- time_t ll_time;
-@@ -22,6 +23,8 @@
- #define ut_addr ut_addr_v6[0]
- #define utmp utmpx
- #define utmpname(x) (-1)
-+#define e_exit __e_exit
-+#define e_termination __e_termination
-
- void endutent(void);
- struct utmp *getutent(void);
-diff -Nur musl-0.9.15/include/utmpx.h musl-git/include/utmpx.h
---- musl-0.9.15/include/utmpx.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/include/utmpx.h 2014-03-10 16:52:06.000000000 +0100
-@@ -5,6 +5,8 @@
- extern "C" {
- #endif
-
-+#include <features.h>
-+
- #define __NEED_pid_t
- #define __NEED_time_t
- #define __NEED_suseconds_t
-@@ -12,19 +14,17 @@
-
- #include <bits/alltypes.h>
-
--#define UT_LINESIZE 32
--
- struct utmpx
- {
- short ut_type;
- pid_t ut_pid;
-- char ut_line[UT_LINESIZE];
-+ char ut_line[32];
- char ut_id[4];
- char ut_user[32];
- char ut_host[256];
- struct {
-- short e_termination;
-- short e_exit;
-+ short __e_termination;
-+ short __e_exit;
- } ut_exit;
- long ut_session;
- struct timeval ut_tv;
-@@ -39,7 +39,11 @@
- struct utmpx *pututxline(const struct utmpx *);
- void setutxent(void);
-
-+#if defined(_BSD_SOURCE) | defined(_GNU_SOURCE)
-+#define e_exit __e_exit
-+#define e_termination __e_termination
- void updwtmpx(const char *, const struct utmpx *);
-+#endif
-
- #define EMPTY 0
- #define RUN_LVL 1
-diff -Nur musl-0.9.15/src/crypt/crypt_des.c musl-git/src/crypt/crypt_des.c
---- musl-0.9.15/src/crypt/crypt_des.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/crypt/crypt_des.c 2014-03-10 16:52:06.000000000 +0100
-@@ -692,7 +692,7 @@
- return saltbits;
- }
-
--static void des_setkey(const unsigned char *key, struct expanded_key *ekey)
-+void __des_setkey(const unsigned char *key, struct expanded_key *ekey)
- {
- uint32_t k0, k1, rawkey0, rawkey1;
- unsigned int shifts, round, i, ibit;
-@@ -753,7 +753,7 @@
- /*
- * l_in, r_in, l_out, and r_out are in pseudo-"big-endian" format.
- */
--static void do_des(uint32_t l_in, uint32_t r_in,
-+void __do_des(uint32_t l_in, uint32_t r_in,
- uint32_t *l_out, uint32_t *r_out,
- uint32_t count, uint32_t saltbits, const struct expanded_key *ekey)
- {
-@@ -862,7 +862,7 @@
- ((uint32_t)in[5] << 16) |
- ((uint32_t)in[4] << 24);
-
-- do_des(rawl, rawr, &l_out, &r_out, count, saltbits, ekey);
-+ __do_des(rawl, rawr, &l_out, &r_out, count, saltbits, ekey);
-
- out[0] = l_out >> 24;
- out[1] = l_out >> 16;
-@@ -894,7 +894,7 @@
- if (*key)
- key++;
- }
-- des_setkey(keybuf, &ekey);
-+ __des_setkey(keybuf, &ekey);
-
- if (*setting == _PASSWORD_EFMT1) {
- /*
-@@ -929,7 +929,7 @@
- q = keybuf;
- while (q <= &keybuf[sizeof(keybuf) - 1] && *key)
- *q++ ^= *key++ << 1;
-- des_setkey(keybuf, &ekey);
-+ __des_setkey(keybuf, &ekey);
- }
-
- memcpy(output, setting, 9);
-@@ -957,7 +957,7 @@
- /*
- * Do it.
- */
-- do_des(0, 0, &r0, &r1, count, setup_salt(salt), &ekey);
-+ __do_des(0, 0, &r0, &r1, count, setup_salt(salt), &ekey);
-
- /*
- * Now encode the result...
-diff -Nur musl-0.9.15/src/crypt/encrypt.c musl-git/src/crypt/encrypt.c
---- musl-0.9.15/src/crypt/encrypt.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/crypt/encrypt.c 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,60 @@
-+#include <stdint.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+struct expanded_key {
-+ uint32_t l[16], r[16];
-+};
-+
-+void __des_setkey(const unsigned char *key, struct expanded_key *ekey);
-+void __do_des(uint32_t l_in, uint32_t r_in,
-+ uint32_t *l_out, uint32_t *r_out,
-+ uint32_t count, uint32_t saltbits, const struct expanded_key *ekey);
-+
-+
-+static struct expanded_key __encrypt_key;
-+
-+void setkey(const char *key)
-+{
-+ unsigned char bkey[8];
-+ int i, j;
-+
-+ for (i = 0; i < 8; i++) {
-+ bkey[i] = 0;
-+ for (j = 7; j >= 0; j--, key++)
-+ bkey[i] |= (uint32_t)(*key & 1) << j;
-+ }
-+
-+ __des_setkey(bkey, &__encrypt_key);
-+}
-+
-+void encrypt(char *block, int edflag)
-+{
-+ struct expanded_key decrypt_key, *key;
-+ uint32_t b[2];
-+ int i, j;
-+ char *p;
-+
-+ p = block;
-+ for (i = 0; i < 2; i++) {
-+ b[i] = 0;
-+ for (j = 31; j >= 0; j--, p++)
-+ b[i] |= (uint32_t)(*p & 1) << j;
-+ }
-+
-+ key = &__encrypt_key;
-+ if (edflag) {
-+ key = &decrypt_key;
-+ for (i = 0; i < 16; i++) {
-+ decrypt_key.l[i] = __encrypt_key.l[15-i];
-+ decrypt_key.r[i] = __encrypt_key.r[15-i];
-+ }
-+ }
-+
-+ __do_des(b[0], b[1], b, b + 1, 1, 0, key);
-+
-+ p = block;
-+ for (i = 0; i < 2; i++)
-+ for (j = 31; j >= 0; j--)
-+ *p++ = b[i]>>j & 1;
-+}
-diff -Nur musl-0.9.15/src/dirent/readdir.c musl-git/src/dirent/readdir.c
---- musl-0.9.15/src/dirent/readdir.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/dirent/readdir.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,5 +1,7 @@
- #include <dirent.h>
-+#include <errno.h>
- #include "__dirent.h"
-+#include "syscall.h"
- #include "libc.h"
-
- int __getdents(int, struct dirent *, size_t);
-@@ -9,8 +11,11 @@
- struct dirent *de;
-
- if (dir->buf_pos >= dir->buf_end) {
-- int len = __getdents(dir->fd, (void *)dir->buf, sizeof dir->buf);
-- if (len <= 0) return 0;
-+ int len = __syscall(SYS_getdents, dir->fd, dir->buf, sizeof dir->buf);
-+ if (len <= 0) {
-+ if (len < 0 && len != -ENOENT) errno = -len;
-+ return 0;
-+ }
- dir->buf_end = len;
- dir->buf_pos = 0;
- }
-diff -Nur musl-0.9.15/src/errno/strerror.c musl-git/src/errno/strerror.c
---- musl-0.9.15/src/errno/strerror.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/errno/strerror.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,7 +1,7 @@
- #include <errno.h>
- #include <string.h>
-
--#define E(a,b) a,
-+#define E(a,b) ((unsigned char)a),
- static const unsigned char errid[] = {
- #include "__strerror.h"
- };
-@@ -16,6 +16,12 @@
- {
- const char *s;
- int i;
-+ /* mips has one error code outside of the 8-bit range due to a
-+ * historical typo, so we just remap it. */
-+ if (EDQUOT==1133) {
-+ if (e==109) e=-1;
-+ else if (e==EDQUOT) e=109;
-+ }
- for (i=0; errid[i] && errid[i] != e; i++);
- for (s=errmsg; i; s++, i--) for (; *s; s++);
- return (char *)s;
-diff -Nur musl-0.9.15/src/fcntl/fcntl.c musl-git/src/fcntl/fcntl.c
---- musl-0.9.15/src/fcntl/fcntl.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fcntl/fcntl.c 2014-03-10 16:52:06.000000000 +0100
-@@ -7,17 +7,17 @@
-
- int fcntl(int fd, int cmd, ...)
- {
-- long arg;
-+ unsigned long arg;
- va_list ap;
- va_start(ap, cmd);
-- arg = va_arg(ap, long);
-+ arg = va_arg(ap, unsigned long);
- va_end(ap);
- if (cmd == F_SETFL) arg |= O_LARGEFILE;
-- if (cmd == F_SETLKW) return syscall_cp(SYS_fcntl, fd, cmd, arg);
-+ if (cmd == F_SETLKW) return syscall_cp(SYS_fcntl, fd, cmd, (void *)arg);
- if (cmd == F_GETOWN) {
- struct f_owner_ex ex;
- int ret = __syscall(SYS_fcntl, fd, F_GETOWN_EX, &ex);
-- if (ret == -EINVAL) return __syscall(SYS_fcntl, fd, cmd, arg);
-+ if (ret == -EINVAL) return __syscall(SYS_fcntl, fd, cmd, (void *)arg);
- if (ret) return __syscall_ret(ret);
- return ex.type == F_OWNER_PGRP ? -ex.pid : ex.pid;
- }
-@@ -37,5 +37,14 @@
- if (ret >= 0) __syscall(SYS_fcntl, ret, F_SETFD, FD_CLOEXEC);
- return __syscall_ret(ret);
- }
-- return syscall(SYS_fcntl, fd, cmd, arg);
-+ switch (cmd) {
-+ case F_SETLK:
-+ case F_SETLKW:
-+ case F_GETLK:
-+ case F_GETOWN_EX:
-+ case F_SETOWN_EX:
-+ return syscall(SYS_fcntl, fd, cmd, (void *)arg);
-+ default:
-+ return syscall(SYS_fcntl, fd, cmd, arg);
-+ }
- }
-diff -Nur musl-0.9.15/src/fcntl/posix_fadvise.c musl-git/src/fcntl/posix_fadvise.c
---- musl-0.9.15/src/fcntl/posix_fadvise.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fcntl/posix_fadvise.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,8 +1,11 @@
- #include <fcntl.h>
- #include "syscall.h"
-+#include "libc.h"
-
- int posix_fadvise(int fd, off_t base, off_t len, int advice)
- {
- return -(__syscall)(SYS_fadvise, fd, __SYSCALL_LL_O(base),
- __SYSCALL_LL_E(len), advice);
- }
-+
-+LFS64(posix_fadvise);
-diff -Nur musl-0.9.15/src/fcntl/posix_fallocate.c musl-git/src/fcntl/posix_fallocate.c
---- musl-0.9.15/src/fcntl/posix_fallocate.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fcntl/posix_fallocate.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,8 +1,11 @@
- #include <fcntl.h>
- #include "syscall.h"
-+#include "libc.h"
-
- int posix_fallocate(int fd, off_t base, off_t len)
- {
- return -__syscall(SYS_fallocate, fd, 0, __SYSCALL_LL_E(base),
- __SYSCALL_LL_E(len));
- }
-+
-+LFS64(posix_fallocate);
-diff -Nur musl-0.9.15/src/fenv/i386/fenv.s musl-git/src/fenv/i386/fenv.s
---- musl-0.9.15/src/fenv/i386/fenv.s 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fenv/i386/fenv.s 2014-03-10 16:52:06.000000000 +0100
-@@ -126,7 +126,7 @@
- push %eax
- push %eax
- push %eax
-- push %eax
-+ pushl $0xffff
- push %eax
- pushl $0x37f
- fldenv (%esp)
-diff -Nur musl-0.9.15/src/fenv/mipsel-sf/fenv.sub musl-git/src/fenv/mipsel-sf/fenv.sub
---- musl-0.9.15/src/fenv/mipsel-sf/fenv.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/mipsel-sf/fenv.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/mips-sf/fenv.sub musl-git/src/fenv/mips-sf/fenv.sub
---- musl-0.9.15/src/fenv/mips-sf/fenv.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/mips-sf/fenv.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/sh/fenv.s musl-git/src/fenv/sh/fenv.s
---- musl-0.9.15/src/fenv/sh/fenv.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/sh/fenv.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,74 @@
-+.global fegetround
-+.type fegetround, @function
-+fegetround:
-+ sts fpscr, r0
-+ rts
-+ and #3, r0
-+
-+.global __fesetround
-+.type __fesetround, @function
-+__fesetround:
-+ sts fpscr, r0
-+ or r4, r0
-+ lds r0, fpscr
-+ rts
-+ mov #0, r0
-+
-+.global fetestexcept
-+.type fetestexcept, @function
-+fetestexcept:
-+ sts fpscr, r0
-+ and r4, r0
-+ rts
-+ and #0x7c, r0
-+
-+.global feclearexcept
-+.type feclearexcept, @function
-+feclearexcept:
-+ mov r4, r0
-+ and #0x7c, r0
-+ not r0, r4
-+ sts fpscr, r0
-+ and r4, r0
-+ lds r0, fpscr
-+ rts
-+ mov #0, r0
-+
-+.global feraiseexcept
-+.type feraiseexcept, @function
-+feraiseexcept:
-+ mov r4, r0
-+ and #0x7c, r0
-+ sts fpscr, r4
-+ or r4, r0
-+ lds r0, fpscr
-+ rts
-+ mov #0, r0
-+
-+.global fegetenv
-+.type fegetenv, @function
-+fegetenv:
-+ sts fpscr, r0
-+ mov.l r0, @r4
-+ rts
-+ mov #0, r0
-+
-+.global fesetenv
-+.type fesetenv, @function
-+fesetenv:
-+ mov r4, r0
-+ cmp/eq #-1, r0
-+ bf 1f
-+
-+ ! the default environment is complicated by the fact that we need to
-+ ! preserve the current precision bit, which we do not know a priori
-+ sts fpscr, r0
-+ mov #8, r1
-+ swap.w r1, r1
-+ bra 2f
-+ and r1, r0
-+
-+1: mov.l @r4, r0 ! non-default environment
-+2: lds r0, fpscr
-+ rts
-+ mov #0, r0
-diff -Nur musl-0.9.15/src/fenv/sheb-nofpu/fenv.sub musl-git/src/fenv/sheb-nofpu/fenv.sub
---- musl-0.9.15/src/fenv/sheb-nofpu/fenv.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/sheb-nofpu/fenv.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/sh-nofpu/fenv.sub musl-git/src/fenv/sh-nofpu/fenv.sub
---- musl-0.9.15/src/fenv/sh-nofpu/fenv.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/sh-nofpu/fenv.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../fenv.c
-diff -Nur musl-0.9.15/src/fenv/x32/fenv.s musl-git/src/fenv/x32/fenv.s
---- musl-0.9.15/src/fenv/x32/fenv.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/fenv/x32/fenv.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,97 @@
-+.global feclearexcept
-+.type feclearexcept,@function
-+feclearexcept:
-+ # maintain exceptions in the sse mxcsr, clear x87 exceptions
-+ mov %edi,%ecx
-+ and $0x3f,%ecx
-+ fnstsw %ax
-+ test %eax,%ecx
-+ jz 1f
-+ fnclex
-+1: stmxcsr -8(%esp)
-+ and $0x3f,%eax
-+ or %eax,-8(%esp)
-+ test %ecx,-8(%esp)
-+ jz 1f
-+ not %ecx
-+ and %ecx,-8(%esp)
-+ ldmxcsr -8(%esp)
-+1: xor %eax,%eax
-+ ret
-+
-+.global feraiseexcept
-+.type feraiseexcept,@function
-+feraiseexcept:
-+ and $0x3f,%edi
-+ stmxcsr -8(%esp)
-+ or %edi,-8(%esp)
-+ ldmxcsr -8(%esp)
-+ xor %eax,%eax
-+ ret
-+
-+.global __fesetround
-+.type __fesetround,@function
-+__fesetround:
-+ push %rax
-+ xor %eax,%eax
-+ mov %edi,%ecx
-+ fnstcw (%esp)
-+ andb $0xf3,1(%esp)
-+ or %ch,1(%esp)
-+ fldcw (%esp)
-+ stmxcsr (%esp)
-+ shl $3,%ch
-+ andb $0x9f,1(%esp)
-+ or %ch,1(%esp)
-+ ldmxcsr (%esp)
-+ pop %rcx
-+ ret
-+
-+.global fegetround
-+.type fegetround,@function
-+fegetround:
-+ push %rax
-+ stmxcsr (%esp)
-+ pop %rax
-+ shr $3,%eax
-+ and $0xc00,%eax
-+ ret
-+
-+.global fegetenv
-+.type fegetenv,@function
-+fegetenv:
-+ xor %eax,%eax
-+ fnstenv (%edi)
-+ stmxcsr 28(%edi)
-+ ret
-+
-+.global fesetenv
-+.type fesetenv,@function
-+fesetenv:
-+ xor %eax,%eax
-+ inc %edi
-+ jz 1f
-+ fldenv -1(%edi)
-+ ldmxcsr 27(%edi)
-+ ret
-+1: push %rax
-+ push %rax
-+ pushq $0xffff
-+ pushq $0x37f
-+ fldenv (%esp)
-+ pushq $0x1f80
-+ ldmxcsr (%esp)
-+ add $40,%esp
-+ ret
-+
-+.global fetestexcept
-+.type fetestexcept,@function
-+fetestexcept:
-+ and $0x3f,%edi
-+ push %rax
-+ stmxcsr (%esp)
-+ pop %rsi
-+ fnstsw %ax
-+ or %esi,%eax
-+ and %edi,%eax
-+ ret
-diff -Nur musl-0.9.15/src/fenv/x86_64/fenv.s musl-git/src/fenv/x86_64/fenv.s
---- musl-0.9.15/src/fenv/x86_64/fenv.s 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/fenv/x86_64/fenv.s 2014-03-10 16:52:06.000000000 +0100
-@@ -76,7 +76,7 @@
- ret
- 1: push %rax
- push %rax
-- push %rax
-+ pushq $0xffff
- pushq $0x37f
- fldenv (%rsp)
- pushq $0x1f80
-diff -Nur musl-0.9.15/src/internal/sh/syscall.s musl-git/src/internal/sh/syscall.s
---- musl-0.9.15/src/internal/sh/syscall.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/internal/sh/syscall.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+.global __syscall
-+.type __syscall, @function
-+__syscall:
-+ ! The kernel syscall entry point documents that the trap number indicates
-+ ! the number of arguments being passed, but it then ignores that information.
-+ ! Since we do not actually know how many arguments are being passed, we will
-+ ! say there are six, since that is the maximum we support here.
-+ mov r4, r3
-+ mov r5, r4
-+ mov r6, r5
-+ mov r7, r6
-+ mov.l @r15, r7
-+ mov.l @(4,r15), r0
-+ mov.l @(8,r15), r1
-+ trapa #22
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ rts
-+ nop
-diff -Nur musl-0.9.15/src/internal/stdio_impl.h musl-git/src/internal/stdio_impl.h
---- musl-0.9.15/src/internal/stdio_impl.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/internal/stdio_impl.h 2014-03-10 16:52:06.000000000 +0100
-@@ -17,6 +17,7 @@
- #define F_EOF 16
- #define F_ERR 32
- #define F_SVB 64
-+#define F_APP 128
-
- struct _IO_FILE {
- unsigned flags;
-diff -Nur musl-0.9.15/src/internal/syscall.h musl-git/src/internal/syscall.h
---- musl-0.9.15/src/internal/syscall.h 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/internal/syscall.h 2014-03-10 16:52:06.000000000 +0100
-@@ -1,22 +1,28 @@
- #ifndef _INTERNAL_SYSCALL_H
- #define _INTERNAL_SYSCALL_H
-
--#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
--__attribute__((visibility("protected")))
--#endif
--long __syscall_ret(unsigned long), __syscall(long, ...),
-- __syscall_cp(long, long, long, long, long, long, long);
--
- #include <sys/syscall.h>
- #include "syscall_arch.h"
-
--#define __syscall1(n,a) __syscall1(n,(long)(a))
--#define __syscall2(n,a,b) __syscall2(n,(long)(a),(long)(b))
--#define __syscall3(n,a,b,c) __syscall3(n,(long)(a),(long)(b),(long)(c))
--#define __syscall4(n,a,b,c,d) __syscall4(n,(long)(a),(long)(b),(long)(c),(long)(d))
--#define __syscall5(n,a,b,c,d,e) __syscall5(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e))
--#define __syscall6(n,a,b,c,d,e,f) __syscall6(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f))
--#define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f),(long)g)
-+#ifndef __scc
-+#define __scc(X) ((long) (X))
-+typedef long syscall_arg_t;
-+#endif
-+
-+#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
-+__attribute__((visibility("protected")))
-+#endif
-+long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...),
-+ __syscall_cp(syscall_arg_t, syscall_arg_t, syscall_arg_t, syscall_arg_t,
-+ syscall_arg_t, syscall_arg_t, syscall_arg_t);
-+
-+#define __syscall1(n,a) __syscall1(n,__scc(a))
-+#define __syscall2(n,a,b) __syscall2(n,__scc(a),__scc(b))
-+#define __syscall3(n,a,b,c) __syscall3(n,__scc(a),__scc(b),__scc(c))
-+#define __syscall4(n,a,b,c,d) __syscall4(n,__scc(a),__scc(b),__scc(c),__scc(d))
-+#define __syscall5(n,a,b,c,d,e) __syscall5(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e))
-+#define __syscall6(n,a,b,c,d,e,f) __syscall6(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f))
-+#define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f),__scc(g))
-
- #define __SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n
- #define __SYSCALL_NARGS(...) __SYSCALL_NARGS_X(__VA_ARGS__,7,6,5,4,3,2,1,0,)
-@@ -31,12 +37,12 @@
- #define socketcall_cp __socketcall_cp
-
- #define __syscall_cp0(n) (__syscall_cp)(n,0,0,0,0,0,0)
--#define __syscall_cp1(n,a) (__syscall_cp)(n,(long)(a),0,0,0,0,0)
--#define __syscall_cp2(n,a,b) (__syscall_cp)(n,(long)(a),(long)(b),0,0,0,0)
--#define __syscall_cp3(n,a,b,c) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),0,0,0)
--#define __syscall_cp4(n,a,b,c,d) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),(long)(d),0,0)
--#define __syscall_cp5(n,a,b,c,d,e) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),0)
--#define __syscall_cp6(n,a,b,c,d,e,f) (__syscall_cp)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f))
-+#define __syscall_cp1(n,a) (__syscall_cp)(n,__scc(a),0,0,0,0,0)
-+#define __syscall_cp2(n,a,b) (__syscall_cp)(n,__scc(a),__scc(b),0,0,0,0)
-+#define __syscall_cp3(n,a,b,c) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),0,0,0)
-+#define __syscall_cp4(n,a,b,c,d) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),0,0)
-+#define __syscall_cp5(n,a,b,c,d,e) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),0)
-+#define __syscall_cp6(n,a,b,c,d,e,f) (__syscall_cp)(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f))
-
- #define __syscall_cp(...) __SYSCALL_DISP(__syscall_cp,__VA_ARGS__)
- #define syscall_cp(...) __syscall_ret(__syscall_cp(__VA_ARGS__))
-diff -Nur musl-0.9.15/src/internal/x32/syscall.s musl-git/src/internal/x32/syscall.s
---- musl-0.9.15/src/internal/x32/syscall.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/internal/x32/syscall.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,12 @@
-+.global __syscall
-+.type __syscall,@function
-+__syscall:
-+ movq %rdi,%rax
-+ movq %rsi,%rdi
-+ movq %rdx,%rsi
-+ movq %rcx,%rdx
-+ movq %r8,%r10
-+ movq %r9,%r8
-+ movq 8(%rsp),%r9
-+ syscall
-+ ret
-diff -Nur musl-0.9.15/src/ipc/semctl.c musl-git/src/ipc/semctl.c
---- musl-0.9.15/src/ipc/semctl.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/ipc/semctl.c 2014-03-10 16:52:06.000000000 +0100
-@@ -3,16 +3,22 @@
- #include "syscall.h"
- #include "ipc.h"
-
-+union semun {
-+ int val;
-+ struct semid_ds *buf;
-+ unsigned short *array;
-+};
-+
- int semctl(int id, int num, int cmd, ...)
- {
-- long arg;
-+ union semun arg;
- va_list ap;
- va_start(ap, cmd);
-- arg = va_arg(ap, long);
-+ arg = va_arg(ap, union semun);
- va_end(ap);
- #ifdef SYS_semctl
-- return syscall(SYS_semctl, id, num, cmd | IPC_64, arg);
-+ return syscall(SYS_semctl, id, num, cmd | IPC_64, arg.buf);
- #else
-- return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg);
-+ return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg.buf);
- #endif
- }
-diff -Nur musl-0.9.15/src/ldso/dladdr.c musl-git/src/ldso/dladdr.c
---- musl-0.9.15/src/ldso/dladdr.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/ldso/dladdr.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,9 +1,9 @@
- #define _GNU_SOURCE
- #include <dlfcn.h>
-
--int __dladdr(void *, Dl_info *);
-+int __dladdr(const void *, Dl_info *);
-
--int dladdr(void *addr, Dl_info *info)
-+int dladdr(const void *addr, Dl_info *info)
- {
- return __dladdr(addr, info);
- }
-diff -Nur musl-0.9.15/src/ldso/dynlink.c musl-git/src/ldso/dynlink.c
---- musl-0.9.15/src/ldso/dynlink.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/ldso/dynlink.c 2014-03-10 16:52:06.000000000 +0100
-@@ -253,7 +253,8 @@
- name = strings + sym->st_name;
- ctx = IS_COPY(type) ? head->next : head;
- def = find_sym(ctx, name, IS_PLT(type));
-- if (!def.sym && sym->st_info>>4 != STB_WEAK) {
-+ if (!def.sym && (sym->st_shndx != SHN_UNDEF
-+ || sym->st_info>>4 != STB_WEAK)) {
- snprintf(errbuf, sizeof errbuf,
- "Error relocating %s: %s: symbol not found",
- dso->name, name);
-@@ -1331,7 +1332,7 @@
- return 0;
- }
-
--int __dladdr(void *addr, Dl_info *info)
-+int __dladdr(const void *addr, Dl_info *info)
- {
- struct dso *p;
- Sym *sym;
-@@ -1441,7 +1442,7 @@
- {
- return 0;
- }
--int __dladdr (void *addr, Dl_info *info)
-+int __dladdr (const void *addr, Dl_info *info)
- {
- return 0;
- }
-diff -Nur musl-0.9.15/src/ldso/sh/dlsym.s musl-git/src/ldso/sh/dlsym.s
---- musl-0.9.15/src/ldso/sh/dlsym.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/sh/dlsym.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,10 @@
-+.text
-+.global dlsym
-+.type dlsym, @function
-+dlsym:
-+ mov.l L1, r0
-+ braf r0
-+1: mov.l @r15, r6
-+
-+.align 2
-+L1: .long __dlsym@PLT-(1b-.)
-diff -Nur musl-0.9.15/src/ldso/sh/start.s musl-git/src/ldso/sh/start.s
---- musl-0.9.15/src/ldso/sh/start.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/sh/start.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,26 @@
-+.text
-+.global _start
-+.type _start, @function
-+_start:
-+ mov.l @r15, r4
-+ mov r15, r5
-+ mov.l L1, r0
-+ bsrf r0
-+ add #4, r5
-+
-+2: mov r0, r2
-+ mov.l @r15+, r1
-+1: mov.l @r15+, r0
-+ cmp/eq #-1, r0
-+ bt/s 1b
-+ add #-1, r1
-+
-+ add #1, r1
-+ mov.l r0, @-r15
-+ mov.l r1, @-r15
-+ mov #0, r4
-+ jmp @r2
-+ nop
-+
-+.align 2
-+L1: .long __dynlink@PLT-(2b-.)
-diff -Nur musl-0.9.15/src/ldso/x32/dlsym.s musl-git/src/ldso/x32/dlsym.s
---- musl-0.9.15/src/ldso/x32/dlsym.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/x32/dlsym.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,6 @@
-+.text
-+.global dlsym
-+.type dlsym,@function
-+dlsym:
-+ mov (%rsp),%rdx
-+ jmp __dlsym
-diff -Nur musl-0.9.15/src/ldso/x32/start.s musl-git/src/ldso/x32/start.s
---- musl-0.9.15/src/ldso/x32/start.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/ldso/x32/start.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,24 @@
-+.text
-+.global _start
-+_start:
-+ mov (%rsp),%rdi /* move argc into 1st argument slot */
-+ lea 4(%rsp),%rsi /* move argv into 2nd argument slot */
-+ call __dynlink
-+ /* in case the dynlinker was called directly, it sets the "consumed"
-+ argv values to -1. so we must loop over the array as long as -1
-+ is in the top argv slot, decrement argc, and then set the stackpointer
-+ to the new argc as well as argc's new value.
-+ as the x32 abi has longs in the argv array, we cannot use push/pop.*/
-+ movl (%rsp),%edi /* copy argc into edi */
-+ xor %rdx,%rdx /* we use rdx as an offset to the current argv member */
-+1: dec %edi
-+ addl $4, %edx
-+ movl (%rsp, %rdx), %esi
-+ cmp $-1,%esi
-+ jz 1b
-+ inc %edi
-+ subl $4, %edx
-+ lea (%rsp, %rdx), %rsp /* set rsp to new argv[-1] */
-+ movl %edi, (%rsp) /* write new argc there */
-+ xor %edx,%edx
-+ jmp *%rax
-diff -Nur musl-0.9.15/src/linux/clone.c musl-git/src/linux/clone.c
---- musl-0.9.15/src/linux/clone.c 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/linux/clone.c 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,19 @@
-+#include <stdarg.h>
-+#include <unistd.h>
-+#include "pthread_impl.h"
-+#include "syscall.h"
-+
-+int clone(int (*func)(void *), void *stack, int flags, void *arg, ...)
-+{
-+ va_list ap;
-+ pid_t *ptid, *ctid;
-+ void *tls;
-+
-+ va_start(ap, arg);
-+ ptid = va_arg(ap, pid_t *);
-+ tls = va_arg(ap, void *);
-+ ctid = va_arg(ap, pid_t *);
-+ va_end(ap);
-+
-+ return __syscall_ret(__clone(func, stack, flags, arg, ptid, tls, ctid));
-+}
-diff -Nur musl-0.9.15/src/linux/fallocate.c musl-git/src/linux/fallocate.c
---- musl-0.9.15/src/linux/fallocate.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/fallocate.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,9 +1,13 @@
- #define _GNU_SOURCE
- #include <fcntl.h>
- #include "syscall.h"
-+#include "libc.h"
-
- int fallocate(int fd, int mode, off_t base, off_t len)
- {
- return syscall(SYS_fallocate, fd, mode, __SYSCALL_LL_E(base),
- __SYSCALL_LL_E(len));
- }
-+
-+#undef fallocate64
-+LFS64(fallocate);
-diff -Nur musl-0.9.15/src/linux/inotify.c musl-git/src/linux/inotify.c
---- musl-0.9.15/src/linux/inotify.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/inotify.c 2014-03-10 16:52:06.000000000 +0100
-@@ -15,7 +15,7 @@
- return syscall(SYS_inotify_add_watch, fd, pathname, mask);
- }
-
--int inotify_rm_watch(int fd, uint32_t wd)
-+int inotify_rm_watch(int fd, int wd)
- {
- return syscall(SYS_inotify_rm_watch, fd, wd);
- }
-diff -Nur musl-0.9.15/src/linux/remap_file_pages.c musl-git/src/linux/remap_file_pages.c
---- musl-0.9.15/src/linux/remap_file_pages.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/remap_file_pages.c 2014-03-10 16:52:06.000000000 +0100
-@@ -2,7 +2,7 @@
- #include <sys/mman.h>
- #include "syscall.h"
-
--int remap_file_pages(void *addr, size_t size, int prot, ssize_t pgoff, int flags)
-+int remap_file_pages(void *addr, size_t size, int prot, size_t pgoff, int flags)
- {
- return syscall(SYS_remap_file_pages, addr, size, prot, pgoff, flags);
- }
-diff -Nur musl-0.9.15/src/linux/stime.c musl-git/src/linux/stime.c
---- musl-0.9.15/src/linux/stime.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/linux/stime.c 2014-03-10 16:52:06.000000000 +0100
-@@ -2,7 +2,7 @@
- #include <time.h>
- #include <sys/time.h>
-
--int stime(time_t *t)
-+int stime(const time_t *t)
- {
- struct timeval tv = { .tv_sec = *t, .tv_usec = 0 };
- return settimeofday(&tv, (void *)0);
-diff -Nur musl-0.9.15/src/linux/x32/sysinfo.s musl-git/src/linux/x32/sysinfo.s
---- musl-0.9.15/src/linux/x32/sysinfo.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/linux/x32/sysinfo.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.text
-+.global sysinfo
-+.type sysinfo,@function
-+sysinfo:
-+ jmp __x32_sysinfo
-diff -Nur musl-0.9.15/src/locale/wcsxfrm.c musl-git/src/locale/wcsxfrm.c
---- musl-0.9.15/src/locale/wcsxfrm.c 2014-01-03 21:12:17.000000000 +0100
-+++ musl-git/src/locale/wcsxfrm.c 2014-03-10 16:52:06.000000000 +0100
-@@ -6,10 +6,12 @@
- size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n, locale_t loc)
- {
- size_t l = wcslen(src);
-- if (l >= n) {
-+ if (l < n) {
-+ wmemcpy(dest, src, l+1);
-+ } else if (n) {
- wmemcpy(dest, src, n-1);
- dest[n-1] = 0;
-- } else wcscpy(dest, src);
-+ }
- return l;
- }
-
-diff -Nur musl-0.9.15/src/math/i386/remainderf.s musl-git/src/math/i386/remainderf.s
---- musl-0.9.15/src/math/i386/remainderf.s 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/math/i386/remainderf.s 2014-03-10 16:52:06.000000000 +0100
-@@ -1,6 +1,9 @@
- .global remainderf
- .type remainderf,@function
- remainderf:
-+.weak dremf
-+.type dremf,@function
-+dremf:
- flds 8(%esp)
- flds 4(%esp)
- 1: fprem1
-diff -Nur musl-0.9.15/src/math/i386/remainder.s musl-git/src/math/i386/remainder.s
---- musl-0.9.15/src/math/i386/remainder.s 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/math/i386/remainder.s 2014-03-10 16:52:06.000000000 +0100
-@@ -1,6 +1,9 @@
- .global remainder
- .type remainder,@function
- remainder:
-+.weak drem
-+.type drem,@function
-+drem:
- fldl 12(%esp)
- fldl 4(%esp)
- 1: fprem1
-diff -Nur musl-0.9.15/src/math/x32/acosl.s musl-git/src/math/x32/acosl.s
---- musl-0.9.15/src/math/x32/acosl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/acosl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,16 @@
-+# see ../i386/acos.s
-+
-+.global acosl
-+.type acosl,@function
-+acosl:
-+ fldt 8(%esp)
-+1: fld %st(0)
-+ fld1
-+ fsub %st(0),%st(1)
-+ fadd %st(2)
-+ fmulp
-+ fsqrt
-+ fabs
-+ fxch %st(1)
-+ fpatan
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/asinl.s musl-git/src/math/x32/asinl.s
---- musl-0.9.15/src/math/x32/asinl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/asinl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,12 @@
-+.global asinl
-+.type asinl,@function
-+asinl:
-+ fldt 8(%esp)
-+1: fld %st(0)
-+ fld1
-+ fsub %st(0),%st(1)
-+ fadd %st(2)
-+ fmulp
-+ fsqrt
-+ fpatan
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/atan2l.s musl-git/src/math/x32/atan2l.s
---- musl-0.9.15/src/math/x32/atan2l.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/atan2l.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global atan2l
-+.type atan2l,@function
-+atan2l:
-+ fldt 8(%esp)
-+ fldt 24(%esp)
-+ fpatan
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/atanl.s musl-git/src/math/x32/atanl.s
---- musl-0.9.15/src/math/x32/atanl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/atanl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global atanl
-+.type atanl,@function
-+atanl:
-+ fldt 8(%esp)
-+ fld1
-+ fpatan
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/ceill.s musl-git/src/math/x32/ceill.s
---- musl-0.9.15/src/math/x32/ceill.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/ceill.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+# see floorl.s
-diff -Nur musl-0.9.15/src/math/x32/exp2l.s musl-git/src/math/x32/exp2l.s
---- musl-0.9.15/src/math/x32/exp2l.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/exp2l.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,90 @@
-+.global expm1l
-+.type expm1l,@function
-+expm1l:
-+ fldt 8(%esp)
-+ fldl2e
-+ fmulp
-+ movl $0xc2820000,-4(%esp)
-+ flds -4(%esp)
-+ fucomp %st(1)
-+ fnstsw %ax
-+ sahf
-+ fld1
-+ jb 1f
-+ # x*log2e <= -65, return -1 without underflow
-+ fstp %st(1)
-+ fchs
-+ ret
-+1: fld %st(1)
-+ fabs
-+ fucom %st(1)
-+ fnstsw %ax
-+ fstp %st(0)
-+ fstp %st(0)
-+ sahf
-+ ja 1f
-+ f2xm1
-+ ret
-+1: push %rax
-+ call 1f
-+ pop %rax
-+ fld1
-+ fsubrp
-+ ret
-+
-+.global exp2l
-+.type exp2l,@function
-+exp2l:
-+ fldt 8(%esp)
-+1: fld %st(0)
-+ sub $16,%esp
-+ fstpt (%esp)
-+ mov 8(%esp),%ax
-+ and $0x7fff,%ax
-+ cmp $0x3fff+13,%ax
-+ jb 4f # |x| < 8192
-+ cmp $0x3fff+15,%ax
-+ jae 3f # |x| >= 32768
-+ fsts (%esp)
-+ cmpl $0xc67ff800,(%esp)
-+ jb 2f # x > -16382
-+ movl $0x5f000000,(%esp)
-+ flds (%esp) # 0x1p63
-+ fld %st(1)
-+ fsub %st(1)
-+ faddp
-+ fucomp %st(1)
-+ fnstsw
-+ sahf
-+ je 2f # x - 0x1p63 + 0x1p63 == x
-+ movl $1,(%esp)
-+ flds (%esp) # 0x1p-149
-+ fdiv %st(1)
-+ fstps (%esp) # raise underflow
-+2: fld1
-+ fld %st(1)
-+ frndint
-+ fxch %st(2)
-+ fsub %st(2) # st(0)=x-rint(x), st(1)=1, st(2)=rint(x)
-+ f2xm1
-+ faddp # 2^(x-rint(x))
-+1: fscale
-+ fstp %st(1)
-+ add $16,%esp
-+ ret
-+3: xor %eax,%eax
-+4: cmp $0x3fff-64,%ax
-+ fld1
-+ jb 1b # |x| < 0x1p-64
-+ fstpt (%esp)
-+ fistl 8(%esp)
-+ fildl 8(%esp)
-+ fsubrp %st(1)
-+ addl $0x3fff,8(%esp)
-+ f2xm1
-+ fld1
-+ faddp # 2^(x-rint(x))
-+ fldt (%esp) # 2^rint(x)
-+ fmulp
-+ add $16,%esp
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/expl.s musl-git/src/math/x32/expl.s
---- musl-0.9.15/src/math/x32/expl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/expl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,101 @@
-+# exp(x) = 2^hi + 2^hi (2^lo - 1)
-+# where hi+lo = log2e*x with 128bit precision
-+# exact log2e*x calculation depends on nearest rounding mode
-+# using the exact multiplication method of Dekker and Veltkamp
-+
-+.global expl
-+.type expl,@function
-+expl:
-+ fldt 8(%esp)
-+
-+ # interesting case: 0x1p-32 <= |x| < 16384
-+ # check if (exponent|0x8000) is in [0xbfff-32, 0xbfff+13]
-+ mov 16(%esp), %ax
-+ or $0x8000, %ax
-+ sub $0xbfdf, %ax
-+ cmp $45, %ax
-+ jbe 2f
-+ test %ax, %ax
-+ fld1
-+ js 1f
-+ # if |x|>=0x1p14 or nan return 2^trunc(x)
-+ fscale
-+ fstp %st(1)
-+ ret
-+ # if |x|<0x1p-32 return 1+x
-+1: faddp
-+ ret
-+
-+ # should be 0x1.71547652b82fe178p0L == 0x3fff b8aa3b29 5c17f0bc
-+ # it will be wrong on non-nearest rounding mode
-+2: fldl2e
-+ sub $48, %esp
-+ # hi = log2e_hi*x
-+ # 2^hi = exp2l(hi)
-+ fmul %st(1),%st
-+ fld %st(0)
-+ fstpt (%esp)
-+ fstpt 16(%esp)
-+ fstpt 32(%esp)
-+ call exp2l
-+ # if 2^hi == inf return 2^hi
-+ fld %st(0)
-+ fstpt (%esp)
-+ cmpw $0x7fff, 8(%esp)
-+ je 1f
-+ fldt 32(%esp)
-+ fldt 16(%esp)
-+ # fpu stack: 2^hi x hi
-+ # exact mult: x*log2e
-+ fld %st(1)
-+ # c = 0x1p32+1
-+ movq $0x41f0000000100000,%rax
-+ pushq %rax
-+ fldl (%esp)
-+ # xh = x - c*x + c*x
-+ # xl = x - xh
-+ fmulp
-+ fld %st(2)
-+ fsub %st(1), %st
-+ faddp
-+ fld %st(2)
-+ fsub %st(1), %st
-+ # yh = log2e_hi - c*log2e_hi + c*log2e_hi
-+ movq $0x3ff7154765200000,%rax
-+ pushq %rax
-+ fldl (%esp)
-+ # fpu stack: 2^hi x hi xh xl yh
-+ # lo = hi - xh*yh + xl*yh
-+ fld %st(2)
-+ fmul %st(1), %st
-+ fsubp %st, %st(4)
-+ fmul %st(1), %st
-+ faddp %st, %st(3)
-+ # yl = log2e_hi - yh
-+ movq $0x3de705fc2f000000,%rax
-+ pushq %rax
-+ fldl (%esp)
-+ # fpu stack: 2^hi x lo xh xl yl
-+ # lo += xh*yl + xl*yl
-+ fmul %st, %st(2)
-+ fmulp %st, %st(1)
-+ fxch %st(2)
-+ faddp
-+ faddp
-+ # log2e_lo
-+ movq $0xbfbe,%rax
-+ pushq %rax
-+ movq $0x82f0025f2dc582ee,%rax
-+ pushq %rax
-+ fldt (%esp)
-+ add $40,%esp
-+ # fpu stack: 2^hi x lo log2e_lo
-+ # lo += log2e_lo*x
-+ # return 2^hi + 2^hi (2^lo - 1)
-+ fmulp %st, %st(2)
-+ faddp
-+ f2xm1
-+ fmul %st(1), %st
-+ faddp
-+1: add $48, %esp
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/expm1l.s musl-git/src/math/x32/expm1l.s
---- musl-0.9.15/src/math/x32/expm1l.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/expm1l.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+# see exp2l.s
-diff -Nur musl-0.9.15/src/math/x32/fabsf.s musl-git/src/math/x32/fabsf.s
---- musl-0.9.15/src/math/x32/fabsf.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fabsf.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global fabsf
-+.type fabsf,@function
-+fabsf:
-+ mov $0x7fffffff,%eax
-+ movq %rax,%xmm1
-+ andps %xmm1,%xmm0
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/fabsl.s musl-git/src/math/x32/fabsl.s
---- musl-0.9.15/src/math/x32/fabsl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fabsl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,6 @@
-+.global fabsl
-+.type fabsl,@function
-+fabsl:
-+ fldt 8(%esp)
-+ fabs
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/fabs.s musl-git/src/math/x32/fabs.s
---- musl-0.9.15/src/math/x32/fabs.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fabs.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,9 @@
-+.global fabs
-+.type fabs,@function
-+fabs:
-+ xor %eax,%eax
-+ dec %rax
-+ shr %rax
-+ movq %rax,%xmm1
-+ andpd %xmm1,%xmm0
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/floorl.s musl-git/src/math/x32/floorl.s
---- musl-0.9.15/src/math/x32/floorl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/floorl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,27 @@
-+.global floorl
-+.type floorl,@function
-+floorl:
-+ fldt 8(%esp)
-+1: mov $0x7,%al
-+1: fstcw 8(%esp)
-+ mov 9(%esp),%ah
-+ mov %al,9(%esp)
-+ fldcw 8(%esp)
-+ frndint
-+ mov %ah,9(%esp)
-+ fldcw 8(%esp)
-+ ret
-+
-+.global ceill
-+.type ceill,@function
-+ceill:
-+ fldt 8(%esp)
-+ mov $0xb,%al
-+ jmp 1b
-+
-+.global truncl
-+.type truncl,@function
-+truncl:
-+ fldt 8(%esp)
-+ mov $0xf,%al
-+ jmp 1b
-diff -Nur musl-0.9.15/src/math/x32/fmodl.s musl-git/src/math/x32/fmodl.s
---- musl-0.9.15/src/math/x32/fmodl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/fmodl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,11 @@
-+.global fmodl
-+.type fmodl,@function
-+fmodl:
-+ fldt 24(%esp)
-+ fldt 8(%esp)
-+1: fprem
-+ fstsw %ax
-+ sahf
-+ jp 1b
-+ fstp %st(1)
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/llrintf.s musl-git/src/math/x32/llrintf.s
---- musl-0.9.15/src/math/x32/llrintf.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/llrintf.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global llrintf
-+.type llrintf,@function
-+llrintf:
-+ cvtss2si %xmm0,%rax
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/llrintl.s musl-git/src/math/x32/llrintl.s
---- musl-0.9.15/src/math/x32/llrintl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/llrintl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global llrintl
-+.type llrintl,@function
-+llrintl:
-+ fldt 8(%esp)
-+ fistpll 8(%esp)
-+ mov 8(%esp),%rax
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/llrint.s musl-git/src/math/x32/llrint.s
---- musl-0.9.15/src/math/x32/llrint.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/llrint.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global llrint
-+.type llrint,@function
-+llrint:
-+ cvtsd2si %xmm0,%rax
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/log10l.s musl-git/src/math/x32/log10l.s
---- musl-0.9.15/src/math/x32/log10l.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/log10l.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global log10l
-+.type log10l,@function
-+log10l:
-+ fldlg2
-+ fldt 8(%esp)
-+ fyl2x
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/log1pl.s musl-git/src/math/x32/log1pl.s
---- musl-0.9.15/src/math/x32/log1pl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/log1pl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,15 @@
-+.global log1pl
-+.type log1pl,@function
-+log1pl:
-+ mov 14(%esp),%eax
-+ fldln2
-+ and $0x7fffffff,%eax
-+ fldt 8(%esp)
-+ cmp $0x3ffd9400,%eax
-+ ja 1f
-+ fyl2xp1
-+ ret
-+1: fld1
-+ faddp
-+ fyl2x
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/log2l.s musl-git/src/math/x32/log2l.s
---- musl-0.9.15/src/math/x32/log2l.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/log2l.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global log2l
-+.type log2l,@function
-+log2l:
-+ fld1
-+ fldt 8(%esp)
-+ fyl2x
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/logl.s musl-git/src/math/x32/logl.s
---- musl-0.9.15/src/math/x32/logl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/logl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global logl
-+.type logl,@function
-+logl:
-+ fldln2
-+ fldt 8(%esp)
-+ fyl2x
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/lrintf.s musl-git/src/math/x32/lrintf.s
---- musl-0.9.15/src/math/x32/lrintf.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/lrintf.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global lrintf
-+.type lrintf,@function
-+lrintf:
-+ cvtss2si %xmm0,%rax
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/lrintl.s musl-git/src/math/x32/lrintl.s
---- musl-0.9.15/src/math/x32/lrintl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/lrintl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,7 @@
-+.global lrintl
-+.type lrintl,@function
-+lrintl:
-+ fldt 8(%esp)
-+ fistpll 8(%esp)
-+ mov 8(%esp),%rax
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/lrint.s musl-git/src/math/x32/lrint.s
---- musl-0.9.15/src/math/x32/lrint.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/lrint.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global lrint
-+.type lrint,@function
-+lrint:
-+ cvtsd2si %xmm0,%rax
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/remainderl.s musl-git/src/math/x32/remainderl.s
---- musl-0.9.15/src/math/x32/remainderl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/remainderl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,11 @@
-+.global remainderl
-+.type remainderl,@function
-+remainderl:
-+ fldt 24(%esp)
-+ fldt 8(%esp)
-+1: fprem1
-+ fstsw %ax
-+ sahf
-+ jp 1b
-+ fstp %st(1)
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/rintl.s musl-git/src/math/x32/rintl.s
---- musl-0.9.15/src/math/x32/rintl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/rintl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,6 @@
-+.global rintl
-+.type rintl,@function
-+rintl:
-+ fldt 8(%esp)
-+ frndint
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/sqrtf.s musl-git/src/math/x32/sqrtf.s
---- musl-0.9.15/src/math/x32/sqrtf.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/sqrtf.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,4 @@
-+.global sqrtf
-+.type sqrtf,@function
-+sqrtf: sqrtss %xmm0, %xmm0
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/sqrtl.s musl-git/src/math/x32/sqrtl.s
---- musl-0.9.15/src/math/x32/sqrtl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/sqrtl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global sqrtl
-+.type sqrtl,@function
-+sqrtl: fldt 8(%esp)
-+ fsqrt
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/sqrt.s musl-git/src/math/x32/sqrt.s
---- musl-0.9.15/src/math/x32/sqrt.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/sqrt.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,4 @@
-+.global sqrt
-+.type sqrt,@function
-+sqrt: sqrtsd %xmm0, %xmm0
-+ ret
-diff -Nur musl-0.9.15/src/math/x32/truncl.s musl-git/src/math/x32/truncl.s
---- musl-0.9.15/src/math/x32/truncl.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/math/x32/truncl.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+# see floorl.s
-diff -Nur musl-0.9.15/src/misc/nftw.c musl-git/src/misc/nftw.c
---- musl-0.9.15/src/misc/nftw.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/misc/nftw.c 2014-03-10 16:52:06.000000000 +0100
-@@ -46,8 +46,7 @@
- type = FTW_F;
- }
-
-- if ((flags & FTW_MOUNT) && h
-- && (st.st_dev != h->dev || st.st_ino != h->ino))
-+ if ((flags & FTW_MOUNT) && h && st.st_dev != h->dev)
- return 0;
-
- new.chain = h;
-diff -Nur musl-0.9.15/src/network/accept4.c musl-git/src/network/accept4.c
---- musl-0.9.15/src/network/accept4.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/network/accept4.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,9 +1,20 @@
- #define _GNU_SOURCE
- #include <sys/socket.h>
-+#include <errno.h>
-+#include <fcntl.h>
- #include "syscall.h"
- #include "libc.h"
-
- int accept4(int fd, struct sockaddr *restrict addr, socklen_t *restrict len, int flg)
- {
-- return socketcall_cp(accept4, fd, addr, len, flg, 0, 0);
-+ if (!flg) return accept(fd, addr, len);
-+ int ret = socketcall_cp(accept4, fd, addr, len, flg, 0, 0);
-+ if (ret>=0 || (errno != ENOSYS && errno != EINVAL)) return ret;
-+ ret = accept(fd, addr, len);
-+ if (ret<0) return ret;
-+ if (flg & SOCK_CLOEXEC)
-+ __syscall(SYS_fcntl, ret, F_SETFD, FD_CLOEXEC);
-+ if (flg & SOCK_NONBLOCK)
-+ __syscall(SYS_fcntl, ret, F_SETFL, O_NONBLOCK);
-+ return ret;
- }
-diff -Nur musl-0.9.15/src/network/inet_legacy.c musl-git/src/network/inet_legacy.c
---- musl-0.9.15/src/network/inet_legacy.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/network/inet_legacy.c 2014-03-10 16:52:06.000000000 +0100
-@@ -16,9 +16,8 @@
- return 1;
- }
-
--struct in_addr inet_makeaddr(int net, int host)
-+struct in_addr inet_makeaddr(in_addr_t n, in_addr_t h)
- {
-- uint32_t n = net, h = host;
- if (n < 256) h |= n<<24;
- else if (n < 65536) h |= n<<16;
- else h |= n<<8;
-diff -Nur musl-0.9.15/src/network/proto.c musl-git/src/network/proto.c
---- musl-0.9.15/src/network/proto.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/network/proto.c 2014-03-10 16:52:06.000000000 +0100
-@@ -4,7 +4,7 @@
- /* do we really need all these?? */
-
- static int idx;
--static const unsigned char protos[][6] = {
-+static const unsigned char protos[][8] = {
- "\000ip",
- "\001icmp",
- "\002igmp",
-@@ -13,7 +13,9 @@
- "\014pup",
- "\021udp",
- "\026idp",
-- "\377raw"
-+ "\051ipv6",
-+ "\072icmpv6",
-+ "\377raw",
- "\0\0"
- };
-
-diff -Nur musl-0.9.15/src/prng/random.c musl-git/src/prng/random.c
---- musl-0.9.15/src/prng/random.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/prng/random.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,10 +1,3 @@
--/*
-- * random.c - Copyright © 2011 Szabolcs Nagy
-- * Permission to use, copy, modify, and/or distribute this code
-- * for any purpose with or without fee is hereby granted.
-- * There is no warranty.
--*/
--
- #include <stdlib.h>
- #include <stdint.h>
- #include "libc.h"
-@@ -12,11 +5,7 @@
- /*
- this code uses the same lagged fibonacci generator as the
- original bsd random implementation except for the seeding
--
--different seeds produce different sequences with long period
--(other libcs seed the state with a park-miller generator
--when seed=0 some fail to produce good random sequence
--others produce the same sequence as another seed)
-+which was broken in the original
- */
-
- static uint32_t init[] = {
-@@ -98,6 +87,7 @@
- n = 63;
- x = (uint32_t*)state + 1;
- __srandom(seed);
-+ savestate();
- UNLOCK(lock);
- return old;
- }
-diff -Nur musl-0.9.15/src/process/posix_spawn.c musl-git/src/process/posix_spawn.c
---- musl-0.9.15/src/process/posix_spawn.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/process/posix_spawn.c 2014-03-10 16:52:06.000000000 +0100
-@@ -166,7 +166,7 @@
-
- close(args.p[0]);
-
-- if (!ec) *res = pid;
-+ if (!ec && res) *res = pid;
-
- pthread_sigmask(SIG_SETMASK, &args.oldmask, 0);
- pthread_setcancelstate(cs, 0);
-diff -Nur musl-0.9.15/src/process/x32/vfork.s musl-git/src/process/x32/vfork.s
---- musl-0.9.15/src/process/x32/vfork.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/process/x32/vfork.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,12 @@
-+.global __vfork
-+.weak vfork
-+.type __vfork,@function
-+.type vfork,@function
-+__vfork:
-+vfork:
-+ pop %rdx
-+ mov $0x4000003a,%eax /* SYS_vfork */
-+ syscall
-+ push %rdx
-+ mov %rax,%rdi
-+ jmp __syscall_ret
-diff -Nur musl-0.9.15/src/setjmp/mipsel-sf/longjmp.sub musl-git/src/setjmp/mipsel-sf/longjmp.sub
---- musl-0.9.15/src/setjmp/mipsel-sf/longjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mipsel-sf/longjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../mips-sf/longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/mipsel-sf/setjmp.sub musl-git/src/setjmp/mipsel-sf/setjmp.sub
---- musl-0.9.15/src/setjmp/mipsel-sf/setjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mipsel-sf/setjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../mips-sf/setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/longjmp.s musl-git/src/setjmp/mips-sf/longjmp.s
---- musl-0.9.15/src/setjmp/mips-sf/longjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/longjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,25 @@
-+.set noreorder
-+
-+.global _longjmp
-+.global longjmp
-+.type _longjmp,@function
-+.type longjmp,@function
-+_longjmp:
-+longjmp:
-+ move $2, $5
-+ bne $2, $0, 1f
-+ nop
-+ addu $2, $2, 1
-+1: lw $ra, 0($4)
-+ lw $sp, 4($4)
-+ lw $16, 8($4)
-+ lw $17, 12($4)
-+ lw $18, 16($4)
-+ lw $19, 20($4)
-+ lw $20, 24($4)
-+ lw $21, 28($4)
-+ lw $22, 32($4)
-+ lw $23, 36($4)
-+ lw $30, 40($4)
-+ jr $ra
-+ lw $28, 44($4)
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/longjmp.sub musl-git/src/setjmp/mips-sf/longjmp.sub
---- musl-0.9.15/src/setjmp/mips-sf/longjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/longjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/setjmp.s musl-git/src/setjmp/mips-sf/setjmp.s
---- musl-0.9.15/src/setjmp/mips-sf/setjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/setjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,25 @@
-+.set noreorder
-+
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type __setjmp,@function
-+.type _setjmp,@function
-+.type setjmp,@function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+ sw $ra, 0($4)
-+ sw $sp, 4($4)
-+ sw $16, 8($4)
-+ sw $17, 12($4)
-+ sw $18, 16($4)
-+ sw $19, 20($4)
-+ sw $20, 24($4)
-+ sw $21, 28($4)
-+ sw $22, 32($4)
-+ sw $23, 36($4)
-+ sw $30, 40($4)
-+ sw $28, 44($4)
-+ jr $ra
-+ li $2, 0
-diff -Nur musl-0.9.15/src/setjmp/mips-sf/setjmp.sub musl-git/src/setjmp/mips-sf/setjmp.sub
---- musl-0.9.15/src/setjmp/mips-sf/setjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/mips-sf/setjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sh/longjmp.s musl-git/src/setjmp/sh/longjmp.s
---- musl-0.9.15/src/setjmp/sh/longjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh/longjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,26 @@
-+.global _longjmp
-+.global longjmp
-+.type _longjmp, @function
-+.type longjmp, @function
-+_longjmp:
-+longjmp:
-+ mov.l @r4+, r8
-+ mov.l @r4+, r9
-+ mov.l @r4+, r10
-+ mov.l @r4+, r11
-+ mov.l @r4+, r12
-+ mov.l @r4+, r13
-+ mov.l @r4+, r14
-+ mov.l @r4+, r15
-+ lds.l @r4+, pr
-+ fmov.s @r4+, fr12
-+ fmov.s @r4+, fr13
-+ fmov.s @r4+, fr14
-+ fmov.s @r4+, fr15
-+
-+ tst r5, r5
-+ movt r0
-+ add r5, r0
-+
-+ rts
-+ nop
-diff -Nur musl-0.9.15/src/setjmp/sh/setjmp.s musl-git/src/setjmp/sh/setjmp.s
---- musl-0.9.15/src/setjmp/sh/setjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh/setjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,25 @@
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type __setjmp, @function
-+.type _setjmp, @function
-+.type setjmp, @function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+ add #52, r4
-+ fmov.s fr15, @-r4
-+ fmov.s fr14, @-r4
-+ fmov.s fr13, @-r4
-+ fmov.s fr12, @-r4
-+ sts.l pr, @-r4
-+ mov.l r15 @-r4
-+ mov.l r14, @-r4
-+ mov.l r13, @-r4
-+ mov.l r12, @-r4
-+ mov.l r11, @-r4
-+ mov.l r10, @-r4
-+ mov.l r9, @-r4
-+ mov.l r8, @-r4
-+ rts
-+ mov #0, r0
-diff -Nur musl-0.9.15/src/setjmp/sheb-nofpu/longjmp.sub musl-git/src/setjmp/sheb-nofpu/longjmp.sub
---- musl-0.9.15/src/setjmp/sheb-nofpu/longjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sheb-nofpu/longjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../sh-nofpu/longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sheb-nofpu/setjmp.sub musl-git/src/setjmp/sheb-nofpu/setjmp.sub
---- musl-0.9.15/src/setjmp/sheb-nofpu/setjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sheb-nofpu/setjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+../sh-nofpu/setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/longjmp.s musl-git/src/setjmp/sh-nofpu/longjmp.s
---- musl-0.9.15/src/setjmp/sh-nofpu/longjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/longjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+.global _longjmp
-+.global longjmp
-+.type _longjmp, @function
-+.type longjmp, @function
-+_longjmp:
-+longjmp:
-+ mov.l @r4+, r8
-+ mov.l @r4+, r9
-+ mov.l @r4+, r10
-+ mov.l @r4+, r11
-+ mov.l @r4+, r12
-+ mov.l @r4+, r13
-+ mov.l @r4+, r14
-+ mov.l @r4+, r15
-+ lds.l @r4+, pr
-+
-+ tst r5, r5
-+ movt r0
-+ add r5, r0
-+
-+ rts
-+ nop
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/longjmp.sub musl-git/src/setjmp/sh-nofpu/longjmp.sub
---- musl-0.9.15/src/setjmp/sh-nofpu/longjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/longjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+longjmp.s
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/setjmp.s musl-git/src/setjmp/sh-nofpu/setjmp.s
---- musl-0.9.15/src/setjmp/sh-nofpu/setjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/setjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,21 @@
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type __setjmp, @function
-+.type _setjmp, @function
-+.type setjmp, @function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+ add #36, r4
-+ sts.l pr, @-r4
-+ mov.l r15 @-r4
-+ mov.l r14, @-r4
-+ mov.l r13, @-r4
-+ mov.l r12, @-r4
-+ mov.l r11, @-r4
-+ mov.l r10, @-r4
-+ mov.l r9, @-r4
-+ mov.l r8, @-r4
-+ rts
-+ mov #0, r0
-diff -Nur musl-0.9.15/src/setjmp/sh-nofpu/setjmp.sub musl-git/src/setjmp/sh-nofpu/setjmp.sub
---- musl-0.9.15/src/setjmp/sh-nofpu/setjmp.sub 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/sh-nofpu/setjmp.sub 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1 @@
-+setjmp.s
-diff -Nur musl-0.9.15/src/setjmp/x32/longjmp.s musl-git/src/setjmp/x32/longjmp.s
---- musl-0.9.15/src/setjmp/x32/longjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/x32/longjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.global _longjmp
-+.global longjmp
-+.type _longjmp,@function
-+.type longjmp,@function
-+_longjmp:
-+longjmp:
-+ mov %rsi,%rax /* val will be longjmp return */
-+ test %rax,%rax
-+ jnz 1f
-+ inc %rax /* if val==0, val=1 per longjmp semantics */
-+1:
-+ mov (%rdi),%rbx /* rdi is the jmp_buf, restore regs from it */
-+ mov 8(%rdi),%rbp
-+ mov 16(%rdi),%r12
-+ mov 24(%rdi),%r13
-+ mov 32(%rdi),%r14
-+ mov 40(%rdi),%r15
-+ mov 48(%rdi),%rdx /* this ends up being the stack pointer */
-+ mov %rdx,%rsp
-+ mov 56(%rdi),%rdx /* this is the instruction pointer */
-+ jmp *%rdx /* goto saved address without altering rsp */
-diff -Nur musl-0.9.15/src/setjmp/x32/setjmp.s musl-git/src/setjmp/x32/setjmp.s
---- musl-0.9.15/src/setjmp/x32/setjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/setjmp/x32/setjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.global __setjmp
-+.global _setjmp
-+.global setjmp
-+.type __setjmp,@function
-+.type _setjmp,@function
-+.type setjmp,@function
-+__setjmp:
-+_setjmp:
-+setjmp:
-+ mov %rbx,(%rdi) /* rdi is jmp_buf, move registers onto it */
-+ mov %rbp,8(%rdi)
-+ mov %r12,16(%rdi)
-+ mov %r13,24(%rdi)
-+ mov %r14,32(%rdi)
-+ mov %r15,40(%rdi)
-+ lea 8(%rsp),%rdx /* this is our rsp WITHOUT current ret addr */
-+ mov %rdx,48(%rdi)
-+ mov (%rsp),%rdx /* save return addr ptr for new rip */
-+ mov %rdx,56(%rdi)
-+ xor %rax,%rax /* always return 0 */
-+ ret
-diff -Nur musl-0.9.15/src/signal/sh/restore.s musl-git/src/signal/sh/restore.s
---- musl-0.9.15/src/signal/sh/restore.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/sh/restore.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,24 @@
-+.global __restore
-+.type __restore, @function
-+__restore:
-+ mov #119, r3 !__NR_sigreturn
-+ trapa #16
-+
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+
-+.global __restore_rt
-+.type __restore_rt, @function
-+__restore_rt:
-+ mov #100, r3 !__NR_rt_sigreturn
-+ add #73, r3
-+ trapa #16
-+
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-diff -Nur musl-0.9.15/src/signal/sh/sigsetjmp.s musl-git/src/signal/sh/sigsetjmp.s
---- musl-0.9.15/src/signal/sh/sigsetjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/sh/sigsetjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,27 @@
-+.global sigsetjmp
-+.type sigsetjmp, @function
-+sigsetjmp:
-+ mov.l r5, @(36,r4)
-+ tst r5, r5
-+ bf 2f
-+
-+ sts.l pr, @-r15
-+ mov.l r4, @-r15
-+ mov r4, r6
-+ add #40, r6
-+ mov #0, r5
-+ mov #2, r4
-+ mov.l L1, r0
-+ bsrf r0
-+ nop
-+1: mov.l @r15+, r4
-+ lds.l @r15+, pr
-+
-+2: mov.l L2, r0
-+ braf r0
-+ nop
-+3:
-+
-+.align 2
-+L1: .long pthread_sigmask@PLT-(1b-.)
-+L2: .long setjmp@PLT-(3b-.)
-diff -Nur musl-0.9.15/src/signal/sigandset.c musl-git/src/signal/sigandset.c
---- musl-0.9.15/src/signal/sigandset.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/signal/sigandset.c 2014-03-10 16:52:06.000000000 +0100
-@@ -3,7 +3,7 @@
-
- #define SST_SIZE (_NSIG/8/sizeof(long))
-
--int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right)
-+int sigandset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
- {
- unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
- for(; i < SST_SIZE; i++) d[i] = l[i] & r[i];
-diff -Nur musl-0.9.15/src/signal/sigorset.c musl-git/src/signal/sigorset.c
---- musl-0.9.15/src/signal/sigorset.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/signal/sigorset.c 2014-03-10 16:52:06.000000000 +0100
-@@ -3,7 +3,7 @@
-
- #define SST_SIZE (_NSIG/8/sizeof(long))
-
--int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right)
-+int sigorset(sigset_t *dest, const sigset_t *left, const sigset_t *right)
- {
- unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
- for(; i < SST_SIZE; i++) d[i] = l[i] | r[i];
-diff -Nur musl-0.9.15/src/signal/x32/restore.s musl-git/src/signal/x32/restore.s
---- musl-0.9.15/src/signal/x32/restore.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/x32/restore.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,8 @@
-+.global __restore_rt
-+.global __restore
-+.type __restore_rt,@function
-+.type __restore,@function
-+__restore_rt:
-+__restore:
-+ movl $0x40000201, %eax /* SYS_rt_sigreturn */
-+ syscall
-diff -Nur musl-0.9.15/src/signal/x32/sigsetjmp.s musl-git/src/signal/x32/sigsetjmp.s
---- musl-0.9.15/src/signal/x32/sigsetjmp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/signal/x32/sigsetjmp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,14 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.global sigsetjmp
-+.type sigsetjmp,@function
-+sigsetjmp:
-+ andl %esi,%esi
-+ movq %rsi,64(%rdi)
-+ jz 1f
-+ pushq %rdi
-+ leaq 72(%rdi),%rdx
-+ xorl %esi,%esi
-+ movl $2,%edi
-+ call sigprocmask
-+ popq %rdi
-+1: jmp setjmp
-diff -Nur musl-0.9.15/src/stdio/__fdopen.c musl-git/src/stdio/__fdopen.c
---- musl-0.9.15/src/stdio/__fdopen.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/__fdopen.c 2014-03-10 16:52:06.000000000 +0100
-@@ -32,7 +32,9 @@
- /* Set append mode on fd if opened for append */
- if (*mode == 'a') {
- int flags = __syscall(SYS_fcntl, fd, F_GETFL);
-- __syscall(SYS_fcntl, fd, F_SETFL, flags | O_APPEND);
-+ if (!(flags & O_APPEND))
-+ __syscall(SYS_fcntl, fd, F_SETFL, flags | O_APPEND);
-+ f->flags |= F_APP;
- }
-
- f->fd = fd;
-diff -Nur musl-0.9.15/src/stdio/ftell.c musl-git/src/stdio/ftell.c
---- musl-0.9.15/src/stdio/ftell.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/ftell.c 2014-03-10 16:52:06.000000000 +0100
-@@ -4,7 +4,9 @@
-
- off_t __ftello_unlocked(FILE *f)
- {
-- off_t pos = f->seek(f, 0, SEEK_CUR);
-+ off_t pos = f->seek(f, 0,
-+ (f->flags & F_APP) && f->wpos > f->wbase
-+ ? SEEK_END : SEEK_CUR);
- if (pos < 0) return pos;
-
- /* Adjust for data in buffer. */
-diff -Nur musl-0.9.15/src/stdio/vfprintf.c musl-git/src/stdio/vfprintf.c
---- musl-0.9.15/src/stdio/vfprintf.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/vfprintf.c 2014-03-10 16:52:06.000000000 +0100
-@@ -207,7 +207,8 @@
-
- static int fmt_fp(FILE *f, long double y, int w, int p, int fl, int t)
- {
-- uint32_t big[(LDBL_MAX_EXP+LDBL_MANT_DIG)/9+1];
-+ uint32_t big[(LDBL_MANT_DIG+28)/29 + 1 // mantissa expansion
-+ + (LDBL_MAX_EXP+LDBL_MANT_DIG+28+8)/9]; // exponent expansion
- uint32_t *a, *d, *r, *z;
- int e2=0, e, i, j, l;
- char buf[9+LDBL_MANT_DIG/4], *s;
-@@ -313,7 +314,7 @@
- }
- while (e2<0) {
- uint32_t carry=0, *b;
-- int sh=MIN(9,-e2);
-+ int sh=MIN(9,-e2), need=1+(p+LDBL_MANT_DIG/3+8)/9;
- for (d=a; d<z; d++) {
- uint32_t rm = *d & (1<<sh)-1;
- *d = (*d>>sh) + carry;
-@@ -323,7 +324,7 @@
- if (carry) *z++ = carry;
- /* Avoid (slow!) computation past requested precision */
- b = (t|32)=='f' ? r : a;
-- if (z-b > 2+p/9) z = b+2+p/9;
-+ if (z-b > need) z = b+need;
- e2+=sh;
- }
-
-diff -Nur musl-0.9.15/src/stdio/vfscanf.c musl-git/src/stdio/vfscanf.c
---- musl-0.9.15/src/stdio/vfscanf.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/stdio/vfscanf.c 2014-03-10 16:52:06.000000000 +0100
-@@ -328,3 +328,5 @@
- FUNLOCK(f);
- return matches;
- }
-+
-+weak_alias(vfscanf,__isoc99_vfscanf);
-diff -Nur musl-0.9.15/src/thread/arm/clone.s musl-git/src/thread/arm/clone.s
---- musl-0.9.15/src/thread/arm/clone.s 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/arm/clone.s 2014-03-10 16:52:06.000000000 +0100
-@@ -1,10 +1,7 @@
- .text
- .global __clone
--.weak clone
- .type __clone,%function
--.type clone,%function
- __clone:
--clone:
- stmfd sp!,{r4,r5,r6,r7}
- mov r7,#120
- mov r6,r3
-diff -Nur musl-0.9.15/src/thread/cancel_dummy.c musl-git/src/thread/cancel_dummy.c
---- musl-0.9.15/src/thread/cancel_dummy.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/cancel_dummy.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,6 +1,9 @@
- #include "pthread_impl.h"
-+#include "syscall.h"
-
--static long sccp(long nr, long u, long v, long w, long x, long y, long z)
-+static long sccp(syscall_arg_t nr,
-+ syscall_arg_t u, syscall_arg_t v, syscall_arg_t w,
-+ syscall_arg_t x, syscall_arg_t y, syscall_arg_t z)
- {
- return (__syscall)(nr, u, v, w, x, y, z);
- }
-diff -Nur musl-0.9.15/src/thread/cancel_impl.c musl-git/src/thread/cancel_impl.c
---- musl-0.9.15/src/thread/cancel_impl.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/cancel_impl.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,4 +1,5 @@
- #include "pthread_impl.h"
-+#include "syscall.h"
-
- void __cancel()
- {
-@@ -8,9 +9,13 @@
- pthread_exit(PTHREAD_CANCELED);
- }
-
--long __syscall_cp_asm(volatile void *, long, long, long, long, long, long, long);
-+long __syscall_cp_asm(volatile void *, syscall_arg_t,
-+ syscall_arg_t, syscall_arg_t, syscall_arg_t,
-+ syscall_arg_t, syscall_arg_t, syscall_arg_t);
-
--long (__syscall_cp)(long nr, long u, long v, long w, long x, long y, long z)
-+long (__syscall_cp)(syscall_arg_t nr,
-+ syscall_arg_t u, syscall_arg_t v, syscall_arg_t w,
-+ syscall_arg_t x, syscall_arg_t y, syscall_arg_t z)
- {
- pthread_t self;
- long r;
-diff -Nur musl-0.9.15/src/thread/clone.c musl-git/src/thread/clone.c
---- musl-0.9.15/src/thread/clone.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/clone.c 2014-03-10 16:52:06.000000000 +0100
-@@ -1,10 +1,7 @@
- #include <errno.h>
--#include "libc.h"
-+#include "pthread_impl.h"
-
- int __clone(int (*func)(void *), void *stack, int flags, void *arg, ...)
- {
-- errno = ENOSYS;
-- return -1;
-+ return -ENOSYS;
- }
--
--weak_alias(__clone, clone);
-diff -Nur musl-0.9.15/src/thread/i386/clone.s musl-git/src/thread/i386/clone.s
---- musl-0.9.15/src/thread/i386/clone.s 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/i386/clone.s 2014-03-10 16:52:06.000000000 +0100
-@@ -1,10 +1,7 @@
- .text
- .global __clone
--.weak clone
- .type __clone,@function
--.type clone,@function
- __clone:
--clone:
- push %ebp
- mov %esp,%ebp
- push %ebx
-diff -Nur musl-0.9.15/src/thread/microblaze/clone.s musl-git/src/thread/microblaze/clone.s
---- musl-0.9.15/src/thread/microblaze/clone.s 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/microblaze/clone.s 2014-03-10 16:52:06.000000000 +0100
-@@ -1,14 +1,11 @@
- .global __clone
--.weak clone
- .type __clone,@function
--.type clone,@function
-
- # r5, r6, r7, r8, r9, r10, stack
- # fn, st, fl, ar, pt, tl, ct
- # fl, st, __, pt, ct, tl
-
- __clone:
--clone:
- andi r6, r6, -16
- addi r6, r6, -16
- swi r5, r6, 0
-@@ -23,7 +20,7 @@
- beqi r3, 1f
- rtsd r15, 8
- nop
--
-+
- 1: lwi r3, r1, 0
- lwi r5, r1, 4
- brald r15, r3
-diff -Nur musl-0.9.15/src/thread/sh/clone.s musl-git/src/thread/sh/clone.s
---- musl-0.9.15/src/thread/sh/clone.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/clone.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,47 @@
-+.text
-+.global __clone
-+.type __clone, @function
-+__clone:
-+! incoming: fn stack flags arg ptid tls ctid
-+! r4 r5 r6 r7 @r15 @(4,r15) @(8,r15)
-+
-+ mov #-16, r0
-+ and r0, r5
-+
-+ mov r4, r1 ! r1 = fn
-+ mov r7, r2 ! r2 = arg
-+
-+ mov #120, r3 ! r3 = __NR_clone
-+ mov r6, r4 ! r4 = flags
-+ !mov r5, r5 ! r5 = stack
-+ mov.l @r15, r6 ! r6 = ptid
-+ mov.l @(8,r15), r7 ! r7 = ctid
-+ mov.l @(4,r15), r0 ! r0 = tls
-+ trapa #21
-+
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+
-+ cmp/eq #0, r0
-+ bt 1f
-+
-+ ! we are the parent, return
-+ rts
-+ nop
-+
-+1: ! we are the child, call fn(arg)
-+ jsr @r1
-+ mov r2, r4
-+
-+ mov #1, r3 ! __NR_exit
-+ mov r0, r4
-+ trapa #17
-+
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-diff -Nur musl-0.9.15/src/thread/sh/__set_thread_area.s musl-git/src/thread/sh/__set_thread_area.s
---- musl-0.9.15/src/thread/sh/__set_thread_area.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/__set_thread_area.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,5 @@
-+.global __set_thread_area
-+.type __set_thread_area, @function
-+__set_thread_area:
-+ rts
-+ ldc r4, gbr
-diff -Nur musl-0.9.15/src/thread/sh/syscall_cp.s musl-git/src/thread/sh/syscall_cp.s
---- musl-0.9.15/src/thread/sh/syscall_cp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/syscall_cp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,39 @@
-+.text
-+.global __syscall_cp_asm
-+.type __syscall_cp_asm, @function
-+__syscall_cp_asm:
-+
-+.global __cp_begin
-+__cp_begin:
-+ mov.l @r4, r4
-+ tst r4, r4
-+ bt 2f
-+
-+ mov.l L1, r0
-+ braf r0
-+ nop
-+1:
-+
-+.align 2
-+L1: .long __cancel@PLT-(1b-.)
-+
-+2: mov r5, r3
-+ mov r6, r4
-+ mov r7, r5
-+ mov.l @r15, r6
-+ mov.l @(4,r15), r7
-+ mov.l @(8,r15), r0
-+ mov.l @(12,r15), r1
-+ trapa #22
-+
-+.global __cp_end
-+__cp_end:
-+ ! work around hardware bug
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+
-+ rts
-+ nop
-diff -Nur musl-0.9.15/src/thread/sh/__unmapself.s musl-git/src/thread/sh/__unmapself.s
---- musl-0.9.15/src/thread/sh/__unmapself.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/sh/__unmapself.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,22 @@
-+.text
-+.global __unmapself
-+.type __unmapself, @function
-+__unmapself:
-+ mov #91, r3 ! SYS_munmap
-+ trapa #18
-+
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+
-+ mov #1, r3 ! SYS_exit
-+ mov #0, r4
-+ trapa #17
-+
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-diff -Nur musl-0.9.15/src/thread/__wait.c musl-git/src/thread/__wait.c
---- musl-0.9.15/src/thread/__wait.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/__wait.c 2014-03-10 16:52:06.000000000 +0100
-@@ -10,6 +10,6 @@
- }
- if (waiters) a_inc(waiters);
- while (*addr==val)
-- __syscall(SYS_futex, (long)addr, FUTEX_WAIT|priv, val, 0);
-+ __syscall(SYS_futex, addr, FUTEX_WAIT|priv, val, 0);
- if (waiters) a_dec(waiters);
- }
-diff -Nur musl-0.9.15/src/thread/x32/clone.s musl-git/src/thread/x32/clone.s
---- musl-0.9.15/src/thread/x32/clone.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/clone.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,25 @@
-+.text
-+.global __clone
-+.type __clone,@function
-+__clone:
-+ movl $0x40000038,%eax /* SYS_clone */
-+ mov %rdi,%r11
-+ mov %rdx,%rdi
-+ mov %r8,%rdx
-+ mov %r9,%r8
-+ mov 8(%rsp),%r10
-+ mov %r11,%r9
-+ and $-16,%rsi
-+ sub $8,%rsi
-+ mov %rcx,(%rsi)
-+ syscall
-+ test %eax,%eax
-+ jnz 1f
-+ xor %ebp,%ebp
-+ pop %rdi
-+ call *%r9
-+ mov %eax,%edi
-+ movl $0x4000003c,%eax /* SYS_exit */
-+ syscall
-+ hlt
-+1: ret
-diff -Nur musl-0.9.15/src/thread/x32/__set_thread_area.s musl-git/src/thread/x32/__set_thread_area.s
---- musl-0.9.15/src/thread/x32/__set_thread_area.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/__set_thread_area.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,10 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.text
-+.global __set_thread_area
-+.type __set_thread_area,@function
-+__set_thread_area:
-+ mov %rdi,%rsi /* shift for syscall */
-+ movl $0x1002,%edi /* SET_FS register */
-+ movl $0x4000009e,%eax /* set fs segment to */
-+ syscall /* arch_prctl(SET_FS, arg)*/
-+ ret
-diff -Nur musl-0.9.15/src/thread/x32/syscall_cp.s musl-git/src/thread/x32/syscall_cp.s
---- musl-0.9.15/src/thread/x32/syscall_cp.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/syscall_cp.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,23 @@
-+.text
-+.global __syscall_cp_internal
-+.type __syscall_cp_internal,@function
-+__syscall_cp_internal:
-+
-+.global __cp_begin
-+__cp_begin:
-+ mov (%rdi),%eax
-+ test %eax,%eax
-+ jnz __cancel
-+ mov %rdi,%r11
-+ mov %rsi,%rax
-+ mov %rdx,%rdi
-+ mov %rcx,%rsi
-+ mov %r8,%rdx
-+ mov %r9,%r10
-+ mov 8(%rsp),%r8
-+ mov 16(%rsp),%r9
-+ mov %r11,8(%rsp)
-+ syscall
-+.global __cp_end
-+__cp_end:
-+ ret
-diff -Nur musl-0.9.15/src/thread/x32/__unmapself.s musl-git/src/thread/x32/__unmapself.s
---- musl-0.9.15/src/thread/x32/__unmapself.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/thread/x32/__unmapself.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,10 @@
-+/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
-+.text
-+.global __unmapself
-+.type __unmapself,@function
-+__unmapself:
-+ movl $0x4000000b,%eax /* SYS_munmap */
-+ syscall /* munmap(arg2,arg3) */
-+ xor %rdi,%rdi /* exit() args: always return success */
-+ movl $0x4000003c,%eax /* SYS_exit */
-+ syscall /* exit(0) */
-diff -Nur musl-0.9.15/src/thread/x86_64/clone.s musl-git/src/thread/x86_64/clone.s
---- musl-0.9.15/src/thread/x86_64/clone.s 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/thread/x86_64/clone.s 2014-03-10 16:52:06.000000000 +0100
-@@ -1,10 +1,7 @@
- .text
- .global __clone
--.weak clone
- .type __clone,@function
--.type clone,@function
- __clone:
--clone:
- xor %eax,%eax
- mov $56,%al
- mov %rdi,%r11
-diff -Nur musl-0.9.15/src/time/timer_delete.c musl-git/src/time/timer_delete.c
---- musl-0.9.15/src/time/timer_delete.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_delete.c 2014-03-10 16:52:06.000000000 +0100
-@@ -10,5 +10,5 @@
- __wake(&td->timer_id, 1, 1);
- return 0;
- }
-- return __syscall(SYS_timer_delete, (long)t);
-+ return __syscall(SYS_timer_delete, t);
- }
-diff -Nur musl-0.9.15/src/time/timer_getoverrun.c musl-git/src/time/timer_getoverrun.c
---- musl-0.9.15/src/time/timer_getoverrun.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_getoverrun.c 2014-03-10 16:52:06.000000000 +0100
-@@ -8,5 +8,5 @@
- pthread_t td = (void *)((uintptr_t)t << 1);
- t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
- }
-- return syscall(SYS_timer_getoverrun, (long)t);
-+ return syscall(SYS_timer_getoverrun, t);
- }
-diff -Nur musl-0.9.15/src/time/timer_gettime.c musl-git/src/time/timer_gettime.c
---- musl-0.9.15/src/time/timer_gettime.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_gettime.c 2014-03-10 16:52:06.000000000 +0100
-@@ -8,5 +8,5 @@
- pthread_t td = (void *)((uintptr_t)t << 1);
- t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
- }
-- return syscall(SYS_timer_gettime, (long)t, val);
-+ return syscall(SYS_timer_gettime, t, val);
- }
-diff -Nur musl-0.9.15/src/time/timer_settime.c musl-git/src/time/timer_settime.c
---- musl-0.9.15/src/time/timer_settime.c 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/src/time/timer_settime.c 2014-03-10 16:52:06.000000000 +0100
-@@ -8,5 +8,5 @@
- pthread_t td = (void *)((uintptr_t)t << 1);
- t = (void *)(uintptr_t)(td->timer_id & INT_MAX);
- }
-- return syscall(SYS_timer_settime, (long)t, flags, val, old);
-+ return syscall(SYS_timer_settime, t, flags, val, old);
- }
-diff -Nur musl-0.9.15/src/unistd/sh/pipe.s musl-git/src/unistd/sh/pipe.s
---- musl-0.9.15/src/unistd/sh/pipe.s 1970-01-01 01:00:00.000000000 +0100
-+++ musl-git/src/unistd/sh/pipe.s 2014-03-10 16:52:06.000000000 +0100
-@@ -0,0 +1,27 @@
-+.global pipe
-+.type pipe, @function
-+pipe:
-+ mov #42, r3
-+ trapa #17
-+
-+ ! work around hardware bug
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+ or r0, r0
-+
-+ cmp/pz r0
-+ bt 1f
-+
-+ mov.l L1, r1
-+ braf r1
-+ mov r0, r4
-+
-+1: mov.l r0, @(0,r4)
-+ mov.l r1, @(4,r4)
-+ rts
-+ mov #0, r0
-+
-+.align 2
-+L1: .long __syscall_ret@PLT-(1b-.)
-diff -Nur musl-0.9.15/tools/install.sh musl-git/tools/install.sh
---- musl-0.9.15/tools/install.sh 2014-01-03 21:12:18.000000000 +0100
-+++ musl-git/tools/install.sh 2014-03-10 16:52:06.000000000 +0100
-@@ -51,6 +51,7 @@
- ln -s "$1" "$tmp"
- else
- cat < "$1" > "$tmp"
-+chmod "$mode" "$tmp"
- fi
-
- mv -f "$tmp" "$2"
-@@ -60,6 +61,4 @@
- exit 1
- }
-
--test "$symlink" || chmod "$mode" "$2"
--
- exit 0
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index 18b94916f..94a81391d 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -104,7 +104,9 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.install_headers
touch $@
$(WRKBUILD)/.fixup:
-ifneq ($(ADK_DEBUG),)
+ # DOSTRIP kills x86 target (ld.so can not map libc.so.0), always use DODEBUG
+ # DODEBUG compile failure linking with libgcc_eh.a on arm hf
+ifneq ($(ADK_LINUX_ARM),y)
$(SED) 's,DOSTRIP,DODEBUG,' ${WRKBUILD}/.config
endif
$(MAKE) -C $(WRKBUILD) \
@@ -118,8 +120,9 @@ endif
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
ifeq ($(ADK_TOOLCHAIN),y)
# strip target libs and host tools for toolchain builds
- PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh \
+ $(STAGING_TARGET_DIR) $(TOOLCHAIN_DIR)/usr/lib/gcc/$(GNU_TARGET_NAME)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(TOOLCHAIN_DIR)/usr/bin
endif
touch $@
diff --git a/toolchain/uClibc/Makefile.inc b/toolchain/uClibc/Makefile.inc
index 60e87966c..eff931e2b 100644
--- a/toolchain/uClibc/Makefile.inc
+++ b/toolchain/uClibc/Makefile.inc
@@ -5,6 +5,6 @@ PKG_NAME:= uClibc
PKG_VERSION:= 0.9.33.2
GIT_VERSION:= 0.9.34-git
PKG_RELEASE:= 1
-PKG_MD5SUM:= a338aaffc56f0f5040e6d9fa8a12eda1
+PKG_MD5SUM:= 73e6fe215648d02246f4d195b25fb17e
PKG_SITES:= http://uclibc.org/downloads/
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz
diff --git a/tools/Makefile b/tools/Makefile
deleted file mode 100644
index cdbf2b4f1..000000000
--- a/tools/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-TARGETS:=adk mksh mkcrypt cpio m4 flex bc bzip2 xz
-
-ifeq ($(ADK_HOST_NEED_GENEXT2FS),y)
-TARGETS+=genext2fs
-endif
-ifeq ($(ADK_HOST_NEED_MKIMAGE),y)
-TARGETS+=mkimage
-endif
-ifeq ($(ADK_HOST_NEED_MKISOFS),y)
-TARGETS+=cdrtools
-endif
-ifeq ($(ADK_HOST_NEED_SYSLINUX),y)
-TARGETS+=syslinux
-endif
-ifeq ($(ADK_HOST_NEED_JFFS2),y)
-TARGETS+=mtd-utils
-endif
-ifeq ($(ADK_HOST_NEED_SQUASHFS),y)
-TARGETS+=squashfs
-endif
-ifeq ($(ADK_HOST_NEED_LZOP),y)
-TARGETS+=lzo lzop
-endif
-ifeq ($(ADK_HOST_NEED_LZMA),y)
-TARGETS+=lzma
-endif
-ifeq ($(ADK_HOST_NEED_CCACHE),y)
-TARGETS+=ccache
-endif
-
-TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
-TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
-
-all: install
-compile:
-install: $(TARGETS_INSTALL)
-clean: $(TARGETS_CLEAN)
-
-%-compile: $(TOOLS_BUILD_DIR)
- $(TRACE) "tools/$(patsubst %-compile,%,$@)/compile "
- $(MAKE) -C $(patsubst %-compile,%,$@) compile $(MAKE_TRACE)
-
-%-install:
- $(TRACE) "tools/$(patsubst %-install,%,$@)/install "
- $(MAKE) -C $(patsubst %-install,%,$@) install $(MAKE_TRACE)
-
-%-clean:
- $(TRACE) "tools/$(patsubst %-clean,%,$@)/clean "
- $(MAKE) -C $(patsubst %-clean,%,$@) clean
diff --git a/tools/addpattern/Makefile b/tools/addpattern/Makefile
deleted file mode 100644
index 10ba05933..000000000
--- a/tools/addpattern/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: addpattern.c
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/usr/bin/addpattern addpattern.c
diff --git a/tools/addpattern/addpattern.c b/tools/addpattern/addpattern.c
deleted file mode 100644
index 8133bf26e..000000000
--- a/tools/addpattern/addpattern.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright (C) 2004 Manuel Novoa III <mjn3@codepoet.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/* July 29, 2004
- *
- * This is a hacked replacement for the 'addpattern' utility used to
- * create wrt54g .bin firmware files. It isn't pretty, but it does
- * the job for me.
- *
- * Extensions:
- * -v allows setting the version string on the command line.
- * -{0|1} sets the (currently ignored) hw_ver flag in the header
- * to 0 or 1 respectively.
- */
-
-/* January 12, 2005
- *
- * Modified by rodent at rodent dot za dot net
- * Support added for the new WRT54G v2.2 and WRT54GS v1.1 "flags"
- * Without the flags set to 0x7, the above units will refuse to flash.
- *
- * Extensions:
- * -{0|1|2} sets {0|1} sets hw_ver flag to 0/1. {2} sets hw_ver to 1
- * and adds the new hardware "flags" for the v2.2/v1.1 units
-*/
-
-/* January 1, 2007
- *
- * Modified by juan.i.gonzalez at subdown dot net
- * Support added for the AG241v2 and similar
- *
- * Extensions:
- * -r #.# adds revision hardware flags. AG241v2 and similar.
- *
- * AG241V2 firmware sets the hw_ver to 0x44.
- *
- * Example: -r 2.0
- *
- * Convert 2.0 to 20 to be an integer, and add 0x30 to skip special ASCII
- * #define HW_Version ((HW_REV * 10) + 0x30) -> from cyutils.h
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <sys/stat.h>
-
-/**********************************************************************/
-
-#define CODE_ID "U2ND" /* from code_pattern.h */
-#define CODE_PATTERN "W54S" /* from code_pattern.h */
-#define PBOT_PATTERN "PBOT"
-
-#define CYBERTAN_VERSION "v3.37.2" /* from cyutils.h */
-
-/* WRT54G v2.2 and WRT54GS v1.1 "flags" (from 3.37.32 firmware cyutils.h) */
-#define SUPPORT_4712_CHIP 0x0001
-#define SUPPORT_INTEL_FLASH 0x0002
-#define SUPPORT_5325E_SWITCH 0x0004
-
-struct code_header { /* from cyutils.h */
- char magic[4];
- char res1[4]; /* for extra magic */
- char fwdate[3];
- char fwvern[3];
- char id[4]; /* U2ND */
- char hw_ver; /* 0: for 4702, 1: for 4712 -- new in 2.04.3 */
- char unused;
- unsigned char flags[2]; /* SUPPORT_ flags new for 3.37.2 (WRT54G v2.2 and WRT54GS v1.1) */
- unsigned char res2[10];
-} ;
-
-/**********************************************************************/
-
-void usage(void) __attribute__ (( __noreturn__ ));
-
-void usage(void)
-{
- fprintf(stderr, "Usage: addpattern [-i trxfile] [-o binfile] [-p pattern] [-g] [-b] [-v v#.#.#] [-r #.#] [-{0|1|2|4}] -h\n");
- exit(EXIT_FAILURE);
-}
-
-int main(int argc, char **argv)
-{
- char buf[1024]; /* keep this at 1k or adjust garbage calc below */
- struct code_header *hdr;
- FILE *in = stdin;
- FILE *out = stdout;
- char *ifn = NULL;
- char *ofn = NULL;
- char *pattern = CODE_PATTERN;
- char *pbotpat = PBOT_PATTERN;
- char *version = CYBERTAN_VERSION;
- int gflag = 0;
- int pbotflag = 0;
- int c;
- int v0, v1, v2;
- size_t off, n;
- time_t t;
- struct tm *ptm;
-
- hdr = (struct code_header *) buf;
- memset(hdr, 0, sizeof(struct code_header));
-
- while ((c = getopt(argc, argv, "i:o:p:gbv:0124hr:")) != -1) {
- switch (c) {
- case 'i':
- ifn = optarg;
- break;
- case 'o':
- ofn = optarg;
- break;
- case 'p':
- pattern = optarg;
- break;
- case 'g':
- gflag = 1;
- break;
- case 'b':
- pbotflag = 1;
- break;
- case 'v': /* extension to allow setting version */
- version = optarg;
- break;
- case '0':
- hdr->hw_ver = 0;
- break;
- case '1':
- hdr->hw_ver = 1;
- break;
- case '2': /* new 54G v2.2 and 54GS v1.1 flags */
- hdr->hw_ver = 1;
- hdr->flags[0] |= SUPPORT_4712_CHIP;
- hdr->flags[0] |= SUPPORT_INTEL_FLASH;
- hdr->flags[0] |= SUPPORT_5325E_SWITCH;
- break;
- case '4':
- /* V4 firmware sets the flags to 0x1f */
- hdr->hw_ver = 0;
- hdr->flags[0] = 0x1f;
- break;
- case 'r':
- hdr->hw_ver = (char)(atof(optarg)*10)+0x30;
- break;
-
- case 'h':
- default:
- usage();
- }
- }
-
- if (optind != argc || optind == 1) {
- fprintf(stderr, "illegal arg \"%s\"\n", argv[optind]);
- usage();
- }
-
- if (strlen(pattern) != 4) {
- fprintf(stderr, "illegal pattern \"%s\": length != 4\n", pattern);
- usage();
- }
-
- if (ifn && !(in = fopen(ifn, "r"))) {
- fprintf(stderr, "can not open \"%s\" for reading\n", ifn);
- usage();
- }
-
- if (ofn && !(out = fopen(ofn, "w"))) {
- fprintf(stderr, "can not open \"%s\" for writing\n", ofn);
- usage();
- }
-
- if (time(&t) == (time_t)(-1)) {
- fprintf(stderr, "time call failed\n");
- return EXIT_FAILURE;
- }
-
- ptm = localtime(&t);
-
- if (3 != sscanf(version, "v%d.%d.%d", &v0, &v1, &v2)) {
- fprintf(stderr, "bad version string \"%s\"\n", version);
- return EXIT_FAILURE;
- }
-
- memcpy(&hdr->magic, pattern, 4);
- if (pbotflag)
- memcpy(&hdr->res1, pbotpat, 4);
- hdr->fwdate[0] = ptm->tm_year % 100;
- hdr->fwdate[1] = ptm->tm_mon + 1;
- hdr->fwdate[2] = ptm->tm_mday;
- hdr->fwvern[0] = v0;
- hdr->fwvern[1] = v1;
- hdr->fwvern[2] = v2;
- memcpy(&hdr->id, CODE_ID, strlen(CODE_ID));
-
- off = sizeof(struct code_header);
-
- fprintf(stderr, "writing firmware v%d.%d.%d on %d/%d/%d (y/m/d)\n",
- v0, v1, v2,
- hdr->fwdate[0], hdr->fwdate[1], hdr->fwdate[2]);
-
-
- while ((n = fread(buf + off, 1, sizeof(buf)-off, in) + off) > 0) {
- off = 0;
- if (n < sizeof(buf)) {
- if (ferror(in)) {
- FREAD_ERROR:
- fprintf(stderr, "fread error\n");
- return EXIT_FAILURE;
- }
- if (gflag) {
- gflag = sizeof(buf) - n;
- memset(buf + n, 0xff, gflag);
- n = sizeof(buf);
- }
- }
- if (!fwrite(buf, n, 1, out)) {
- FWRITE_ERROR:
- fprintf(stderr, "fwrite error\n");
- return EXIT_FAILURE;
- }
- }
-
- if (ferror(in)) {
- goto FREAD_ERROR;
- }
-
- if (fflush(out)) {
- goto FWRITE_ERROR;
- }
-
- fclose(in);
- fclose(out);
-
- return EXIT_SUCCESS;
-}
diff --git a/tools/bc/Makefile b/tools/bc/Makefile
deleted file mode 100644
index 8b984e734..000000000
--- a/tools/bc/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= bc
-PKG_VERSION:= 1.06
-PKG_RELEASE:= 1
-PKG_MD5SUM:= d44b5dddebd8a7a7309aea6c36fda117
-PKG_SITES:= http://ftp.gnu.org/pub/gnu/bc/
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/bc
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" ./configure)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/bc: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/bc/bc \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/bzip2/Makefile b/tools/bzip2/Makefile
deleted file mode 100644
index a739f8d5f..000000000
--- a/tools/bzip2/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= bzip2
-PKG_VERSION:= 1.0.6
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 00b516f4704d4a7cb50a1d97e6e8e15b
-PKG_SITES:= http://www.bzip.org/${PKG_VERSION}/
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/bzip2
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' PREFIX=$(STAGING_HOST_DIR)/usr
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/bzip2: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/bzip2 \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile
deleted file mode 100644
index fde838067..000000000
--- a/tools/ccache/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= ccache
-PKG_VERSION:= 3.1.9
-PKG_RELEASE:= 1
-PKG_MD5SUM:= a5e9954b1dae036762f7b13673a2cf76
-PKG_SITES:= http://samba.org/ftp/ccache/
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/ccache
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/ccache: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/ccache \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/cdrtools/Makefile b/tools/cdrtools/Makefile
deleted file mode 100644
index 6522b5760..000000000
--- a/tools/cdrtools/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= cdrtools
-PKG_VERSION:= 3.00
-PKG_RELEASE:= 1
-PKG_MD5SUM:= bb21cefefcfbb76cf249120e8978ffdd
-PKG_SITES:= ftp://ftp.berlios.de/pub/cdrecord/
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/mkisofs
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- #(cd ${WRKBUILD}; ./configure)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/mkisofs: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/mkisofs/OBJ/*/mkisofs \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/cpio/Makefile b/tools/cpio/Makefile
deleted file mode 100644
index ffccd1480..000000000
--- a/tools/cpio/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/cpio
-
-SRCS:= src/ib_open.c \
- src/ib_close.c \
- src/ib_read.c \
- src/ib_alloc.c \
- src/ib_free.c \
- src/ib_getlin.c \
- src/sfile.c \
- src/gmatch.c \
- src/sigset.c \
- src/memalign.c \
- src/version.c \
- src/blast.c \
- src/crc32.c \
- src/expand.c \
- src/explode.c \
- src/flags.c \
- src/inflate.c \
- src/unshrink.c \
- src/nonpax.c \
- src/cpio.c
-
-${STAGING_HOST_DIR}/usr/bin/cpio: ${SRCS}
- ${CC_FOR_BUILD} ${FLAGS_FOR_BUILD} -D_GNU_SOURCE -Isrc -o $@ $^
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/flex/Makefile b/tools/flex/Makefile
deleted file mode 100644
index 235f785b4..000000000
--- a/tools/flex/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= flex
-PKG_VERSION:= 2.5.35
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 201d3f38758d95436cbc64903386de0b
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=${PKG_NAME}/}
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/flex
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" ./configure)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/flex: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/flex \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/genext2fs/Makefile b/tools/genext2fs/Makefile
deleted file mode 100644
index 07e24d028..000000000
--- a/tools/genext2fs/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= genext2fs
-PKG_VERSION:= 1.4.1
-PKG_RELEASE:= 1
-PKG_MD5SUM:= b7b6361bcce2cedff1ae437fadafe53b
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=genext2fs/}
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/genext2fs
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; ./configure)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/genext2fs: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/genext2fs \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/lzma/Makefile b/tools/lzma/Makefile
deleted file mode 100644
index 3544aaca2..000000000
--- a/tools/lzma/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= lzma
-PKG_VERSION:= 4.32.7
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 434e51a018b4c8ef377bf81520a53af0
-PKG_SITES:= http://tukaani.org/lzma/
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/lzma
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; PATH="$(STAGING_HOST_DIR)/usr/bin:$$PATH" ./configure)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/lzma: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/src/lzma/lzma \
- $(STAGING_HOST_DIR)/usr/bin/lzma
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/lzo/Makefile b/tools/lzo/Makefile
deleted file mode 100644
index 8f965d7ea..000000000
--- a/tools/lzo/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= lzo
-PKG_VERSION:= 2.06
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 95380bd4081f85ef08c5209f4107e9f8
-PKG_SITES:= http://www.oberhumer.com/opensource/lzo/download/
-
-include ../rules.mk
-
-install: $(WRKBUILD)/.installed
-
-$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
- @touch $@
-
-$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
- ${MAKE} -C ${WRKBUILD}
- @touch $@
-
-$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- ${MAKE} -C ${WRKBUILD} install
- @touch $@
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/lzop/Makefile b/tools/lzop/Makefile
deleted file mode 100644
index af08536c4..000000000
--- a/tools/lzop/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= lzop
-PKG_VERSION:= 1.03
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 006c5e27fb78cdd14a628fdfa5aa1905
-PKG_SITES:= http://www.lzop.org/download/
-
-include ../rules.mk
-
-install: $(WRKBUILD)/.installed
-
-$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; CPPFLAGS='$(CPPFLAGS_FOR_BUILD)' \
- LDFLAGS='$(LDFLAGS_FOR_BUILD)' \
- ./configure --prefix=$(STAGING_HOST_DIR)/usr)
- @touch $@
-
-$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
- ${MAKE} -C ${WRKBUILD}
- @touch $@
-
-$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- ${MAKE} -C ${WRKBUILD} install
- @touch $@
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/m4/Makefile b/tools/m4/Makefile
deleted file mode 100644
index f4a1bae1a..000000000
--- a/tools/m4/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= m4
-PKG_VERSION:= 1.4.17
-PKG_RELEASE:= 1
-PKG_MD5SUM:= a5e9954b1dae036762f7b13673a2cf76
-PKG_SITES:= ${MASTER_SITE_GNU:=m4/}
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/m4
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/m4: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/src/m4 \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/mkcrypt/Makefile b/tools/mkcrypt/Makefile
deleted file mode 100644
index 089c6ad7b..000000000
--- a/tools/mkcrypt/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/mkcrypt
-
-${STAGING_HOST_DIR}/usr/bin/mkcrypt:
- $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o $@ mkcrypt.c
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/mkfimage/Makefile b/tools/mkfimage/Makefile
deleted file mode 100644
index 195614f2b..000000000
--- a/tools/mkfimage/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: mkfimage.c
- $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o ${STAGING_HOST_DIR}/usr/bin/mkfimage mkfimage.c $(MAKE_TRACE)
diff --git a/tools/mkfimage/mkfimage.c b/tools/mkfimage/mkfimage.c
deleted file mode 100644
index b1897fbd7..000000000
--- a/tools/mkfimage/mkfimage.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-
-int main(int argc, char **argv){
- unsigned char *buffer = malloc(64 * 1024);
- struct stat s;
- unsigned int size_vmlinux = 0, real_size_vmlinux = 0;
- const unsigned char *magic_str = "ACME_PART_MAGIC";
- unsigned int loop;
- unsigned char *magic;
-
- if(argc != 3){
- printf("%s in out\n", argv[0]);
- return 1;
- }
-
- printf("Generating image\n");
-
- FILE *vmlinux = fopen(argv[1], "r");
- FILE *vmlinux_out = fopen(argv[2], "w");
- if((!vmlinux) || (!vmlinux_out)){
- printf("Error opening a file\n");
- return 1;
- }
-
- stat(argv[1], &s);
- size_vmlinux = s.st_size;
- real_size_vmlinux = (size_vmlinux & 0xffff0000) + 0x10000;
-
- printf("vmlinux = 0x%.08X / 0x%.08X\n", size_vmlinux, real_size_vmlinux);
-
- unsigned int t = fread(buffer, 1, 64 * 1024, vmlinux);
- for(loop = 0; loop < (64 * 1024) - sizeof(magic_str); loop++){
- if(buffer[loop] == magic_str[0]){
- if((magic = strstr(&buffer[loop], magic_str))){
- //printf("Magic at 0x%.08X %p %p\n", magic - buffer, magic, buffer);
- printf("Found Magic %X%X%X%X\n",
- buffer[loop + strlen(magic_str)],
- buffer[loop + strlen(magic_str) + 2],
- buffer[loop + strlen(magic_str) + 1],
- buffer[loop + strlen(magic_str) + 3]);
-
- buffer[loop + strlen(magic_str)] = real_size_vmlinux >> 24;
- buffer[loop + strlen(magic_str) + 2] = (real_size_vmlinux >> 16) & 0xff;
- buffer[loop + strlen(magic_str) + 1] = (real_size_vmlinux >> 8) & 0xff;
- buffer[loop + strlen(magic_str) + 3] = (real_size_vmlinux) & 0xff;
-
- printf("Replaced with %.02X%.02X%.02X%.02X\n",
- buffer[loop + strlen(magic_str)],
- buffer[loop + strlen(magic_str) + 2],
- buffer[loop + strlen(magic_str) + 1],
- buffer[loop + strlen(magic_str) + 3]);
-
- }
- }
- }
-
- fwrite(buffer, 1, 64 * 1024, vmlinux_out);
- real_size_vmlinux -= 64 * 1024;
- do {
- real_size_vmlinux -= 64 * 1024;
- memset(buffer, 0, 64 * 1024);
- fread(buffer, 1, 64 * 1024, vmlinux);
- fwrite(buffer, 1, 64 * 1024, vmlinux_out);
- } while (real_size_vmlinux);
-
- return 0;
-}
diff --git a/tools/mkimage/Makefile b/tools/mkimage/Makefile
deleted file mode 100644
index db2e42c3f..000000000
--- a/tools/mkimage/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/mkimage
-
-${STAGING_HOST_DIR}/usr/bin/mkimage: mkimage.c crc32.c
- $(CC_FOR_BUILD) ${FLAGS_FOR_BUILD} -o $@ mkimage.c crc32.c
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/mkimage/mkimage b/tools/mkimage/mkimage
deleted file mode 100755
index 87ed9a473..000000000
--- a/tools/mkimage/mkimage
+++ /dev/null
Binary files differ
diff --git a/tools/mksh/Makefile b/tools/mksh/Makefile
deleted file mode 100644
index 2c912e52b..000000000
--- a/tools/mksh/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= mksh
-PKG_VERSION:= 49
-PKG_RELEASE:= 1
-PKG_MD5SUM:= e8c205cac72c3dc8540bbc3897421422
-PKG_SITES:= ${MASTER_SITE_MIRBSD:distfiles/=dist/mir/mksh/}
-
-DISTFILES= ${PKG_NAME}-R${PKG_VERSION}.tgz
-WRKDIST= ${WRKDIR}/${PKG_NAME}
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/mksh
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- cd ${WRKBUILD} && CC='${CC_FOR_BUILD}' CFLAGS='${CFLAGS_FOR_BUILD}' \
- HAVE_CAN_FSTACKPROTECTORALL=0 \
- TARGET_OS=Linux ${BASH} ${WRKSRC}/Build.sh -Q -r -c lto
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/mksh: $(WRKBUILD)/.compiled
- ${INSTALL_BIN} ${WRKBUILD}/mksh \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/mtd-utils/Makefile b/tools/mtd-utils/Makefile
deleted file mode 100644
index 0152a41ac..000000000
--- a/tools/mtd-utils/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= mtd-utils
-PKG_VERSION:= 1.5.0
-PKG_RELEASE:= 1
-PKG_MD5SUM:= a4df1ad29684be79b0fa699bdae01faf
-PKG_SITES:= http://openadk.org/distfiles/
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' CPPFLAGS='-DWITHOUT_XATTR=1 -I./include'
- touch $@
-
-${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/mkfs.jffs2 \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/rules.mk b/tools/rules.mk
deleted file mode 100644
index a6a3684ac..000000000
--- a/tools/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-WRKDIR_BASE= ${TOOLS_BUILD_DIR}
-WRKDIR= ${WRKDIR_BASE}
-
-include ${TOPDIR}/mk/buildhlp.mk
diff --git a/tools/squashfs/Makefile b/tools/squashfs/Makefile
deleted file mode 100644
index 423008ff8..000000000
--- a/tools/squashfs/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= squashfs
-PKG_VERSION:= 4.2
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 1b7a781fb4cf8938842279bd3e8ee852
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=squashfs/}
-
-DISTFILES:= ${PKG_NAME}${PKG_VERSION}.tar.gz
-WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION}
-
-include ../rules.mk
-
-install: ${STAGING_HOST_DIR}/usr/bin/mksquashfs
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- ${MAKE} -C ${WRKBUILD}/squashfs-tools CC='${CC_FOR_BUILD}' \
- XZ_SUPPORT=1 CPPFLAGS_FOR_BUILD=$(CPPFLAGS_FOR_BUILD) \
- EXTRA_LDFLAGS=$(LDFLAGS_FOR_BUILD)
- @touch $@
-
-${STAGING_HOST_DIR}/usr/bin/mksquashfs: $(WRKBUILD)/.compiled
- $(INSTALL_BIN) $(WRKBUILD)/squashfs-tools/mksquashfs \
- ${STAGING_HOST_DIR}/usr/bin
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/srec2bin/Makefile b/tools/srec2bin/Makefile
deleted file mode 100644
index 01021c8ff..000000000
--- a/tools/srec2bin/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: srec2bin.c
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/usr/bin/srec2bin srec2bin.c
diff --git a/tools/srec2bin/srec2bin.c b/tools/srec2bin/srec2bin.c
deleted file mode 100644
index 8ba4387e6..000000000
--- a/tools/srec2bin/srec2bin.c
+++ /dev/null
@@ -1,521 +0,0 @@
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-//Rev 0.1 Original
-// 8 Jan 2001 MJH Added code to write data to Binary file
-// note: outputfile is name.bin, where name is first part
-// of input file. ie tmp.rec -> tmp.bin
-//
-// srec2bin <input SREC file> <Output Binary File> <If Present, Big Endian>
-//
-// TAG
-// bit32u TAG_BIG = 0xDEADBE42;
-// bit32u TAG_LITTLE = 0xFEEDFA42;
-//
-// File Structure
-//
-// TAG : 32 Bits
-// [DATA RECORDS]
-//
-// Data Records Structure
-//
-// LENGTH : 32 Bits <- Length of DATA, excludes ADDRESS and CHECKSUM
-// ADDRESS : 32 Bits
-// DATA : 8 Bits * LENGTH
-// CHECKSUM: 32 Bits <- 0 - (Sum of Length --> End of Data)
-//
-// Note : If Length == 0, Address will be Program Start
-//
-//
-//
-//
-//
-
-#define MajRevNum 0
-#define MinRevNum 2
-
-
-#define EndianSwitch(x) ((x >> 24) | (x << 24) | ((x << 8) & (0x00FF0000)) | ((x >> 8) & (0x0000FF00)) )
-
-typedef unsigned char bit8u;
-typedef unsigned int bit32u;
-typedef int bit32;
-
-#define FALSE 0
-#define TRUE (!FALSE)
-
-
-bit32u CheckSum;
-int RecStart;
-int debug;
-int verbose;
-
-FILE *OpenOutputFile( char *Name );
-FILE *fOut;
-bit32u RecLength=0;
-
-bit32u AddressCurrent;
-
-bit32u gh(char *cp,int nibs);
-
-int BigEndian;
-
-int inputline;
-
-// char buf[16*1024];
-
-char buffer[2048];
-char *cur_ptr;
-int cur_line=0;
-int cur_len=0;
-
-int s1s2s3_total=0;
-
-bit32u PBVal;
-int PBValid;
-bit32u PBAdr;
-
-
-void dumpfTell(char *s, bit32u Value)
-{
- int Length;
- Length = (int) RecLength;
- if (debug)
- printf("[%s ] ftell()[0x%08lX] Length[0x%4X] Length[%4d] Value[0x%08x]\n",
- s, ftell(fOut), Length, Length, Value);
-}
-
-void DispHex(bit32u Hex)
-{
-// printf("%X", Hex);
-}
-
-void WaitDisplay(void)
-{
- static int Count=0;
- static int Index=0;
- char iline[]={"-\\|/"};
-
- Count++;
- if ((Count % 32)==0)
- {
- if (verbose)
- printf("%c%c",iline[Index++],8);
- Index &= 3;
- }
-}
-
-
-void binOut32 ( bit32u Data )
-{
-// On UNIX machine all 32bit writes need ENDIAN switched
-// Data = EndianSwitch(Data);
-// fwrite( &Data, sizeof(bit32u), 1, fOut);
-
- char sdat[4];
- int i;
-
- for(i=0;i<4;i++)
- sdat[i]=(char)(Data>>(i*8));
- fwrite( sdat, 1, 4, fOut);
- dumpfTell("Out32" , Data);
-}
-
-// Only update RecLength on Byte Writes
-// All 32 bit writes will be for Length etc
-
-void binOut8 ( bit8u Data )
-{
- int n;
- dumpfTell("B4Data" , (bit32u) (Data & 0xFF) );
- n = fwrite( &Data, sizeof(bit8u), 1, fOut);
- if (n != 1)
- printf("Error in writing %X for Address 0x%8X\n", Data, AddressCurrent);
- RecLength += 1;
-}
-
-// Currently ONLY used for outputting Program Start
-
-void binRecStart(bit32u Address)
-{
- RecLength = 0;
- CheckSum = Address;
- RecStart = TRUE;
-
- if (debug)
- printf("[RecStart] CheckSum[0x%08X] Length[%4d] Address[0x%08X]\n",
- CheckSum, RecLength, Address);
-
-
- dumpfTell("RecLength", RecLength);
- binOut32( RecLength );
- dumpfTell("Address", Address);
- binOut32( Address );
-}
-
-void binRecEnd(void)
-{
- long RecEnd;
-
- if (!RecStart) // if no record started, do not end it
- {
- return;
- }
-
- RecStart = FALSE;
-
-
- RecEnd = ftell(fOut); // Save Current position
-
- if (debug)
- printf("[RecEnd ] CheckSum[0x%08X] Length[%4d] Length[0x%X] RecEnd[0x%08lX]\n",
- CheckSum, RecLength, RecLength, RecEnd);
-
- fseek( fOut, -((long) RecLength), SEEK_CUR); // move back Start Of Data
-
- dumpfTell("Data ", -1);
-
- fseek( fOut, -4, SEEK_CUR); // move back Start Of Address
-
- dumpfTell("Address ", -1);
-
- fseek( fOut, -4, SEEK_CUR); // move back Start Of Length
-
- dumpfTell("Length ", -1);
-
- binOut32( RecLength );
-
- fseek( fOut, RecEnd, SEEK_SET); // move to end of Record
-
- CheckSum += RecLength;
-
- CheckSum = ~CheckSum + 1; // Two's complement
-
- binOut32( CheckSum );
-
- if (verbose)
- printf("[Created Record of %d Bytes with CheckSum [0x%8X]\n", RecLength, CheckSum);
-}
-
-void binRecOutProgramStart(bit32u Address)
-{
- if (Address != (AddressCurrent+1))
- {
- binRecEnd();
- binRecStart(Address);
- }
- AddressCurrent = Address;
-}
-void binRecOutByte(bit32u Address, bit8u Data)
-{
- // If Address is one after Current Address, output Byte
- // If not, close out last record, update Length, write checksum
- // Then Start New Record, updating Current Address
-
- if (Address != (AddressCurrent+1))
- {
- binRecEnd();
- binRecStart(Address);
- }
- AddressCurrent = Address;
- CheckSum += Data;
- binOut8( Data );
-}
-
-//=============================================================================
-// SUPPORT FUNCTIONS
-//=============================================================================
-int readline(FILE *fil,char *buf,int len)
-{
- int rlen;
-
- rlen=0;
- if (len==0) return(0);
- while(1)
- {
- if (cur_len==0)
- {
- cur_len=fread(buffer, 1, sizeof(buffer), fil);
- if (cur_len==0)
- {
- if (rlen)
- {
- *buf=0;
- return(rlen);
- }
- return(-1);
- }
- cur_ptr=buffer;
- }
- if (cur_len)
- {
- if (*cur_ptr=='\n')
- {
- *buf=0;
- cur_ptr++;
- cur_len--;
- return(rlen);
- }
- else
- {
- if ((len>1)&&(*cur_ptr!='\r'))
- {
- *buf++=*cur_ptr++;
- len--;
- }
- else
- cur_ptr++;
-
- rlen++;
- cur_len--;
- }
- }
- else
- {
- *buf=0;
- cur_ptr++;
- cur_len--;
- return(rlen);
- }
- }
-}
-
-
-int SRLerrorout(char *c1,char *c2)
-{
- printf("\nERROR: %s - '%s'.",c1,c2);
- return(FALSE);
-}
-
-
-int checksum(char *cp,int count)
-{
- char *scp;
- int cksum;
- int dum;
-
- scp=cp;
- while(*scp)
- {
- if (!isxdigit(*scp++))
- return(SRLerrorout("Invalid hex digits",cp));
- }
- scp=cp;
-
- cksum=count;
-
- while(count)
- {
- cksum += gh(scp,2);
- if (count == 2)
- dum = ~cksum;
- scp += 2;
- count--;
- }
- cksum&=0x0ff;
- // printf("\nCk:%02x",cksum);
- return(cksum==0x0ff);
-}
-
-bit32u gh(char *cp,int nibs)
-{
- int i;
- bit32u j;
-
- j=0;
-
- for(i=0;i<nibs;i++)
- {
- j<<=4;
- if ((*cp>='a')&&(*cp<='z')) *cp &= 0x5f;
- if ((*cp>='0')&&(*cp<='9'))
- j += (*cp-0x30);
- else
- if ((*cp>='A')&&(*cp<='F'))
- j += (*cp-0x37);
- else
- SRLerrorout("Bad Hex char", cp);
- cp++;
- }
- return(j);
-}
-
-
-//=============================================================================
-// PROCESS SREC LINE
-//=============================================================================
-
-int srecLine(char *pSrecLine)
-{
- char *scp,ch;
- int itmp,count,dat;
- bit32u adr;
- static bit32u RecordCounter=0;
-
- cur_line++;
- scp=pSrecLine;
-
- if (*pSrecLine!='S')
- return(SRLerrorout("Not an Srecord file",scp));
- pSrecLine++;
- if (strlen(pSrecLine)<4)
- return(SRLerrorout("Srecord too short",scp));
-
- ch=*pSrecLine++;
-
- count=gh(pSrecLine,2);
-
- pSrecLine += 2;
-
- // if(debug)
- // printf("count %d, strlen(pSrecLine) = %d, pSrecLine =[%s]\n", count, strlen(pSrecLine), pSrecLine);
- RecordCounter++;
- DispHex(RecordCounter);
-
- if ((count*2) != strlen(pSrecLine)) return(SRLerrorout("Count field larger than record",scp));
-
- if (!checksum(pSrecLine, count)) return(SRLerrorout("Bad Checksum",scp));
-
- switch(ch)
- {
- case '0': if (count<3) return(SRLerrorout("Invalid Srecord count field",scp));
- itmp=gh(pSrecLine,4); pSrecLine+=4; count-=2;
- if (itmp) return(SRLerrorout("Srecord 1 address not zero",scp));
- break;
- case '1': if (count<3) return(SRLerrorout("Invalid Srecord count field",scp));
- return(SRLerrorout("Srecord Not valid for MIPS",scp));
- break;
- case '2': if (count<4) return(SRLerrorout("Invalid Srecord count field",scp));
- return(SRLerrorout("Srecord Not valid for MIPS",scp));
- break;
- case '3': if (count<5) return(SRLerrorout("Invalid Srecord count field",scp));
- adr=gh(pSrecLine,8); pSrecLine+=8; count-=4;
- count--;
- while(count)
- {
- dat=gh(pSrecLine,2); pSrecLine+=2; count--;
- binRecOutByte(adr, (char) (dat & 0xFF));
- adr++;
- }
- s1s2s3_total++;
- break;
- case '4': return(SRLerrorout("Invalid Srecord type",scp));
- break;
- case '5': if (count<3) return(SRLerrorout("Invalid Srecord count field",scp));
- itmp=gh(pSrecLine,4); pSrecLine+=4; count-=2;
- if (itmp|=s1s2s3_total) return(SRLerrorout("Incorrect number of S3 Record processed",scp));
- break;
- case '6': return(SRLerrorout("Invalid Srecord type",scp));
- break;
- case '7': // PROGRAM START
- if (count<5) return(SRLerrorout("Invalid Srecord count field",scp));
- adr=gh(pSrecLine,8); pSrecLine+=8; count-=4;
- if (count!=1) return(SRLerrorout("Invalid Srecord count field",scp));
- binRecOutProgramStart(adr);
- break;
- case '8': if (count<4) return(SRLerrorout("Invalid Srecord count field",scp));
- return(SRLerrorout("Srecord Not valid for MIPS",scp));
- break;
- case '9': if (count<3) return(SRLerrorout("Invalid Srecord count field",scp));
- return(SRLerrorout("Srecord Not valid for MIPS",scp));
- break;
- default:
- break;
- }
- return(TRUE);
-}
-
-
-//=============================================================================
-// MAIN LOGIC, READS IN LINE AND OUTPUTS BINARY
-//=============================================================================
-
-int srec2bin(int argc,char *argv[],int verbose)
-{
- int rlen,sts;
- FILE *fp;
- char buff[256];
- bit32u TAG_BIG = 0xDEADBE42;
- bit32u TAG_LITTLE = 0xFEEDFA42;
-
- bit32u Tag;
-
-
- if(argc < 3)
- {
- printf("\nError: <srec2bin <srec input file> <bin output file>\n\n");
- return(0);
- }
-
- if (argc > 3) BigEndian=TRUE; else BigEndian=FALSE;
-
- if (BigEndian)
- Tag = TAG_BIG;
- else
- Tag = TAG_LITTLE;
-
- if (verbose)
- printf("\nEndian: %s, Tag is 0x%8X\n",(BigEndian)?"BIG":"LITTLE", Tag);
-
- fp = fopen(argv[1],"rt");
-
- if (fp==NULL)
- {
- printf("\nError: Opening input file, %s.", argv[1]);
- return(0);
- }
-
- fOut = fopen( argv[2], "wb");
-
- if (fOut==NULL)
- {
- printf("\nError: Opening Output file, %s.", argv[2]);
- if(fp) fclose(fp);
- return(0);
- }
-
- RecStart = FALSE;
-
- AddressCurrent = 0xFFFFFFFFL;
-
- // Setup Tag
-
- dumpfTell("Tag", Tag);
-
- binOut32(Tag);
-
-
- inputline=0;
- sts=TRUE;
-
- rlen = readline(fp,buff,sizeof buff);
-
- while( (sts) && (rlen != -1))
- {
- if (strlen(buff))
- {
- sts &= srecLine(buff);
- WaitDisplay();
- }
- rlen = readline(fp,buff,sizeof buff);
- }
-
-
- // printf("PC: 0x%08X, Length 0x%08X, Tag 0x%08X\n", ProgramStart, RecLength, TAG_LITTLE);
-
- binRecEnd();
-
- if(fp) fclose(fp);
- if(fOut) fclose(fOut);
-
- return(1);
-}
-
-int main(int argc, char *argv[])
-{
- debug = FALSE;
- verbose = FALSE;
- srec2bin(argc,argv,verbose);
- return 0;
-}
diff --git a/tools/syslinux/Makefile b/tools/syslinux/Makefile
deleted file mode 100644
index 1344538d1..000000000
--- a/tools/syslinux/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= syslinux
-PKG_VERSION:= 6.02
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 086ac1c569d226a5e2ae3d605de09a1d
-PKG_SITES:= http://www.kernel.org/pub/linux/utils/boot/syslinux/
-
-include ../rules.mk
-WRKINST:= ${WRKBUILD}/openadk_installroot
-
-install: ${STAGING_HOST_DIR}/usr/bin/extlinux ${STAGING_HOST_DIR}/usr/share/syslinux/.installed
-
-$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' bios installer
- @touch $@
-
-$(WRKBUILD)/.installed: ${WRKBUILD}/.compiled
- mkdir -p ${WRKINST}
- ${MAKE} -C ${WRKBUILD} CC='${CC_FOR_BUILD}' \
- INSTALLROOT='${WRKINST}' \
- bios install
- @touch $@
-
-${STAGING_HOST_DIR}/usr/bin/extlinux: $(WRKBUILD)/.installed
- $(INSTALL_BIN) ${WRKINST}/sbin/extlinux \
- ${STAGING_HOST_DIR}/usr/bin
-
-${STAGING_HOST_DIR}/usr/share/syslinux/.installed: ${WRKBUILD}/.installed
- mkdir -p ${STAGING_HOST_DIR}/usr/share
- ${CP} ${WRKINST}/usr/share/syslinux ${STAGING_HOST_DIR}/usr/share
- @touch ${STAGING_HOST_DIR}/usr/share/syslinux/.installed
-
-include $(TOPDIR)/mk/tools.mk
diff --git a/tools/trx/Makefile b/tools/trx/Makefile
deleted file mode 100644
index 25e2b02db..000000000
--- a/tools/trx/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-all: trx.c
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -o ${STAGING_HOST_DIR}/usr/bin/trx trx.c
diff --git a/tools/trx/trx.c b/tools/trx/trx.c
deleted file mode 100644
index 9e4d521ca..000000000
--- a/tools/trx/trx.c
+++ /dev/null
@@ -1,366 +0,0 @@
-/*
- * Copyright (C) 2004 Manuel Novoa III <mjn3@codepoet.org>
- * Copyright (C) 2005 Konstantin A. Klubnichkin and Oleg I. Vdovikin
- * Copyright (C) 2006 OpenWrt developers <openwrt-developers@openwrt.org>
- * Copyright (C) 2011 Waldemar Brodkorb <wbx@openadk.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-
-uint32_t crc32buf(char *buf, size_t len);
-
-/**********************************************************************/
-/* from trxhdr.h */
-
-#define TRX_MAGIC 0x30524448 /* "HDR0" */
-#define TRX_VERSION 1
-#define TRX_MAX_LEN 0x697800
-#define TRX_NO_HEADER 1 /* Do not write TRX header */
-
-struct trx_header {
- uint32_t magic; /* "HDR0" */
- uint32_t len; /* Length of file including header */
- uint32_t crc32; /* 32-bit CRC from flag_version to end of file */
- uint32_t flag_version; /* 0:15 flags, 16:31 version */
- uint32_t offsets[3]; /* Offsets of partitions from start of header */
-};
-
-/**********************************************************************/
-
-void usage(void) __attribute__ (( __noreturn__ ));
-
-void usage(void)
-{
- fprintf(stderr, "Usage: trx [-p product_id] [-v version] [-o outfile] [-m maxlen] [-a align] [-b offset] -f file [-f file [-f file]]\n");
- exit(EXIT_FAILURE);
-}
-
-int main(int argc, char **argv)
-{
- FILE *out = stdout;
- FILE *in;
- char *ofn = NULL;
- char *buf;
- char *e;
- int c, i;
- size_t n;
- uint32_t cur_len;
- unsigned long maxlen = TRX_MAX_LEN;
- struct trx_header *p;
-
- struct {
- uint8_t version[4]; /* Firmware version */
- uint8_t prod_id[12]; /* Product Id */
- uint8_t comp_hw[4][4]; /* Compatible hw list maj-min min/maj-min max */
- uint8_t pad[32]; /* Padding */
- } asus = {
- .version = { 1, 9, 2, 7 }, /* version is set to 1.9.2.7 by default */
- .comp_hw[0] = { 0, 2, 2, 99 } /* hardcoded hw compat list 0.02 - 2.99 */
- };
-
-
- if (!(buf = malloc(maxlen))) {
- fprintf(stderr, "malloc failed\n");
- return EXIT_FAILURE;
- }
-
- p = (struct trx_header *) buf;
-
- p->magic = TRX_MAGIC;
- cur_len = sizeof(struct trx_header);
- p->flag_version = (TRX_VERSION << 16);
-
- in = NULL;
- i = 0;
-
- while ((c = getopt(argc, argv, "-:o:p:v:m:a:b:f:")) != -1) {
- switch (c) {
- case 'f':
- p->offsets[i++] = cur_len;
-
- if (!(in = fopen(optarg, "r"))) {
- fprintf(stderr, "can not open \"%s\" for reading\n", optarg);
- usage();
- }
- n = fread(buf + cur_len, 1, maxlen - cur_len, in);
- if (!feof(in)) {
- fprintf(stderr, "fread failure or file \"%s\" too large\n",optarg);
- fclose(in);
- return EXIT_FAILURE;
- }
- fclose(in);
-#undef ROUND
-#define ROUND 4
- if (n & (ROUND-1)) {
- memset(buf + cur_len + n, 0, ROUND - (n & (ROUND-1)));
- n += ROUND - (n & (ROUND-1));
- }
- cur_len += n;
- /* reserve space for asus footer */
- if (asus.prod_id[0]) {
- cur_len += sizeof(asus);
- }
- break;
- case 'o':
- ofn = optarg;
- if (ofn && !(out = fopen(ofn, "w"))) {
- fprintf(stderr, "can not open \"%s\" for writing\n", ofn);
- usage();
- }
-
- break;
- case 'm':
- errno = 0;
- maxlen = strtoul(optarg, &e, 0);
- if (errno || (e == optarg) || *e) {
- fprintf(stderr, "illegal numeric string\n");
- usage();
- }
-#undef ROUND
-#define ROUND 0x1000
- if (maxlen & (ROUND-1)) {
- maxlen += (ROUND - (maxlen & (ROUND-1)));
- }
- if (maxlen < ROUND) {
- fprintf(stderr, "maxlen too small (or wrapped)\n");
- usage();
- }
- if (maxlen > TRX_MAX_LEN) {
- fprintf(stderr, "WARNING: maxlen exceeds default maximum! Beware of overwriting nvram!\n");
- }
- if (!(buf = realloc(buf,maxlen))) {
- fprintf(stderr, "realloc failed");
- return EXIT_FAILURE;
- }
- break;
- case 'a':
- errno = 0;
- n = strtoul(optarg, &e, 0);
- if (errno || (e == optarg) || *e) {
- fprintf(stderr, "illegal numeric string\n");
- usage();
- }
- if (cur_len & (n-1)) {
- n = n - (cur_len & (n-1));
- memset(buf + cur_len, 0, n);
- cur_len += n;
- }
- break;
- case 'b':
- errno = 0;
- n = strtoul(optarg, &e, 0);
- if (errno || (e == optarg) || *e) {
- fprintf(stderr, "illegal numeric string\n");
- usage();
- }
- if (n < cur_len) {
- fprintf(stderr, "WARNING: current length exceeds -b %d offset\n",(int)n);
- } else {
- memset(buf + cur_len, 0, n - cur_len);
- cur_len = n;
- }
- break;
- case 'p':
- if ((n = strlen(optarg)) > sizeof(asus.prod_id)) {
- fprintf(stderr, "product id too long\n");
- usage();
- }
- memset(asus.prod_id, ' ', sizeof(asus.prod_id));
- memcpy(asus.prod_id, optarg, n);
- break;
- case 'v':
- for (n = 0; n < sizeof(asus.version) / sizeof(asus.version[0]); n++)
- {
- if (n != 0 && optarg[0] == '.' && optarg[1]) optarg++;
- else if (n != 0) break;
-
- asus.version[n] = strtoul(optarg, &optarg, 10);
- }
- if (*optarg)
- {
- fprintf(stderr, "invalid version string\n");
- usage();
- }
- break;
- default:
- usage();
- }
- }
-
- if (!in) {
- fprintf(stderr, "we require at least one filename\n");
- usage();
- }
-
-#undef ROUND
-#define ROUND 0x1000
- n = cur_len & (ROUND-1);
- if (n) {
- memset(buf + cur_len, 0, ROUND - n);
- cur_len += ROUND - n;
- }
- /* add asus footer */
- if (asus.prod_id[0]) {
- memcpy(buf + cur_len - sizeof(asus), &asus, sizeof(asus));
- }
-
- p->crc32 = crc32buf((char *) &p->flag_version,
- cur_len - offsetof(struct trx_header, flag_version));
- p->crc32 = p->crc32;
-
- p->len = cur_len;
-
- if (!fwrite(buf, cur_len, 1, out) || fflush(out)) {
- fprintf(stderr, "fwrite failed\n");
- return EXIT_FAILURE;
- }
-
- fclose(out);
-
- return EXIT_SUCCESS;
-}
-
-/**********************************************************************/
-/* The following was grabbed and tweaked from the old snippets collection
- * of public domain C code. */
-
-/**********************************************************************\
-|* Demonstration program to compute the 32-bit CRC used as the frame *|
-|* check sequence in ADCCP (ANSI X3.66, also known as FIPS PUB 71 *|
-|* and FED-STD-1003, the U.S. versions of CCITT's X.25 link-level *|
-|* protocol). The 32-bit FCS was added via the Federal Register, *|
-|* 1 June 1982, p.23798. I presume but don't know for certain that *|
-|* this polynomial is or will be included in CCITT V.41, which *|
-|* defines the 16-bit CRC (often called CRC-CCITT) polynomial. FIPS *|
-|* PUB 78 says that the 32-bit FCS reduces otherwise undetected *|
-|* errors by a factor of 10^-5 over 16-bit FCS. *|
-\**********************************************************************/
-
-/* Copyright (C) 1986 Gary S. Brown. You may use this program, or
- code or tables extracted from it, as desired without restriction.*/
-
-/* First, the polynomial itself and its table of feedback terms. The */
-/* polynomial is */
-/* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 */
-/* Note that we take it "backwards" and put the highest-order term in */
-/* the lowest-order bit. The X^32 term is "implied"; the LSB is the */
-/* X^31 term, etc. The X^0 term (usually shown as "+1") results in */
-/* the MSB being 1. */
-
-/* Note that the usual hardware shift register implementation, which */
-/* is what we're using (we're merely optimizing it by doing eight-bit */
-/* chunks at a time) shifts bits into the lowest-order term. In our */
-/* implementation, that means shifting towards the right. Why do we */
-/* do it this way? Because the calculated CRC must be transmitted in */
-/* order from highest-order term to lowest-order term. UARTs transmit */
-/* characters in order from LSB to MSB. By storing the CRC this way, */
-/* we hand it to the UART in the order low-byte to high-byte; the UART */
-/* sends each low-bit to hight-bit; and the result is transmission bit */
-/* by bit from highest- to lowest-order term without requiring any bit */
-/* shuffling on our part. Reception works similarly. */
-
-/* The feedback terms table consists of 256, 32-bit entries. Notes: */
-/* */
-/* 1. The table can be generated at runtime if desired; code to do so */
-/* is shown later. It might not be obvious, but the feedback */
-/* terms simply represent the results of eight shift/xor opera- */
-/* tions for all combinations of data and CRC register values. */
-/* */
-/* 2. The CRC accumulation logic is the same for all CRC polynomials, */
-/* be they sixteen or thirty-two bits wide. You simply choose the */
-/* appropriate table. Alternatively, because the table can be */
-/* generated at runtime, you can start by generating the table for */
-/* the polynomial in question and use exactly the same "updcrc", */
-/* if your application needn't simultaneously handle two CRC */
-/* polynomials. (Note, however, that XMODEM is strange.) */
-/* */
-/* 3. For 16-bit CRCs, the table entries need be only 16 bits wide; */
-/* of course, 32-bit entries work OK if the high 16 bits are zero. */
-/* */
-/* 4. The values must be right-shifted by eight bits by the "updcrc" */
-/* logic; the shift must be unsigned (bring in zeroes). On some */
-/* hardware you could probably optimize the shift in assembler by */
-/* using byte-swap instructions. */
-
-static const uint32_t crc_32_tab[] = { /* CRC polynomial 0xedb88320 */
-0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
-0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
-0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
-0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
-0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
-0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
-0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
-0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
-0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
-0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
-0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
-0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
-0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
-0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
-0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
-0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
-0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
-0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
-0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
-0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
-0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
-0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
-0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
-0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
-0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
-0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
-0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
-0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
-0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
-0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
-0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
-0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
-0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
-0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
-0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
-0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
-0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
-0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
-0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
-0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
-0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
-0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
-0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
-};
-
-#define UPDC32(octet,crc) (crc_32_tab[((crc) ^ (octet)) & 0xff] ^ ((crc) >> 8))
-
-uint32_t crc32buf(char *buf, size_t len)
-{
- uint32_t crc;
-
- crc = 0xFFFFFFFF;
-
- for ( ; len; --len, ++buf)
- {
- crc = UPDC32(*buf, crc);
- }
-
- return crc;
-}
diff --git a/tools/xz/Makefile b/tools/xz/Makefile
deleted file mode 100644
index fa4c51f92..000000000
--- a/tools/xz/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= xz
-PKG_VERSION:= 5.0.5
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 1b7a781fb4cf8938842279bd3e8ee852
-PKG_SITES:= http://tukaani.org/xz/
-
-include ../rules.mk
-
-install: $(WRKBUILD)/.installed
-
-$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
- (cd ${WRKBUILD}; ./configure --prefix=$(STAGING_HOST_DIR)/usr)
- @touch $@
-
-$(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
- ${MAKE} -C ${WRKBUILD}
- @touch $@
-
-$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
- ${MAKE} -C ${WRKBUILD} install
- @touch $@
-
-include $(TOPDIR)/mk/tools.mk