|
@@ -1,9344 +0,0 @@
|
|
|
-From c551f18b3e88ab555b24376240d09e10da767311 Mon Sep 17 00:00:00 2001
|
|
|
-From: Reinhard Russinger <reinhard@russinger.at>
|
|
|
-Date: Sun, 18 Feb 2018 21:06:05 +0100
|
|
|
-Subject: [PATCH] GfA wrk changes and setup
|
|
|
-
|
|
|
----
|
|
|
- CrossCompile.sh | 41 ++
|
|
|
- MakeDTSUpdate.sh | 58 ++
|
|
|
- MakeIMAGE.sh | 106 ++++
|
|
|
- MakeLegalInfo.sh | 17 +
|
|
|
- MakeRootfsUpdate.sh | 73 +++
|
|
|
- MapImage.sh | 41 ++
|
|
|
- UpdateDTS.sh.in | 126 ++++
|
|
|
- UpdateRootfs.sh.in | 209 +++++++
|
|
|
- ...cache-flush-management-symbols-when-MULTI.patch | 34 +
|
|
|
- configs/Display001_4.4.104_rt21_Qt5.6.2_defconfig | 447 +++++++++++++
|
|
|
- configs/Display001_4.4.104_rt21_Qt5.7_defconfig | 460 ++++++++++++++
|
|
|
- configs/Display001_4.4.94_rt19_Qt5.6.2_defconfig | 449 +++++++++++++
|
|
|
- package/fontconfig/001-mtime-always-ok.patch | 12 +
|
|
|
- package/fontconfig/fontconfig.mk | 2 +-
|
|
|
- package/gcc/4.9.1/100-uclibc-conf.patch | 15 +
|
|
|
- package/gcc/4.9.1/301-missing-execinfo_h.patch | 13 +
|
|
|
- package/gcc/4.9.1/302-c99-snprintf.patch | 13 +
|
|
|
- package/gcc/4.9.1/810-arm-softfloat-libgcc.patch | 30 +
|
|
|
- package/gcc/4.9.1/830-arm_unbreak_armv4t.patch | 13 +
|
|
|
- .../840-microblaze-enable-dwarf-eh-support.patch | 169 +++++
|
|
|
- package/gcc/4.9.1/841-PR60102.patch | 388 ++++++++++++
|
|
|
- package/gcc/4.9.1/900-musl-support.patch | 696 +++++++++++++++++++++
|
|
|
- .../powerpc-link-with-math-lib.patch.conditional | 122 ++++
|
|
|
- package/gcc/4.9.3/100-uclibc-conf.patch | 15 +
|
|
|
- ...00-powerpc-link-with-math-lib.patch.conditional | 122 ++++
|
|
|
- package/gcc/4.9.3/111-pr65730.patch | 37 ++
|
|
|
- ...gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch | 29 +
|
|
|
- package/gcc/4.9.3/130-pr43538.patch | 25 +
|
|
|
- ...tizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch | 37 ++
|
|
|
- package/gcc/4.9.3/301-missing-execinfo_h.patch | 13 +
|
|
|
- package/gcc/4.9.3/810-arm-softfloat-libgcc.patch | 30 +
|
|
|
- package/gcc/4.9.3/830-arm_unbreak_armv4t.patch | 13 +
|
|
|
- .../840-microblaze-enable-dwarf-eh-support.patch | 169 +++++
|
|
|
- package/gcc/4.9.3/850-libstdcxx-uclibc-c99.patch | 255 ++++++++
|
|
|
- package/gcc/4.9.3/860-cilk-wchar.patch | 56 ++
|
|
|
- .../870-xtensa-add-mauto-litpools-option.patch | 290 +++++++++
|
|
|
- .../871-xtensa-reimplement-register-spilling.patch | 76 +++
|
|
|
- ...unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch | 33 +
|
|
|
- .../gcc/4.9.3/873-xtensa-fix-_Unwind_GetCFA.patch | 40 ++
|
|
|
- .../gcc/4.9.3/874-xtensa-add-uclinux-support.patch | 174 ++++++
|
|
|
- .../gcc/4.9.3/880-nios2_legitimize_address.patch | 49 ++
|
|
|
- package/gcc/4.9.3/890-fix-m68k-compile.patch | 15 +
|
|
|
- package/gcc/4.9.3/900-musl-support.patch | 640 +++++++++++++++++++
|
|
|
- .../4.9.3/920-libgcc-remove-unistd-header.patch | 12 +
|
|
|
- .../930-libgcc-disable-split-stack-nothreads.patch | 14 +
|
|
|
- package/gcc/Config.in.host | 28 +
|
|
|
- package/gcc/gcc.hash | 4 +
|
|
|
- .../2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch | 174 ++++++
|
|
|
- .../glibc/2.18-svnr23787/0002-accept-make4.patch | 33 +
|
|
|
- .../glibc/2.18-svnr23787/0003-CVE-2014-6040.patch | 141 +++++
|
|
|
- .../glibc/2.18-svnr23787/0004-CVE-2014-9402.patch | 20 +
|
|
|
- .../glibc/2.18-svnr23787/0005-CVE-2015-1472.patch | 88 +++
|
|
|
- .../2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch | 174 ++++++
|
|
|
- .../glibc/2.19-svnr25243/0002-CVE-2014-6040.patch | 141 +++++
|
|
|
- .../glibc/2.19-svnr25243/0003-CVE-2014-9402.patch | 20 +
|
|
|
- .../glibc/2.19-svnr25243/0004-CVE-2015-1472.patch | 88 +++
|
|
|
- .../glibc/glibc/2.22/0001-fix-CVE-2015-7547.patch | 236 +++++++
|
|
|
- .../0002-microblaze-include-unix-sysdep.h.patch | 43 ++
|
|
|
- package/glibc/glibc/Config.in | 56 ++
|
|
|
- package/glibc/glibc/glibc.hash | 8 +
|
|
|
- package/glibc/glibc/glibc.mk | 155 +++++
|
|
|
- package/glibc/glibc/nsswitch.conf | 13 +
|
|
|
- package/libmodbus/001-GfA-echo-rtu.patch | 105 ++++
|
|
|
- .../linux-017-omap_serial_for_rs485.patch | 12 +
|
|
|
- package/mutt/mutt.mk | 20 +-
|
|
|
- package/qt5/Config.in | 10 +-
|
|
|
- package/qt5/qt5.mk | 6 +-
|
|
|
- package/qt5/qt53d/qt53d.hash | 3 +-
|
|
|
- ...ndard-compiler-flags-for-the-host-build.__patch | 44 ++
|
|
|
- package/qt5/qt5base/Config.in | 2 +-
|
|
|
- package/qt5/qt5base/qmake.conf | 1 -
|
|
|
- package/qt5/qt5base/qt5base.hash | 3 +-
|
|
|
- package/qt5/qt5base/qt5base.mk | 15 +-
|
|
|
- package/qt5/qt5canvas3d/qt5canvas3d.hash | 3 +-
|
|
|
- package/qt5/qt5charts/Config.in | 18 +
|
|
|
- package/qt5/qt5charts/qt5charts.mk | 39 ++
|
|
|
- package/qt5/qt5connectivity/Config.in | 12 +-
|
|
|
- package/qt5/qt5connectivity/qt5connectivity.hash | 3 +-
|
|
|
- package/qt5/qt5connectivity/qt5connectivity.mk | 36 +-
|
|
|
- package/qt5/qt5datavis3d/Config.in | 17 +
|
|
|
- package/qt5/qt5datavis3d/qt5datavis3d.mk | 39 ++
|
|
|
- package/qt5/qt5declarative/qt5declarative.hash | 3 +-
|
|
|
- package/qt5/qt5enginio/qt5enginio.hash | 3 +-
|
|
|
- package/qt5/qt5enginio/qt5enginio.mk | 2 +-
|
|
|
- .../qt5graphicaleffects/qt5graphicaleffects.hash | 3 +-
|
|
|
- package/qt5/qt5imageformats/qt5imageformats.hash | 3 +-
|
|
|
- package/qt5/qt5location/qt5location.hash | 3 +-
|
|
|
- package/qt5/qt5multimedia/Config.in | 1 -
|
|
|
- package/qt5/qt5multimedia/qt5multimedia.hash | 3 +-
|
|
|
- package/qt5/qt5quickcontrols/qt5quickcontrols.hash | 3 +-
|
|
|
- .../qt5/qt5quickcontrols2/qt5quickcontrols2.hash | 3 +-
|
|
|
- package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk | 11 +-
|
|
|
- package/qt5/qt5sensors/qt5sensors.hash | 3 +-
|
|
|
- package/qt5/qt5serialbus/Config.in | 4 -
|
|
|
- package/qt5/qt5serialbus/qt5serialbus.hash | 3 +-
|
|
|
- package/qt5/qt5serialport/qt5serialport.hash | 3 +-
|
|
|
- package/qt5/qt5svg/qt5svg.hash | 3 +-
|
|
|
- .../0001-Disable-qdoc-needs-qtdeclarative.patch | 30 +
|
|
|
- package/qt5/qt5tools/qt5tools.hash | 2 -
|
|
|
- package/qt5/qt5tools/qt5tools.hash__ | 2 +
|
|
|
- package/qt5/qt5virtualkeyboard/Config.in | 10 +
|
|
|
- .../qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk | 39 ++
|
|
|
- package/qt5/qt5wayland/Config.in | 14 +
|
|
|
- package/qt5/qt5wayland/qt5wayland.mk | 35 ++
|
|
|
- package/qt5/qt5webchannel/qt5webchannel.hash | 3 +-
|
|
|
- .../001-chromium-glibc-2.24-issue.patch | 14 +
|
|
|
- .../001-delegate_frame_node_fence_sync.patch | 20 +
|
|
|
- package/qt5/qt5webengine/Config.in | 17 +
|
|
|
- .../patches_save/001-allow-arm-compiler.patch | 26 +
|
|
|
- .../patches_save/002-buildroot-python-bz2.patch | 11 +
|
|
|
- .../patches_save/002-move_icu_to_56_1.patch | 43 ++
|
|
|
- .../patches_save/003-egl_khr_reusable_sync.patch | 14 +
|
|
|
- .../patches_save/004-allow-egl-surface.patch | 166 +++++
|
|
|
- package/qt5/qt5webengine/qt5webengine.__hash | 2 +
|
|
|
- package/qt5/qt5webengine/qt5webengine.mk | 70 +++
|
|
|
- .../0004-Fix-linking-with-libpthread.patch | 34 +
|
|
|
- package/qt5/qt5webkit/Config.in | 6 +-
|
|
|
- package/qt5/qt5webkit/qt5webkit.hash | 3 +-
|
|
|
- package/qt5/qt5webkit/qt5webkit.mk | 22 +-
|
|
|
- package/qt5/qt5websockets/qt5websockets.hash | 3 +-
|
|
|
- package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash | 3 +-
|
|
|
- package/ti-gfx/S80ti-gfx | 10 +
|
|
|
- package/ti-gfx/powervr.ini | 4 +-
|
|
|
- package/ti-sgx-km/ti-sgx-km.mk | 7 +-
|
|
|
- package/ti-sgx-um/ti-sgx-um.mk | 1 +
|
|
|
- package/tinc/tinc.hash | 2 +-
|
|
|
- package/tinc/tinc.mk | 2 +-
|
|
|
- 127 files changed, 8019 insertions(+), 138 deletions(-)
|
|
|
- create mode 100755 CrossCompile.sh
|
|
|
- create mode 100755 MakeDTSUpdate.sh
|
|
|
- create mode 100755 MakeIMAGE.sh
|
|
|
- create mode 100755 MakeLegalInfo.sh
|
|
|
- create mode 100755 MakeRootfsUpdate.sh
|
|
|
- create mode 100755 MapImage.sh
|
|
|
- create mode 100644 UpdateDTS.sh.in
|
|
|
- create mode 100644 UpdateRootfs.sh.in
|
|
|
- create mode 100644 board/beaglebone/patches/linux/0002-arm-Export-cache-flush-management-symbols-when-MULTI.patch
|
|
|
- create mode 100644 configs/Display001_4.4.104_rt21_Qt5.6.2_defconfig
|
|
|
- create mode 100644 configs/Display001_4.4.104_rt21_Qt5.7_defconfig
|
|
|
- create mode 100644 configs/Display001_4.4.94_rt19_Qt5.6.2_defconfig
|
|
|
- create mode 100644 package/fontconfig/001-mtime-always-ok.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/100-uclibc-conf.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/301-missing-execinfo_h.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/302-c99-snprintf.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/810-arm-softfloat-libgcc.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/830-arm_unbreak_armv4t.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/840-microblaze-enable-dwarf-eh-support.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/841-PR60102.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/900-musl-support.patch
|
|
|
- create mode 100644 package/gcc/4.9.1/powerpc-link-with-math-lib.patch.conditional
|
|
|
- create mode 100644 package/gcc/4.9.3/100-uclibc-conf.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/1000-powerpc-link-with-math-lib.patch.conditional
|
|
|
- create mode 100644 package/gcc/4.9.3/111-pr65730.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/130-pr43538.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/301-missing-execinfo_h.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/810-arm-softfloat-libgcc.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/830-arm_unbreak_armv4t.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/840-microblaze-enable-dwarf-eh-support.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/850-libstdcxx-uclibc-c99.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/860-cilk-wchar.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/870-xtensa-add-mauto-litpools-option.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/871-xtensa-reimplement-register-spilling.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/873-xtensa-fix-_Unwind_GetCFA.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/874-xtensa-add-uclinux-support.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/880-nios2_legitimize_address.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/890-fix-m68k-compile.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/900-musl-support.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/920-libgcc-remove-unistd-header.patch
|
|
|
- create mode 100644 package/gcc/4.9.3/930-libgcc-disable-split-stack-nothreads.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.18-svnr23787/0002-accept-make4.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.18-svnr23787/0003-CVE-2014-6040.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.18-svnr23787/0004-CVE-2014-9402.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.19-svnr25243/0002-CVE-2014-6040.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.19-svnr25243/0003-CVE-2014-9402.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.22/0001-fix-CVE-2015-7547.patch
|
|
|
- create mode 100644 package/glibc/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch
|
|
|
- create mode 100644 package/glibc/glibc/Config.in
|
|
|
- create mode 100644 package/glibc/glibc/glibc.hash
|
|
|
- create mode 100644 package/glibc/glibc/glibc.mk
|
|
|
- create mode 100644 package/glibc/glibc/nsswitch.conf
|
|
|
- create mode 100644 package/libmodbus/001-GfA-echo-rtu.patch
|
|
|
- create mode 100644 package/linux-headers/linux-017-omap_serial_for_rs485.patch
|
|
|
- create mode 100644 package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch
|
|
|
- create mode 100644 package/qt5/qt5charts/Config.in
|
|
|
- create mode 100644 package/qt5/qt5charts/qt5charts.mk
|
|
|
- create mode 100644 package/qt5/qt5datavis3d/Config.in
|
|
|
- create mode 100644 package/qt5/qt5datavis3d/qt5datavis3d.mk
|
|
|
- create mode 100644 package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch
|
|
|
- delete mode 100644 package/qt5/qt5tools/qt5tools.hash
|
|
|
- create mode 100644 package/qt5/qt5tools/qt5tools.hash__
|
|
|
- create mode 100644 package/qt5/qt5virtualkeyboard/Config.in
|
|
|
- create mode 100644 package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
|
|
|
- create mode 100644 package/qt5/qt5wayland/Config.in
|
|
|
- create mode 100644 package/qt5/qt5wayland/qt5wayland.mk
|
|
|
- create mode 100644 package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/001-delegate_frame_node_fence_sync.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/Config.in
|
|
|
- create mode 100644 package/qt5/qt5webengine/patches_save/001-allow-arm-compiler.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/patches_save/002-buildroot-python-bz2.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/patches_save/002-move_icu_to_56_1.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/patches_save/003-egl_khr_reusable_sync.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/patches_save/004-allow-egl-surface.patch
|
|
|
- create mode 100644 package/qt5/qt5webengine/qt5webengine.__hash
|
|
|
- create mode 100644 package/qt5/qt5webengine/qt5webengine.mk
|
|
|
- create mode 100644 package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch
|
|
|
-
|
|
|
-diff --git a/CrossCompile.sh b/CrossCompile.sh
|
|
|
-new file mode 100755
|
|
|
-index 0000000..a2feabc
|
|
|
---- /dev/null
|
|
|
-+++ b/CrossCompile.sh
|
|
|
-@@ -0,0 +1,41 @@
|
|
|
-+#! /bin/bash
|
|
|
-+#
|
|
|
-+#
|
|
|
-+
|
|
|
-+WRKDIR=`pwd`
|
|
|
-+CMDDIR=`dirname $0`
|
|
|
-+cd $CMDDIR
|
|
|
-+
|
|
|
-+TOOLCHAIN=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`
|
|
|
-+echo $TOOLCHAIN
|
|
|
-+
|
|
|
-+if [[ $TOOLCHAIN = *\$\(BASE_DIR\)* ]]; then
|
|
|
-+ export SYSROOT=`readlink -f $CMDDIR`/output/host/usr/bin/
|
|
|
-+else
|
|
|
-+ export SYSROOT=$TOOLCHAIN/usr/bin
|
|
|
-+fi
|
|
|
-+
|
|
|
-+export PATH=$PATH:$SYSROOT
|
|
|
-+
|
|
|
-+export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
|
|
|
-+export ARCH=arm
|
|
|
-+export KERNELDIR=`pwd`/output/build/linux-7f280334068b7c875ade51f8f3921ab311f0c824
|
|
|
-+export BB_KERNEL_SOURCES=$KERNELDIR
|
|
|
-+export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/arm-buildroot-linux-gnueabihf/sysroot
|
|
|
-+export CC_FULLPATH="${SYSROOT}${CROSS_COMPILE}"
|
|
|
-+#--- gnupru
|
|
|
-+export PASM=pasm
|
|
|
-+##export PSYSROOT=/home/ru/pru/pru-gcc/bin
|
|
|
-+export PSYSROOT=/opt/GfA/PRU-ICSS/bin/pru-gcc/bin
|
|
|
-+export PATH=$PSYSROOT:$PATH
|
|
|
-+
|
|
|
-+export PCROSS_COMPILE=pru-
|
|
|
-+export PARCH=pru
|
|
|
-+
|
|
|
-+cd $WRKDIR
|
|
|
-+if [ $# -eq "0" ]
|
|
|
-+then
|
|
|
-+PROMPT_COMMAND='PS1="\[\033[0;31m\]CROSS CC:\[\033[0;32m\]$PS1";unset PROMPT_COMMAND' bash ; reset
|
|
|
-+else
|
|
|
-+$1
|
|
|
-+fi
|
|
|
-diff --git a/MakeDTSUpdate.sh b/MakeDTSUpdate.sh
|
|
|
-new file mode 100755
|
|
|
-index 0000000..f25b04b
|
|
|
---- /dev/null
|
|
|
-+++ b/MakeDTSUpdate.sh
|
|
|
-@@ -0,0 +1,58 @@
|
|
|
-+#!/bin/bash
|
|
|
-+WRKDIR=/tmp/XXXUpdateDTS
|
|
|
-+BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
|
|
|
-+UPDATE_BINARY=$WRKDIR/dest/UpdateDTS.tar.Z
|
|
|
-+UPDATE_FILENAME="../UpdateDTS_$BUILD.sh"
|
|
|
-+UPDATE_IN_SCRIPT="UpdateDTS.sh.in"
|
|
|
-+
|
|
|
-+rm -rf $WRKDIR
|
|
|
-+mkdir -p $WRKDIR/dest
|
|
|
-+
|
|
|
-+cp ./output/images/*.dtb $WRKDIR
|
|
|
-+
|
|
|
-+tar -C $WRKDIR --exclude=./dest -czvf $UPDATE_BINARY ./
|
|
|
-+
|
|
|
-+# Check for payload format option (default is binary).
|
|
|
-+binary=1
|
|
|
-+uuencode=0
|
|
|
-+
|
|
|
-+if [[ "$1" == '--binary' ]]; then
|
|
|
-+ binary=1
|
|
|
-+ uuencode=0
|
|
|
-+ shift
|
|
|
-+fi
|
|
|
-+if [[ "$1" == '--uuencode' ]]; then
|
|
|
-+ binary=0
|
|
|
-+ uuencode=1
|
|
|
-+ shift
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [[ ! -f $UPDATE_BINARY ]]; then
|
|
|
-+ echo " UPDATE_BINARY $UPDATE_BINARY doesn't exist!"
|
|
|
-+ echo "Usage: $0 [--binary | --uuencode]"
|
|
|
-+ exit 1
|
|
|
-+fi
|
|
|
-+
|
|
|
-+
|
|
|
-+if [[ $binary -ne 0 ]]; then
|
|
|
-+ # Append binary data.
|
|
|
-+ sed \
|
|
|
-+ -e 's/uuencode=./uuencode=0/' \
|
|
|
-+ -e 's/binary=./binary=1/' \
|
|
|
-+ $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
|
|
|
-+ echo "PAYLOAD:" >> $UPDATE_FILENAME
|
|
|
-+
|
|
|
-+ cat $UPDATE_BINARY >> $UPDATE_FILENAME
|
|
|
-+fi
|
|
|
-+if [[ $uuencode -ne 0 ]]; then
|
|
|
-+ # Append uuencoded data.
|
|
|
-+ sed \
|
|
|
-+ -e 's/uuencode=./uuencode=1/' \
|
|
|
-+ -e 's/binary=./binary=0/' \
|
|
|
-+ $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
|
|
|
-+ echo "PAYLOAD:" >> $UPDATE_FILENAME
|
|
|
-+
|
|
|
-+ cat $UPDATE_BINARY | uuencode - >> $UPDATE_FILENAME
|
|
|
-+fi
|
|
|
-+
|
|
|
-+chmod a+x $UPDATE_FILENAME
|
|
|
-diff --git a/MakeIMAGE.sh b/MakeIMAGE.sh
|
|
|
-new file mode 100755
|
|
|
-index 0000000..4935386
|
|
|
---- /dev/null
|
|
|
-+++ b/MakeIMAGE.sh
|
|
|
-@@ -0,0 +1,106 @@
|
|
|
-+#!/bin/sh
|
|
|
-+
|
|
|
-+SAVE_LC=$LC_ALL
|
|
|
-+export LC_ALL=C
|
|
|
-+
|
|
|
-+BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
|
|
|
-+IMAGEFILE=../Display001_Build_$BUILD-img
|
|
|
-+
|
|
|
-+ROOTFSMNT=/tmp/XXXRootFs
|
|
|
-+
|
|
|
-+echo "Image: $IMAGEFILE"
|
|
|
-+#-- build imagefile
|
|
|
-+dd if=/dev/zero ibs=1M count=1 > $IMAGEFILE
|
|
|
-+dd if=/dev/zero ibs=1M count=2048 | tr "\000" "\377" >> $IMAGEFILE
|
|
|
-+#-------------------------------------------------------
|
|
|
-+#-- create partitions BOOT rootfs !!! don't change !!!!
|
|
|
-+fdisk $IMAGEFILE << EOF
|
|
|
-+o
|
|
|
-+n
|
|
|
-+p
|
|
|
-+
|
|
|
-+
|
|
|
-++300M
|
|
|
-+n
|
|
|
-+p
|
|
|
-+
|
|
|
-+
|
|
|
-+
|
|
|
-+t
|
|
|
-+1
|
|
|
-+c
|
|
|
-+a
|
|
|
-+1
|
|
|
-+p
|
|
|
-+w
|
|
|
-+EOF
|
|
|
-+echo "============="
|
|
|
-+#-- map partitions
|
|
|
-+DRIVE1=/dev/mapper/`kpartx -s -l $IMAGEFILE | head -n +1| awk '{print $1}'`
|
|
|
-+DRIVE2=/dev/mapper/`kpartx -s -l $IMAGEFILE | tail -n +2 | head -n +1| awk '{print $1}'`
|
|
|
-+
|
|
|
-+echo ">>>>>>>>>>>>>>>>>>"
|
|
|
-+echo $DRIVE1
|
|
|
-+echo $DRIVE2
|
|
|
-+echo ">>>>>>>>>>>>>>>>>>"
|
|
|
-+
|
|
|
-+kpartx -asv $IMAGEFILE
|
|
|
-+#-- mount partitions
|
|
|
-+umount /tmp/boot
|
|
|
-+umount /tmp/rootfs
|
|
|
-+
|
|
|
-+rm -rf /tmp/boot
|
|
|
-+rm -rf /tmp/rootfs
|
|
|
-+
|
|
|
-+mkdir /tmp/boot
|
|
|
-+mkdir /tmp/rootfs
|
|
|
-+
|
|
|
-+dd if=/dev/zero of=${DRIVE1} bs=1M count=1
|
|
|
-+mkfs.vfat -F 32 -n "boot" ${DRIVE1}
|
|
|
-+mount ${DRIVE1} /tmp/boot
|
|
|
-+
|
|
|
-+du -h ${DRIVE1}
|
|
|
-+
|
|
|
-+cp ./output/images/*.dtb /tmp/boot
|
|
|
-+cp ./output/images/uImage /tmp/boot
|
|
|
-+cp ./output/images/MLO /tmp/boot
|
|
|
-+cp ./output/images/u-boot.img /tmp/boot
|
|
|
-+
|
|
|
-+ls -alh /tmp/boot
|
|
|
-+
|
|
|
-+dd if=/dev/zero of=${DRIVE2} bs=1M count=1
|
|
|
-+mkfs.ext3 -L "rootfs" ${DRIVE2}
|
|
|
-+mount ${DRIVE2} /tmp/rootfs
|
|
|
-+
|
|
|
-+du -h ${DRIVE2}
|
|
|
-+sleep 5
|
|
|
-+
|
|
|
-+umount ${ROOTFSMNT}
|
|
|
-+rm -rf ${ROOTFSMNT}
|
|
|
-+mkdir -p ${ROOTFSMNT}
|
|
|
-+echo "Mount ====>> " ${ROOTFSMNT}
|
|
|
-+mount -o loop ./output/images/rootfs.ext2 ${ROOTFSMNT}
|
|
|
-+
|
|
|
-+WRKDIR=`pwd`
|
|
|
-+cd ${ROOTFSMNT}
|
|
|
-+tar cf - . | (cd /tmp/rootfs && tar xBf -)
|
|
|
-+
|
|
|
-+cd ${WRKDIR}
|
|
|
-+umount ${ROOTFSMNT}
|
|
|
-+#tar -C /tmp/rootfs --checkpoint --checkpoint-action=dot -xzf ./output/images/rootfs.tar.gz
|
|
|
-+
|
|
|
-+echo ""
|
|
|
-+
|
|
|
-+sync
|
|
|
-+sync
|
|
|
-+umount ${DRIVE1}
|
|
|
-+umount ${DRIVE2}
|
|
|
-+
|
|
|
-+#-- unmap partitions
|
|
|
-+kpartx -dsv $IMAGEFILE
|
|
|
-+#-- packen des Imagefiles
|
|
|
-+rm $IMAGEFILE.zip
|
|
|
-+zip -j $IMAGEFILE.zip $IMAGEFILE
|
|
|
-+
|
|
|
-+export LC_ALL=$SAVE_LC
|
|
|
-+
|
|
|
-diff --git a/MakeLegalInfo.sh b/MakeLegalInfo.sh
|
|
|
-new file mode 100755
|
|
|
-index 0000000..429486f
|
|
|
---- /dev/null
|
|
|
-+++ b/MakeLegalInfo.sh
|
|
|
-@@ -0,0 +1,17 @@
|
|
|
-+#!/bin/sh
|
|
|
-+
|
|
|
-+SAVE_LC=$LC_ALL
|
|
|
-+export LC_ALL=C
|
|
|
-+
|
|
|
-+BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
|
|
|
-+IMAGEFILE=../Display001_Build_$BUILD-img
|
|
|
-+
|
|
|
-+#-- legalinfo erstellen
|
|
|
-+TMPWRKDIR=`pwd`
|
|
|
-+cd output
|
|
|
-+rm ../../Display001-$BUILD-legal-info.zip
|
|
|
-+zip -r ../../Display001-$BUILD-legal-info.zip ./legal-info/*
|
|
|
-+cd $TMPWRKDIR
|
|
|
-+
|
|
|
-+export LC_ALL=$SAVE_LC
|
|
|
-+
|
|
|
-\ No newline at end of file
|
|
|
-diff --git a/MakeRootfsUpdate.sh b/MakeRootfsUpdate.sh
|
|
|
-new file mode 100755
|
|
|
-index 0000000..99b77c9
|
|
|
---- /dev/null
|
|
|
-+++ b/MakeRootfsUpdate.sh
|
|
|
-@@ -0,0 +1,73 @@
|
|
|
-+#!/bin/bash
|
|
|
-+WRKDIR=/tmp/XXXUpdateRootfs
|
|
|
-+BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
|
|
|
-+UPDATE_BINARY=$WRKDIR/dest/UpdateRootfs.tar.Z
|
|
|
-+UPDATE_FILENAME="../UpdateDisplay001_$BUILD.sh"
|
|
|
-+UPDATE_IN_SCRIPT="UpdateRootfs.sh.in"
|
|
|
-+
|
|
|
-+ROOTFSMNT=/tmp/XXXRootFs
|
|
|
-+
|
|
|
-+sudo umount $ROOTFSMNT
|
|
|
-+sudo rm -rf $ROOTFSMNT
|
|
|
-+sudo mkdir -p $ROOTFSMNT
|
|
|
-+
|
|
|
-+sudo mount -o loop ./output/images/rootfs.ext2 $ROOTFSMNT
|
|
|
-+
|
|
|
-+rm -rf $WRKDIR
|
|
|
-+mkdir -p $WRKDIR/dest
|
|
|
-+
|
|
|
-+cp ./output/images/*.dtb $WRKDIR
|
|
|
-+cp ./output/images/uImage $WRKDIR
|
|
|
-+cp ./output/images/MLO $WRKDIR
|
|
|
-+cp ./output/images/u-boot.img $WRKDIR
|
|
|
-+
|
|
|
-+sudo tar -C $ROOTFSMNT -czvf $WRKDIR/rootfs.tar.gz ./
|
|
|
-+sudo umount $ROOTFSMNT
|
|
|
-+#cp ./output/images/rootfs.tar.gz $WRKDIR
|
|
|
-+
|
|
|
-+tar -C $WRKDIR --exclude=./dest -czvf $WRKDIR/dest/UpdateRootfs.tar.Z ./
|
|
|
-+
|
|
|
-+# Check for payload format option (default is binary).
|
|
|
-+binary=1
|
|
|
-+uuencode=0
|
|
|
-+
|
|
|
-+if [[ "$1" == '--binary' ]]; then
|
|
|
-+ binary=1
|
|
|
-+ uuencode=0
|
|
|
-+ shift
|
|
|
-+fi
|
|
|
-+if [[ "$1" == '--uuencode' ]]; then
|
|
|
-+ binary=0
|
|
|
-+ uuencode=1
|
|
|
-+ shift
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [[ ! -f $UPDATE_BINARY ]]; then
|
|
|
-+ echo " UPDATE_BINARY $UPDATE_BINARY doesn't exist!"
|
|
|
-+ echo "Usage: $0 [--binary | --uuencode]"
|
|
|
-+ exit 1
|
|
|
-+fi
|
|
|
-+
|
|
|
-+
|
|
|
-+if [[ $binary -ne 0 ]]; then
|
|
|
-+ # Append binary data.
|
|
|
-+ sed \
|
|
|
-+ -e 's/uuencode=./uuencode=0/' \
|
|
|
-+ -e 's/binary=./binary=1/' \
|
|
|
-+ $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
|
|
|
-+ echo "PAYLOAD:" >> $UPDATE_FILENAME
|
|
|
-+
|
|
|
-+ cat $UPDATE_BINARY >> $UPDATE_FILENAME
|
|
|
-+fi
|
|
|
-+if [[ $uuencode -ne 0 ]]; then
|
|
|
-+ # Append uuencoded data.
|
|
|
-+ sed \
|
|
|
-+ -e 's/uuencode=./uuencode=1/' \
|
|
|
-+ -e 's/binary=./binary=0/' \
|
|
|
-+ $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
|
|
|
-+ echo "PAYLOAD:" >> $UPDATE_FILENAME
|
|
|
-+
|
|
|
-+ cat $UPDATE_BINARY | uuencode - >> $UPDATE_FILENAME
|
|
|
-+fi
|
|
|
-+
|
|
|
-+chmod a+x $UPDATE_FILENAME
|
|
|
-diff --git a/MapImage.sh b/MapImage.sh
|
|
|
-new file mode 100755
|
|
|
-index 0000000..8e87247
|
|
|
---- /dev/null
|
|
|
-+++ b/MapImage.sh
|
|
|
-@@ -0,0 +1,41 @@
|
|
|
-+#!/bin/sh
|
|
|
-+
|
|
|
-+SAVE_LC=$LC_ALL
|
|
|
-+export LC_ALL=C
|
|
|
-+
|
|
|
-+BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
|
|
|
-+IMAGEFILE=../Display001_Build_$BUILD-img
|
|
|
-+echo ">>> $IMAGEFILE <<<"
|
|
|
-+#-- map partitions
|
|
|
-+DRIVE1=/dev/mapper/`kpartx -s -l $IMAGEFILE | head -n +1| awk '{print $1}'`
|
|
|
-+DRIVE2=/dev/mapper/`kpartx -s -l $IMAGEFILE | tail -n +2 | head -n +1| awk '{print $1}'`
|
|
|
-+
|
|
|
-+echo ">>>>>>>>>>>>>>>>>>"
|
|
|
-+echo $DRIVE1
|
|
|
-+echo $DRIVE2
|
|
|
-+echo ">>>>>>>>>>>>>>>>>>"
|
|
|
-+
|
|
|
-+kpartx -asv $IMAGEFILE
|
|
|
-+#-- mount partitions
|
|
|
-+umount /tmp/boot
|
|
|
-+umount /tmp/rootfs
|
|
|
-+
|
|
|
-+rm -rf /tmp/boot
|
|
|
-+rm -rf /tmp/rootfs
|
|
|
-+
|
|
|
-+mkdir /tmp/boot
|
|
|
-+mkdir /tmp/rootfs
|
|
|
-+
|
|
|
-+mount ${DRIVE1} /tmp/boot
|
|
|
-+mount ${DRIVE2} /tmp/rootfs
|
|
|
-+
|
|
|
-+bash
|
|
|
-+
|
|
|
-+umount ${DRIVE1}
|
|
|
-+umount ${DRIVE2}
|
|
|
-+
|
|
|
-+#-- unmap partitions
|
|
|
-+kpartx -dsv $IMAGEFILE
|
|
|
-+
|
|
|
-+export LC_ALL=$SAVE_LC
|
|
|
-+
|
|
|
-\ No newline at end of file
|
|
|
-diff --git a/UpdateDTS.sh.in b/UpdateDTS.sh.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..3a5cb18
|
|
|
---- /dev/null
|
|
|
-+++ b/UpdateDTS.sh.in
|
|
|
-@@ -0,0 +1,126 @@
|
|
|
-+#!/bin/sh
|
|
|
-+
|
|
|
-+uuencode=0
|
|
|
-+binary=1
|
|
|
-+
|
|
|
-+##TAR_PARAMETERS="-C / --exclude=./opt --exclude=./etc/inittab -xzvf -"
|
|
|
-+TMP_PATH="/__GfA_UpdateDTS"
|
|
|
-+TAR_PARAMETERS="-C $TMP_PATH -xzvf -"
|
|
|
-+
|
|
|
-+untar_payload ()
|
|
|
-+{
|
|
|
-+
|
|
|
-+ echo "remove $TMP_PATH : "
|
|
|
-+ rm -rf $TMP_PATH
|
|
|
-+ echo ">> $? "
|
|
|
-+ mkdir -p $TMP_PATH
|
|
|
-+
|
|
|
-+ match=$(grep -n -m 1 '^PAYLOAD:$' $0 | cut -d ':' -f 1)
|
|
|
-+ payload_start=$((match + 1))
|
|
|
-+ if [[ $binary -ne 0 ]]; then
|
|
|
-+ tail -n +$payload_start $0 | tar $TAR_PARAMETERS
|
|
|
-+ fi
|
|
|
-+ if [[ $uuencode -ne 0 ]]; then
|
|
|
-+ tail -n +$payload_start $0 | uudecode | tar $TAR_PARAMETERS
|
|
|
-+ fi
|
|
|
-+}
|
|
|
-+
|
|
|
-+## --- Kommandos zum Installieren
|
|
|
-+## -- get bootpartition
|
|
|
-+such="root=/dev/mmcblk1"
|
|
|
-+grep -q $such /proc/cmdline
|
|
|
-+if [ $? == 0 ]
|
|
|
-+then
|
|
|
-+ bootpart="/dev/mmcblk1p1"
|
|
|
-+else
|
|
|
-+ bootpart="/dev/mmcblk0p1"
|
|
|
-+fi
|
|
|
-+
|
|
|
-+umount /mnt
|
|
|
-+mount $bootpart /mnt
|
|
|
-+
|
|
|
-+#--- Kernel MLO und Rootfs-Tarball entpacken
|
|
|
-+untar_payload
|
|
|
-+# ---
|
|
|
-+
|
|
|
-+cp $TMP_PATH/*.dtb /mnt
|
|
|
-+
|
|
|
-+echo "sync mmc be patient ...."
|
|
|
-+sync
|
|
|
-+sync
|
|
|
-+
|
|
|
-+# Get Graphics resolution and set dtb to the right resolution
|
|
|
-+BASEBOARD=`cat /tmp/BASEBOARD`
|
|
|
-+
|
|
|
-+DONE=0
|
|
|
-+YRES="$(fbset | awk '/geom/ {print $3}')"
|
|
|
-+XRES="$(fbset | awk '/geom/ {print $2}')"
|
|
|
-+
|
|
|
-+echo "XRES $XRES, YRES $YRES"
|
|
|
-+
|
|
|
-+if [ "$XRES" == "480" -a "$YRES" == "272" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "4.3 Inch Display 2"
|
|
|
-+ sh /root/Display2To_4_3inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "4.3 Inch"
|
|
|
-+ sh /root/DisplayTo_4_3inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "800" -a "$YRES" == "480" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "7 Inch Display 2"
|
|
|
-+ sh /root/Display2To_7inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_RS485" ]; then
|
|
|
-+ echo "7 Inch Display 2 rs485"
|
|
|
-+ sh /root/Display2To_7inch_rs485.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "7 Inch"
|
|
|
-+ sh /root/DisplayTo_7inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "1280" -a "$YRES" == "800" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "10 Inch Display 2"
|
|
|
-+ sh /root/Display2To_10inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "10 Inch"
|
|
|
-+ sh /root/DisplayTo_10inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "1920" -a "$YRES" == "1080" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "10 Inch Display 2"
|
|
|
-+ sh /root/Display2To_15inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "10 Inch"
|
|
|
-+ sh /root/DisplayTo_15inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$DONE" == "0" ]; then
|
|
|
-+ echo "Unknown Display Resolution"
|
|
|
-+fi
|
|
|
-+
|
|
|
-+
|
|
|
-+
|
|
|
-+
|
|
|
-+#=================
|
|
|
-+echo "Update Done, pls. reboot System"
|
|
|
-+umount /mnt
|
|
|
-+echo "."
|
|
|
-+exit 0
|
|
|
-diff --git a/UpdateRootfs.sh.in b/UpdateRootfs.sh.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..2ee5587
|
|
|
---- /dev/null
|
|
|
-+++ b/UpdateRootfs.sh.in
|
|
|
-@@ -0,0 +1,209 @@
|
|
|
-+#!/bin/sh
|
|
|
-+
|
|
|
-+uuencode=0
|
|
|
-+binary=1
|
|
|
-+
|
|
|
-+##TAR_PARAMETERS="-C / --exclude=./opt --exclude=./etc/inittab -xzvf -"
|
|
|
-+TMP_PATH="/__GfA_Update"
|
|
|
-+TAR_PARAMETERS="-C $TMP_PATH -xzvf -"
|
|
|
-+
|
|
|
-+untar_payload ()
|
|
|
-+{
|
|
|
-+
|
|
|
-+ echo "remove $TMP_PATH : "
|
|
|
-+ rm -rf $TMP_PATH
|
|
|
-+ echo ">> $? "
|
|
|
-+ mkdir -p $TMP_PATH
|
|
|
-+
|
|
|
-+ match=$(grep -n -m 1 '^PAYLOAD:$' $0 | cut -d ':' -f 1)
|
|
|
-+ payload_start=$((match + 1))
|
|
|
-+ if [[ $binary -ne 0 ]]; then
|
|
|
-+ tail -n +$payload_start $0 | tar $TAR_PARAMETERS
|
|
|
-+ fi
|
|
|
-+ if [[ $uuencode -ne 0 ]]; then
|
|
|
-+ tail -n +$payload_start $0 | uudecode | tar $TAR_PARAMETERS
|
|
|
-+ fi
|
|
|
-+}
|
|
|
-+
|
|
|
-+## --- Kommandos zum Installieren
|
|
|
-+## -- get bootpartition
|
|
|
-+such="root=/dev/mmcblk1"
|
|
|
-+grep -q $such /proc/cmdline
|
|
|
-+if [ $? == 0 ]
|
|
|
-+then
|
|
|
-+ bootpart="/dev/mmcblk1p1"
|
|
|
-+else
|
|
|
-+ bootpart="/dev/mmcblk0p1"
|
|
|
-+fi
|
|
|
-+
|
|
|
-+umount /mnt
|
|
|
-+mount $bootpart /mnt
|
|
|
-+
|
|
|
-+## -- alte Firmwarebinaries löschen
|
|
|
-+#rm /root/btm*.bin
|
|
|
-+
|
|
|
-+#--- Kernel MLO und Rootfs-Tarball entpacken
|
|
|
-+untar_payload
|
|
|
-+# ---
|
|
|
-+
|
|
|
-+rm /mnt/rootfs.tar.gz
|
|
|
-+cp $TMP_PATH/MLO /mnt
|
|
|
-+cp $TMP_PATH/u-boot.img /mnt
|
|
|
-+cp $TMP_PATH/uImage /mnt
|
|
|
-+cp $TMP_PATH/*.dtb /mnt
|
|
|
-+
|
|
|
-+#rootfs auspacken
|
|
|
-+tar -C / --exclude=./tmp --exclude=./etc/inittab \
|
|
|
-+ --exclude=./etc/network/interfaces \
|
|
|
-+ --exclude=./etc/hosts --exclude=./etc/hostname \
|
|
|
-+ --exclude=./etc/passwd --exclude=./etc/shadow \
|
|
|
-+ --exclude=./etc/vncpwd --exclude=./etc/init.d/S99tincd \
|
|
|
-+ --exclude=./etc/hostapd.conf --exclude=./etc/wpa_supplicant.conf \
|
|
|
-+ --exclude=./etc/init.d/M99tincd \
|
|
|
-+ --exclude=./var/GfA/Display_GSM.ini \
|
|
|
-+ --exclude=./var/cron/crontabs/root \
|
|
|
-+ -xzvf $TMP_PATH/rootfs.tar.gz
|
|
|
-+
|
|
|
-+echo "sync mmc be patient ...."
|
|
|
-+sync
|
|
|
-+sync
|
|
|
-+
|
|
|
-+if [ -e /etc/init.d/S98usb_g_ether ]
|
|
|
-+then
|
|
|
-+ cp /etc/init.d/S98usb_g_ether /etc/init.d/M98usb_g_ether
|
|
|
-+ rm /etc/init.d/S98usb_g_ether
|
|
|
-+fi
|
|
|
-+
|
|
|
-+
|
|
|
-+if [ -e /etc/init.d/S80ti-sgx ]
|
|
|
-+then
|
|
|
-+ rm /etc/init.d/S80ti-sgx
|
|
|
-+fi
|
|
|
-+
|
|
|
-+#echo "Update Firmware"
|
|
|
-+#echo "."
|
|
|
-+#/root/spi_tivia /root/btm43_0107.bin >/dev/null
|
|
|
-+#echo ".."
|
|
|
-+#echo "Update Firmware Done"
|
|
|
-+#/root/gfa_spi -v
|
|
|
-+#================================
|
|
|
-+#--create mountable run folder insted of link
|
|
|
-+RUNDIR=/run
|
|
|
-+if [ -L $RUNDIR ]; then
|
|
|
-+ mv $RUNDIR $RUNDIR'_WRK'
|
|
|
-+ mkdir $RUNDIR
|
|
|
-+ mount -t tmpfs tmpfs $RUNDIR
|
|
|
-+ WRKDIR=`pwd`
|
|
|
-+ cd $RUNDIR'_WRK'
|
|
|
-+ cp -a ./* $RUNDIR
|
|
|
-+ cd $WRKDIR
|
|
|
-+ rm $RUNDIR'_WRK'
|
|
|
-+fi
|
|
|
-+#--- craete missing nogroup group
|
|
|
-+GID_NOGROUP=`awk -F\: '/nogroup/ {print $3}' /etc/group`
|
|
|
-+if [ -z "$GID_NOGROUP" ]; then
|
|
|
-+ addgroup -S -g 65534 nogroup
|
|
|
-+fi
|
|
|
-+#--create missing users for mysql,
|
|
|
-+if [ -z `awk -F\: '/mysql/ {print $3}' /etc/passwd` ]; then
|
|
|
-+ UID_MY=`awk -F: '{uid[$3]=1}END{for(x=1000; x<=1500; x++) {if(uid[x] != ""){}else{print x; exit;}}}' /etc/passwd`
|
|
|
-+ echo "mysql:x:$UID_MY:65534:MySQL daemon:/var/mysql:/bin/false" >> /etc/passwd
|
|
|
-+fi
|
|
|
-+#--create missing users for postgresql,
|
|
|
-+if [ -z `awk -F\: '/postgres/ {print $3}' /etc/passwd` ]; then
|
|
|
-+ UID_PG=`awk -F: '{uid[$3]=1}END{for(x=1000; x<=1500; x++) {if(uid[x] != ""){}else{print x; exit;}}}' /etc/passwd`
|
|
|
-+ GID_PG=`awk -F\: '/postgres/ {print $3}' /etc/group`
|
|
|
-+ if [ -z "$GID_PG" ]; then
|
|
|
-+ GID_PG=`awk -F: '{uid[$3]=1}END{for(x=1000; x<=1500; x++) {if(uid[x] != ""){}else{print x; exit;}}}' /etc/group`
|
|
|
-+ echo "postgres:x:$GID_PG:" >> /etc/group
|
|
|
-+ fi
|
|
|
-+ echo "postgres:x:$UID_PG:$GID_PG:PostgreSQL Server:/var/lib/pgsql:/bin/sh" >> /etc/passwd
|
|
|
-+fi
|
|
|
-+#------------------
|
|
|
-+chown -Rv mysql:nogroup /var/mysql
|
|
|
-+chown -Rv postgres:postgres /var/lib/pgsql
|
|
|
-+#==============================================================================
|
|
|
-+# Get Graphics resolution and set dtb to the right resolution
|
|
|
-+BASEBOARD=`cat /tmp/BASEBOARD`
|
|
|
-+
|
|
|
-+DONE=0
|
|
|
-+YRES="$(fbset | awk '/geom/ {print $3}')"
|
|
|
-+XRES="$(fbset | awk '/geom/ {print $2}')"
|
|
|
-+
|
|
|
-+echo "XRES $XRES, YRES $YRES"
|
|
|
-+
|
|
|
-+if [ "$XRES" == "480" -a "$YRES" == "272" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "4.3 Inch Display 2"
|
|
|
-+ sh /root/Display2To_4_3inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "4.3 Inch"
|
|
|
-+ sh /root/DisplayTo_4_3inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "800" -a "$YRES" == "480" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "7 Inch Display 2"
|
|
|
-+ sh /root/Display2To_7inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_RS485" ]; then
|
|
|
-+ echo "7 Inch Display 2 rs485"
|
|
|
-+ sh /root/Display2To_7inch_rs485.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "7 Inch"
|
|
|
-+ sh /root/DisplayTo_7inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "640" -a "$YRES" == "480" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "5.7 Inch Display 2"
|
|
|
-+ sh /root/Display2To_5_7inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "5.7 Inch"
|
|
|
-+ sh /root/DisplayTo_5_7inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "1280" -a "$YRES" == "800" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "10 Inch Display 2"
|
|
|
-+ sh /root/Display2To_10inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "10 Inch"
|
|
|
-+ sh /root/DisplayTo_10inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$XRES" == "1920" -a "$YRES" == "1080" ]; then
|
|
|
-+if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
|
|
|
-+ echo "15 Inch Display 2"
|
|
|
-+ sh /root/Display2To_15inch.sh
|
|
|
-+ DONE=1
|
|
|
-+else
|
|
|
-+ echo "15 Inch"
|
|
|
-+ sh /root/DisplayTo_15inch.sh
|
|
|
-+ DONE=1
|
|
|
-+fi
|
|
|
-+fi
|
|
|
-+
|
|
|
-+if [ "$DONE" == "0" ]; then
|
|
|
-+ echo "Unknown Display Resolution"
|
|
|
-+fi
|
|
|
-+
|
|
|
-+#=================
|
|
|
-+echo "Update Done, pls. reboot System"
|
|
|
-+umount /mnt
|
|
|
-+echo "."
|
|
|
-+exit 0
|
|
|
-diff --git a/board/beaglebone/patches/linux/0002-arm-Export-cache-flush-management-symbols-when-MULTI.patch b/board/beaglebone/patches/linux/0002-arm-Export-cache-flush-management-symbols-when-MULTI.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..1ca1e70
|
|
|
---- /dev/null
|
|
|
-+++ b/board/beaglebone/patches/linux/0002-arm-Export-cache-flush-management-symbols-when-MULTI.patch
|
|
|
-@@ -0,0 +1,34 @@
|
|
|
-+From 29885f2f3d700341d322274db6ad085e601c0994 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Pantelis Antoniou <panto@antoniou-consulting.com>
|
|
|
-+Date: Fri, 4 Jan 2013 00:32:33 +0200
|
|
|
-+Subject: [PATCH 3/3] arm: Export cache flush management symbols when
|
|
|
-+ !MULTI_CACHE
|
|
|
-+
|
|
|
-+When compiling a kernel without CONFIG_MULTI_CACHE enabled the
|
|
|
-+dma access functions end up not being exported. Fix it.
|
|
|
-+
|
|
|
-+Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
|
|
|
-+---
|
|
|
-+ arch/arm/kernel/setup.c | 9 +++++++++
|
|
|
-+ 1 file changed, 9 insertions(+)
|
|
|
-+
|
|
|
-+diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
|
|
|
-+index da1d1aa..dcb678c 100644
|
|
|
-+--- a/arch/arm/kernel/setup.c
|
|
|
-++++ b/arch/arm/kernel/setup.c
|
|
|
-+@@ -923,3 +923,12 @@ const struct seq_operations cpuinfo_op = {
|
|
|
-+ .stop = c_stop,
|
|
|
-+ .show = c_show
|
|
|
-+ };
|
|
|
-++
|
|
|
-++/* export the cache management functions */
|
|
|
-++#ifndef MULTI_CACHE
|
|
|
-++
|
|
|
-++EXPORT_SYMBOL(__glue(_CACHE,_dma_map_area));
|
|
|
-++EXPORT_SYMBOL(__glue(_CACHE,_dma_unmap_area));
|
|
|
-++EXPORT_SYMBOL(__glue(_CACHE,_dma_flush_range));
|
|
|
-++
|
|
|
-++#endif
|
|
|
-+--
|
|
|
-+1.7.10.4
|
|
|
-+
|
|
|
-diff --git a/configs/Display001_4.4.104_rt21_Qt5.6.2_defconfig b/configs/Display001_4.4.104_rt21_Qt5.6.2_defconfig
|
|
|
-new file mode 100644
|
|
|
-index 0000000..3bd295f
|
|
|
---- /dev/null
|
|
|
-+++ b/configs/Display001_4.4.104_rt21_Qt5.6.2_defconfig
|
|
|
-@@ -0,0 +1,447 @@
|
|
|
-+BR2_arm=y
|
|
|
-+BR2_cortex_a8=y
|
|
|
-+BR2_ARM_INSTRUCTIONS_THUMB2=y
|
|
|
-+BR2_DL_DIR="~/buildroot_dl"
|
|
|
-+BR2_HOST_DIR="/opt/GfA/TC_L44104_C493_QT562"
|
|
|
-+# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
|
|
|
-+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
|
|
-+BR2_KERNEL_HEADERS_4_4=y
|
|
|
-+BR2_GLIBC_VERSION_2_24=y
|
|
|
-+BR2_BINUTILS_VERSION_2_27_X=y
|
|
|
-+BR2_GCC_VERSION_4_9_3=y
|
|
|
-+BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
|
|
-+BR2_PACKAGE_HOST_GDB=y
|
|
|
-+BR2_PACKAGE_HOST_GDB_TUI=y
|
|
|
-+BR2_PACKAGE_HOST_GDB_PYTHON=y
|
|
|
-+BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
|
|
|
-+BR2_TARGET_OPTIMIZATION="-pipe"
|
|
|
-+BR2_TARGET_GENERIC_HOSTNAME="GfA"
|
|
|
-+BR2_TARGET_GENERIC_ISSUE="Welcome to GfA Display001"
|
|
|
-+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
|
|
|
-+BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt ../GfA/board/GfA/Display001/device_table.txt"
|
|
|
-+BR2_TARGET_GENERIC_ROOT_PASSWD="root"
|
|
|
-+BR2_TARGET_GENERIC_GETTY_PORT="ttyO0"
|
|
|
-+BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
|
|
|
-+# BR2_ENABLE_LOCALE_PURGE is not set
|
|
|
-+BR2_GENERATE_LOCALE="en_US en_GB de_DE de_AT de_CH fr_FR it_IT es_ES sv_FI sv_SE nb_NO nn_NO se_NO da_DK zh_CN"
|
|
|
-+BR2_TARGET_LOCALTIME="Europe/Vienna"
|
|
|
-+BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build_4.4.sh"
|
|
|
-+BR2_LINUX_KERNEL=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file://$(TOPDIR)/../GfA/GfAkernel.tar.gz "
|
|
|
-+BR2_LINUX_KERNEL_PATCH="../GfA/board/GfA/Display001/linux_4.4.104_rt21"
|
|
|
-+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="../GfA/board/GfA/Display001/Display001_4.4.104_rt_defconfig"
|
|
|
-+BR2_LINUX_KERNEL_UIMAGE=y
|
|
|
-+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000"
|
|
|
-+BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
|
|
-+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../GfA/board/GfA/Display001/DTS_4.4/Display001.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_15.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_rru.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_gain1.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_5.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_4.dts"
|
|
|
-+BR2_PACKAGE_BUSYBOX_CONFIG="../GfA/board/GfA/Display001/busybox.config"
|
|
|
-+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
|
|
-+BR2_PACKAGE_FFMPEG_GPL=y
|
|
|
-+BR2_PACKAGE_FFMPEG_NONFREE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFPLAY=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFSERVER=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFPROBE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_POSTPROC=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y
|
|
|
-+BR2_PACKAGE_MPD=y
|
|
|
-+BR2_PACKAGE_MPLAYER=y
|
|
|
-+BR2_PACKAGE_MPV=y
|
|
|
-+BR2_PACKAGE_VLC=y
|
|
|
-+BR2_PACKAGE_WAVPACK=y
|
|
|
-+BR2_PACKAGE_GZIP=y
|
|
|
-+BR2_PACKAGE_LZ4=y
|
|
|
-+BR2_PACKAGE_LZIP=y
|
|
|
-+BR2_PACKAGE_LZOP=y
|
|
|
-+BR2_PACKAGE_P7ZIP=y
|
|
|
-+BR2_PACKAGE_UNRAR=y
|
|
|
-+BR2_PACKAGE_UNZIP=y
|
|
|
-+BR2_PACKAGE_ZIP=y
|
|
|
-+BR2_PACKAGE_GDB=y
|
|
|
-+BR2_PACKAGE_GDB_DEBUGGER=y
|
|
|
-+BR2_PACKAGE_STRACE=y
|
|
|
-+BR2_PACKAGE_BINUTILS=y
|
|
|
-+BR2_PACKAGE_BINUTILS_TARGET=y
|
|
|
-+BR2_PACKAGE_CMAKE_CTEST=y
|
|
|
-+BR2_PACKAGE_GETTEXT=y
|
|
|
-+BR2_PACKAGE_MAKE=y
|
|
|
-+BR2_PACKAGE_SED=y
|
|
|
-+BR2_PACKAGE_CIFS_UTILS=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS_DEBUGFS=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
|
|
-+BR2_PACKAGE_F2FS_TOOLS=y
|
|
|
-+BR2_PACKAGE_FLASHBENCH=y
|
|
|
-+BR2_PACKAGE_MAKEDEVS=y
|
|
|
-+BR2_PACKAGE_MMC_UTILS=y
|
|
|
-+BR2_PACKAGE_DEJAVU=y
|
|
|
-+BR2_PACKAGE_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_DIVINE=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_SAWMAN=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
|
|
|
-+BR2_PACKAGE_EFL=y
|
|
|
-+BR2_PACKAGE_EFL_FB=y
|
|
|
-+BR2_PACKAGE_EFL_WEBP=y
|
|
|
-+BR2_PACKAGE_FB_TEST_APP=y
|
|
|
-+BR2_PACKAGE_FBTERM=y
|
|
|
-+BR2_PACKAGE_FBV=y
|
|
|
-+BR2_PACKAGE_LINUX_FUSION=y
|
|
|
-+BR2_PACKAGE_PSPLASH=y
|
|
|
-+BR2_PACKAGE_SDL_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_SDL_GFX=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_GIF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_JPEG=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_LBM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PCX=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PNG=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PNM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_TARGA=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_TIFF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_WEBP=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XCF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XPM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XV=y
|
|
|
-+BR2_PACKAGE_SDL_MIXER=y
|
|
|
-+BR2_PACKAGE_SDL_NET=y
|
|
|
-+BR2_PACKAGE_SDL_SOUND=y
|
|
|
-+BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y
|
|
|
-+BR2_PACKAGE_SDL_TTF=y
|
|
|
-+BR2_PACKAGE_SDL2=y
|
|
|
-+BR2_PACKAGE_SDL2_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_SDL2_GFX=y
|
|
|
-+BR2_PACKAGE_SDL2_IMAGE=y
|
|
|
-+BR2_PACKAGE_SDL2_TTF=y
|
|
|
-+BR2_PACKAGE_QT5=y
|
|
|
-+BR2_PACKAGE_QT5_VERSION_5_6=y
|
|
|
-+BR2_PACKAGE_QT53D=y
|
|
|
-+BR2_PACKAGE_QT5BASE_MYSQL=y
|
|
|
-+BR2_PACKAGE_QT5BASE_PSQL=y
|
|
|
-+BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
|
|
|
-+BR2_PACKAGE_QT5BASE_LINUXFB=y
|
|
|
-+BR2_PACKAGE_QT5BASE_EGLFS=y
|
|
|
-+BR2_PACKAGE_QT5BASE_FONTCONFIG=y
|
|
|
-+BR2_PACKAGE_QT5BASE_GIF=y
|
|
|
-+BR2_PACKAGE_QT5BASE_JPEG=y
|
|
|
-+BR2_PACKAGE_QT5BASE_PNG=y
|
|
|
-+BR2_PACKAGE_QT5CANVAS3D=y
|
|
|
-+BR2_PACKAGE_QT5CONNECTIVITY=y
|
|
|
-+BR2_PACKAGE_QT5ENGINIO=y
|
|
|
-+BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
|
|
|
-+BR2_PACKAGE_QT5IMAGEFORMATS=y
|
|
|
-+BR2_PACKAGE_QT5LOCATION=y
|
|
|
-+BR2_PACKAGE_QT5MULTIMEDIA=y
|
|
|
-+BR2_PACKAGE_QT5QUICKCONTROLS=y
|
|
|
-+BR2_PACKAGE_QT5QUICKCONTROLS2=y
|
|
|
-+BR2_PACKAGE_QT5SENSORS=y
|
|
|
-+BR2_PACKAGE_QT5WAYLAND=y
|
|
|
-+BR2_PACKAGE_QT5SERIALBUS=y
|
|
|
-+BR2_PACKAGE_QT5SVG=y
|
|
|
-+BR2_PACKAGE_QT5WEBENGINE=y
|
|
|
-+BR2_PACKAGE_TEKUI=y
|
|
|
-+BR2_PACKAGE_WESTON=y
|
|
|
-+BR2_PACKAGE_AM33X_CM3=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
|
|
|
-+BR2_PACKAGE_AM335X_PRU_PACKAGE=y
|
|
|
-+BR2_PACKAGE_DEVMEM2=y
|
|
|
-+BR2_PACKAGE_EVTEST=y
|
|
|
-+BR2_PACKAGE_I2C_TOOLS=y
|
|
|
-+BR2_PACKAGE_INPUT_TOOLS=y
|
|
|
-+BR2_PACKAGE_KBD=y
|
|
|
-+BR2_PACKAGE_LIBUIO=y
|
|
|
-+BR2_PACKAGE_LSUIO=y
|
|
|
-+BR2_PACKAGE_PARTED=y
|
|
|
-+BR2_PACKAGE_RS485CONF=y
|
|
|
-+BR2_PACKAGE_SISPMCTL=y
|
|
|
-+BR2_PACKAGE_SPI_TOOLS=y
|
|
|
-+BR2_PACKAGE_TI_GFX=y
|
|
|
-+BR2_PACKAGE_TI_GFX_EGLIMAGE=y
|
|
|
-+BR2_PACKAGE_TI_GFX_ES8=y
|
|
|
-+BR2_PACKAGE_TI_UTILS=y
|
|
|
-+BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
|
|
-+BR2_PACKAGE_USBMOUNT=y
|
|
|
-+BR2_PACKAGE_USBUTILS=y
|
|
|
-+BR2_PACKAGE_NODEJS=y
|
|
|
-+BR2_PACKAGE_NODEJS_NPM=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_EXPRESS=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="node-red"
|
|
|
-+BR2_PACKAGE_PYTHON=y
|
|
|
-+BR2_PACKAGE_PYTHON_BZIP2=y
|
|
|
-+BR2_PACKAGE_PYTHON_BSDDB=y
|
|
|
-+BR2_PACKAGE_PYTHON_CODECSCJK=y
|
|
|
-+BR2_PACKAGE_PYTHON_CURSES=y
|
|
|
-+BR2_PACKAGE_PYTHON_READLINE=y
|
|
|
-+BR2_PACKAGE_PYTHON_SSL=y
|
|
|
-+BR2_PACKAGE_PYTHON_SQLITE=y
|
|
|
-+BR2_PACKAGE_PYTHON_PYEXPAT=y
|
|
|
-+BR2_PACKAGE_PYTHON_HASHLIB=y
|
|
|
-+BR2_PACKAGE_PYTHON_PYUDEV=y
|
|
|
-+BR2_PACKAGE_TCL=y
|
|
|
-+BR2_PACKAGE_EXPECT=y
|
|
|
-+BR2_PACKAGE_TCLLIB=y
|
|
|
-+BR2_PACKAGE_LIBMPD=y
|
|
|
-+BR2_PACKAGE_OPUS=y
|
|
|
-+BR2_PACKAGE_TAGLIB=y
|
|
|
-+BR2_PACKAGE_LIBZIP=y
|
|
|
-+BR2_PACKAGE_SNAPPY=y
|
|
|
-+BR2_PACKAGE_SZIP=y
|
|
|
-+BR2_PACKAGE_GNUTLS=y
|
|
|
-+BR2_PACKAGE_GNUTLS_TOOLS=y
|
|
|
-+BR2_PACKAGE_LIBNSS=y
|
|
|
-+BR2_PACKAGE_LIBSHA1=y
|
|
|
-+BR2_PACKAGE_LIBSSH2=y
|
|
|
-+BR2_PACKAGE_OPENSSL_BIN=y
|
|
|
-+BR2_PACKAGE_OPENSSL_ENGINES=y
|
|
|
-+BR2_PACKAGE_MYSQL_SERVER=y
|
|
|
-+BR2_PACKAGE_SQLITE_NO_SYNC=y
|
|
|
-+BR2_PACKAGE_LIBCONFIG=y
|
|
|
-+BR2_PACKAGE_CAIRO_TEE=y
|
|
|
-+BR2_PACKAGE_GD=y
|
|
|
-+BR2_PACKAGE_GD_ANNOTATE=y
|
|
|
-+BR2_PACKAGE_GD_GD2COPYPAL=y
|
|
|
-+BR2_PACKAGE_GD_GD2TOGIF=y
|
|
|
-+BR2_PACKAGE_GD_GD2TOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GDCMPGIF=y
|
|
|
-+BR2_PACKAGE_GD_GDPARTTOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GDTOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GIFTOGD2=y
|
|
|
-+BR2_PACKAGE_GD_PNGTOGD=y
|
|
|
-+BR2_PACKAGE_GD_PNGTOGD2=y
|
|
|
-+BR2_PACKAGE_GD_WEBPNG=y
|
|
|
-+BR2_PACKAGE_GDK_PIXBUF=y
|
|
|
-+BR2_PACKAGE_HARFBUZZ=y
|
|
|
-+BR2_PACKAGE_LIBJPEG=y
|
|
|
-+BR2_PACKAGE_LIBDRM=y
|
|
|
-+BR2_PACKAGE_LIBDRM_OMAP=y
|
|
|
-+BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
|
|
|
-+BR2_PACKAGE_WEBP_DEMUX=y
|
|
|
-+BR2_PACKAGE_DTC=y
|
|
|
-+BR2_PACKAGE_DTC_PROGRAMS=y
|
|
|
-+BR2_PACKAGE_LIBGUDEV=y
|
|
|
-+BR2_PACKAGE_LIBHID=y
|
|
|
-+BR2_PACKAGE_LIBIIO=y
|
|
|
-+BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON=y
|
|
|
-+BR2_PACKAGE_LIBV4L=y
|
|
|
-+BR2_PACKAGE_LIBXSLT=y
|
|
|
-+BR2_PACKAGE_LIBMPEG2=y
|
|
|
-+BR2_PACKAGE_LIBVPX=y
|
|
|
-+BR2_PACKAGE_LIBYUV=y
|
|
|
-+BR2_PACKAGE_CANFESTIVAL=y
|
|
|
-+BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES=y
|
|
|
-+BR2_PACKAGE_CURL=y
|
|
|
-+BR2_PACKAGE_LIBGSASL=y
|
|
|
-+BR2_PACKAGE_LIBIDN=y
|
|
|
-+BR2_PACKAGE_LIBIDN_BINARY=y
|
|
|
-+BR2_PACKAGE_LIBMBUS=y
|
|
|
-+BR2_PACKAGE_LIBMODBUS=y
|
|
|
-+BR2_PACKAGE_LIBPJSIP=y
|
|
|
-+BR2_PACKAGE_LIBRSYNC=y
|
|
|
-+BR2_PACKAGE_LIBSOUP=y
|
|
|
-+BR2_PACKAGE_LIBVNCSERVER=y
|
|
|
-+BR2_PACKAGE_LIBVNCSERVER_TIGHTPNG=y
|
|
|
-+BR2_PACKAGE_NEON=y
|
|
|
-+BR2_PACKAGE_NEON_ZLIB=y
|
|
|
-+BR2_PACKAGE_NEON_SSL=y
|
|
|
-+BR2_PACKAGE_NEON_LIBXML2=y
|
|
|
-+BR2_PACKAGE_NSS_PAM_LDAPD=y
|
|
|
-+BR2_PACKAGE_NSS_PAM_LDAPD_UTILITIES=y
|
|
|
-+BR2_PACKAGE_BOOST_ATOMIC=y
|
|
|
-+BR2_PACKAGE_BOOST_CHRONO=y
|
|
|
-+BR2_PACKAGE_BOOST_CONTAINER=y
|
|
|
-+BR2_PACKAGE_BOOST_CONTEXT=y
|
|
|
-+BR2_PACKAGE_BOOST_COROUTINE=y
|
|
|
-+BR2_PACKAGE_BOOST_COROUTINE2=y
|
|
|
-+BR2_PACKAGE_BOOST_DATE_TIME=y
|
|
|
-+BR2_PACKAGE_BOOST_EXCEPTION=y
|
|
|
-+BR2_PACKAGE_BOOST_FILESYSTEM=y
|
|
|
-+BR2_PACKAGE_BOOST_GRAPH=y
|
|
|
-+BR2_PACKAGE_BOOST_GRAPH_PARALLEL=y
|
|
|
-+BR2_PACKAGE_BOOST_IOSTREAMS=y
|
|
|
-+BR2_PACKAGE_BOOST_LOCALE=y
|
|
|
-+BR2_PACKAGE_BOOST_LOG=y
|
|
|
-+BR2_PACKAGE_BOOST_MATH=y
|
|
|
-+BR2_PACKAGE_BOOST_METAPARSE=y
|
|
|
-+BR2_PACKAGE_BOOST_MPI=y
|
|
|
-+BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
|
|
|
-+BR2_PACKAGE_BOOST_PYTHON=y
|
|
|
-+BR2_PACKAGE_BOOST_RANDOM=y
|
|
|
-+BR2_PACKAGE_BOOST_REGEX=y
|
|
|
-+BR2_PACKAGE_BOOST_SERIALIZATION=y
|
|
|
-+BR2_PACKAGE_BOOST_SIGNALS=y
|
|
|
-+BR2_PACKAGE_BOOST_SYSTEM=y
|
|
|
-+BR2_PACKAGE_BOOST_THREAD=y
|
|
|
-+BR2_PACKAGE_BOOST_TIMER=y
|
|
|
-+BR2_PACKAGE_BOOST_TYPE_ERASURE=y
|
|
|
-+BR2_PACKAGE_BOOST_WAVE=y
|
|
|
-+BR2_PACKAGE_ELFUTILS=y
|
|
|
-+BR2_PACKAGE_LIBCAP_TOOLS=y
|
|
|
-+BR2_PACKAGE_LIBEVENT=y
|
|
|
-+BR2_PACKAGE_POCO=y
|
|
|
-+BR2_PACKAGE_POCO_NETSSL_OPENSSL=y
|
|
|
-+BR2_PACKAGE_POCO_ZIP=y
|
|
|
-+BR2_PACKAGE_POCO_DATA_SQLITE=y
|
|
|
-+BR2_PACKAGE_POCO_DATA_MYSQL=y
|
|
|
-+BR2_PACKAGE_PROTOBUF=y
|
|
|
-+BR2_PACKAGE_PROTOBUF_C=y
|
|
|
-+BR2_PACKAGE_NCURSES_WCHAR=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_PANEL=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_FORM=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_MENU=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_PROGS=y
|
|
|
-+BR2_PACKAGE_FETCHMAIL=y
|
|
|
-+BR2_PACKAGE_HEIRLOOM_MAILX=y
|
|
|
-+BR2_PACKAGE_LIBESMTP=y
|
|
|
-+BR2_PACKAGE_MSMTP=y
|
|
|
-+BR2_PACKAGE_MUTT=y
|
|
|
-+BR2_PACKAGE_MUTT_IMAP=y
|
|
|
-+BR2_PACKAGE_MUTT_POP3=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_TEST=y
|
|
|
-+BR2_PACKAGE_CAN_UTILS=y
|
|
|
-+BR2_PACKAGE_CIVETWEB=y
|
|
|
-+BR2_PACKAGE_CIVETWEB_WITH_LUA=y
|
|
|
-+BR2_PACKAGE_CONNTRACK_TOOLS=y
|
|
|
-+BR2_PACKAGE_CRDA=y
|
|
|
-+BR2_PACKAGE_DHCP=y
|
|
|
-+BR2_PACKAGE_DHCP_SERVER=y
|
|
|
-+BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y
|
|
|
-+BR2_PACKAGE_DHCP_CLIENT=y
|
|
|
-+BR2_PACKAGE_ETHTOOL=y
|
|
|
-+BR2_PACKAGE_GESFTPSERVER=y
|
|
|
-+BR2_PACKAGE_HOSTAPD=y
|
|
|
-+BR2_PACKAGE_HOSTAPD_EAP=y
|
|
|
-+BR2_PACKAGE_HOSTAPD_WPS=y
|
|
|
-+BR2_PACKAGE_HTTPING=y
|
|
|
-+BR2_PACKAGE_HTTPING_TFO=y
|
|
|
-+BR2_PACKAGE_IFTOP=y
|
|
|
-+BR2_PACKAGE_IFUPDOWN=y
|
|
|
-+BR2_PACKAGE_IPROUTE2=y
|
|
|
-+BR2_PACKAGE_IPSEC_TOOLS=y
|
|
|
-+BR2_PACKAGE_IPSEC_TOOLS_READLINE=y
|
|
|
-+BR2_PACKAGE_IPTABLES=y
|
|
|
-+BR2_PACKAGE_IW=y
|
|
|
-+BR2_PACKAGE_MINIDLNA=y
|
|
|
-+BR2_PACKAGE_NETPLUG=y
|
|
|
-+BR2_PACKAGE_OPENSSH=y
|
|
|
-+BR2_PACKAGE_OPENVPN=y
|
|
|
-+BR2_PACKAGE_OPENVPN_SMALL=y
|
|
|
-+BR2_PACKAGE_PPPD=y
|
|
|
-+BR2_PACKAGE_PPPD_FILTER=y
|
|
|
-+BR2_PACKAGE_PPPD_RADIUS=y
|
|
|
-+BR2_PACKAGE_PPTP_LINUX=y
|
|
|
-+BR2_PACKAGE_RSYNC=y
|
|
|
-+BR2_PACKAGE_TINC=y
|
|
|
-+BR2_PACKAGE_WGET=y
|
|
|
-+BR2_PACKAGE_WIRELESS_TOOLS=y
|
|
|
-+BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y
|
|
|
-+BR2_PACKAGE_BASH=y
|
|
|
-+BR2_PACKAGE_SCREEN=y
|
|
|
-+BR2_PACKAGE_SUDO=y
|
|
|
-+BR2_PACKAGE_ATTR=y
|
|
|
-+BR2_PACKAGE_HTOP=y
|
|
|
-+BR2_PACKAGE_KEYUTILS=y
|
|
|
-+BR2_PACKAGE_POLKIT=y
|
|
|
-+BR2_PACKAGE_UTIL_LINUX_SETTERM=y
|
|
|
-+BR2_PACKAGE_JOE=y
|
|
|
-+BR2_TARGET_ROOTFS_EXT2=y
|
|
|
-+BR2_TARGET_ROOTFS_EXT2_4=y
|
|
|
-+BR2_TARGET_ROOTFS_TAR_GZIP=y
|
|
|
-+BR2_TARGET_UBOOT=y
|
|
|
-+BR2_TARGET_UBOOT_BOARDNAME="am335x_boneblack"
|
|
|
-+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
|
|
-+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2013.10"
|
|
|
-+BR2_TARGET_UBOOT_PATCH="../GfA/board/GfA/Display001/uboot_2013.10"
|
|
|
-+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_IMG=y
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin"
|
|
|
-+BR2_TARGET_UBOOT_SPL=y
|
|
|
-+BR2_TARGET_UBOOT_SPL_NAME="MLO"
|
|
|
-+BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
|
|
-+BR2_PACKAGE_HOST_DTC=y
|
|
|
-+BR2_PACKAGE_HOST_GENIMAGE=y
|
|
|
-+BR2_PACKAGE_HOST_MTOOLS=y
|
|
|
-+BR2_PACKAGE_WT=y
|
|
|
-+BR2_PACKAGE_NETWORK_INTERFACES_SCRIPT=y
|
|
|
-+BR2_PACKAGE_GFA_ADDONS=y
|
|
|
-diff --git a/configs/Display001_4.4.104_rt21_Qt5.7_defconfig b/configs/Display001_4.4.104_rt21_Qt5.7_defconfig
|
|
|
-new file mode 100644
|
|
|
-index 0000000..6dd9d9f
|
|
|
---- /dev/null
|
|
|
-+++ b/configs/Display001_4.4.104_rt21_Qt5.7_defconfig
|
|
|
-@@ -0,0 +1,460 @@
|
|
|
-+BR2_arm=y
|
|
|
-+BR2_cortex_a8=y
|
|
|
-+BR2_ARM_INSTRUCTIONS_THUMB2=y
|
|
|
-+BR2_DL_DIR="~/buildroot_dl"
|
|
|
-+BR2_HOST_DIR="/opt/GfA/TC_L44104_C493_QT57"
|
|
|
-+# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
|
|
|
-+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
|
|
-+BR2_KERNEL_HEADERS_4_4=y
|
|
|
-+BR2_GLIBC_VERSION_2_24=y
|
|
|
-+BR2_BINUTILS_VERSION_2_27_X=y
|
|
|
-+BR2_GCC_VERSION_4_9_3=y
|
|
|
-+BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
|
|
-+BR2_PACKAGE_HOST_GDB=y
|
|
|
-+BR2_PACKAGE_HOST_GDB_TUI=y
|
|
|
-+BR2_PACKAGE_HOST_GDB_PYTHON=y
|
|
|
-+BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
|
|
|
-+BR2_TARGET_OPTIMIZATION="-pipe"
|
|
|
-+BR2_TARGET_GENERIC_HOSTNAME="GfA"
|
|
|
-+BR2_TARGET_GENERIC_ISSUE="Welcome to GfA Display001"
|
|
|
-+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
|
|
|
-+BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt ../GfA/board/GfA/Display001/device_table.txt"
|
|
|
-+BR2_TARGET_GENERIC_ROOT_PASSWD="root"
|
|
|
-+BR2_TARGET_GENERIC_GETTY_PORT="ttyO0"
|
|
|
-+BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
|
|
|
-+# BR2_ENABLE_LOCALE_PURGE is not set
|
|
|
-+BR2_GENERATE_LOCALE="en_US en_GB de_DE de_AT de_CH fr_FR it_IT es_ES sv_FI sv_SE nb_NO nn_NO se_NO da_DK zh_CN"
|
|
|
-+BR2_TARGET_LOCALTIME="Europe/Vienna"
|
|
|
-+BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build_4.4.sh"
|
|
|
-+BR2_LINUX_KERNEL=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file://$(TOPDIR)/../GfA/GfAkernel57.tar.gz "
|
|
|
-+BR2_LINUX_KERNEL_PATCH="../GfA/board/GfA/Display001/linux_4.4.104_rt21"
|
|
|
-+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="../GfA/board/GfA/Display001/Display001_4.4.104_rt_defconfig"
|
|
|
-+BR2_LINUX_KERNEL_UIMAGE=y
|
|
|
-+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000"
|
|
|
-+BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
|
|
-+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../GfA/board/GfA/Display001/DTS_4.4/Display001.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_15.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_rru.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_gain1.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_5.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7_rs485.dts"
|
|
|
-+BR2_PACKAGE_BUSYBOX_CONFIG="../GfA/board/GfA/Display001/busybox.config"
|
|
|
-+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
|
|
-+BR2_PACKAGE_FFMPEG_GPL=y
|
|
|
-+BR2_PACKAGE_FFMPEG_NONFREE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFPLAY=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFSERVER=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFPROBE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_POSTPROC=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y
|
|
|
-+BR2_PACKAGE_MPD=y
|
|
|
-+BR2_PACKAGE_MPLAYER=y
|
|
|
-+BR2_PACKAGE_MPV=y
|
|
|
-+BR2_PACKAGE_VLC=y
|
|
|
-+BR2_PACKAGE_WAVPACK=y
|
|
|
-+BR2_PACKAGE_GZIP=y
|
|
|
-+BR2_PACKAGE_LZ4=y
|
|
|
-+BR2_PACKAGE_LZIP=y
|
|
|
-+BR2_PACKAGE_LZOP=y
|
|
|
-+BR2_PACKAGE_P7ZIP=y
|
|
|
-+BR2_PACKAGE_UNRAR=y
|
|
|
-+BR2_PACKAGE_UNZIP=y
|
|
|
-+BR2_PACKAGE_ZIP=y
|
|
|
-+BR2_PACKAGE_GDB=y
|
|
|
-+BR2_PACKAGE_GDB_DEBUGGER=y
|
|
|
-+BR2_PACKAGE_STRACE=y
|
|
|
-+BR2_PACKAGE_BINUTILS=y
|
|
|
-+BR2_PACKAGE_BINUTILS_TARGET=y
|
|
|
-+BR2_PACKAGE_CMAKE_CTEST=y
|
|
|
-+BR2_PACKAGE_GETTEXT=y
|
|
|
-+BR2_PACKAGE_GIT=y
|
|
|
-+BR2_PACKAGE_MAKE=y
|
|
|
-+BR2_PACKAGE_PATCH=y
|
|
|
-+BR2_PACKAGE_SED=y
|
|
|
-+BR2_PACKAGE_TREE=y
|
|
|
-+BR2_PACKAGE_CIFS_UTILS=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS_DEBUGFS=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
|
|
-+BR2_PACKAGE_F2FS_TOOLS=y
|
|
|
-+BR2_PACKAGE_FLASHBENCH=y
|
|
|
-+BR2_PACKAGE_MAKEDEVS=y
|
|
|
-+BR2_PACKAGE_MMC_UTILS=y
|
|
|
-+BR2_PACKAGE_DEJAVU=y
|
|
|
-+BR2_PACKAGE_FONT_AWESOME=y
|
|
|
-+BR2_PACKAGE_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_DIVINE=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_SAWMAN=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
|
|
|
-+BR2_PACKAGE_EFL=y
|
|
|
-+BR2_PACKAGE_EFL_FB=y
|
|
|
-+BR2_PACKAGE_EFL_WEBP=y
|
|
|
-+BR2_PACKAGE_FB_TEST_APP=y
|
|
|
-+BR2_PACKAGE_FBTERM=y
|
|
|
-+BR2_PACKAGE_FBV=y
|
|
|
-+BR2_PACKAGE_LINUX_FUSION=y
|
|
|
-+BR2_PACKAGE_PSPLASH=y
|
|
|
-+BR2_PACKAGE_SDL_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_SDL_GFX=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_GIF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_JPEG=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_LBM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PCX=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PNG=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PNM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_TARGA=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_TIFF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_WEBP=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XCF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XPM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XV=y
|
|
|
-+BR2_PACKAGE_SDL_MIXER=y
|
|
|
-+BR2_PACKAGE_SDL_NET=y
|
|
|
-+BR2_PACKAGE_SDL_SOUND=y
|
|
|
-+BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y
|
|
|
-+BR2_PACKAGE_SDL_TTF=y
|
|
|
-+BR2_PACKAGE_SDL2=y
|
|
|
-+BR2_PACKAGE_SDL2_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_SDL2_GFX=y
|
|
|
-+BR2_PACKAGE_SDL2_IMAGE=y
|
|
|
-+BR2_PACKAGE_SDL2_TTF=y
|
|
|
-+BR2_PACKAGE_QT5=y
|
|
|
-+BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
|
|
|
-+BR2_PACKAGE_QT5BASE_MYSQL=y
|
|
|
-+BR2_PACKAGE_QT5BASE_PSQL=y
|
|
|
-+BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
|
|
|
-+BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
|
|
|
-+BR2_PACKAGE_QT5BASE_EGLFS=y
|
|
|
-+BR2_PACKAGE_QT5BASE_FONTCONFIG=y
|
|
|
-+BR2_PACKAGE_QT5BASE_GIF=y
|
|
|
-+BR2_PACKAGE_QT5BASE_JPEG=y
|
|
|
-+BR2_PACKAGE_QT5BASE_PNG=y
|
|
|
-+BR2_PACKAGE_QT53D=y
|
|
|
-+BR2_PACKAGE_QT5CANVAS3D=y
|
|
|
-+BR2_PACKAGE_QT5CONNECTIVITY=y
|
|
|
-+BR2_PACKAGE_QT5ENGINIO=y
|
|
|
-+BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
|
|
|
-+BR2_PACKAGE_QT5IMAGEFORMATS=y
|
|
|
-+BR2_PACKAGE_QT5LOCATION=y
|
|
|
-+BR2_PACKAGE_QT5MULTIMEDIA=y
|
|
|
-+BR2_PACKAGE_QT5QUICKCONTROLS=y
|
|
|
-+BR2_PACKAGE_QT5SENSORS=y
|
|
|
-+BR2_PACKAGE_QT5SERIALBUS=y
|
|
|
-+BR2_PACKAGE_QT5WAYLAND=y
|
|
|
-+BR2_PACKAGE_QT5SVG=y
|
|
|
-+BR2_PACKAGE_QT5TOOLS=y
|
|
|
-+BR2_PACKAGE_QT5TOOLS_QTPATHS=y
|
|
|
-+BR2_PACKAGE_QT5TOOLS_QTPLUGININFO=y
|
|
|
-+BR2_PACKAGE_QT5WEBENGINE=y
|
|
|
-+BR2_PACKAGE_QT5VIRTUALKEYBOARD=y
|
|
|
-+BR2_PACKAGE_QT5CHARTS=y
|
|
|
-+BR2_PACKAGE_QT5DATAVIS3D=y
|
|
|
-+BR2_PACKAGE_QT5QUICKCONTROLS2=y
|
|
|
-+BR2_PACKAGE_TEKUI=y
|
|
|
-+BR2_PACKAGE_WESTON=y
|
|
|
-+BR2_PACKAGE_AM33X_CM3=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
|
|
|
-+BR2_PACKAGE_AM335X_PRU_PACKAGE=y
|
|
|
-+BR2_PACKAGE_DEVMEM2=y
|
|
|
-+BR2_PACKAGE_EVTEST=y
|
|
|
-+BR2_PACKAGE_I2C_TOOLS=y
|
|
|
-+BR2_PACKAGE_INPUT_TOOLS=y
|
|
|
-+BR2_PACKAGE_KBD=y
|
|
|
-+BR2_PACKAGE_LIBUIO=y
|
|
|
-+BR2_PACKAGE_LSUIO=y
|
|
|
-+BR2_PACKAGE_PARTED=y
|
|
|
-+BR2_PACKAGE_RS485CONF=y
|
|
|
-+BR2_PACKAGE_SISPMCTL=y
|
|
|
-+BR2_PACKAGE_SPI_TOOLS=y
|
|
|
-+BR2_PACKAGE_TI_GFX=y
|
|
|
-+BR2_PACKAGE_TI_GFX_EGLIMAGE=y
|
|
|
-+BR2_PACKAGE_TI_GFX_ES8=y
|
|
|
-+BR2_PACKAGE_TI_UTILS=y
|
|
|
-+BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
|
|
-+BR2_PACKAGE_USBMOUNT=y
|
|
|
-+BR2_PACKAGE_USBUTILS=y
|
|
|
-+BR2_PACKAGE_NODEJS=y
|
|
|
-+BR2_PACKAGE_NODEJS_NPM=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_EXPRESS=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="node-red"
|
|
|
-+BR2_PACKAGE_PYTHON=y
|
|
|
-+BR2_PACKAGE_PYTHON_BZIP2=y
|
|
|
-+BR2_PACKAGE_PYTHON_BSDDB=y
|
|
|
-+BR2_PACKAGE_PYTHON_CODECSCJK=y
|
|
|
-+BR2_PACKAGE_PYTHON_CURSES=y
|
|
|
-+BR2_PACKAGE_PYTHON_READLINE=y
|
|
|
-+BR2_PACKAGE_PYTHON_SSL=y
|
|
|
-+BR2_PACKAGE_PYTHON_SQLITE=y
|
|
|
-+BR2_PACKAGE_PYTHON_PYEXPAT=y
|
|
|
-+BR2_PACKAGE_PYTHON_HASHLIB=y
|
|
|
-+BR2_PACKAGE_PYTHON_PAHO_MQTT=y
|
|
|
-+BR2_PACKAGE_PYTHON_PYUDEV=y
|
|
|
-+BR2_PACKAGE_TCL=y
|
|
|
-+BR2_PACKAGE_EXPECT=y
|
|
|
-+BR2_PACKAGE_TCLLIB=y
|
|
|
-+BR2_PACKAGE_LIBMPD=y
|
|
|
-+BR2_PACKAGE_OPUS=y
|
|
|
-+BR2_PACKAGE_TAGLIB=y
|
|
|
-+BR2_PACKAGE_LIBZIP=y
|
|
|
-+BR2_PACKAGE_SNAPPY=y
|
|
|
-+BR2_PACKAGE_SZIP=y
|
|
|
-+BR2_PACKAGE_GNUTLS_TOOLS=y
|
|
|
-+BR2_PACKAGE_LIBNSS=y
|
|
|
-+BR2_PACKAGE_LIBSHA1=y
|
|
|
-+BR2_PACKAGE_LIBSSH2=y
|
|
|
-+BR2_PACKAGE_OPENSSL_BIN=y
|
|
|
-+BR2_PACKAGE_OPENSSL_ENGINES=y
|
|
|
-+BR2_PACKAGE_MYSQL_SERVER=y
|
|
|
-+BR2_PACKAGE_SQLITE_NO_SYNC=y
|
|
|
-+BR2_PACKAGE_LIBCONFIG=y
|
|
|
-+BR2_PACKAGE_CAIRO_TEE=y
|
|
|
-+BR2_PACKAGE_GD=y
|
|
|
-+BR2_PACKAGE_GD_ANNOTATE=y
|
|
|
-+BR2_PACKAGE_GD_GD2COPYPAL=y
|
|
|
-+BR2_PACKAGE_GD_GD2TOGIF=y
|
|
|
-+BR2_PACKAGE_GD_GD2TOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GDCMPGIF=y
|
|
|
-+BR2_PACKAGE_GD_GDPARTTOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GDTOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GIFTOGD2=y
|
|
|
-+BR2_PACKAGE_GD_PNGTOGD=y
|
|
|
-+BR2_PACKAGE_GD_PNGTOGD2=y
|
|
|
-+BR2_PACKAGE_GD_WEBPNG=y
|
|
|
-+BR2_PACKAGE_GDK_PIXBUF=y
|
|
|
-+BR2_PACKAGE_HARFBUZZ=y
|
|
|
-+BR2_PACKAGE_LIBDRM=y
|
|
|
-+BR2_PACKAGE_LIBDRM_OMAP=y
|
|
|
-+BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
|
|
|
-+BR2_PACKAGE_WEBP_DEMUX=y
|
|
|
-+BR2_PACKAGE_DTC=y
|
|
|
-+BR2_PACKAGE_DTC_PROGRAMS=y
|
|
|
-+BR2_PACKAGE_LIBGUDEV=y
|
|
|
-+BR2_PACKAGE_LIBHID=y
|
|
|
-+BR2_PACKAGE_LIBIIO=y
|
|
|
-+BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON=y
|
|
|
-+BR2_PACKAGE_LIBV4L=y
|
|
|
-+BR2_PACKAGE_JANSSON=y
|
|
|
-+BR2_PACKAGE_LIBXSLT=y
|
|
|
-+BR2_PACKAGE_LIBMPEG2=y
|
|
|
-+BR2_PACKAGE_LIBVPX=y
|
|
|
-+BR2_PACKAGE_LIBYUV=y
|
|
|
-+BR2_PACKAGE_CANFESTIVAL=y
|
|
|
-+BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES=y
|
|
|
-+BR2_PACKAGE_CURL=y
|
|
|
-+BR2_PACKAGE_LIBGSASL=y
|
|
|
-+BR2_PACKAGE_LIBIDN=y
|
|
|
-+BR2_PACKAGE_LIBIDN_BINARY=y
|
|
|
-+BR2_PACKAGE_LIBMBUS=y
|
|
|
-+BR2_PACKAGE_LIBMICROHTTPD=y
|
|
|
-+BR2_PACKAGE_LIBMICROHTTPD_SSL=y
|
|
|
-+BR2_PACKAGE_LIBMODBUS=y
|
|
|
-+BR2_PACKAGE_LIBPJSIP=y
|
|
|
-+BR2_PACKAGE_LIBRSYNC=y
|
|
|
-+BR2_PACKAGE_LIBSOUP=y
|
|
|
-+BR2_PACKAGE_LIBVNCSERVER=y
|
|
|
-+BR2_PACKAGE_LIBVNCSERVER_TIGHTPNG=y
|
|
|
-+BR2_PACKAGE_NEON=y
|
|
|
-+BR2_PACKAGE_NEON_ZLIB=y
|
|
|
-+BR2_PACKAGE_NEON_SSL=y
|
|
|
-+BR2_PACKAGE_NEON_LIBXML2=y
|
|
|
-+BR2_PACKAGE_NSS_PAM_LDAPD=y
|
|
|
-+BR2_PACKAGE_NSS_PAM_LDAPD_UTILITIES=y
|
|
|
-+BR2_PACKAGE_PAHO_MQTT_C=y
|
|
|
-+BR2_PACKAGE_BOOST_ATOMIC=y
|
|
|
-+BR2_PACKAGE_BOOST_CHRONO=y
|
|
|
-+BR2_PACKAGE_BOOST_CONTAINER=y
|
|
|
-+BR2_PACKAGE_BOOST_CONTEXT=y
|
|
|
-+BR2_PACKAGE_BOOST_COROUTINE=y
|
|
|
-+BR2_PACKAGE_BOOST_COROUTINE2=y
|
|
|
-+BR2_PACKAGE_BOOST_DATE_TIME=y
|
|
|
-+BR2_PACKAGE_BOOST_EXCEPTION=y
|
|
|
-+BR2_PACKAGE_BOOST_FILESYSTEM=y
|
|
|
-+BR2_PACKAGE_BOOST_GRAPH=y
|
|
|
-+BR2_PACKAGE_BOOST_GRAPH_PARALLEL=y
|
|
|
-+BR2_PACKAGE_BOOST_IOSTREAMS=y
|
|
|
-+BR2_PACKAGE_BOOST_LOCALE=y
|
|
|
-+BR2_PACKAGE_BOOST_LOG=y
|
|
|
-+BR2_PACKAGE_BOOST_MATH=y
|
|
|
-+BR2_PACKAGE_BOOST_METAPARSE=y
|
|
|
-+BR2_PACKAGE_BOOST_MPI=y
|
|
|
-+BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
|
|
|
-+BR2_PACKAGE_BOOST_PYTHON=y
|
|
|
-+BR2_PACKAGE_BOOST_RANDOM=y
|
|
|
-+BR2_PACKAGE_BOOST_REGEX=y
|
|
|
-+BR2_PACKAGE_BOOST_SERIALIZATION=y
|
|
|
-+BR2_PACKAGE_BOOST_SIGNALS=y
|
|
|
-+BR2_PACKAGE_BOOST_SYSTEM=y
|
|
|
-+BR2_PACKAGE_BOOST_THREAD=y
|
|
|
-+BR2_PACKAGE_BOOST_TIMER=y
|
|
|
-+BR2_PACKAGE_BOOST_TYPE_ERASURE=y
|
|
|
-+BR2_PACKAGE_BOOST_WAVE=y
|
|
|
-+BR2_PACKAGE_ELFUTILS=y
|
|
|
-+BR2_PACKAGE_LIBCAP_TOOLS=y
|
|
|
-+BR2_PACKAGE_LIBEVENT=y
|
|
|
-+BR2_PACKAGE_LIBICAL=y
|
|
|
-+BR2_PACKAGE_POCO=y
|
|
|
-+BR2_PACKAGE_POCO_NETSSL_OPENSSL=y
|
|
|
-+BR2_PACKAGE_POCO_ZIP=y
|
|
|
-+BR2_PACKAGE_POCO_DATA_SQLITE=y
|
|
|
-+BR2_PACKAGE_POCO_DATA_MYSQL=y
|
|
|
-+BR2_PACKAGE_PROTOBUF=y
|
|
|
-+BR2_PACKAGE_PROTOBUF_C=y
|
|
|
-+BR2_PACKAGE_NCURSES_WCHAR=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_PANEL=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_FORM=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_MENU=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_PROGS=y
|
|
|
-+BR2_PACKAGE_FETCHMAIL=y
|
|
|
-+BR2_PACKAGE_HEIRLOOM_MAILX=y
|
|
|
-+BR2_PACKAGE_LIBESMTP=y
|
|
|
-+BR2_PACKAGE_MSMTP=y
|
|
|
-+BR2_PACKAGE_MUTT=y
|
|
|
-+BR2_PACKAGE_MUTT_IMAP=y
|
|
|
-+BR2_PACKAGE_MUTT_POP3=y
|
|
|
-+BR2_PACKAGE_CAN_UTILS=y
|
|
|
-+BR2_PACKAGE_CIVETWEB=y
|
|
|
-+BR2_PACKAGE_CIVETWEB_WITH_LUA=y
|
|
|
-+BR2_PACKAGE_CONNTRACK_TOOLS=y
|
|
|
-+BR2_PACKAGE_CRDA=y
|
|
|
-+BR2_PACKAGE_DHCP=y
|
|
|
-+BR2_PACKAGE_DHCP_SERVER=y
|
|
|
-+BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y
|
|
|
-+BR2_PACKAGE_DHCP_CLIENT=y
|
|
|
-+BR2_PACKAGE_ETHTOOL=y
|
|
|
-+BR2_PACKAGE_GESFTPSERVER=y
|
|
|
-+BR2_PACKAGE_HOSTAPD=y
|
|
|
-+BR2_PACKAGE_HOSTAPD_EAP=y
|
|
|
-+BR2_PACKAGE_HOSTAPD_WPS=y
|
|
|
-+BR2_PACKAGE_HTTPING=y
|
|
|
-+BR2_PACKAGE_HTTPING_TFO=y
|
|
|
-+BR2_PACKAGE_IFTOP=y
|
|
|
-+BR2_PACKAGE_IFUPDOWN=y
|
|
|
-+BR2_PACKAGE_IPROUTE2=y
|
|
|
-+BR2_PACKAGE_IPSEC_TOOLS=y
|
|
|
-+BR2_PACKAGE_IPSEC_TOOLS_READLINE=y
|
|
|
-+BR2_PACKAGE_IPTABLES=y
|
|
|
-+BR2_PACKAGE_IW=y
|
|
|
-+BR2_PACKAGE_MINIDLNA=y
|
|
|
-+BR2_PACKAGE_MOSQUITTO=y
|
|
|
-+BR2_PACKAGE_NETPLUG=y
|
|
|
-+BR2_PACKAGE_OPENSSH=y
|
|
|
-+BR2_PACKAGE_OPENVPN=y
|
|
|
-+BR2_PACKAGE_OPENVPN_SMALL=y
|
|
|
-+BR2_PACKAGE_PPPD=y
|
|
|
-+BR2_PACKAGE_PPPD_FILTER=y
|
|
|
-+BR2_PACKAGE_PPPD_RADIUS=y
|
|
|
-+BR2_PACKAGE_PPTP_LINUX=y
|
|
|
-+BR2_PACKAGE_RSYNC=y
|
|
|
-+BR2_PACKAGE_TINC=y
|
|
|
-+BR2_PACKAGE_WGET=y
|
|
|
-+BR2_PACKAGE_WIRELESS_TOOLS=y
|
|
|
-+BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y
|
|
|
-+BR2_PACKAGE_BASH=y
|
|
|
-+BR2_PACKAGE_SCREEN=y
|
|
|
-+BR2_PACKAGE_SUDO=y
|
|
|
-+BR2_PACKAGE_ATTR=y
|
|
|
-+BR2_PACKAGE_HTOP=y
|
|
|
-+BR2_PACKAGE_KEYUTILS=y
|
|
|
-+BR2_PACKAGE_POLKIT=y
|
|
|
-+BR2_PACKAGE_UTIL_LINUX_SETTERM=y
|
|
|
-+BR2_PACKAGE_JOE=y
|
|
|
-+BR2_TARGET_ROOTFS_EXT2=y
|
|
|
-+BR2_TARGET_ROOTFS_EXT2_4=y
|
|
|
-+BR2_TARGET_ROOTFS_TAR_GZIP=y
|
|
|
-+BR2_TARGET_UBOOT=y
|
|
|
-+BR2_TARGET_UBOOT_BOARDNAME="am335x_boneblack"
|
|
|
-+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
|
|
-+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2013.10"
|
|
|
-+BR2_TARGET_UBOOT_PATCH="../GfA/board/GfA/Display001/uboot_2013.10"
|
|
|
-+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_IMG=y
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin"
|
|
|
-+BR2_TARGET_UBOOT_SPL=y
|
|
|
-+BR2_TARGET_UBOOT_SPL_NAME="MLO"
|
|
|
-+BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
|
|
-+BR2_PACKAGE_HOST_DTC=y
|
|
|
-+BR2_PACKAGE_HOST_GENIMAGE=y
|
|
|
-+BR2_PACKAGE_HOST_MTOOLS=y
|
|
|
-+BR2_PACKAGE_WT=y
|
|
|
-+BR2_PACKAGE_NETWORK_INTERFACES_SCRIPT=y
|
|
|
-+BR2_PACKAGE_GFA_ADDONS=y
|
|
|
-+BR2_PACKAGE_QMLPLUGINS=y
|
|
|
-+BR2_PACKAGE_PYTHON_UFW=y
|
|
|
-+BR2_PACKAGE_LIBULFIUS=y
|
|
|
-diff --git a/configs/Display001_4.4.94_rt19_Qt5.6.2_defconfig b/configs/Display001_4.4.94_rt19_Qt5.6.2_defconfig
|
|
|
-new file mode 100644
|
|
|
-index 0000000..0b2d311
|
|
|
---- /dev/null
|
|
|
-+++ b/configs/Display001_4.4.94_rt19_Qt5.6.2_defconfig
|
|
|
-@@ -0,0 +1,449 @@
|
|
|
-+BR2_arm=y
|
|
|
-+BR2_cortex_a8=y
|
|
|
-+BR2_ARM_INSTRUCTIONS_THUMB2=y
|
|
|
-+BR2_DL_DIR="~/buildroot_dl"
|
|
|
-+BR2_HOST_DIR="/opt/GfA/TC_L4494_C493_QT562"
|
|
|
-+# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
|
|
|
-+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
|
|
-+BR2_KERNEL_HEADERS_4_4=y
|
|
|
-+BR2_GLIBC_VERSION_2_24=y
|
|
|
-+BR2_BINUTILS_VERSION_2_27_X=y
|
|
|
-+BR2_GCC_VERSION_4_9_3=y
|
|
|
-+BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
|
|
-+BR2_PACKAGE_HOST_GDB=y
|
|
|
-+BR2_PACKAGE_HOST_GDB_TUI=y
|
|
|
-+BR2_PACKAGE_HOST_GDB_PYTHON=y
|
|
|
-+BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
|
|
|
-+BR2_TARGET_OPTIMIZATION="-pipe"
|
|
|
-+BR2_TARGET_GENERIC_HOSTNAME="GfA"
|
|
|
-+BR2_TARGET_GENERIC_ISSUE="Welcome to GfA Display001"
|
|
|
-+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
|
|
|
-+BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt ../GfA/board/GfA/Display001/device_table.txt"
|
|
|
-+BR2_TARGET_GENERIC_ROOT_PASSWD="root"
|
|
|
-+BR2_TARGET_GENERIC_GETTY_PORT="ttyO0"
|
|
|
-+BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
|
|
|
-+# BR2_ENABLE_LOCALE_PURGE is not set
|
|
|
-+BR2_GENERATE_LOCALE="en_US en_GB de_DE de_AT de_CH fr_FR it_IT es_ES sv_FI sv_SE nb_NO nn_NO se_NO da_DK zh_CN"
|
|
|
-+BR2_TARGET_LOCALTIME="Europe/Vienna"
|
|
|
-+BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build_4.4.sh"
|
|
|
-+BR2_LINUX_KERNEL=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file://$(TOPDIR)/../GfA/GfAkernel.tar.gz "
|
|
|
-+BR2_LINUX_KERNEL_PATCH="../GfA/board/GfA/Display001/linux_4.4.94_rt19"
|
|
|
-+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="../GfA/board/GfA/Display001/Display001_4.4.94_rt_defconfig"
|
|
|
-+BR2_LINUX_KERNEL_UIMAGE=y
|
|
|
-+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000"
|
|
|
-+BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
|
|
-+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
|
|
|
-+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../GfA/board/GfA/Display001/DTS_4.4/Display001.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_15.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_rru.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_gain1.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_5.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_4.dts"
|
|
|
-+BR2_PACKAGE_BUSYBOX_CONFIG="../GfA/board/GfA/Display001/busybox.config"
|
|
|
-+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
|
|
-+BR2_PACKAGE_FFMPEG_GPL=y
|
|
|
-+BR2_PACKAGE_FFMPEG_NONFREE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFPLAY=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFSERVER=y
|
|
|
-+BR2_PACKAGE_FFMPEG_FFPROBE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
|
|
|
-+BR2_PACKAGE_FFMPEG_POSTPROC=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL=y
|
|
|
-+BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y
|
|
|
-+BR2_PACKAGE_MPD=y
|
|
|
-+BR2_PACKAGE_MPLAYER=y
|
|
|
-+BR2_PACKAGE_MPV=y
|
|
|
-+BR2_PACKAGE_VLC=y
|
|
|
-+BR2_PACKAGE_WAVPACK=y
|
|
|
-+BR2_PACKAGE_GZIP=y
|
|
|
-+BR2_PACKAGE_LZ4=y
|
|
|
-+BR2_PACKAGE_LZIP=y
|
|
|
-+BR2_PACKAGE_LZOP=y
|
|
|
-+BR2_PACKAGE_P7ZIP=y
|
|
|
-+BR2_PACKAGE_UNRAR=y
|
|
|
-+BR2_PACKAGE_UNZIP=y
|
|
|
-+BR2_PACKAGE_ZIP=y
|
|
|
-+BR2_PACKAGE_GDB=y
|
|
|
-+BR2_PACKAGE_GDB_DEBUGGER=y
|
|
|
-+BR2_PACKAGE_STRACE=y
|
|
|
-+BR2_PACKAGE_BINUTILS=y
|
|
|
-+BR2_PACKAGE_BINUTILS_TARGET=y
|
|
|
-+BR2_PACKAGE_CMAKE_CTEST=y
|
|
|
-+BR2_PACKAGE_GETTEXT=y
|
|
|
-+BR2_PACKAGE_MAKE=y
|
|
|
-+BR2_PACKAGE_SED=y
|
|
|
-+BR2_PACKAGE_CIFS_UTILS=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
|
|
-+BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS_DEBUGFS=y
|
|
|
-+BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
|
|
-+BR2_PACKAGE_F2FS_TOOLS=y
|
|
|
-+BR2_PACKAGE_FLASHBENCH=y
|
|
|
-+BR2_PACKAGE_MAKEDEVS=y
|
|
|
-+BR2_PACKAGE_MMC_UTILS=y
|
|
|
-+BR2_PACKAGE_DEJAVU=y
|
|
|
-+BR2_PACKAGE_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_DIVINE=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_SAWMAN=y
|
|
|
-+BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
|
|
|
-+BR2_PACKAGE_EFL=y
|
|
|
-+BR2_PACKAGE_EFL_FB=y
|
|
|
-+BR2_PACKAGE_EFL_WEBP=y
|
|
|
-+BR2_PACKAGE_FB_TEST_APP=y
|
|
|
-+BR2_PACKAGE_FBTERM=y
|
|
|
-+BR2_PACKAGE_FBV=y
|
|
|
-+BR2_PACKAGE_LINUX_FUSION=y
|
|
|
-+BR2_PACKAGE_PSPLASH=y
|
|
|
-+BR2_PACKAGE_SDL_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_SDL_GFX=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_GIF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_JPEG=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_LBM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PCX=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PNG=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_PNM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_TARGA=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_TIFF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_WEBP=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XCF=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XPM=y
|
|
|
-+BR2_PACKAGE_SDL_IMAGE_XV=y
|
|
|
-+BR2_PACKAGE_SDL_MIXER=y
|
|
|
-+BR2_PACKAGE_SDL_NET=y
|
|
|
-+BR2_PACKAGE_SDL_SOUND=y
|
|
|
-+BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y
|
|
|
-+BR2_PACKAGE_SDL_TTF=y
|
|
|
-+BR2_PACKAGE_SDL2=y
|
|
|
-+BR2_PACKAGE_SDL2_DIRECTFB=y
|
|
|
-+BR2_PACKAGE_SDL2_GFX=y
|
|
|
-+BR2_PACKAGE_SDL2_IMAGE=y
|
|
|
-+BR2_PACKAGE_SDL2_TTF=y
|
|
|
-+BR2_PACKAGE_QT5=y
|
|
|
-+BR2_PACKAGE_QT5_VERSION_5_6=y
|
|
|
-+BR2_PACKAGE_QT53D=y
|
|
|
-+BR2_PACKAGE_QT5BASE_MYSQL=y
|
|
|
-+BR2_PACKAGE_QT5BASE_PSQL=y
|
|
|
-+BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
|
|
|
-+BR2_PACKAGE_QT5BASE_LINUXFB=y
|
|
|
-+BR2_PACKAGE_QT5BASE_EGLFS=y
|
|
|
-+BR2_PACKAGE_QT5BASE_FONTCONFIG=y
|
|
|
-+BR2_PACKAGE_QT5BASE_GIF=y
|
|
|
-+BR2_PACKAGE_QT5BASE_JPEG=y
|
|
|
-+BR2_PACKAGE_QT5BASE_PNG=y
|
|
|
-+BR2_PACKAGE_QT5CANVAS3D=y
|
|
|
-+BR2_PACKAGE_QT5CONNECTIVITY=y
|
|
|
-+BR2_PACKAGE_QT5ENGINIO=y
|
|
|
-+BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
|
|
|
-+BR2_PACKAGE_QT5IMAGEFORMATS=y
|
|
|
-+BR2_PACKAGE_QT5LOCATION=y
|
|
|
-+BR2_PACKAGE_QT5MULTIMEDIA=y
|
|
|
-+BR2_PACKAGE_QT5QUICKCONTROLS=y
|
|
|
-+BR2_PACKAGE_QT5QUICKCONTROLS2=y
|
|
|
-+BR2_PACKAGE_QT5SENSORS=y
|
|
|
-+BR2_PACKAGE_QT5WAYLAND=y
|
|
|
-+BR2_PACKAGE_QT5SERIALBUS=y
|
|
|
-+BR2_PACKAGE_QT5SVG=y
|
|
|
-+BR2_PACKAGE_QT5WEBENGINE=y
|
|
|
-+BR2_PACKAGE_TEKUI=y
|
|
|
-+BR2_PACKAGE_WESTON=y
|
|
|
-+BR2_PACKAGE_AM33X_CM3=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y
|
|
|
-+BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
|
|
|
-+BR2_PACKAGE_AM335X_PRU_PACKAGE=y
|
|
|
-+BR2_PACKAGE_DEVMEM2=y
|
|
|
-+BR2_PACKAGE_EVTEST=y
|
|
|
-+BR2_PACKAGE_I2C_TOOLS=y
|
|
|
-+BR2_PACKAGE_INPUT_TOOLS=y
|
|
|
-+BR2_PACKAGE_KBD=y
|
|
|
-+BR2_PACKAGE_LIBUIO=y
|
|
|
-+BR2_PACKAGE_LSUIO=y
|
|
|
-+BR2_PACKAGE_PARTED=y
|
|
|
-+BR2_PACKAGE_RS485CONF=y
|
|
|
-+BR2_PACKAGE_SISPMCTL=y
|
|
|
-+BR2_PACKAGE_SPI_TOOLS=y
|
|
|
-+BR2_PACKAGE_TI_GFX=y
|
|
|
-+BR2_PACKAGE_TI_GFX_EGLIMAGE=y
|
|
|
-+BR2_PACKAGE_TI_GFX_ES8=y
|
|
|
-+BR2_PACKAGE_TI_UTILS=y
|
|
|
-+BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
|
|
-+BR2_PACKAGE_USBMOUNT=y
|
|
|
-+BR2_PACKAGE_USBUTILS=y
|
|
|
-+BR2_PACKAGE_NODEJS=y
|
|
|
-+BR2_PACKAGE_NODEJS_NPM=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_EXPRESS=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT=y
|
|
|
-+BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="node-red"
|
|
|
-+BR2_PACKAGE_PERL=y
|
|
|
-+BR2_PACKAGE_PYTHON=y
|
|
|
-+BR2_PACKAGE_PYTHON_BZIP2=y
|
|
|
-+BR2_PACKAGE_PYTHON_BSDDB=y
|
|
|
-+BR2_PACKAGE_PYTHON_CODECSCJK=y
|
|
|
-+BR2_PACKAGE_PYTHON_CURSES=y
|
|
|
-+BR2_PACKAGE_PYTHON_READLINE=y
|
|
|
-+BR2_PACKAGE_PYTHON_SSL=y
|
|
|
-+BR2_PACKAGE_PYTHON_SQLITE=y
|
|
|
-+BR2_PACKAGE_PYTHON_PYEXPAT=y
|
|
|
-+BR2_PACKAGE_PYTHON_HASHLIB=y
|
|
|
-+BR2_PACKAGE_PYTHON_PYUDEV=y
|
|
|
-+BR2_PACKAGE_TCL=y
|
|
|
-+BR2_PACKAGE_EXPECT=y
|
|
|
-+BR2_PACKAGE_TCLLIB=y
|
|
|
-+BR2_PACKAGE_LIBMPD=y
|
|
|
-+BR2_PACKAGE_OPUS=y
|
|
|
-+BR2_PACKAGE_TAGLIB=y
|
|
|
-+BR2_PACKAGE_LIBZIP=y
|
|
|
-+BR2_PACKAGE_SNAPPY=y
|
|
|
-+BR2_PACKAGE_SZIP=y
|
|
|
-+BR2_PACKAGE_GNUTLS=y
|
|
|
-+BR2_PACKAGE_GNUTLS_TOOLS=y
|
|
|
-+BR2_PACKAGE_LIBNSS=y
|
|
|
-+BR2_PACKAGE_LIBSHA1=y
|
|
|
-+BR2_PACKAGE_LIBSSH2=y
|
|
|
-+BR2_PACKAGE_OPENSSL_BIN=y
|
|
|
-+BR2_PACKAGE_OPENSSL_ENGINES=y
|
|
|
-+BR2_PACKAGE_MYSQL_SERVER=y
|
|
|
-+BR2_PACKAGE_SQLITE_NO_SYNC=y
|
|
|
-+BR2_PACKAGE_LIBCONFIG=y
|
|
|
-+BR2_PACKAGE_CAIRO_TEE=y
|
|
|
-+BR2_PACKAGE_GD=y
|
|
|
-+BR2_PACKAGE_GD_ANNOTATE=y
|
|
|
-+BR2_PACKAGE_GD_BDFTOGD=y
|
|
|
-+BR2_PACKAGE_GD_GD2COPYPAL=y
|
|
|
-+BR2_PACKAGE_GD_GD2TOGIF=y
|
|
|
-+BR2_PACKAGE_GD_GD2TOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GDCMPGIF=y
|
|
|
-+BR2_PACKAGE_GD_GDPARTTOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GDTOPNG=y
|
|
|
-+BR2_PACKAGE_GD_GIFTOGD2=y
|
|
|
-+BR2_PACKAGE_GD_PNGTOGD=y
|
|
|
-+BR2_PACKAGE_GD_PNGTOGD2=y
|
|
|
-+BR2_PACKAGE_GD_WEBPNG=y
|
|
|
-+BR2_PACKAGE_GDK_PIXBUF=y
|
|
|
-+BR2_PACKAGE_HARFBUZZ=y
|
|
|
-+BR2_PACKAGE_LIBJPEG=y
|
|
|
-+BR2_PACKAGE_LIBDRM=y
|
|
|
-+BR2_PACKAGE_LIBDRM_OMAP=y
|
|
|
-+BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
|
|
|
-+BR2_PACKAGE_WEBP_DEMUX=y
|
|
|
-+BR2_PACKAGE_DTC=y
|
|
|
-+BR2_PACKAGE_DTC_PROGRAMS=y
|
|
|
-+BR2_PACKAGE_LIBGUDEV=y
|
|
|
-+BR2_PACKAGE_LIBHID=y
|
|
|
-+BR2_PACKAGE_LIBIIO=y
|
|
|
-+BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON=y
|
|
|
-+BR2_PACKAGE_LIBV4L=y
|
|
|
-+BR2_PACKAGE_LIBXSLT=y
|
|
|
-+BR2_PACKAGE_LIBMPEG2=y
|
|
|
-+BR2_PACKAGE_LIBVPX=y
|
|
|
-+BR2_PACKAGE_LIBYUV=y
|
|
|
-+BR2_PACKAGE_CANFESTIVAL=y
|
|
|
-+BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES=y
|
|
|
-+BR2_PACKAGE_CURL=y
|
|
|
-+BR2_PACKAGE_LIBGSASL=y
|
|
|
-+BR2_PACKAGE_LIBIDN=y
|
|
|
-+BR2_PACKAGE_LIBIDN_BINARY=y
|
|
|
-+BR2_PACKAGE_LIBMBUS=y
|
|
|
-+BR2_PACKAGE_LIBMODBUS=y
|
|
|
-+BR2_PACKAGE_LIBPJSIP=y
|
|
|
-+BR2_PACKAGE_LIBRSYNC=y
|
|
|
-+BR2_PACKAGE_LIBSOUP=y
|
|
|
-+BR2_PACKAGE_LIBVNCSERVER=y
|
|
|
-+BR2_PACKAGE_LIBVNCSERVER_TIGHTPNG=y
|
|
|
-+BR2_PACKAGE_NEON=y
|
|
|
-+BR2_PACKAGE_NEON_ZLIB=y
|
|
|
-+BR2_PACKAGE_NEON_SSL=y
|
|
|
-+BR2_PACKAGE_NEON_LIBXML2=y
|
|
|
-+BR2_PACKAGE_NSS_PAM_LDAPD=y
|
|
|
-+BR2_PACKAGE_NSS_PAM_LDAPD_UTILITIES=y
|
|
|
-+BR2_PACKAGE_BOOST_ATOMIC=y
|
|
|
-+BR2_PACKAGE_BOOST_CHRONO=y
|
|
|
-+BR2_PACKAGE_BOOST_CONTAINER=y
|
|
|
-+BR2_PACKAGE_BOOST_CONTEXT=y
|
|
|
-+BR2_PACKAGE_BOOST_COROUTINE=y
|
|
|
-+BR2_PACKAGE_BOOST_COROUTINE2=y
|
|
|
-+BR2_PACKAGE_BOOST_DATE_TIME=y
|
|
|
-+BR2_PACKAGE_BOOST_EXCEPTION=y
|
|
|
-+BR2_PACKAGE_BOOST_FILESYSTEM=y
|
|
|
-+BR2_PACKAGE_BOOST_GRAPH=y
|
|
|
-+BR2_PACKAGE_BOOST_GRAPH_PARALLEL=y
|
|
|
-+BR2_PACKAGE_BOOST_IOSTREAMS=y
|
|
|
-+BR2_PACKAGE_BOOST_LOCALE=y
|
|
|
-+BR2_PACKAGE_BOOST_LOG=y
|
|
|
-+BR2_PACKAGE_BOOST_MATH=y
|
|
|
-+BR2_PACKAGE_BOOST_METAPARSE=y
|
|
|
-+BR2_PACKAGE_BOOST_MPI=y
|
|
|
-+BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
|
|
|
-+BR2_PACKAGE_BOOST_PYTHON=y
|
|
|
-+BR2_PACKAGE_BOOST_RANDOM=y
|
|
|
-+BR2_PACKAGE_BOOST_REGEX=y
|
|
|
-+BR2_PACKAGE_BOOST_SERIALIZATION=y
|
|
|
-+BR2_PACKAGE_BOOST_SIGNALS=y
|
|
|
-+BR2_PACKAGE_BOOST_SYSTEM=y
|
|
|
-+BR2_PACKAGE_BOOST_THREAD=y
|
|
|
-+BR2_PACKAGE_BOOST_TIMER=y
|
|
|
-+BR2_PACKAGE_BOOST_TYPE_ERASURE=y
|
|
|
-+BR2_PACKAGE_BOOST_WAVE=y
|
|
|
-+BR2_PACKAGE_ELFUTILS=y
|
|
|
-+BR2_PACKAGE_LIBCAP_TOOLS=y
|
|
|
-+BR2_PACKAGE_LIBEVENT=y
|
|
|
-+BR2_PACKAGE_POCO=y
|
|
|
-+BR2_PACKAGE_POCO_NETSSL_OPENSSL=y
|
|
|
-+BR2_PACKAGE_POCO_ZIP=y
|
|
|
-+BR2_PACKAGE_POCO_DATA_SQLITE=y
|
|
|
-+BR2_PACKAGE_POCO_DATA_MYSQL=y
|
|
|
-+BR2_PACKAGE_PROTOBUF=y
|
|
|
-+BR2_PACKAGE_PROTOBUF_C=y
|
|
|
-+BR2_PACKAGE_NCURSES_WCHAR=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_PANEL=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_FORM=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_MENU=y
|
|
|
-+BR2_PACKAGE_NCURSES_TARGET_PROGS=y
|
|
|
-+BR2_PACKAGE_FETCHMAIL=y
|
|
|
-+BR2_PACKAGE_HEIRLOOM_MAILX=y
|
|
|
-+BR2_PACKAGE_LIBESMTP=y
|
|
|
-+BR2_PACKAGE_MSMTP=y
|
|
|
-+BR2_PACKAGE_MUTT=y
|
|
|
-+BR2_PACKAGE_MUTT_IMAP=y
|
|
|
-+BR2_PACKAGE_MUTT_POP3=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y
|
|
|
-+BR2_PACKAGE_BLUEZ5_UTILS_TEST=y
|
|
|
-+BR2_PACKAGE_CAN_UTILS=y
|
|
|
-+BR2_PACKAGE_CIVETWEB=y
|
|
|
-+BR2_PACKAGE_CIVETWEB_WITH_LUA=y
|
|
|
-+BR2_PACKAGE_CONNTRACK_TOOLS=y
|
|
|
-+BR2_PACKAGE_CRDA=y
|
|
|
-+BR2_PACKAGE_DHCP=y
|
|
|
-+BR2_PACKAGE_DHCP_SERVER=y
|
|
|
-+BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y
|
|
|
-+BR2_PACKAGE_DHCP_CLIENT=y
|
|
|
-+BR2_PACKAGE_ETHTOOL=y
|
|
|
-+BR2_PACKAGE_GESFTPSERVER=y
|
|
|
-+BR2_PACKAGE_HOSTAPD=y
|
|
|
-+BR2_PACKAGE_HOSTAPD_EAP=y
|
|
|
-+BR2_PACKAGE_HOSTAPD_WPS=y
|
|
|
-+BR2_PACKAGE_HTTPING=y
|
|
|
-+BR2_PACKAGE_HTTPING_TFO=y
|
|
|
-+BR2_PACKAGE_IFTOP=y
|
|
|
-+BR2_PACKAGE_IFUPDOWN=y
|
|
|
-+BR2_PACKAGE_IPROUTE2=y
|
|
|
-+BR2_PACKAGE_IPSEC_TOOLS=y
|
|
|
-+BR2_PACKAGE_IPSEC_TOOLS_READLINE=y
|
|
|
-+BR2_PACKAGE_IPTABLES=y
|
|
|
-+BR2_PACKAGE_IW=y
|
|
|
-+BR2_PACKAGE_MINIDLNA=y
|
|
|
-+BR2_PACKAGE_NETPLUG=y
|
|
|
-+BR2_PACKAGE_OPENSSH=y
|
|
|
-+BR2_PACKAGE_OPENVPN=y
|
|
|
-+BR2_PACKAGE_OPENVPN_SMALL=y
|
|
|
-+BR2_PACKAGE_PPPD=y
|
|
|
-+BR2_PACKAGE_PPPD_FILTER=y
|
|
|
-+BR2_PACKAGE_PPPD_RADIUS=y
|
|
|
-+BR2_PACKAGE_PPTP_LINUX=y
|
|
|
-+BR2_PACKAGE_RSYNC=y
|
|
|
-+BR2_PACKAGE_TINC=y
|
|
|
-+BR2_PACKAGE_WGET=y
|
|
|
-+BR2_PACKAGE_WIRELESS_TOOLS=y
|
|
|
-+BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW=y
|
|
|
-+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y
|
|
|
-+BR2_PACKAGE_BASH=y
|
|
|
-+BR2_PACKAGE_SCREEN=y
|
|
|
-+BR2_PACKAGE_SUDO=y
|
|
|
-+BR2_PACKAGE_ATTR=y
|
|
|
-+BR2_PACKAGE_HTOP=y
|
|
|
-+BR2_PACKAGE_KEYUTILS=y
|
|
|
-+BR2_PACKAGE_POLKIT=y
|
|
|
-+BR2_PACKAGE_UTIL_LINUX_SETTERM=y
|
|
|
-+BR2_PACKAGE_JOE=y
|
|
|
-+BR2_TARGET_ROOTFS_EXT2=y
|
|
|
-+BR2_TARGET_ROOTFS_EXT2_4=y
|
|
|
-+BR2_TARGET_ROOTFS_TAR_GZIP=y
|
|
|
-+BR2_TARGET_UBOOT=y
|
|
|
-+BR2_TARGET_UBOOT_BOARDNAME="am335x_boneblack"
|
|
|
-+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
|
|
-+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2013.10"
|
|
|
-+BR2_TARGET_UBOOT_PATCH="../GfA/board/GfA/Display001/uboot_2013.10"
|
|
|
-+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_IMG=y
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
|
|
|
-+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin"
|
|
|
-+BR2_TARGET_UBOOT_SPL=y
|
|
|
-+BR2_TARGET_UBOOT_SPL_NAME="MLO"
|
|
|
-+BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
|
|
-+BR2_PACKAGE_HOST_DTC=y
|
|
|
-+BR2_PACKAGE_HOST_GENIMAGE=y
|
|
|
-+BR2_PACKAGE_HOST_MTOOLS=y
|
|
|
-+BR2_PACKAGE_WT=y
|
|
|
-+BR2_PACKAGE_NETWORK_INTERFACES_SCRIPT=y
|
|
|
-+BR2_PACKAGE_GFA_ADDONS=y
|
|
|
-diff --git a/package/fontconfig/001-mtime-always-ok.patch b/package/fontconfig/001-mtime-always-ok.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..671c1f1
|
|
|
---- /dev/null
|
|
|
-+++ b/package/fontconfig/001-mtime-always-ok.patch
|
|
|
-@@ -0,0 +1,12 @@
|
|
|
-+diff -Naurp a/src/fccache.c b/src/fccache.c
|
|
|
-+--- a/src/fccache.c 2016-08-05 07:35:05.000000000 +0200
|
|
|
-++++ b/src/fccache.c 2017-11-26 00:51:18.800927077 +0100
|
|
|
-+@@ -585,7 +585,7 @@ FcCacheTimeValid (FcConfig *config, FcCa
|
|
|
-+ FcCacheDir (cache), cache->checksum, (int) dir_stat->st_mtime);
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+- return cache->checksum == (int) dir_stat->st_mtime && fnano;
|
|
|
-++ return FcTrue;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ static FcBool
|
|
|
-diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk
|
|
|
-index 93f2a15..a470d1f 100644
|
|
|
---- a/package/fontconfig/fontconfig.mk
|
|
|
-+++ b/package/fontconfig/fontconfig.mk
|
|
|
-@@ -15,7 +15,7 @@ FONTCONFIG_LICENSE_FILES = COPYING
|
|
|
-
|
|
|
- FONTCONFIG_CONF_OPTS = \
|
|
|
- --with-arch=$(GNU_TARGET_NAME) \
|
|
|
-- --with-cache-dir=/var/cache/fontconfig \
|
|
|
-+ --with-cache-dir=/fontconfig_cache \
|
|
|
- --disable-docs
|
|
|
-
|
|
|
- HOST_FONTCONFIG_CONF_OPTS = \
|
|
|
-diff --git a/package/gcc/4.9.1/100-uclibc-conf.patch b/package/gcc/4.9.1/100-uclibc-conf.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..d56bf0a
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/100-uclibc-conf.patch
|
|
|
-@@ -0,0 +1,15 @@
|
|
|
-+Index: gcc-4.8.0/contrib/regression/objs-gcc.sh
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200
|
|
|
-++++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100
|
|
|
-+@@ -106,6 +106,10 @@
|
|
|
-+ then
|
|
|
-+ make all-gdb all-dejagnu all-ld || exit 1
|
|
|
-+ make install-gdb install-dejagnu install-ld || exit 1
|
|
|
-++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
|
|
|
-++ then
|
|
|
-++ make all-gdb all-dejagnu all-ld || exit 1
|
|
|
-++ make install-gdb install-dejagnu install-ld || exit 1
|
|
|
-+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
|
|
-+ make bootstrap || exit 1
|
|
|
-+ make install || exit 1
|
|
|
-diff --git a/package/gcc/4.9.1/301-missing-execinfo_h.patch b/package/gcc/4.9.1/301-missing-execinfo_h.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..00efda2
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/301-missing-execinfo_h.patch
|
|
|
-@@ -0,0 +1,13 @@
|
|
|
-+Index: gcc-4.8.0/boehm-gc/include/gc.h
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
|
|
|
-++++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100
|
|
|
-+@@ -503,7 +503,7 @@
|
|
|
-+ #if defined(__linux__) || defined(__GLIBC__)
|
|
|
-+ # include <features.h>
|
|
|
-+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
|
|
|
-+- && !defined(__ia64__)
|
|
|
-++ && !defined(__ia64__) && !defined(__UCLIBC__)
|
|
|
-+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
|
|
|
-+ # define GC_HAVE_BUILTIN_BACKTRACE
|
|
|
-+ # endif
|
|
|
-diff --git a/package/gcc/4.9.1/302-c99-snprintf.patch b/package/gcc/4.9.1/302-c99-snprintf.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..cd4d2cc
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/302-c99-snprintf.patch
|
|
|
-@@ -0,0 +1,13 @@
|
|
|
-+Index: gcc-4.8.0/libstdc++-v3/include/c_global/cstdio
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libstdc++-v3/include/c_global/cstdio 2013-02-03 18:54:05.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libstdc++-v3/include/c_global/cstdio 2013-03-23 17:39:32.000000000 +0100
|
|
|
-+@@ -138,7 +138,7 @@
|
|
|
-+ using ::vsprintf;
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if _GLIBCXX_USE_C99 || defined __UCLIBC__
|
|
|
-+
|
|
|
-+ #undef snprintf
|
|
|
-+ #undef vfscanf
|
|
|
-diff --git a/package/gcc/4.9.1/810-arm-softfloat-libgcc.patch b/package/gcc/4.9.1/810-arm-softfloat-libgcc.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c8cb377
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/810-arm-softfloat-libgcc.patch
|
|
|
-@@ -0,0 +1,30 @@
|
|
|
-+Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100
|
|
|
-++++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100
|
|
|
-+@@ -55,7 +55,7 @@
|
|
|
-+ %{shared:-lc} \
|
|
|
-+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
|
|
-+
|
|
|
-+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
|
|
|
-++#define LIBGCC_SPEC "-lgcc"
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
|
|
-+
|
|
|
-+Index: gcc-4.8.0/libgcc/config/arm/t-linux
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100
|
|
|
-+@@ -1,6 +1,11 @@
|
|
|
-+ LIB1ASMSRC = arm/lib1funcs.S
|
|
|
-+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
|
|
-+- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
|
|
|
-++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
|
|
|
-++ _arm_addsubdf3 _arm_addsubsf3 \
|
|
|
-++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
|
|
|
-++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
|
|
|
-++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
|
|
|
-++ _arm_fixsfsi _arm_fixunssfsi
|
|
|
-+
|
|
|
-+ # Just for these, we omit the frame pointer since it makes such a big
|
|
|
-+ # difference.
|
|
|
-diff --git a/package/gcc/4.9.1/830-arm_unbreak_armv4t.patch b/package/gcc/4.9.1/830-arm_unbreak_armv4t.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..37f8f2a
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/830-arm_unbreak_armv4t.patch
|
|
|
-@@ -0,0 +1,13 @@
|
|
|
-+http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
|
|
|
-+
|
|
|
-+--- a/gcc/config/arm/linux-eabi.h
|
|
|
-++++ b/gcc/config/arm/linux-eabi.h
|
|
|
-+@@ -45,7 +45,7 @@
|
|
|
-+ The ARM10TDMI core is the default for armv5t, so set
|
|
|
-+ SUBTARGET_CPU_DEFAULT to achieve this. */
|
|
|
-+ #undef SUBTARGET_CPU_DEFAULT
|
|
|
-+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
|
|
|
-++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
|
|
|
-+
|
|
|
-+ /* TARGET_BIG_ENDIAN_DEFAULT is set in
|
|
|
-+ config.gcc for big endian configurations. */
|
|
|
-diff --git a/package/gcc/4.9.1/840-microblaze-enable-dwarf-eh-support.patch b/package/gcc/4.9.1/840-microblaze-enable-dwarf-eh-support.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..e116e2b
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/840-microblaze-enable-dwarf-eh-support.patch
|
|
|
-@@ -0,0 +1,169 @@
|
|
|
-+Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc
|
|
|
-+
|
|
|
-+From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001
|
|
|
-+From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
|
|
|
-+Date: Mon, 18 Jun 2012 20:18:13 +0200
|
|
|
-+Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support.
|
|
|
-+
|
|
|
-+Changelog
|
|
|
-+
|
|
|
-+2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
|
|
|
-+ David Holsgrove <david.holsgrove@xilinx.com>
|
|
|
-+
|
|
|
-+ * common/config/microblaze/microblaze-common.c: Remove
|
|
|
-+ TARGET_EXCEPT_UNWIND_INFO definition.
|
|
|
-+ * config/microblaze/microblaze-protos.h: Add
|
|
|
-+ microblaze_eh_return prototype.
|
|
|
-+ * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register,
|
|
|
-+ microblaze_expand_epilogue, microblaze_return_addr): Handle
|
|
|
-+ calls_eh_return
|
|
|
-+ (microblaze_eh_return): New function.
|
|
|
-+ * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET,
|
|
|
-+ EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX,
|
|
|
-+ ASM_PREFERRED_EH_DATA_FORMAT
|
|
|
-+ * gcc/config/microblaze/microblaze.md: Define eh_return pattern.
|
|
|
-+
|
|
|
-+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
|
|
|
-+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
|
|
-+---
|
|
|
-+ gcc/common/config/microblaze/microblaze-common.c | 3 ---
|
|
|
-+ gcc/config/microblaze/microblaze-protos.h | 1 +
|
|
|
-+ gcc/config/microblaze/microblaze.c | 29 ++++++++++++++++++++----
|
|
|
-+ gcc/config/microblaze/microblaze.h | 15 ++++++++++++
|
|
|
-+ gcc/config/microblaze/microblaze.md | 11 +++++++++
|
|
|
-+ 5 files changed, 52 insertions(+), 7 deletions(-)
|
|
|
-+
|
|
|
-+diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
|
|
|
-+index 5835acc..85e6a53 100644
|
|
|
-+--- a/gcc/common/config/microblaze/microblaze-common.c
|
|
|
-++++ b/gcc/common/config/microblaze/microblaze-common.c
|
|
|
-+@@ -39,7 +39,4 @@ static const struct default_options microblaze_option_optimization_table[] =
|
|
|
-+ #undef TARGET_OPTION_OPTIMIZATION_TABLE
|
|
|
-+ #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
|
|
|
-+
|
|
|
-+-#undef TARGET_EXCEPT_UNWIND_INFO
|
|
|
-+-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
|
|
|
-+-
|
|
|
-+ struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
|
|
|
-+index c30ec72..260f4e4 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze-protos.h
|
|
|
-++++ b/gcc/config/microblaze/microblaze-protos.h
|
|
|
-+@@ -56,6 +56,7 @@ extern bool microblaze_tls_referenced_p (rtx);
|
|
|
-+ extern int symbol_mentioned_p (rtx);
|
|
|
-+ extern int label_mentioned_p (rtx);
|
|
|
-+ extern bool microblaze_cannot_force_const_mem (enum machine_mode, rtx);
|
|
|
-++extern void microblaze_eh_return (rtx op0);
|
|
|
-+ #endif /* RTX_CODE */
|
|
|
-+
|
|
|
-+ /* Declare functions in microblaze-c.c. */
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
|
|
|
-+index fe61fce..15166d3 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze.c
|
|
|
-++++ b/gcc/config/microblaze/microblaze.c
|
|
|
-+@@ -1999,6 +1999,11 @@ microblaze_must_save_register (int regno)
|
|
|
-+ if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM))
|
|
|
-+ return 1;
|
|
|
-+
|
|
|
-++ if (crtl->calls_eh_return
|
|
|
-++ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) {
|
|
|
-++ return 1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ if (!crtl->is_leaf)
|
|
|
-+ {
|
|
|
-+ if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
|
|
-+@@ -2026,6 +2031,13 @@ microblaze_must_save_register (int regno)
|
|
|
-+ return 1;
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ if (crtl->calls_eh_return
|
|
|
-++ && (regno == EH_RETURN_DATA_REGNO (0)
|
|
|
-++ || regno == EH_RETURN_DATA_REGNO (1)))
|
|
|
-++ {
|
|
|
-++ return 1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ return 0;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+@@ -3131,6 +3143,12 @@ microblaze_expand_epilogue (void)
|
|
|
-+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ if (crtl->calls_eh_return)
|
|
|
-++ emit_insn (gen_addsi3 (stack_pointer_rtx,
|
|
|
-++ stack_pointer_rtx,
|
|
|
-++ gen_rtx_raw_REG (SImode,
|
|
|
-++ MB_EH_STACKADJ_REGNUM)));
|
|
|
-++
|
|
|
-+ emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
|
|
|
-+ MB_ABI_SUB_RETURN_ADDR_REGNUM)));
|
|
|
-+ }
|
|
|
-+@@ -3427,10 +3445,13 @@ microblaze_return_addr (int count, rtx frame ATTRIBUTE_UNUSED)
|
|
|
-+ if (count != 0)
|
|
|
-+ return NULL_RTX;
|
|
|
-+
|
|
|
-+- return gen_rtx_PLUS (Pmode,
|
|
|
-+- get_hard_reg_initial_val (Pmode,
|
|
|
-+- MB_ABI_SUB_RETURN_ADDR_REGNUM),
|
|
|
-+- GEN_INT (8));
|
|
|
-++ return get_hard_reg_initial_val (Pmode,
|
|
|
-++ MB_ABI_SUB_RETURN_ADDR_REGNUM);
|
|
|
-++}
|
|
|
-++
|
|
|
-++void microblaze_eh_return (rtx op0)
|
|
|
-++{
|
|
|
-++ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0));
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* Queue an .ident string in the queue of top-level asm statements.
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
|
|
|
-+index 4072283..5e9f49c 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze.h
|
|
|
-++++ b/gcc/config/microblaze/microblaze.h
|
|
|
-+@@ -184,6 +184,21 @@ extern enum pipeline_type microblaze_pipe;
|
|
|
-+ #define INCOMING_RETURN_ADDR_RTX \
|
|
|
-+ gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
|
|
-+
|
|
|
-++/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */
|
|
|
-++#define RETURN_ADDR_OFFSET (8)
|
|
|
-++
|
|
|
-++/* Describe how we implement __builtin_eh_return. */
|
|
|
-++#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM)
|
|
|
-++
|
|
|
-++#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM
|
|
|
-++#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM)
|
|
|
-++
|
|
|
-++/* Select a format to encode pointers in exception handling data. CODE
|
|
|
-++ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
|
|
|
-++ true if the symbol may be affected by dynamic relocations. */
|
|
|
-++#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
|
|
|
-++ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
|
|
|
-++
|
|
|
-+ /* Use DWARF 2 debugging information by default. */
|
|
|
-+ #define DWARF2_DEBUGGING_INFO
|
|
|
-+ #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
|
|
|
-+index ed6131a..dc2405f 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze.md
|
|
|
-++++ b/gcc/config/microblaze/microblaze.md
|
|
|
-+@@ -2327,4 +2327,15 @@
|
|
|
-+ (set_attr "mode" "SI")
|
|
|
-+ (set_attr "length" "4")])
|
|
|
-+
|
|
|
-++; This is used in compiling the unwind routines.
|
|
|
-++(define_expand "eh_return"
|
|
|
-++ [(use (match_operand 0 "general_operand" ""))]
|
|
|
-++ ""
|
|
|
-++ "
|
|
|
-++{
|
|
|
-++ microblaze_eh_return(operands[0]);
|
|
|
-++ DONE;
|
|
|
-++}")
|
|
|
-++
|
|
|
-+ (include "sync.md")
|
|
|
-++
|
|
|
-+--
|
|
|
-+1.8.3.2
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.1/841-PR60102.patch b/package/gcc/4.9.1/841-PR60102.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..e34695d
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/841-PR60102.patch
|
|
|
-@@ -0,0 +1,388 @@
|
|
|
-+From https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
|
|
|
-+Target: 4.9.2
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff -Nura gcc-4.9.1.orig/gcc/config/rs6000/rs6000.c gcc-4.9.1/gcc/config/rs6000/rs6000.c
|
|
|
-+--- gcc-4.9.1.orig/gcc/config/rs6000/rs6000.c 2014-08-05 14:53:37.294498582 -0300
|
|
|
-++++ gcc-4.9.1/gcc/config/rs6000/rs6000.c 2014-08-05 14:58:33.972555735 -0300
|
|
|
-+@@ -1221,7 +1221,12 @@
|
|
|
-+ /* Soft frame pointer. */
|
|
|
-+ "sfp",
|
|
|
-+ /* HTM SPR registers. */
|
|
|
-+- "tfhar", "tfiar", "texasr"
|
|
|
-++ "tfhar", "tfiar", "texasr",
|
|
|
-++ /* SPE High registers. */
|
|
|
-++ "0", "1", "2", "3", "4", "5", "6", "7",
|
|
|
-++ "8", "9", "10", "11", "12", "13", "14", "15",
|
|
|
-++ "16", "17", "18", "19", "20", "21", "22", "23",
|
|
|
-++ "24", "25", "26", "27", "28", "29", "30", "31"
|
|
|
-+ };
|
|
|
-+
|
|
|
-+ #ifdef TARGET_REGNAMES
|
|
|
-+@@ -1249,7 +1254,12 @@
|
|
|
-+ /* Soft frame pointer. */
|
|
|
-+ "sfp",
|
|
|
-+ /* HTM SPR registers. */
|
|
|
-+- "tfhar", "tfiar", "texasr"
|
|
|
-++ "tfhar", "tfiar", "texasr",
|
|
|
-++ /* SPE High registers. */
|
|
|
-++ "%rh0", "%rh1", "%rh2", "%rh3", "%rh4", "%rh5", "%rh6", "%rh7",
|
|
|
-++ "%rh8", "%rh9", "%rh10", "%r11", "%rh12", "%rh13", "%rh14", "%rh15",
|
|
|
-++ "%rh16", "%rh17", "%rh18", "%rh19", "%rh20", "%rh21", "%rh22", "%rh23",
|
|
|
-++ "%rh24", "%rh25", "%rh26", "%rh27", "%rh28", "%rh29", "%rh30", "%rh31"
|
|
|
-+ };
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+@@ -31074,13 +31084,13 @@
|
|
|
-+ {
|
|
|
-+ if (BYTES_BIG_ENDIAN)
|
|
|
-+ {
|
|
|
-+- parts[2 * i] = gen_rtx_REG (SImode, regno + 1200);
|
|
|
-++ parts[2 * i] = gen_rtx_REG (SImode, regno + FIRST_SPE_HIGH_REGNO);
|
|
|
-+ parts[2 * i + 1] = gen_rtx_REG (SImode, regno);
|
|
|
-+ }
|
|
|
-+ else
|
|
|
-+ {
|
|
|
-+ parts[2 * i] = gen_rtx_REG (SImode, regno);
|
|
|
-+- parts[2 * i + 1] = gen_rtx_REG (SImode, regno + 1200);
|
|
|
-++ parts[2 * i + 1] = gen_rtx_REG (SImode, regno + FIRST_SPE_HIGH_REGNO);
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-+@@ -31100,11 +31110,11 @@
|
|
|
-+ rtx mem = gen_rtx_MEM (BLKmode, addr);
|
|
|
-+ rtx value = gen_int_mode (4, mode);
|
|
|
-+
|
|
|
-+- for (i = 1201; i < 1232; i++)
|
|
|
-++ for (i = FIRST_SPE_HIGH_REGNO; i < LAST_SPE_HIGH_REGNO+1; i++)
|
|
|
-+ {
|
|
|
-+- int column = DWARF_REG_TO_UNWIND_COLUMN (i);
|
|
|
-+- HOST_WIDE_INT offset
|
|
|
-+- = DWARF_FRAME_REGNUM (column) * GET_MODE_SIZE (mode);
|
|
|
-++ int column = DWARF_REG_TO_UNWIND_COLUMN
|
|
|
-++ (DWARF2_FRAME_REG_OUT (DWARF_FRAME_REGNUM (i), true));
|
|
|
-++ HOST_WIDE_INT offset = column * GET_MODE_SIZE (mode);
|
|
|
-+
|
|
|
-+ emit_move_insn (adjust_address (mem, mode, offset), value);
|
|
|
-+ }
|
|
|
-+@@ -31123,9 +31133,9 @@
|
|
|
-+
|
|
|
-+ for (i = FIRST_ALTIVEC_REGNO; i < LAST_ALTIVEC_REGNO+1; i++)
|
|
|
-+ {
|
|
|
-+- int column = DWARF_REG_TO_UNWIND_COLUMN (i);
|
|
|
-+- HOST_WIDE_INT offset
|
|
|
-+- = DWARF_FRAME_REGNUM (column) * GET_MODE_SIZE (mode);
|
|
|
-++ int column = DWARF_REG_TO_UNWIND_COLUMN
|
|
|
-++ (DWARF2_FRAME_REG_OUT (DWARF_FRAME_REGNUM (i), true));
|
|
|
-++ HOST_WIDE_INT offset = column * GET_MODE_SIZE (mode);
|
|
|
-+
|
|
|
-+ emit_move_insn (adjust_address (mem, mode, offset), value);
|
|
|
-+ }
|
|
|
-+@@ -31157,9 +31167,8 @@
|
|
|
-+ return 99;
|
|
|
-+ if (regno == SPEFSCR_REGNO)
|
|
|
-+ return 612;
|
|
|
-+- /* SPE high reg number. We get these values of regno from
|
|
|
-+- rs6000_dwarf_register_span. */
|
|
|
-+- gcc_assert (regno >= 1200 && regno < 1232);
|
|
|
-++ if (SPE_HIGH_REGNO_P (regno))
|
|
|
-++ return regno - FIRST_SPE_HIGH_REGNO + 1200;
|
|
|
-+ return regno;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+diff -Nura gcc-4.9.1.orig/gcc/config/rs6000/rs6000.h gcc-4.9.1/gcc/config/rs6000/rs6000.h
|
|
|
-+--- gcc-4.9.1.orig/gcc/config/rs6000/rs6000.h 2014-08-05 14:53:37.291498480 -0300
|
|
|
-++++ gcc-4.9.1/gcc/config/rs6000/rs6000.h 2014-08-05 14:58:33.974555802 -0300
|
|
|
-+@@ -930,35 +930,36 @@
|
|
|
-+
|
|
|
-+ The 3 HTM registers aren't also included in DWARF_FRAME_REGISTERS. */
|
|
|
-+
|
|
|
-+-#define FIRST_PSEUDO_REGISTER 117
|
|
|
-++#define FIRST_PSEUDO_REGISTER 149
|
|
|
-+
|
|
|
-+ /* This must be included for pre gcc 3.0 glibc compatibility. */
|
|
|
-+ #define PRE_GCC3_DWARF_FRAME_REGISTERS 77
|
|
|
-+
|
|
|
-+-/* Add 32 dwarf columns for synthetic SPE registers. */
|
|
|
-+-#define DWARF_FRAME_REGISTERS ((FIRST_PSEUDO_REGISTER - 4) + 32)
|
|
|
-++/* True if register is an SPE High register. */
|
|
|
-++#define SPE_HIGH_REGNO_P(N) \
|
|
|
-++ ((N) >= FIRST_SPE_HIGH_REGNO && (N) <= LAST_SPE_HIGH_REGNO)
|
|
|
-++
|
|
|
-++/* SPE high registers added as hard regs.
|
|
|
-++ The sfp register and 3 HTM registers
|
|
|
-++ aren't included in DWARF_FRAME_REGISTERS. */
|
|
|
-++#define DWARF_FRAME_REGISTERS (FIRST_PSEUDO_REGISTER - 4)
|
|
|
-+
|
|
|
-+ /* The SPE has an additional 32 synthetic registers, with DWARF debug
|
|
|
-+ info numbering for these registers starting at 1200. While eh_frame
|
|
|
-+ register numbering need not be the same as the debug info numbering,
|
|
|
-+- we choose to number these regs for eh_frame at 1200 too. This allows
|
|
|
-+- future versions of the rs6000 backend to add hard registers and
|
|
|
-+- continue to use the gcc hard register numbering for eh_frame. If the
|
|
|
-+- extra SPE registers in eh_frame were numbered starting from the
|
|
|
-+- current value of FIRST_PSEUDO_REGISTER, then if FIRST_PSEUDO_REGISTER
|
|
|
-+- changed we'd need to introduce a mapping in DWARF_FRAME_REGNUM to
|
|
|
-+- avoid invalidating older SPE eh_frame info.
|
|
|
-++ we choose to number these regs for eh_frame at 1200 too.
|
|
|
-+
|
|
|
-+ We must map them here to avoid huge unwinder tables mostly consisting
|
|
|
-+ of unused space. */
|
|
|
-+ #define DWARF_REG_TO_UNWIND_COLUMN(r) \
|
|
|
-+- ((r) > 1200 ? ((r) - 1200 + (DWARF_FRAME_REGISTERS - 32)) : (r))
|
|
|
-++ ((r) >= 1200 ? ((r) - 1200 + (DWARF_FRAME_REGISTERS - 32)) : (r))
|
|
|
-+
|
|
|
-+ /* Use standard DWARF numbering for DWARF debugging information. */
|
|
|
-+ #define DBX_REGISTER_NUMBER(REGNO) rs6000_dbx_register_number (REGNO)
|
|
|
-+
|
|
|
-+ /* Use gcc hard register numbering for eh_frame. */
|
|
|
-+-#define DWARF_FRAME_REGNUM(REGNO) (REGNO)
|
|
|
-++#define DWARF_FRAME_REGNUM(REGNO) \
|
|
|
-++ (SPE_HIGH_REGNO_P (REGNO) ? ((REGNO) - FIRST_SPE_HIGH_REGNO + 1200) : (REGNO))
|
|
|
-+
|
|
|
-+ /* Map register numbers held in the call frame info that gcc has
|
|
|
-+ collected using DWARF_FRAME_REGNUM to those that should be output in
|
|
|
-+@@ -992,7 +993,10 @@
|
|
|
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-+ 1, 1 \
|
|
|
-+- , 1, 1, 1, 1, 1, 1 \
|
|
|
-++ , 1, 1, 1, 1, 1, 1, \
|
|
|
-++ /* SPE High registers. */ \
|
|
|
-++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
|
|
|
-++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* 1 for registers not available across function calls.
|
|
|
-+@@ -1012,7 +1016,10 @@
|
|
|
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-+ 1, 1 \
|
|
|
-+- , 1, 1, 1, 1, 1, 1 \
|
|
|
-++ , 1, 1, 1, 1, 1, 1, \
|
|
|
-++ /* SPE High registers. */ \
|
|
|
-++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
|
|
|
-++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* Like `CALL_USED_REGISTERS' except this macro doesn't require that
|
|
|
-+@@ -1031,7 +1038,10 @@
|
|
|
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-+ 0, 0 \
|
|
|
-+- , 0, 0, 0, 0, 0, 0 \
|
|
|
-++ , 0, 0, 0, 0, 0, 0, \
|
|
|
-++ /* SPE High registers. */ \
|
|
|
-++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
|
|
-++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ #define TOTAL_ALTIVEC_REGS (LAST_ALTIVEC_REGNO - FIRST_ALTIVEC_REGNO + 1)
|
|
|
-+@@ -1114,7 +1124,10 @@
|
|
|
-+ 96, 95, 94, 93, 92, 91, \
|
|
|
-+ 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, \
|
|
|
-+ 109, 110, \
|
|
|
-+- 111, 112, 113, 114, 115, 116 \
|
|
|
-++ 111, 112, 113, 114, 115, 116, \
|
|
|
-++ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, \
|
|
|
-++ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, \
|
|
|
-++ 141, 142, 143, 144, 145, 146, 147, 148 \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* True if register is floating-point. */
|
|
|
-+@@ -1349,6 +1362,7 @@
|
|
|
-+ CR_REGS,
|
|
|
-+ NON_FLOAT_REGS,
|
|
|
-+ CA_REGS,
|
|
|
-++ SPE_HIGH_REGS,
|
|
|
-+ ALL_REGS,
|
|
|
-+ LIM_REG_CLASSES
|
|
|
-+ };
|
|
|
-+@@ -1380,6 +1394,7 @@
|
|
|
-+ "CR_REGS", \
|
|
|
-+ "NON_FLOAT_REGS", \
|
|
|
-+ "CA_REGS", \
|
|
|
-++ "SPE_HIGH_REGS", \
|
|
|
-+ "ALL_REGS" \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+@@ -1387,30 +1402,54 @@
|
|
|
-+ This is an initializer for a vector of HARD_REG_SET
|
|
|
-+ of length N_REG_CLASSES. */
|
|
|
-+
|
|
|
-+-#define REG_CLASS_CONTENTS \
|
|
|
-+-{ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* NO_REGS */ \
|
|
|
-+- { 0xfffffffe, 0x00000000, 0x00000008, 0x00020000 }, /* BASE_REGS */ \
|
|
|
-+- { 0xffffffff, 0x00000000, 0x00000008, 0x00020000 }, /* GENERAL_REGS */ \
|
|
|
-+- { 0x00000000, 0xffffffff, 0x00000000, 0x00000000 }, /* FLOAT_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0xffffe000, 0x00001fff }, /* ALTIVEC_REGS */ \
|
|
|
-+- { 0x00000000, 0xffffffff, 0xffffe000, 0x00001fff }, /* VSX_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000000, 0x00002000 }, /* VRSAVE_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000000, 0x00004000 }, /* VSCR_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000000, 0x00008000 }, /* SPE_ACC_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000000, 0x00010000 }, /* SPEFSCR_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000000, 0x00040000 }, /* SPR_REGS */ \
|
|
|
-+- { 0xffffffff, 0xffffffff, 0x00000008, 0x00020000 }, /* NON_SPECIAL_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000002, 0x00000000 }, /* LINK_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000004, 0x00000000 }, /* CTR_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000006, 0x00000000 }, /* LINK_OR_CTR_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000006, 0x00002000 }, /* SPECIAL_REGS */ \
|
|
|
-+- { 0xffffffff, 0x00000000, 0x0000000e, 0x00022000 }, /* SPEC_OR_GEN_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000010, 0x00000000 }, /* CR0_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00000ff0, 0x00000000 }, /* CR_REGS */ \
|
|
|
-+- { 0xffffffff, 0x00000000, 0x00000ffe, 0x00020000 }, /* NON_FLOAT_REGS */ \
|
|
|
-+- { 0x00000000, 0x00000000, 0x00001000, 0x00000000 }, /* CA_REGS */ \
|
|
|
-+- { 0xffffffff, 0xffffffff, 0xfffffffe, 0x0007ffff } /* ALL_REGS */ \
|
|
|
-++#define REG_CLASS_CONTENTS \
|
|
|
-++{ \
|
|
|
-++ /* NO_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* BASE_REGS. */ \
|
|
|
-++ { 0xfffffffe, 0x00000000, 0x00000008, 0x00020000, 0x00000000 }, \
|
|
|
-++ /* GENERAL_REGS. */ \
|
|
|
-++ { 0xffffffff, 0x00000000, 0x00000008, 0x00020000, 0x00000000 }, \
|
|
|
-++ /* FLOAT_REGS. */ \
|
|
|
-++ { 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* ALTIVEC_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0xffffe000, 0x00001fff, 0x00000000 }, \
|
|
|
-++ /* VSX_REGS. */ \
|
|
|
-++ { 0x00000000, 0xffffffff, 0xffffe000, 0x00001fff, 0x00000000 }, \
|
|
|
-++ /* VRSAVE_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0x00002000, 0x00000000 }, \
|
|
|
-++ /* VSCR_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000 }, \
|
|
|
-++ /* SPE_ACC_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0x00008000, 0x00000000 }, \
|
|
|
-++ /* SPEFSCR_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000 }, \
|
|
|
-++ /* SPR_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0x00040000, 0x00000000 }, \
|
|
|
-++ /* NON_SPECIAL_REGS. */ \
|
|
|
-++ { 0xffffffff, 0xffffffff, 0x00000008, 0x00020000, 0x00000000 }, \
|
|
|
-++ /* LINK_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* CTR_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* LINK_OR_CTR_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* SPECIAL_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000006, 0x00002000, 0x00000000 }, \
|
|
|
-++ /* SPEC_OR_GEN_REGS. */ \
|
|
|
-++ { 0xffffffff, 0x00000000, 0x0000000e, 0x00022000, 0x00000000 }, \
|
|
|
-++ /* CR0_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* CR_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000ff0, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* NON_FLOAT_REGS. */ \
|
|
|
-++ { 0xffffffff, 0x00000000, 0x00000ffe, 0x00020000, 0x00000000 }, \
|
|
|
-++ /* CA_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00001000, 0x00000000, 0x00000000 }, \
|
|
|
-++ /* SPE_HIGH_REGS. */ \
|
|
|
-++ { 0x00000000, 0x00000000, 0x00000000, 0xffe00000, 0x001fffff }, \
|
|
|
-++ /* ALL_REGS. */ \
|
|
|
-++ { 0xffffffff, 0xffffffff, 0xfffffffe, 0xffe7ffff, 0x001fffff } \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* The same information, inverted:
|
|
|
-+@@ -2349,6 +2388,39 @@
|
|
|
-+ &rs6000_reg_names[114][0], /* tfhar */ \
|
|
|
-+ &rs6000_reg_names[115][0], /* tfiar */ \
|
|
|
-+ &rs6000_reg_names[116][0], /* texasr */ \
|
|
|
-++ \
|
|
|
-++ &rs6000_reg_names[117][0], /* SPE rh0. */ \
|
|
|
-++ &rs6000_reg_names[118][0], /* SPE rh1. */ \
|
|
|
-++ &rs6000_reg_names[119][0], /* SPE rh2. */ \
|
|
|
-++ &rs6000_reg_names[120][0], /* SPE rh3. */ \
|
|
|
-++ &rs6000_reg_names[121][0], /* SPE rh4. */ \
|
|
|
-++ &rs6000_reg_names[122][0], /* SPE rh5. */ \
|
|
|
-++ &rs6000_reg_names[123][0], /* SPE rh6. */ \
|
|
|
-++ &rs6000_reg_names[124][0], /* SPE rh7. */ \
|
|
|
-++ &rs6000_reg_names[125][0], /* SPE rh8. */ \
|
|
|
-++ &rs6000_reg_names[126][0], /* SPE rh9. */ \
|
|
|
-++ &rs6000_reg_names[127][0], /* SPE rh10. */ \
|
|
|
-++ &rs6000_reg_names[128][0], /* SPE rh11. */ \
|
|
|
-++ &rs6000_reg_names[129][0], /* SPE rh12. */ \
|
|
|
-++ &rs6000_reg_names[130][0], /* SPE rh13. */ \
|
|
|
-++ &rs6000_reg_names[131][0], /* SPE rh14. */ \
|
|
|
-++ &rs6000_reg_names[132][0], /* SPE rh15. */ \
|
|
|
-++ &rs6000_reg_names[133][0], /* SPE rh16. */ \
|
|
|
-++ &rs6000_reg_names[134][0], /* SPE rh17. */ \
|
|
|
-++ &rs6000_reg_names[135][0], /* SPE rh18. */ \
|
|
|
-++ &rs6000_reg_names[136][0], /* SPE rh19. */ \
|
|
|
-++ &rs6000_reg_names[137][0], /* SPE rh20. */ \
|
|
|
-++ &rs6000_reg_names[138][0], /* SPE rh21. */ \
|
|
|
-++ &rs6000_reg_names[139][0], /* SPE rh22. */ \
|
|
|
-++ &rs6000_reg_names[140][0], /* SPE rh22. */ \
|
|
|
-++ &rs6000_reg_names[141][0], /* SPE rh24. */ \
|
|
|
-++ &rs6000_reg_names[142][0], /* SPE rh25. */ \
|
|
|
-++ &rs6000_reg_names[143][0], /* SPE rh26. */ \
|
|
|
-++ &rs6000_reg_names[144][0], /* SPE rh27. */ \
|
|
|
-++ &rs6000_reg_names[145][0], /* SPE rh28. */ \
|
|
|
-++ &rs6000_reg_names[146][0], /* SPE rh29. */ \
|
|
|
-++ &rs6000_reg_names[147][0], /* SPE rh30. */ \
|
|
|
-++ &rs6000_reg_names[148][0], /* SPE rh31. */ \
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* Table of additional register names to use in user input. */
|
|
|
-+@@ -2404,7 +2476,17 @@
|
|
|
-+ {"vs56", 101},{"vs57", 102},{"vs58", 103},{"vs59", 104}, \
|
|
|
-+ {"vs60", 105},{"vs61", 106},{"vs62", 107},{"vs63", 108}, \
|
|
|
-+ /* Transactional Memory Facility (HTM) Registers. */ \
|
|
|
-+- {"tfhar", 114}, {"tfiar", 115}, {"texasr", 116} }
|
|
|
-++ {"tfhar", 114}, {"tfiar", 115}, {"texasr", 116}, \
|
|
|
-++ /* SPE high registers. */ \
|
|
|
-++ {"rh0", 117}, {"rh1", 118}, {"rh2", 119}, {"rh3", 120}, \
|
|
|
-++ {"rh4", 121}, {"rh5", 122}, {"rh6", 123}, {"rh7", 124}, \
|
|
|
-++ {"rh8", 125}, {"rh9", 126}, {"rh10", 127}, {"rh11", 128}, \
|
|
|
-++ {"rh12", 129}, {"rh13", 130}, {"rh14", 131}, {"rh15", 132}, \
|
|
|
-++ {"rh16", 133}, {"rh17", 134}, {"rh18", 135}, {"rh19", 136}, \
|
|
|
-++ {"rh20", 137}, {"rh21", 138}, {"rh22", 139}, {"rh23", 140}, \
|
|
|
-++ {"rh24", 141}, {"rh25", 142}, {"rh26", 143}, {"rh27", 144}, \
|
|
|
-++ {"rh28", 145}, {"rh29", 146}, {"rh30", 147}, {"rh31", 148}, \
|
|
|
-++}
|
|
|
-+
|
|
|
-+ /* This is how to output an element of a case-vector that is relative. */
|
|
|
-+
|
|
|
-+diff -Nura gcc-4.9.1.orig/gcc/config/rs6000/rs6000.md gcc-4.9.1/gcc/config/rs6000/rs6000.md
|
|
|
-+--- gcc-4.9.1.orig/gcc/config/rs6000/rs6000.md 2014-08-05 14:53:37.292498514 -0300
|
|
|
-++++ gcc-4.9.1/gcc/config/rs6000/rs6000.md 2014-08-05 14:58:33.977555904 -0300
|
|
|
-+@@ -56,6 +56,8 @@
|
|
|
-+ (TFHAR_REGNO 114)
|
|
|
-+ (TFIAR_REGNO 115)
|
|
|
-+ (TEXASR_REGNO 116)
|
|
|
-++ (FIRST_SPE_HIGH_REGNO 117)
|
|
|
-++ (LAST_SPE_HIGH_REGNO 148)
|
|
|
-+ ])
|
|
|
-+
|
|
|
-+ ;;
|
|
|
-+diff -Nura gcc-4.9.1.orig/gcc/testsuite/gcc.target/powerpc/pr60102.c gcc-4.9.1/gcc/testsuite/gcc.target/powerpc/pr60102.c
|
|
|
-+--- gcc-4.9.1.orig/gcc/testsuite/gcc.target/powerpc/pr60102.c 1969-12-31 21:00:00.000000000 -0300
|
|
|
-++++ gcc-4.9.1/gcc/testsuite/gcc.target/powerpc/pr60102.c 2014-08-05 14:58:13.847873524 -0300
|
|
|
-+@@ -0,0 +1,11 @@
|
|
|
-++/* { dg-do compile } */
|
|
|
-++/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } { "*" } { "" } } */
|
|
|
-++/* { dg-options "-mcpu=8548 -mspe -mabi=spe -g -mfloat-gprs=double" } */
|
|
|
-++
|
|
|
-++double
|
|
|
-++pr60102 (double x, int m)
|
|
|
-++{
|
|
|
-++ double y;
|
|
|
-++ y = m % 2 ? x : 1;
|
|
|
-++ return y;
|
|
|
-++}
|
|
|
-+diff -Nura gcc-4.9.1.orig/libgcc/config/rs6000/linux-unwind.h gcc-4.9.1/libgcc/config/rs6000/linux-unwind.h
|
|
|
-+--- gcc-4.9.1.orig/libgcc/config/rs6000/linux-unwind.h 2014-08-05 14:53:48.900892029 -0300
|
|
|
-++++ gcc-4.9.1/libgcc/config/rs6000/linux-unwind.h 2014-08-05 14:58:33.979555972 -0300
|
|
|
-+@@ -274,8 +274,8 @@
|
|
|
-+ #ifdef __SPE__
|
|
|
-+ for (i = 14; i < 32; i++)
|
|
|
-+ {
|
|
|
-+- fs->regs.reg[i + FIRST_PSEUDO_REGISTER - 1].how = REG_SAVED_OFFSET;
|
|
|
-+- fs->regs.reg[i + FIRST_PSEUDO_REGISTER - 1].loc.offset
|
|
|
-++ fs->regs.reg[i + FIRST_SPE_HIGH_REGNO - 4].how = REG_SAVED_OFFSET;
|
|
|
-++ fs->regs.reg[i + FIRST_SPE_HIGH_REGNO - 4].loc.offset
|
|
|
-+ = (long) ®s->vregs - new_cfa + 4 * i;
|
|
|
-+ }
|
|
|
-+ #endif
|
|
|
-diff --git a/package/gcc/4.9.1/900-musl-support.patch b/package/gcc/4.9.1/900-musl-support.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..5b3dfa5
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/900-musl-support.patch
|
|
|
-@@ -0,0 +1,696 @@
|
|
|
-+Add musl support to gcc
|
|
|
-+
|
|
|
-+This patch comes from the musl-cross project at
|
|
|
-+https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version:
|
|
|
-+
|
|
|
-+ * the config.sub modifications have been removed, because Buildroot
|
|
|
-+ already overwrites all config.sub with a more recent config.sub
|
|
|
-+ that has musl support.
|
|
|
-+
|
|
|
-+ * change to ensure that a dummy dynamic linker path
|
|
|
-+ MUSL_DYNAMIC_LINKER<foo> is defined for all architectures,
|
|
|
-+ otherwise building gcc for architectures not supported by musl was
|
|
|
-+ causing build failure. Bug reported upstream at
|
|
|
-+ https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on.
|
|
|
-+
|
|
|
-+[Gustavo: remove upstream applied gcc/config/sh/sh.c chunk for 4.9.1]
|
|
|
-+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
-+---
|
|
|
-+
|
|
|
-+Index: b/fixincludes/mkfixinc.sh
|
|
|
-+===================================================================
|
|
|
-+--- a/fixincludes/mkfixinc.sh
|
|
|
-++++ b/fixincludes/mkfixinc.sh
|
|
|
-+@@ -19,7 +19,8 @@
|
|
|
-+ powerpc-*-eabi* | \
|
|
|
-+ powerpc-*-rtems* | \
|
|
|
-+ powerpcle-*-eabisim* | \
|
|
|
-+- powerpcle-*-eabi* )
|
|
|
-++ powerpcle-*-eabi* | \
|
|
|
-++ *-musl* )
|
|
|
-+ # IF there is no include fixing,
|
|
|
-+ # THEN create a no-op fixer and exit
|
|
|
-+ (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
|
|
|
-+Index: b/gcc/config.gcc
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config.gcc
|
|
|
-++++ b/gcc/config.gcc
|
|
|
-+@@ -594,7 +594,7 @@
|
|
|
-+ esac
|
|
|
-+
|
|
|
-+ # Common C libraries.
|
|
|
-+-tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
|
|
|
-++tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
|
|
|
-+
|
|
|
-+ # 32-bit x86 processors supported by --with-arch=. Each processor
|
|
|
-+ # MUST be separated by exactly one space.
|
|
|
-+@@ -719,6 +719,9 @@
|
|
|
-+ *-*-*uclibc*)
|
|
|
-+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
|
|
|
-+ ;;
|
|
|
-++ *-*-*musl*)
|
|
|
-++ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
|
|
|
-++ ;;
|
|
|
-+ *)
|
|
|
-+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
|
|
|
-+ ;;
|
|
|
-+@@ -2323,6 +2326,10 @@
|
|
|
-+ powerpc*-*-linux*paired*)
|
|
|
-+ tm_file="${tm_file} rs6000/750cl.h" ;;
|
|
|
-+ esac
|
|
|
-++ case ${target} in
|
|
|
-++ *-linux*-musl*)
|
|
|
-++ enable_secureplt=yes ;;
|
|
|
-++ esac
|
|
|
-+ if test x${enable_secureplt} = xyes; then
|
|
|
-+ tm_file="rs6000/secureplt.h ${tm_file}"
|
|
|
-+ fi
|
|
|
-+Index: b/gcc/config/aarch64/aarch64-linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/aarch64/aarch64-linux.h
|
|
|
-++++ b/gcc/config/aarch64/aarch64-linux.h
|
|
|
-+@@ -22,6 +22,8 @@
|
|
|
-+ #define GCC_AARCH64_LINUX_H
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1"
|
|
|
-+
|
|
|
-+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
|
|
|
-+
|
|
|
-+Index: b/gcc/config/arm/linux-eabi.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/arm/linux-eabi.h
|
|
|
-++++ b/gcc/config/arm/linux-eabi.h
|
|
|
-+@@ -77,6 +77,23 @@
|
|
|
-+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
|
|
|
-+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
|
|
|
-+
|
|
|
-++/* For ARM musl currently supports four dynamic linkers:
|
|
|
-++ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
|
|
|
-++ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI
|
|
|
-++ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB
|
|
|
-++ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB
|
|
|
-++ musl does not support the legacy OABI mode.
|
|
|
-++ All the dynamic linkers live in /lib.
|
|
|
-++ We default to soft-float, EL. */
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#if TARGET_BIG_ENDIAN_DEFAULT
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
|
|
|
-++#endif
|
|
|
-++#define MUSL_DYNAMIC_LINKER \
|
|
|
-++ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
|
|
|
-++
|
|
|
-+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
|
|
|
-+ use the GNU/Linux version, not the generic BPABI version. */
|
|
|
-+ #undef LINK_SPEC
|
|
|
-+Index: b/gcc/config/i386/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/i386/linux.h
|
|
|
-++++ b/gcc/config/i386/linux.h
|
|
|
-+@@ -21,3 +21,5 @@
|
|
|
-+
|
|
|
-+ #define GNU_USER_LINK_EMULATION "elf_i386"
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
|
|
-+Index: b/gcc/config/i386/linux64.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/i386/linux64.h
|
|
|
-++++ b/gcc/config/i386/linux64.h
|
|
|
-+@@ -30,3 +30,10 @@
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
|
|
|
-+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
|
|
|
-++
|
|
|
-++#undef MUSL_DYNAMIC_LINKER32
|
|
|
-++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER64
|
|
|
-++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKERX32
|
|
|
-++#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
|
|
|
-+Index: b/gcc/config/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/linux.h
|
|
|
-++++ b/gcc/config/linux.h
|
|
|
-+@@ -32,10 +32,12 @@
|
|
|
-+ #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
|
|
|
-+ #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
|
|
|
-+ #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
|
|
|
-++#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL)
|
|
|
-+ #else
|
|
|
-+ #define OPTION_GLIBC (linux_libc == LIBC_GLIBC)
|
|
|
-+ #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
|
|
|
-+ #define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
|
|
|
-++#define OPTION_MUSL (linux_libc == LIBC_MUSL)
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+ #define GNU_USER_TARGET_OS_CPP_BUILTINS() \
|
|
|
-+@@ -53,18 +55,21 @@
|
|
|
-+ uClibc or Bionic is the default C library and whether
|
|
|
-+ -muclibc or -mglibc or -mbionic has been passed to change the default. */
|
|
|
-+
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \
|
|
|
-+- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \
|
|
|
-++ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}"
|
|
|
-+
|
|
|
-+ #if DEFAULT_LIBC == LIBC_GLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B)
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M)
|
|
|
-+ #elif DEFAULT_LIBC == LIBC_UCLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B)
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M)
|
|
|
-+ #elif DEFAULT_LIBC == LIBC_BIONIC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U)
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M)
|
|
|
-++#elif DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B)
|
|
|
-+ #else
|
|
|
-+ #error "Unsupported DEFAULT_LIBC"
|
|
|
-+ #endif /* DEFAULT_LIBC */
|
|
|
-+@@ -82,23 +87,103 @@
|
|
|
-+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
|
|
|
-+ #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32"
|
|
|
-+
|
|
|
-++/* Musl dynamic linker paths must be defined on a per-architecture
|
|
|
-++ basis, for each architecture supported by Musl. However, in order
|
|
|
-++ to let other architectures continue to build with other C
|
|
|
-++ libraries, we provide a dummy definition of the following defines. */
|
|
|
-++#define MUSL_DYNAMIC_LINKER "invalid"
|
|
|
-++#define MUSL_DYNAMIC_LINKER32 "invalid"
|
|
|
-++#define MUSL_DYNAMIC_LINKER64 "invalid"
|
|
|
-++#define MUSL_DYNAMIC_LINKERX32 "invalid"
|
|
|
-++
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
|
|
|
-+- BIONIC_DYNAMIC_LINKER)
|
|
|
-++ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER32 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
|
|
|
-+- BIONIC_DYNAMIC_LINKER32)
|
|
|
-++ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER64 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
|
|
|
-+- BIONIC_DYNAMIC_LINKER64)
|
|
|
-++ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKERX32 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \
|
|
|
-+- BIONIC_DYNAMIC_LINKERX32)
|
|
|
-++ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKER32)
|
|
|
-+
|
|
|
-+ /* Whether we have Bionic libc runtime */
|
|
|
-+ #undef TARGET_HAS_BIONIC
|
|
|
-+ #define TARGET_HAS_BIONIC (OPTION_BIONIC)
|
|
|
-+
|
|
|
-++/* musl avoids problematic includes by rearranging the include directories.
|
|
|
-++ * Unfortunately, this is mostly duplicated from cppdefault.c */
|
|
|
-++#if DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_GPP \
|
|
|
-++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
|
|
|
-++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
|
|
|
-++ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \
|
|
|
-++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
|
|
|
-++ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \
|
|
|
-++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
|
|
|
-++
|
|
|
-++#ifdef LOCAL_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_LOCAL \
|
|
|
-++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \
|
|
|
-++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_LOCAL
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef PREFIX_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_PREFIX \
|
|
|
-++ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_PREFIX
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef CROSS_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_CROSS \
|
|
|
-++ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_CROSS
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef TOOL_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_TOOL \
|
|
|
-++ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_TOOL
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef NATIVE_SYSTEM_HEADER_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
|
|
-++ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
|
|
-++ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT)
|
|
|
-++# undef INCLUDE_DEFAULTS_MUSL_LOCAL
|
|
|
-++# define INCLUDE_DEFAULTS_MUSL_LOCAL
|
|
|
-++# undef INCLUDE_DEFAULTS_MUSL_NATIVE
|
|
|
-++# define INCLUDE_DEFAULTS_MUSL_NATIVE
|
|
|
-++#else
|
|
|
-++# undef INCLUDE_DEFAULTS_MUSL_CROSS
|
|
|
-++# define INCLUDE_DEFAULTS_MUSL_CROSS
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#undef INCLUDE_DEFAULTS
|
|
|
-++#define INCLUDE_DEFAULTS \
|
|
|
-++ { \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_GPP \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_PREFIX \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_CROSS \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_TOOL \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_NATIVE \
|
|
|
-++ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
|
|
-++ { 0, 0, 0, 0, 0, 0 } \
|
|
|
-++ }
|
|
|
-++#endif
|
|
|
-++
|
|
|
-+ #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
|
|
|
-+ /* This is a *uclinux* target. We don't define below macros to normal linux
|
|
|
-+ versions, because doing so would require *uclinux* targets to include
|
|
|
-+Index: b/gcc/config/linux.opt
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/linux.opt
|
|
|
-++++ b/gcc/config/linux.opt
|
|
|
-+@@ -30,3 +30,7 @@
|
|
|
-+ muclibc
|
|
|
-+ Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
|
|
|
-+ Use uClibc C library
|
|
|
-++
|
|
|
-++mmusl
|
|
|
-++Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
|
|
|
-++Use musl C library
|
|
|
-+Index: b/gcc/config/microblaze/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/microblaze/linux.h
|
|
|
-++++ b/gcc/config/microblaze/linux.h
|
|
|
-+@@ -25,7 +25,23 @@
|
|
|
-+ #undef TLS_NEEDS_GOT
|
|
|
-+ #define TLS_NEEDS_GOT 1
|
|
|
-+
|
|
|
-+-#define DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-++#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
|
|
-++#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-++
|
|
|
-++#if DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER
|
|
|
-++#else
|
|
|
-++#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++
|
|
|
-+ #undef SUBTARGET_EXTRA_SPECS
|
|
|
-+ #define SUBTARGET_EXTRA_SPECS \
|
|
|
-+ { "dynamic_linker", DYNAMIC_LINKER }
|
|
|
-+Index: b/gcc/config/rs6000/linux64.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/rs6000/linux64.h
|
|
|
-++++ b/gcc/config/rs6000/linux64.h
|
|
|
-+@@ -375,17 +375,23 @@
|
|
|
-+ #endif
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER32
|
|
|
-++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER64
|
|
|
-++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1"
|
|
|
-+ #if DEFAULT_LIBC == LIBC_UCLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
|
|
|
-+ #elif DEFAULT_LIBC == LIBC_GLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
|
|
|
-++#elif DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
|
|
|
-+ #else
|
|
|
-+ #error "Unsupported DEFAULT_LIBC"
|
|
|
-+ #endif
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER32 \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
|
|
|
-++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER64 \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
|
|
|
-++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
|
|
|
-+
|
|
|
-+ #undef DEFAULT_ASM_ENDIAN
|
|
|
-+ #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
|
|
|
-+Index: b/gcc/config/rs6000/secureplt.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/rs6000/secureplt.h
|
|
|
-++++ b/gcc/config/rs6000/secureplt.h
|
|
|
-+@@ -18,3 +18,4 @@
|
|
|
-+ <http://www.gnu.org/licenses/>. */
|
|
|
-+
|
|
|
-+ #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"
|
|
|
-++#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt"
|
|
|
-+Index: b/gcc/config/rs6000/sysv4.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/rs6000/sysv4.h
|
|
|
-++++ b/gcc/config/rs6000/sysv4.h
|
|
|
-+@@ -537,6 +537,9 @@
|
|
|
-+ #ifndef CC1_SECURE_PLT_DEFAULT_SPEC
|
|
|
-+ #define CC1_SECURE_PLT_DEFAULT_SPEC ""
|
|
|
-+ #endif
|
|
|
-++#ifndef LINK_SECURE_PLT_DEFAULT_SPEC
|
|
|
-++#define LINK_SECURE_PLT_DEFAULT_SPEC ""
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ /* Pass -G xxx to the compiler. */
|
|
|
-+ #define CC1_SPEC "%{G*} %(cc1_cpu)" \
|
|
|
-+@@ -585,7 +588,8 @@
|
|
|
-+
|
|
|
-+ /* Override the default target of the linker. */
|
|
|
-+ #define LINK_TARGET_SPEC \
|
|
|
-+- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "")
|
|
|
-++ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \
|
|
|
-++ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}"
|
|
|
-+
|
|
|
-+ /* Any specific OS flags. */
|
|
|
-+ #define LINK_OS_SPEC "\
|
|
|
-+@@ -763,15 +767,18 @@
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1"
|
|
|
-+ #if DEFAULT_LIBC == LIBC_UCLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
|
|
|
-++#elif DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
|
|
|
-+ #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
|
|
|
-+ #else
|
|
|
-+ #error "Unsupported DEFAULT_LIBC"
|
|
|
-+ #endif
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
|
|
|
-++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
|
|
|
-+
|
|
|
-+ #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
|
|
|
-+ %{rdynamic:-export-dynamic} \
|
|
|
-+@@ -894,6 +901,7 @@
|
|
|
-+ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
|
|
|
-+ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
|
|
-+ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
|
|
|
-++ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \
|
|
|
-+ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \
|
|
|
-+ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
|
|
|
-+ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
|
|
|
-+Index: b/gcc/config/sh/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/sh/linux.h
|
|
|
-++++ b/gcc/config/sh/linux.h
|
|
|
-+@@ -43,7 +43,15 @@
|
|
|
-+
|
|
|
-+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
|
|
-+
|
|
|
-++#if TARGET_BIG_ENDIAN_DEFAULT /* BE */
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "eb"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E
|
|
|
-++#endif
|
|
|
-++
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1"
|
|
|
-+
|
|
|
-+ #undef SUBTARGET_LINK_EMUL_SUFFIX
|
|
|
-+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
|
|
|
-+Index: b/gcc/configure
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/configure
|
|
|
-++++ b/gcc/configure
|
|
|
-+@@ -27300,6 +27300,9 @@
|
|
|
-+ else
|
|
|
-+ gcc_cv_libc_provides_ssp=no
|
|
|
-+ case "$target" in
|
|
|
-++ *-*-musl*)
|
|
|
-++ # All versions of musl provide stack protector
|
|
|
-++ gcc_cv_libc_provides_ssp=yes;;
|
|
|
-+ *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
|
|
-+ # glibc 2.4 and later provides __stack_chk_fail and
|
|
|
-+ # either __stack_chk_guard, or TLS access to stack guard canary.
|
|
|
-+@@ -27332,6 +27335,7 @@
|
|
|
-+ # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
|
|
|
-+ # simply assert that glibc does provide this, which is true for all
|
|
|
-+ # realistically usable GNU/Hurd configurations.
|
|
|
-++ # All supported versions of musl provide it as well
|
|
|
-+ gcc_cv_libc_provides_ssp=yes;;
|
|
|
-+ *-*-darwin* | *-*-freebsd*)
|
|
|
-+ ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
|
|
|
-+@@ -27421,6 +27425,9 @@
|
|
|
-+ gcc_cv_target_dl_iterate_phdr=no
|
|
|
-+ fi
|
|
|
-+ ;;
|
|
|
-++ *-linux-musl*)
|
|
|
-++ gcc_cv_target_dl_iterate_phdr=yes
|
|
|
-++ ;;
|
|
|
-+ esac
|
|
|
-+
|
|
|
-+ if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
|
|
|
-+Index: b/gcc/configure.ac
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/configure.ac
|
|
|
-++++ b/gcc/configure.ac
|
|
|
-+@@ -5001,6 +5001,9 @@
|
|
|
-+ gcc_cv_libc_provides_ssp,
|
|
|
-+ [gcc_cv_libc_provides_ssp=no
|
|
|
-+ case "$target" in
|
|
|
-++ *-*-musl*)
|
|
|
-++ # All versions of musl provide stack protector
|
|
|
-++ gcc_cv_libc_provides_ssp=yes;;
|
|
|
-+ *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
|
|
-+ # glibc 2.4 and later provides __stack_chk_fail and
|
|
|
-+ # either __stack_chk_guard, or TLS access to stack guard canary.
|
|
|
-+@@ -5027,6 +5030,7 @@
|
|
|
-+ # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
|
|
|
-+ # simply assert that glibc does provide this, which is true for all
|
|
|
-+ # realistically usable GNU/Hurd configurations.
|
|
|
-++ # All supported versions of musl provide it as well
|
|
|
-+ gcc_cv_libc_provides_ssp=yes;;
|
|
|
-+ *-*-darwin* | *-*-freebsd*)
|
|
|
-+ AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
|
|
|
-+@@ -5093,6 +5097,9 @@
|
|
|
-+ gcc_cv_target_dl_iterate_phdr=no
|
|
|
-+ fi
|
|
|
-+ ;;
|
|
|
-++ *-linux-musl*)
|
|
|
-++ gcc_cv_target_dl_iterate_phdr=yes
|
|
|
-++ ;;
|
|
|
-+ esac
|
|
|
-+ GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
|
|
|
-+ if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
|
|
|
-+Index: b/gcc/ginclude/stddef.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/ginclude/stddef.h
|
|
|
-++++ b/gcc/ginclude/stddef.h
|
|
|
-+@@ -181,6 +181,7 @@
|
|
|
-+ #ifndef _GCC_SIZE_T
|
|
|
-+ #ifndef _SIZET_
|
|
|
-+ #ifndef __size_t
|
|
|
-++#ifndef __DEFINED_size_t /* musl */
|
|
|
-+ #define __size_t__ /* BeOS */
|
|
|
-+ #define __SIZE_T__ /* Cray Unicos/Mk */
|
|
|
-+ #define _SIZE_T
|
|
|
-+@@ -197,6 +198,7 @@
|
|
|
-+ #define ___int_size_t_h
|
|
|
-+ #define _GCC_SIZE_T
|
|
|
-+ #define _SIZET_
|
|
|
-++#define __DEFINED_size_t /* musl */
|
|
|
-+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
|
|
|
-+ || defined(__FreeBSD_kernel__)
|
|
|
-+ /* __size_t is a typedef on FreeBSD 5, must not trash it. */
|
|
|
-+@@ -214,6 +216,7 @@
|
|
|
-+ typedef long ssize_t;
|
|
|
-+ #endif /* __BEOS__ */
|
|
|
-+ #endif /* !(defined (__GNUG__) && defined (size_t)) */
|
|
|
-++#endif /* __DEFINED_size_t */
|
|
|
-+ #endif /* __size_t */
|
|
|
-+ #endif /* _SIZET_ */
|
|
|
-+ #endif /* _GCC_SIZE_T */
|
|
|
-+Index: b/libgcc/unwind-dw2-fde-dip.c
|
|
|
-+===================================================================
|
|
|
-+--- a/libgcc/unwind-dw2-fde-dip.c
|
|
|
-++++ b/libgcc/unwind-dw2-fde-dip.c
|
|
|
-+@@ -46,33 +46,13 @@
|
|
|
-+ #include "unwind-compat.h"
|
|
|
-+ #include "gthr.h"
|
|
|
-+
|
|
|
-+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
|
-+- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
|
|
|
-+- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
|
|
|
-+-# define USE_PT_GNU_EH_FRAME
|
|
|
-+-#endif
|
|
|
-+-
|
|
|
-+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
|
-+- && defined(__BIONIC__)
|
|
|
-+-# define USE_PT_GNU_EH_FRAME
|
|
|
-+-#endif
|
|
|
-+-
|
|
|
-+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
|
-+- && defined(__FreeBSD__) && __FreeBSD__ >= 7
|
|
|
-+-# define ElfW __ElfN
|
|
|
-+-# define USE_PT_GNU_EH_FRAME
|
|
|
-+-#endif
|
|
|
-+-
|
|
|
-+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
|
-+- && defined(__OpenBSD__)
|
|
|
-+-# define ElfW(type) Elf_##type
|
|
|
-+-# define USE_PT_GNU_EH_FRAME
|
|
|
-+-#endif
|
|
|
-+-
|
|
|
-+-#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
|
-+- && defined(TARGET_DL_ITERATE_PHDR) \
|
|
|
-+- && defined(__sun__) && defined(__svr4__)
|
|
|
-++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR)
|
|
|
-+ # define USE_PT_GNU_EH_FRAME
|
|
|
-++# ifdef __OpenBSD__
|
|
|
-++# define ElfW(type) Elf_##type
|
|
|
-++# elif defined(__FreeBSD__) && __FreeBSD__ >= 7
|
|
|
-++# define ElfW __ElfN
|
|
|
-++# endif
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+ #if defined(USE_PT_GNU_EH_FRAME)
|
|
|
-+Index: b/libgomp/config/posix/time.c
|
|
|
-+===================================================================
|
|
|
-+--- a/libgomp/config/posix/time.c
|
|
|
-++++ b/libgomp/config/posix/time.c
|
|
|
-+@@ -28,6 +28,8 @@
|
|
|
-+ The following implementation uses the most simple POSIX routines.
|
|
|
-+ If present, POSIX 4 clocks should be used instead. */
|
|
|
-+
|
|
|
-++#define _POSIX_C_SOURCE 199309L /* for clocks */
|
|
|
-++
|
|
|
-+ #include "libgomp.h"
|
|
|
-+ #include <unistd.h>
|
|
|
-+ #if TIME_WITH_SYS_TIME
|
|
|
-+Index: b/libitm/config/arm/hwcap.cc
|
|
|
-+===================================================================
|
|
|
-+--- a/libitm/config/arm/hwcap.cc
|
|
|
-++++ b/libitm/config/arm/hwcap.cc
|
|
|
-+@@ -40,7 +40,11 @@
|
|
|
-+
|
|
|
-+ #ifdef __linux__
|
|
|
-+ #include <unistd.h>
|
|
|
-++#ifdef __GLIBC__
|
|
|
-+ #include <sys/fcntl.h>
|
|
|
-++#else
|
|
|
-++#include <fcntl.h>
|
|
|
-++#endif
|
|
|
-+ #include <elf.h>
|
|
|
-+
|
|
|
-+ static void __attribute__((constructor))
|
|
|
-+Index: b/libitm/config/linux/x86/tls.h
|
|
|
-+===================================================================
|
|
|
-+--- a/libitm/config/linux/x86/tls.h
|
|
|
-++++ b/libitm/config/linux/x86/tls.h
|
|
|
-+@@ -25,16 +25,19 @@
|
|
|
-+ #ifndef LIBITM_X86_TLS_H
|
|
|
-+ #define LIBITM_X86_TLS_H 1
|
|
|
-+
|
|
|
-+-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
|
|
|
-++#if defined(__GLIBC_PREREQ)
|
|
|
-++#if __GLIBC_PREREQ(2, 10)
|
|
|
-+ /* Use slots in the TCB head rather than __thread lookups.
|
|
|
-+ GLIBC has reserved words 10 through 13 for TM. */
|
|
|
-+ #define HAVE_ARCH_GTM_THREAD 1
|
|
|
-+ #define HAVE_ARCH_GTM_THREAD_DISP 1
|
|
|
-+ #endif
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ #include "config/generic/tls.h"
|
|
|
-+
|
|
|
-+-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
|
|
|
-++#if defined(__GLIBC_PREREQ)
|
|
|
-++#if __GLIBC_PREREQ(2, 10)
|
|
|
-+ namespace GTM HIDDEN {
|
|
|
-+
|
|
|
-+ #ifdef __x86_64__
|
|
|
-+@@ -101,5 +104,6 @@
|
|
|
-+
|
|
|
-+ } // namespace GTM
|
|
|
-+ #endif /* >= GLIBC 2.10 */
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ #endif // LIBITM_X86_TLS_H
|
|
|
-+Index: b/libstdc++-v3/configure.host
|
|
|
-+===================================================================
|
|
|
-+--- a/libstdc++-v3/configure.host
|
|
|
-++++ b/libstdc++-v3/configure.host
|
|
|
-+@@ -264,6 +264,13 @@
|
|
|
-+ os_include_dir="os/bsd/freebsd"
|
|
|
-+ ;;
|
|
|
-+ gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
|
|
|
-++ # check for musl by target
|
|
|
-++ case "${host_os}" in
|
|
|
-++ *-musl*)
|
|
|
-++ os_include_dir="os/generic"
|
|
|
-++ ;;
|
|
|
-++ *)
|
|
|
-++
|
|
|
-+ if [ "$uclibc" = "yes" ]; then
|
|
|
-+ os_include_dir="os/uclibc"
|
|
|
-+ elif [ "$bionic" = "yes" ]; then
|
|
|
-+@@ -272,6 +279,9 @@
|
|
|
-+ os_include_dir="os/gnu-linux"
|
|
|
-+ fi
|
|
|
-+ ;;
|
|
|
-++
|
|
|
-++ esac
|
|
|
-++ ;;
|
|
|
-+ hpux*)
|
|
|
-+ os_include_dir="os/hpux"
|
|
|
-+ ;;
|
|
|
-+Index: b/gcc/config/mips/linux64.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/mips/linux64.h
|
|
|
-++++ b/gcc/config/mips/linux64.h
|
|
|
-+@@ -41,4 +41,4 @@
|
|
|
-+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKERN32 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
|
|
|
-+- BIONIC_DYNAMIC_LINKERN32)
|
|
|
-++ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER)
|
|
|
-+Index: b/gcc/config/mips/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/mips/linux.h
|
|
|
-++++ b/gcc/config/mips/linux.h
|
|
|
-+@@ -23,3 +23,11 @@
|
|
|
-+ #undef UCLIBC_DYNAMIC_LINKER
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER \
|
|
|
-+ "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
|
|
|
-++
|
|
|
-++#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
|
|
|
-++#endif
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1"
|
|
|
-diff --git a/package/gcc/4.9.1/powerpc-link-with-math-lib.patch.conditional b/package/gcc/4.9.1/powerpc-link-with-math-lib.patch.conditional
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b7094fe
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.1/powerpc-link-with-math-lib.patch.conditional
|
|
|
-@@ -0,0 +1,122 @@
|
|
|
-+http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
|
|
|
-+
|
|
|
-+On glibc the libc.so carries a copy of the math function copysignl() but
|
|
|
-+on uClibc math functions like copysignl() live in libm. Since libgcc_s
|
|
|
-+contains unresolved symbols, any attempt to link against libgcc_s
|
|
|
-+without explicitely specifying -lm fails, resulting in a broken
|
|
|
-+bootstrap of the compiler.
|
|
|
-+
|
|
|
-+Forward port to gcc 4.5.1 by Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+---
|
|
|
-+ libgcc/Makefile.in | 4 +++-
|
|
|
-+ libgcc/configure | 32 ++++++++++++++++++++++++++++++++
|
|
|
-+ libgcc/configure.ac | 21 +++++++++++++++++++++
|
|
|
-+ 3 files changed, 56 insertions(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+Index: gcc-4.8.0/libgcc/Makefile.in
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100
|
|
|
-+@@ -41,6 +41,7 @@
|
|
|
-+ decimal_float = @decimal_float@
|
|
|
-+ enable_decimal_float = @enable_decimal_float@
|
|
|
-+ fixed_point = @fixed_point@
|
|
|
-++LIBGCC_LIBM = @LIBGCC_LIBM@
|
|
|
-+
|
|
|
-+ host_noncanonical = @host_noncanonical@
|
|
|
-+ target_noncanonical = @target_noncanonical@
|
|
|
-+@@ -927,9 +928,10 @@
|
|
|
-+ @multilib_dir@,$(MULTIDIR),$(subst \
|
|
|
-+ @shlib_objs@,$(objects) libgcc.a,$(subst \
|
|
|
-+ @shlib_base_name@,libgcc_s,$(subst \
|
|
|
-++ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \
|
|
|
-+ @shlib_map_file@,$(mapfile),$(subst \
|
|
|
-+ @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
|
|
|
-+- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
|
|
|
-++ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
|
|
|
-+
|
|
|
-+ libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
|
|
|
-+ # @multilib_flags@ is still needed because this may use
|
|
|
-+Index: gcc-4.8.0/libgcc/configure
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100
|
|
|
-+@@ -564,6 +564,7 @@
|
|
|
-+ tmake_file
|
|
|
-+ sfp_machine_header
|
|
|
-+ set_use_emutls
|
|
|
-++LIBGCC_LIBM
|
|
|
-+ set_have_cc_tls
|
|
|
-+ vis_hide
|
|
|
-+ fixed_point
|
|
|
-+@@ -4481,6 +4482,37 @@
|
|
|
-+ fi
|
|
|
-+ fi
|
|
|
-+
|
|
|
-++# On powerpc libgcc_s references copysignl which is a libm function but
|
|
|
-++# glibc apparently also provides it via libc as opposed to uClibc where
|
|
|
-++# it lives in libm.
|
|
|
-++echo "$as_me:$LINENO: checking for library containing copysignl" >&5
|
|
|
-++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
|
|
|
-++if test "${libgcc_cv_copysignl_lib+set}" = set; then
|
|
|
-++ echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
|
-++else
|
|
|
-++
|
|
|
-++ echo '#include <features.h>' > conftest.c
|
|
|
-++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
|
|
|
-++ libgcc_cv_copysignl_lib="-lc"
|
|
|
-++ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
|
|
|
-++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
|
-++ (eval $ac_try) 2>&5
|
|
|
-++ ac_status=$?
|
|
|
-++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
|
-++ (exit $ac_status); }; }
|
|
|
-++ then
|
|
|
-++ libgcc_cv_copysignl_lib="-lm"
|
|
|
-++ fi
|
|
|
-++ rm -f conftest.*
|
|
|
-++
|
|
|
-++fi
|
|
|
-++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
|
|
|
-++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
|
|
|
-++
|
|
|
-++case /${libgcc_cv_copysignl_lib}/ in
|
|
|
-++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
|
|
|
-++ *) LIBGCC_LIBM= ;;
|
|
|
-++esac
|
|
|
-+
|
|
|
-+ # Conditionalize the makefile for this target machine.
|
|
|
-+ tmake_file_=
|
|
|
-+Index: gcc-4.8.0/libgcc/configure.ac
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200
|
|
|
-++++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100
|
|
|
-+@@ -326,6 +326,27 @@
|
|
|
-+ fi
|
|
|
-+ AC_SUBST(set_have_cc_tls)
|
|
|
-+
|
|
|
-++# On powerpc libgcc_s references copysignl which is a libm function but
|
|
|
-++# glibc apparently also provides it via libc as opposed to uClibc where
|
|
|
-++# it lives in libm.
|
|
|
-++AC_CACHE_CHECK
|
|
|
-++ libgcc_cv_copysignl_lib,
|
|
|
-++ echo '#include <features.h>' > conftest.c
|
|
|
-++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
|
|
|
-++ libgcc_cv_copysignl_lib="-lc"
|
|
|
-++ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
|
|
|
-++ then
|
|
|
-++ libgcc_cv_copysignl_lib="-lm"
|
|
|
-++ fi
|
|
|
-++ rm -f conftest.*
|
|
|
-++ ])
|
|
|
-++
|
|
|
-++case /${libgcc_cv_copysignl_lib}/ in
|
|
|
-++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
|
|
|
-++ *) LIBGCC_LIBM= ;;
|
|
|
-++esac
|
|
|
-++AC_SUBST(LIBGCC_LIBM)
|
|
|
-++
|
|
|
-+ # See if we have emulated thread-local storage.
|
|
|
-+ GCC_CHECK_EMUTLS
|
|
|
-+ set_use_emutls=
|
|
|
-diff --git a/package/gcc/4.9.3/100-uclibc-conf.patch b/package/gcc/4.9.3/100-uclibc-conf.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..d56bf0a
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/100-uclibc-conf.patch
|
|
|
-@@ -0,0 +1,15 @@
|
|
|
-+Index: gcc-4.8.0/contrib/regression/objs-gcc.sh
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200
|
|
|
-++++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100
|
|
|
-+@@ -106,6 +106,10 @@
|
|
|
-+ then
|
|
|
-+ make all-gdb all-dejagnu all-ld || exit 1
|
|
|
-+ make install-gdb install-dejagnu install-ld || exit 1
|
|
|
-++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
|
|
|
-++ then
|
|
|
-++ make all-gdb all-dejagnu all-ld || exit 1
|
|
|
-++ make install-gdb install-dejagnu install-ld || exit 1
|
|
|
-+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
|
|
-+ make bootstrap || exit 1
|
|
|
-+ make install || exit 1
|
|
|
-diff --git a/package/gcc/4.9.3/1000-powerpc-link-with-math-lib.patch.conditional b/package/gcc/4.9.3/1000-powerpc-link-with-math-lib.patch.conditional
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b7094fe
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/1000-powerpc-link-with-math-lib.patch.conditional
|
|
|
-@@ -0,0 +1,122 @@
|
|
|
-+http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
|
|
|
-+
|
|
|
-+On glibc the libc.so carries a copy of the math function copysignl() but
|
|
|
-+on uClibc math functions like copysignl() live in libm. Since libgcc_s
|
|
|
-+contains unresolved symbols, any attempt to link against libgcc_s
|
|
|
-+without explicitely specifying -lm fails, resulting in a broken
|
|
|
-+bootstrap of the compiler.
|
|
|
-+
|
|
|
-+Forward port to gcc 4.5.1 by Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+---
|
|
|
-+ libgcc/Makefile.in | 4 +++-
|
|
|
-+ libgcc/configure | 32 ++++++++++++++++++++++++++++++++
|
|
|
-+ libgcc/configure.ac | 21 +++++++++++++++++++++
|
|
|
-+ 3 files changed, 56 insertions(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+Index: gcc-4.8.0/libgcc/Makefile.in
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100
|
|
|
-+@@ -41,6 +41,7 @@
|
|
|
-+ decimal_float = @decimal_float@
|
|
|
-+ enable_decimal_float = @enable_decimal_float@
|
|
|
-+ fixed_point = @fixed_point@
|
|
|
-++LIBGCC_LIBM = @LIBGCC_LIBM@
|
|
|
-+
|
|
|
-+ host_noncanonical = @host_noncanonical@
|
|
|
-+ target_noncanonical = @target_noncanonical@
|
|
|
-+@@ -927,9 +928,10 @@
|
|
|
-+ @multilib_dir@,$(MULTIDIR),$(subst \
|
|
|
-+ @shlib_objs@,$(objects) libgcc.a,$(subst \
|
|
|
-+ @shlib_base_name@,libgcc_s,$(subst \
|
|
|
-++ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \
|
|
|
-+ @shlib_map_file@,$(mapfile),$(subst \
|
|
|
-+ @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
|
|
|
-+- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
|
|
|
-++ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
|
|
|
-+
|
|
|
-+ libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
|
|
|
-+ # @multilib_flags@ is still needed because this may use
|
|
|
-+Index: gcc-4.8.0/libgcc/configure
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100
|
|
|
-+@@ -564,6 +564,7 @@
|
|
|
-+ tmake_file
|
|
|
-+ sfp_machine_header
|
|
|
-+ set_use_emutls
|
|
|
-++LIBGCC_LIBM
|
|
|
-+ set_have_cc_tls
|
|
|
-+ vis_hide
|
|
|
-+ fixed_point
|
|
|
-+@@ -4481,6 +4482,37 @@
|
|
|
-+ fi
|
|
|
-+ fi
|
|
|
-+
|
|
|
-++# On powerpc libgcc_s references copysignl which is a libm function but
|
|
|
-++# glibc apparently also provides it via libc as opposed to uClibc where
|
|
|
-++# it lives in libm.
|
|
|
-++echo "$as_me:$LINENO: checking for library containing copysignl" >&5
|
|
|
-++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
|
|
|
-++if test "${libgcc_cv_copysignl_lib+set}" = set; then
|
|
|
-++ echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
|
-++else
|
|
|
-++
|
|
|
-++ echo '#include <features.h>' > conftest.c
|
|
|
-++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
|
|
|
-++ libgcc_cv_copysignl_lib="-lc"
|
|
|
-++ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
|
|
|
-++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
|
-++ (eval $ac_try) 2>&5
|
|
|
-++ ac_status=$?
|
|
|
-++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
|
-++ (exit $ac_status); }; }
|
|
|
-++ then
|
|
|
-++ libgcc_cv_copysignl_lib="-lm"
|
|
|
-++ fi
|
|
|
-++ rm -f conftest.*
|
|
|
-++
|
|
|
-++fi
|
|
|
-++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
|
|
|
-++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
|
|
|
-++
|
|
|
-++case /${libgcc_cv_copysignl_lib}/ in
|
|
|
-++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
|
|
|
-++ *) LIBGCC_LIBM= ;;
|
|
|
-++esac
|
|
|
-+
|
|
|
-+ # Conditionalize the makefile for this target machine.
|
|
|
-+ tmake_file_=
|
|
|
-+Index: gcc-4.8.0/libgcc/configure.ac
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200
|
|
|
-++++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100
|
|
|
-+@@ -326,6 +326,27 @@
|
|
|
-+ fi
|
|
|
-+ AC_SUBST(set_have_cc_tls)
|
|
|
-+
|
|
|
-++# On powerpc libgcc_s references copysignl which is a libm function but
|
|
|
-++# glibc apparently also provides it via libc as opposed to uClibc where
|
|
|
-++# it lives in libm.
|
|
|
-++AC_CACHE_CHECK
|
|
|
-++ libgcc_cv_copysignl_lib,
|
|
|
-++ echo '#include <features.h>' > conftest.c
|
|
|
-++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
|
|
|
-++ libgcc_cv_copysignl_lib="-lc"
|
|
|
-++ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
|
|
|
-++ then
|
|
|
-++ libgcc_cv_copysignl_lib="-lm"
|
|
|
-++ fi
|
|
|
-++ rm -f conftest.*
|
|
|
-++ ])
|
|
|
-++
|
|
|
-++case /${libgcc_cv_copysignl_lib}/ in
|
|
|
-++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
|
|
|
-++ *) LIBGCC_LIBM= ;;
|
|
|
-++esac
|
|
|
-++AC_SUBST(LIBGCC_LIBM)
|
|
|
-++
|
|
|
-+ # See if we have emulated thread-local storage.
|
|
|
-+ GCC_CHECK_EMUTLS
|
|
|
-+ set_use_emutls=
|
|
|
-diff --git a/package/gcc/4.9.3/111-pr65730.patch b/package/gcc/4.9.3/111-pr65730.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..f195e30
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/111-pr65730.patch
|
|
|
-@@ -0,0 +1,37 @@
|
|
|
-+From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+Date: Fri, 10 Apr 2015 17:46:30 +0300
|
|
|
-+Subject: [PATCH] Fix PR target/65730
|
|
|
-+
|
|
|
-+2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+gcc/
|
|
|
-+ * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
|
|
|
-+ by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
|
|
|
-+
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
|
|
|
-+Changes to ChangeLog are dropped.
|
|
|
-+
|
|
|
-+ gcc/config/xtensa/xtensa.c | 5 +++--
|
|
|
-+ 1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
-+
|
|
|
-+diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
|
|
-+index eb039ba..7296e36 100644
|
|
|
-+--- a/gcc/config/xtensa/xtensa.c
|
|
|
-++++ b/gcc/config/xtensa/xtensa.c
|
|
|
-+@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
|
|
|
-+ if (ac->shift != NULL_RTX)
|
|
|
-+ {
|
|
|
-+ /* Shift is the byte count, but we need the bitcount. */
|
|
|
-+- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
|
|
|
-+- GEN_INT (BITS_PER_UNIT),
|
|
|
-++ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
|
|
|
-++ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
|
|
|
-++ GEN_INT (exact_log2 (BITS_PER_UNIT)),
|
|
|
-+ NULL_RTX, 1, OPTAB_DIRECT);
|
|
|
-+ ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
|
|
-+ GEN_INT (GET_MODE_MASK (mode)),
|
|
|
-+--
|
|
|
-+1.8.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/package/gcc/4.9.3/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c11ad35
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
|
|
|
-@@ -0,0 +1,29 @@
|
|
|
-+From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001
|
|
|
-+From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
|
|
|
-+Date: Fri, 6 Nov 2015 14:27:23 +0100
|
|
|
-+Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit
|
|
|
-+
|
|
|
-+Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate
|
|
|
-+64-bit binaries by default.
|
|
|
-+
|
|
|
-+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
|
|
-+---
|
|
|
-+ gcc/config.gcc | 2 +-
|
|
|
-+ 2 files changed, 4 insertions(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/gcc/config.gcc b/gcc/config.gcc
|
|
|
-+index 4a7cbd2..9cc765e 100644
|
|
|
-+--- a/gcc/config.gcc
|
|
|
-++++ b/gcc/config.gcc
|
|
|
-+@@ -439,7 +439,7 @@ powerpc*-*-*)
|
|
|
-+ cpu_type=rs6000
|
|
|
-+ extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
|
|
|
-+ case x$with_cpu in
|
|
|
-+- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
|
|
|
-++ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
|
|
|
-+ cpu_is_64bit=yes
|
|
|
-+ ;;
|
|
|
-+ esac
|
|
|
-+--
|
|
|
-+2.6.2
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/130-pr43538.patch b/package/gcc/4.9.3/130-pr43538.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..19e57bb
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/130-pr43538.patch
|
|
|
-@@ -0,0 +1,25 @@
|
|
|
-+From c037df1be41f8daf4d581d7ffa4ec8cfa640bccf Mon Sep 17 00:00:00 2001
|
|
|
-+From: glisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
|
-+Date: Fri, 25 Apr 2014 08:03:08 +0000
|
|
|
-+Subject: [PATCH] 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
|
|
|
-+
|
|
|
-+ PR target/43538
|
|
|
-+ * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET.
|
|
|
-+
|
|
|
-+
|
|
|
-+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+ config/mt-gnu | 2 +-
|
|
|
-+ 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/config/mt-gnu b/config/mt-gnu
|
|
|
-+index 15bf417..5c696f5 100644
|
|
|
-+--- a/config/mt-gnu
|
|
|
-++++ b/config/mt-gnu
|
|
|
-+@@ -1 +1 @@
|
|
|
-+-CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE
|
|
|
-++CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE
|
|
|
-+--
|
|
|
-+2.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch b/package/gcc/4.9.3/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..55f3228
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
|
|
|
-@@ -0,0 +1,37 @@
|
|
|
-+From 3c536954a67a883630f4a7513a27f02a892c3dcb Mon Sep 17 00:00:00 2001
|
|
|
-+From: Evgeniy Stepanov <eugeni.stepanov@gmail.com>
|
|
|
-+Date: Tue, 21 Oct 2014 21:08:13 +0000
|
|
|
-+Subject: [PATCH] [sanitizer] Fix build with _FILE_OFFSET_BITS=64.
|
|
|
-+
|
|
|
-+Sanitizer source is not affected by _FILE_OFFSET_BITS in general,
|
|
|
-+but this one file must be built with 32-bit off_t. More details in the code.
|
|
|
-+
|
|
|
-+git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@220328 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+ lib/sanitizer_common/sanitizer_platform_limits_posix.cc | 8 ++++++++
|
|
|
-+ 1 file changed, 8 insertions(+)
|
|
|
-+
|
|
|
-+diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
|
|
-+index bbc1108..fc09522 100644
|
|
|
-+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
|
|
-++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
|
|
-+@@ -13,7 +13,15 @@
|
|
|
-+
|
|
|
-+ #include "sanitizer_platform.h"
|
|
|
-+ #if SANITIZER_LINUX || SANITIZER_MAC
|
|
|
-++// Tests in this file assume that off_t-dependent data structures match the
|
|
|
-++// libc ABI. For example, struct dirent here is what readdir() function (as
|
|
|
-++// exported from libc) returns, and not the user-facing "dirent", which
|
|
|
-++// depends on _FILE_OFFSET_BITS setting.
|
|
|
-++// To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below.
|
|
|
-++#ifdef _FILE_OFFSET_BITS
|
|
|
-++#undef _FILE_OFFSET_BITS
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ #include "sanitizer_internal_defs.h"
|
|
|
-+ #include "sanitizer_platform_limits_posix.h"
|
|
|
-+
|
|
|
-+--
|
|
|
-+2.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/301-missing-execinfo_h.patch b/package/gcc/4.9.3/301-missing-execinfo_h.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..00efda2
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/301-missing-execinfo_h.patch
|
|
|
-@@ -0,0 +1,13 @@
|
|
|
-+Index: gcc-4.8.0/boehm-gc/include/gc.h
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
|
|
|
-++++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100
|
|
|
-+@@ -503,7 +503,7 @@
|
|
|
-+ #if defined(__linux__) || defined(__GLIBC__)
|
|
|
-+ # include <features.h>
|
|
|
-+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
|
|
|
-+- && !defined(__ia64__)
|
|
|
-++ && !defined(__ia64__) && !defined(__UCLIBC__)
|
|
|
-+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
|
|
|
-+ # define GC_HAVE_BUILTIN_BACKTRACE
|
|
|
-+ # endif
|
|
|
-diff --git a/package/gcc/4.9.3/810-arm-softfloat-libgcc.patch b/package/gcc/4.9.3/810-arm-softfloat-libgcc.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c8cb377
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/810-arm-softfloat-libgcc.patch
|
|
|
-@@ -0,0 +1,30 @@
|
|
|
-+Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100
|
|
|
-++++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100
|
|
|
-+@@ -55,7 +55,7 @@
|
|
|
-+ %{shared:-lc} \
|
|
|
-+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
|
|
-+
|
|
|
-+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
|
|
|
-++#define LIBGCC_SPEC "-lgcc"
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
|
|
-+
|
|
|
-+Index: gcc-4.8.0/libgcc/config/arm/t-linux
|
|
|
-+===================================================================
|
|
|
-+--- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100
|
|
|
-++++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100
|
|
|
-+@@ -1,6 +1,11 @@
|
|
|
-+ LIB1ASMSRC = arm/lib1funcs.S
|
|
|
-+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
|
|
-+- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
|
|
|
-++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
|
|
|
-++ _arm_addsubdf3 _arm_addsubsf3 \
|
|
|
-++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
|
|
|
-++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
|
|
|
-++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
|
|
|
-++ _arm_fixsfsi _arm_fixunssfsi
|
|
|
-+
|
|
|
-+ # Just for these, we omit the frame pointer since it makes such a big
|
|
|
-+ # difference.
|
|
|
-diff --git a/package/gcc/4.9.3/830-arm_unbreak_armv4t.patch b/package/gcc/4.9.3/830-arm_unbreak_armv4t.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..37f8f2a
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/830-arm_unbreak_armv4t.patch
|
|
|
-@@ -0,0 +1,13 @@
|
|
|
-+http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
|
|
|
-+
|
|
|
-+--- a/gcc/config/arm/linux-eabi.h
|
|
|
-++++ b/gcc/config/arm/linux-eabi.h
|
|
|
-+@@ -45,7 +45,7 @@
|
|
|
-+ The ARM10TDMI core is the default for armv5t, so set
|
|
|
-+ SUBTARGET_CPU_DEFAULT to achieve this. */
|
|
|
-+ #undef SUBTARGET_CPU_DEFAULT
|
|
|
-+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
|
|
|
-++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
|
|
|
-+
|
|
|
-+ /* TARGET_BIG_ENDIAN_DEFAULT is set in
|
|
|
-+ config.gcc for big endian configurations. */
|
|
|
-diff --git a/package/gcc/4.9.3/840-microblaze-enable-dwarf-eh-support.patch b/package/gcc/4.9.3/840-microblaze-enable-dwarf-eh-support.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..e116e2b
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/840-microblaze-enable-dwarf-eh-support.patch
|
|
|
-@@ -0,0 +1,169 @@
|
|
|
-+Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc
|
|
|
-+
|
|
|
-+From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001
|
|
|
-+From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
|
|
|
-+Date: Mon, 18 Jun 2012 20:18:13 +0200
|
|
|
-+Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support.
|
|
|
-+
|
|
|
-+Changelog
|
|
|
-+
|
|
|
-+2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
|
|
|
-+ David Holsgrove <david.holsgrove@xilinx.com>
|
|
|
-+
|
|
|
-+ * common/config/microblaze/microblaze-common.c: Remove
|
|
|
-+ TARGET_EXCEPT_UNWIND_INFO definition.
|
|
|
-+ * config/microblaze/microblaze-protos.h: Add
|
|
|
-+ microblaze_eh_return prototype.
|
|
|
-+ * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register,
|
|
|
-+ microblaze_expand_epilogue, microblaze_return_addr): Handle
|
|
|
-+ calls_eh_return
|
|
|
-+ (microblaze_eh_return): New function.
|
|
|
-+ * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET,
|
|
|
-+ EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX,
|
|
|
-+ ASM_PREFERRED_EH_DATA_FORMAT
|
|
|
-+ * gcc/config/microblaze/microblaze.md: Define eh_return pattern.
|
|
|
-+
|
|
|
-+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
|
|
|
-+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
|
|
-+---
|
|
|
-+ gcc/common/config/microblaze/microblaze-common.c | 3 ---
|
|
|
-+ gcc/config/microblaze/microblaze-protos.h | 1 +
|
|
|
-+ gcc/config/microblaze/microblaze.c | 29 ++++++++++++++++++++----
|
|
|
-+ gcc/config/microblaze/microblaze.h | 15 ++++++++++++
|
|
|
-+ gcc/config/microblaze/microblaze.md | 11 +++++++++
|
|
|
-+ 5 files changed, 52 insertions(+), 7 deletions(-)
|
|
|
-+
|
|
|
-+diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
|
|
|
-+index 5835acc..85e6a53 100644
|
|
|
-+--- a/gcc/common/config/microblaze/microblaze-common.c
|
|
|
-++++ b/gcc/common/config/microblaze/microblaze-common.c
|
|
|
-+@@ -39,7 +39,4 @@ static const struct default_options microblaze_option_optimization_table[] =
|
|
|
-+ #undef TARGET_OPTION_OPTIMIZATION_TABLE
|
|
|
-+ #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
|
|
|
-+
|
|
|
-+-#undef TARGET_EXCEPT_UNWIND_INFO
|
|
|
-+-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
|
|
|
-+-
|
|
|
-+ struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
|
|
|
-+index c30ec72..260f4e4 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze-protos.h
|
|
|
-++++ b/gcc/config/microblaze/microblaze-protos.h
|
|
|
-+@@ -56,6 +56,7 @@ extern bool microblaze_tls_referenced_p (rtx);
|
|
|
-+ extern int symbol_mentioned_p (rtx);
|
|
|
-+ extern int label_mentioned_p (rtx);
|
|
|
-+ extern bool microblaze_cannot_force_const_mem (enum machine_mode, rtx);
|
|
|
-++extern void microblaze_eh_return (rtx op0);
|
|
|
-+ #endif /* RTX_CODE */
|
|
|
-+
|
|
|
-+ /* Declare functions in microblaze-c.c. */
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
|
|
|
-+index fe61fce..15166d3 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze.c
|
|
|
-++++ b/gcc/config/microblaze/microblaze.c
|
|
|
-+@@ -1999,6 +1999,11 @@ microblaze_must_save_register (int regno)
|
|
|
-+ if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM))
|
|
|
-+ return 1;
|
|
|
-+
|
|
|
-++ if (crtl->calls_eh_return
|
|
|
-++ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) {
|
|
|
-++ return 1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ if (!crtl->is_leaf)
|
|
|
-+ {
|
|
|
-+ if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
|
|
-+@@ -2026,6 +2031,13 @@ microblaze_must_save_register (int regno)
|
|
|
-+ return 1;
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ if (crtl->calls_eh_return
|
|
|
-++ && (regno == EH_RETURN_DATA_REGNO (0)
|
|
|
-++ || regno == EH_RETURN_DATA_REGNO (1)))
|
|
|
-++ {
|
|
|
-++ return 1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ return 0;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+@@ -3131,6 +3143,12 @@ microblaze_expand_epilogue (void)
|
|
|
-+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ if (crtl->calls_eh_return)
|
|
|
-++ emit_insn (gen_addsi3 (stack_pointer_rtx,
|
|
|
-++ stack_pointer_rtx,
|
|
|
-++ gen_rtx_raw_REG (SImode,
|
|
|
-++ MB_EH_STACKADJ_REGNUM)));
|
|
|
-++
|
|
|
-+ emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
|
|
|
-+ MB_ABI_SUB_RETURN_ADDR_REGNUM)));
|
|
|
-+ }
|
|
|
-+@@ -3427,10 +3445,13 @@ microblaze_return_addr (int count, rtx frame ATTRIBUTE_UNUSED)
|
|
|
-+ if (count != 0)
|
|
|
-+ return NULL_RTX;
|
|
|
-+
|
|
|
-+- return gen_rtx_PLUS (Pmode,
|
|
|
-+- get_hard_reg_initial_val (Pmode,
|
|
|
-+- MB_ABI_SUB_RETURN_ADDR_REGNUM),
|
|
|
-+- GEN_INT (8));
|
|
|
-++ return get_hard_reg_initial_val (Pmode,
|
|
|
-++ MB_ABI_SUB_RETURN_ADDR_REGNUM);
|
|
|
-++}
|
|
|
-++
|
|
|
-++void microblaze_eh_return (rtx op0)
|
|
|
-++{
|
|
|
-++ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0));
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* Queue an .ident string in the queue of top-level asm statements.
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
|
|
|
-+index 4072283..5e9f49c 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze.h
|
|
|
-++++ b/gcc/config/microblaze/microblaze.h
|
|
|
-+@@ -184,6 +184,21 @@ extern enum pipeline_type microblaze_pipe;
|
|
|
-+ #define INCOMING_RETURN_ADDR_RTX \
|
|
|
-+ gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
|
|
-+
|
|
|
-++/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */
|
|
|
-++#define RETURN_ADDR_OFFSET (8)
|
|
|
-++
|
|
|
-++/* Describe how we implement __builtin_eh_return. */
|
|
|
-++#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM)
|
|
|
-++
|
|
|
-++#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM
|
|
|
-++#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM)
|
|
|
-++
|
|
|
-++/* Select a format to encode pointers in exception handling data. CODE
|
|
|
-++ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
|
|
|
-++ true if the symbol may be affected by dynamic relocations. */
|
|
|
-++#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
|
|
|
-++ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
|
|
|
-++
|
|
|
-+ /* Use DWARF 2 debugging information by default. */
|
|
|
-+ #define DWARF2_DEBUGGING_INFO
|
|
|
-+ #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
|
-+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
|
|
|
-+index ed6131a..dc2405f 100644
|
|
|
-+--- a/gcc/config/microblaze/microblaze.md
|
|
|
-++++ b/gcc/config/microblaze/microblaze.md
|
|
|
-+@@ -2327,4 +2327,15 @@
|
|
|
-+ (set_attr "mode" "SI")
|
|
|
-+ (set_attr "length" "4")])
|
|
|
-+
|
|
|
-++; This is used in compiling the unwind routines.
|
|
|
-++(define_expand "eh_return"
|
|
|
-++ [(use (match_operand 0 "general_operand" ""))]
|
|
|
-++ ""
|
|
|
-++ "
|
|
|
-++{
|
|
|
-++ microblaze_eh_return(operands[0]);
|
|
|
-++ DONE;
|
|
|
-++}")
|
|
|
-++
|
|
|
-+ (include "sync.md")
|
|
|
-++
|
|
|
-+--
|
|
|
-+1.8.3.2
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/850-libstdcxx-uclibc-c99.patch b/package/gcc/4.9.3/850-libstdcxx-uclibc-c99.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..d103af1
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/850-libstdcxx-uclibc-c99.patch
|
|
|
-@@ -0,0 +1,255 @@
|
|
|
-+Allow C99-depending features of libstdc++ with uClibc
|
|
|
-+
|
|
|
-+The libstdc++ code is fairly restrictive on how it checks for C99
|
|
|
-+compatibility: it requires *complete* C99 support to enable certain
|
|
|
-+features. For example, uClibc provides a good number of C99 features,
|
|
|
-+but not C99 complex number support. For this reason, libstdc++
|
|
|
-+completely disables many the standard C++ methods that can in fact
|
|
|
-+work because uClibc provides the necessary functions.
|
|
|
-+
|
|
|
-+This patch is similar and highly inspired from
|
|
|
-+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in
|
|
|
-+a way that doesn't involve changing the configure.ac script, as
|
|
|
-+autoreconfiguring gcc is complicated. It simply relies on the fact
|
|
|
-+that uClibc defines the __UCLIBC__ definition.
|
|
|
-+
|
|
|
-+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
-+[Gustavo: update for 4.9.3]
|
|
|
-+
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/config/locale/generic/c_locale.h gcc-4.9.3/libstdc++-v3/config/locale/generic/c_locale.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/config/locale/generic/c_locale.h 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/config/locale/generic/c_locale.h 2015-06-27 06:46:04.420022179 -0300
|
|
|
-+@@ -70,7 +70,7 @@
|
|
|
-+ __builtin_va_list __args;
|
|
|
-+ __builtin_va_start(__args, __fmt);
|
|
|
-+
|
|
|
-+-#ifdef _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
|
|
|
-+ #else
|
|
|
-+ const int __ret = __builtin_vsprintf(__out, __fmt, __args);
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/config/locale/gnu/c_locale.h gcc-4.9.3/libstdc++-v3/config/locale/gnu/c_locale.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/config/locale/gnu/c_locale.h 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/config/locale/gnu/c_locale.h 2015-06-27 06:46:04.465023743 -0300
|
|
|
-+@@ -88,7 +88,7 @@
|
|
|
-+ __builtin_va_list __args;
|
|
|
-+ __builtin_va_start(__args, __fmt);
|
|
|
-+
|
|
|
-+-#ifdef _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
|
|
|
-+ #else
|
|
|
-+ const int __ret = __builtin_vsprintf(__out, __fmt, __args);
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/bits/basic_string.h gcc-4.9.3/libstdc++-v3/include/bits/basic_string.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/bits/basic_string.h 2015-05-28 13:27:46.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/bits/basic_string.h 2015-06-27 06:49:04.741284648 -0300
|
|
|
-+@@ -2844,7 +2844,7 @@
|
|
|
-+ _GLIBCXX_END_NAMESPACE_VERSION
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99)
|
|
|
-++#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))
|
|
|
-+
|
|
|
-+ #include <ext/string_conversions.h>
|
|
|
-+
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets_nonio.tcc gcc-4.9.3/libstdc++-v3/include/bits/locale_facets_nonio.tcc
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2015-06-27 06:46:04.466023777 -0300
|
|
|
-+@@ -572,7 +572,7 @@
|
|
|
-+ {
|
|
|
-+ const locale __loc = __io.getloc();
|
|
|
-+ const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
|
|
|
-+-#ifdef _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ // First try a buffer perhaps big enough.
|
|
|
-+ int __cs_size = 64;
|
|
|
-+ char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets.tcc gcc-4.9.3/libstdc++-v3/include/bits/locale_facets.tcc
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets.tcc 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/bits/locale_facets.tcc 2015-06-27 06:46:04.466023777 -0300
|
|
|
-+@@ -987,7 +987,7 @@
|
|
|
-+ char __fbuf[16];
|
|
|
-+ __num_base::_S_format_float(__io, __fbuf, __mod);
|
|
|
-+
|
|
|
-+-#ifdef _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ // First try a buffer perhaps big enough (most probably sufficient
|
|
|
-+ // for non-ios_base::fixed outputs)
|
|
|
-+ int __cs_size = __max_digits * 3;
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/math.h gcc-4.9.3/libstdc++-v3/include/c_compatibility/math.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/math.h 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_compatibility/math.h 2015-06-27 06:46:04.466023777 -0300
|
|
|
-+@@ -56,7 +56,7 @@
|
|
|
-+ using std::floor;
|
|
|
-+ using std::fmod;
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ using std::fpclassify;
|
|
|
-+ using std::isfinite;
|
|
|
-+ using std::isinf;
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.9.3/libstdc++-v3/include/c_compatibility/wchar.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/wchar.h 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_compatibility/wchar.h 2015-06-27 06:46:04.466023777 -0300
|
|
|
-+@@ -103,7 +103,7 @@
|
|
|
-+ using std::wmemset;
|
|
|
-+ using std::wcsftime;
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ using std::wcstold;
|
|
|
-+ using std::wcstoll;
|
|
|
-+ using std::wcstoull;
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdio gcc-4.9.3/libstdc++-v3/include/c_global/cstdio
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdio 2014-01-23 18:17:15.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_global/cstdio 2015-06-27 06:46:04.481024298 -0300
|
|
|
-+@@ -146,7 +146,7 @@
|
|
|
-+ using ::vsprintf;
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ #undef snprintf
|
|
|
-+ #undef vfscanf
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdlib gcc-4.9.3/libstdc++-v3/include/c_global/cstdlib
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdlib 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_global/cstdlib 2015-06-27 06:46:04.466023777 -0300
|
|
|
-+@@ -182,7 +182,7 @@
|
|
|
-+ _GLIBCXX_END_NAMESPACE_VERSION
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ #undef _Exit
|
|
|
-+ #undef llabs
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_global/cwchar gcc-4.9.3/libstdc++-v3/include/c_global/cwchar
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_global/cwchar 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_global/cwchar 2015-06-27 06:46:04.466023777 -0300
|
|
|
-+@@ -232,7 +232,7 @@
|
|
|
-+ _GLIBCXX_END_NAMESPACE_VERSION
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ #undef wcstold
|
|
|
-+ #undef wcstoll
|
|
|
-+@@ -289,7 +289,7 @@
|
|
|
-+ using std::vwscanf;
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ using std::wcstold;
|
|
|
-+ using std::wcstoll;
|
|
|
-+ using std::wcstoull;
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdio gcc-4.9.3/libstdc++-v3/include/c_std/cstdio
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdio 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_std/cstdio 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -144,7 +144,7 @@
|
|
|
-+ using ::vsprintf;
|
|
|
-+ } // namespace std
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ #undef snprintf
|
|
|
-+ #undef vfscanf
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdlib gcc-4.9.3/libstdc++-v3/include/c_std/cstdlib
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdlib 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_std/cstdlib 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -180,7 +180,7 @@
|
|
|
-+ _GLIBCXX_END_NAMESPACE_VERSION
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ #undef _Exit
|
|
|
-+ #undef llabs
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/c_std/cwchar gcc-4.9.3/libstdc++-v3/include/c_std/cwchar
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/c_std/cwchar 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/c_std/cwchar 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -228,7 +228,7 @@
|
|
|
-+ _GLIBCXX_END_NAMESPACE_VERSION
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ #undef wcstold
|
|
|
-+ #undef wcstoll
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/ext/vstring.h gcc-4.9.3/libstdc++-v3/include/ext/vstring.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/ext/vstring.h 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/ext/vstring.h 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -2680,7 +2680,7 @@
|
|
|
-+ _GLIBCXX_END_NAMESPACE_VERSION
|
|
|
-+ } // namespace
|
|
|
-+
|
|
|
-+-#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99))
|
|
|
-++#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)))
|
|
|
-+
|
|
|
-+ #include <ext/string_conversions.h>
|
|
|
-+
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdio gcc-4.9.3/libstdc++-v3/include/tr1/cstdio
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdio 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/tr1/cstdio 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -33,7 +33,7 @@
|
|
|
-+
|
|
|
-+ #include <cstdio>
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ namespace std _GLIBCXX_VISIBILITY(default)
|
|
|
-+ {
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdlib gcc-4.9.3/libstdc++-v3/include/tr1/cstdlib
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdlib 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/tr1/cstdlib 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -35,7 +35,7 @@
|
|
|
-+
|
|
|
-+ #if _GLIBCXX_HOSTED
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ namespace std _GLIBCXX_VISIBILITY(default)
|
|
|
-+ {
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/tr1/cwchar gcc-4.9.3/libstdc++-v3/include/tr1/cwchar
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/cwchar 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/tr1/cwchar 2015-06-27 06:46:04.480024263 -0300
|
|
|
-+@@ -52,7 +52,7 @@
|
|
|
-+ using std::vwscanf;
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ using std::wcstold;
|
|
|
-+ using std::wcstoll;
|
|
|
-+ using std::wcstoull;
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/include/tr1/stdlib.h gcc-4.9.3/libstdc++-v3/include/tr1/stdlib.h
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/stdlib.h 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/include/tr1/stdlib.h 2015-06-27 06:46:04.481024298 -0300
|
|
|
-+@@ -33,7 +33,7 @@
|
|
|
-+
|
|
|
-+ #if _GLIBCXX_HOSTED
|
|
|
-+
|
|
|
-+-#if _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+
|
|
|
-+ using std::tr1::atoll;
|
|
|
-+ using std::tr1::strtoll;
|
|
|
-+diff -Nura gcc-4.9.3.orig/libstdc++-v3/src/c++11/debug.cc gcc-4.9.3/libstdc++-v3/src/c++11/debug.cc
|
|
|
-+--- gcc-4.9.3.orig/libstdc++-v3/src/c++11/debug.cc 2014-01-02 19:30:10.000000000 -0300
|
|
|
-++++ gcc-4.9.3/libstdc++-v3/src/c++11/debug.cc 2015-06-27 06:46:04.481024298 -0300
|
|
|
-+@@ -788,7 +788,7 @@
|
|
|
-+ int __n __attribute__ ((__unused__)),
|
|
|
-+ const char* __fmt, _Tp __s) const throw ()
|
|
|
-+ {
|
|
|
-+-#ifdef _GLIBCXX_USE_C99
|
|
|
-++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
|
-+ std::snprintf(__buf, __n, __fmt, __s);
|
|
|
-+ #else
|
|
|
-+ std::sprintf(__buf, __fmt, __s);
|
|
|
-diff --git a/package/gcc/4.9.3/860-cilk-wchar.patch b/package/gcc/4.9.3/860-cilk-wchar.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..1837405
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/860-cilk-wchar.patch
|
|
|
-@@ -0,0 +1,56 @@
|
|
|
-+[PATCH] cilk: fix build without wchar
|
|
|
-+
|
|
|
-+When building against uClibc with wchar support disabled, WCHAR_MIN and
|
|
|
-+WCHAR_MAX are not defined leading to compilation errors.
|
|
|
-+
|
|
|
-+Fix it by only including the wchar code if available.
|
|
|
-+
|
|
|
-+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
|
|
-+---
|
|
|
-+ libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++
|
|
|
-+ 1 file changed, 8 insertions(+)
|
|
|
-+
|
|
|
-+Index: host-gcc-final-4.9.2/libcilkrts/include/cilk/reducer_min_max.h
|
|
|
-+===================================================================
|
|
|
-+--- host-gcc-final-4.9.2.orig/libcilkrts/include/cilk/reducer_min_max.h
|
|
|
-++++ host-gcc-final-4.9.2/libcilkrts/include/cilk/reducer_min_max.h
|
|
|
-+@@ -3154,7 +3154,9 @@
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN)
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0)
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN)
|
|
|
-++#ifdef WCHAR_MIN
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN)
|
|
|
-++#endif
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN)
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0)
|
|
|
-+ CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN)
|
|
|
-+@@ -3306,7 +3308,9 @@
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN)
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0)
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN)
|
|
|
-++#ifdef WCHAR_MIN
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN)
|
|
|
-++#endif
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN)
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0)
|
|
|
-+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN)
|
|
|
-+@@ -3432,7 +3436,9 @@
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX)
|
|
|
-++#ifdef WCHAR_MAX
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX)
|
|
|
-++#endif
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX)
|
|
|
-+@@ -3584,7 +3590,9 @@
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX)
|
|
|
-++#ifdef WCHAR_MAX
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX)
|
|
|
-++#endif
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX)
|
|
|
-+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX)
|
|
|
-diff --git a/package/gcc/4.9.3/870-xtensa-add-mauto-litpools-option.patch b/package/gcc/4.9.3/870-xtensa-add-mauto-litpools-option.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..aa1376c
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/870-xtensa-add-mauto-litpools-option.patch
|
|
|
-@@ -0,0 +1,290 @@
|
|
|
-+From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001
|
|
|
-+From: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+Date: Thu, 6 Aug 2015 01:16:02 +0300
|
|
|
-+Subject: [PATCH] xtensa: add -mauto-litpools option
|
|
|
-+
|
|
|
-+With support from assembler this option allows compiling huge functions,
|
|
|
-+where single literal pool at the beginning of a function may not be
|
|
|
-+reachable by L32R instructions at its end.
|
|
|
-+
|
|
|
-+Currently assembler --auto-litpools option cannot deal with literals
|
|
|
-+used from multiple locations separated by more than 256 KBytes of code.
|
|
|
-+Don't turn constants into literals, instead use MOVI instruction to load
|
|
|
-+them into registers and let the assembler turn them into literals as
|
|
|
-+necessary.
|
|
|
-+
|
|
|
-+2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+gcc/
|
|
|
-+ * config/xtensa/constraints.md (define_constraint "Y"): New
|
|
|
-+ constraint.
|
|
|
-+ * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
|
|
|
-+ * config/xtensa/linux.h (ASM_SPEC): Likewise.
|
|
|
-+ * config/xtensa/predicates.md (move_operand): Match constants
|
|
|
-+ and symbols in the presence of TARGET_AUTO_LITPOOLS.
|
|
|
-+ * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
|
|
|
-+ immediate references to TLS data.
|
|
|
-+ (xtensa_emit_move_sequence): Don't force constants to memory in
|
|
|
-+ the presence of TARGET_AUTO_LITPOOLS.
|
|
|
-+ (print_operand): Add 'y' format, same as default, but capable of
|
|
|
-+ printing SF mode constants as well.
|
|
|
-+ * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
|
|
|
-+ (movsf_internal): Add movi pattern that loads literal.
|
|
|
-+ (movsf, movdf): Don't force constants to memory in the presence
|
|
|
-+ of TARGET_AUTO_LITPOOLS.
|
|
|
-+ (movdf_internal): Add 'Y' constraint.
|
|
|
-+ * config/xtensa/xtensa.opt (mauto-litpools): New option.
|
|
|
-+
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+Backported from: r226828
|
|
|
-+Changes to ChangeLogs and documentation are dropped.
|
|
|
-+
|
|
|
-+ gcc/config/xtensa/constraints.md | 5 +++++
|
|
|
-+ gcc/config/xtensa/elf.h | 4 +++-
|
|
|
-+ gcc/config/xtensa/linux.h | 4 +++-
|
|
|
-+ gcc/config/xtensa/predicates.md | 3 ++-
|
|
|
-+ gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++-
|
|
|
-+ gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++----------------
|
|
|
-+ gcc/config/xtensa/xtensa.opt | 4 ++++
|
|
|
-+ 7 files changed, 54 insertions(+), 20 deletions(-)
|
|
|
-+
|
|
|
-+diff --git a/gcc/config/xtensa/constraints.md b/gcc/config/xtensa/constraints.md
|
|
|
-+index 30f4c1f..773d4f9 100644
|
|
|
-+--- a/gcc/config/xtensa/constraints.md
|
|
|
-++++ b/gcc/config/xtensa/constraints.md
|
|
|
-+@@ -111,6 +111,11 @@
|
|
|
-+ (and (match_code "const_int")
|
|
|
-+ (match_test "xtensa_mask_immediate (ival)")))
|
|
|
-+
|
|
|
-++(define_constraint "Y"
|
|
|
-++ "A constant that can be used in relaxed MOVI instructions."
|
|
|
-++ (and (match_code "const_int,const_double,const,symbol_ref,label_ref")
|
|
|
-++ (match_test "TARGET_AUTO_LITPOOLS")))
|
|
|
-++
|
|
|
-+ ;; Memory constraints. Do not use define_memory_constraint here. Doing so
|
|
|
-+ ;; causes reload to force some constants into the constant pool, but since
|
|
|
-+ ;; the Xtensa constant pool can only be accessed with L32R instructions, it
|
|
|
-+diff --git a/gcc/config/xtensa/elf.h b/gcc/config/xtensa/elf.h
|
|
|
-+index e59bede..12056f7 100644
|
|
|
-+--- a/gcc/config/xtensa/elf.h
|
|
|
-++++ b/gcc/config/xtensa/elf.h
|
|
|
-+@@ -48,7 +48,9 @@ along with GCC; see the file COPYING3. If not see
|
|
|
-+ %{mtarget-align:--target-align} \
|
|
|
-+ %{mno-target-align:--no-target-align} \
|
|
|
-+ %{mlongcalls:--longcalls} \
|
|
|
-+- %{mno-longcalls:--no-longcalls}"
|
|
|
-++ %{mno-longcalls:--no-longcalls} \
|
|
|
-++ %{mauto-litpools:--auto-litpools} \
|
|
|
-++ %{mno-auto-litpools:--no-auto-litpools}"
|
|
|
-+
|
|
|
-+ #undef LIB_SPEC
|
|
|
-+ #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
|
|
|
-+diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
|
|
|
-+index 675aacf..5b0243a 100644
|
|
|
-+--- a/gcc/config/xtensa/linux.h
|
|
|
-++++ b/gcc/config/xtensa/linux.h
|
|
|
-+@@ -42,7 +42,9 @@ along with GCC; see the file COPYING3. If not see
|
|
|
-+ %{mtarget-align:--target-align} \
|
|
|
-+ %{mno-target-align:--no-target-align} \
|
|
|
-+ %{mlongcalls:--longcalls} \
|
|
|
-+- %{mno-longcalls:--no-longcalls}"
|
|
|
-++ %{mno-longcalls:--no-longcalls} \
|
|
|
-++ %{mauto-litpools:--auto-litpools} \
|
|
|
-++ %{mno-auto-litpools:--no-auto-litpools}"
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-+
|
|
|
-+diff --git a/gcc/config/xtensa/predicates.md b/gcc/config/xtensa/predicates.md
|
|
|
-+index e02209e..d7dfa11 100644
|
|
|
-+--- a/gcc/config/xtensa/predicates.md
|
|
|
-++++ b/gcc/config/xtensa/predicates.md
|
|
|
-+@@ -142,7 +142,8 @@
|
|
|
-+ (match_test "GET_MODE_CLASS (mode) == MODE_INT
|
|
|
-+ && xtensa_simm12b (INTVAL (op))"))
|
|
|
-+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref")
|
|
|
-+- (match_test "TARGET_CONST16 && CONSTANT_P (op)
|
|
|
-++ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS)
|
|
|
-++ && CONSTANT_P (op)
|
|
|
-+ && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0")))))
|
|
|
-+
|
|
|
-+ ;; Accept the floating point constant 1 in the appropriate mode.
|
|
|
-+diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
|
|
-+index eb039ba..206ff80 100644
|
|
|
-+--- a/gcc/config/xtensa/xtensa.c
|
|
|
-++++ b/gcc/config/xtensa/xtensa.c
|
|
|
-+@@ -501,6 +501,9 @@ xtensa_valid_move (machine_mode mode, rtx *operands)
|
|
|
-+ {
|
|
|
-+ int dst_regnum = xt_true_regnum (operands[0]);
|
|
|
-+
|
|
|
-++ if (xtensa_tls_referenced_p (operands[1]))
|
|
|
-++ return FALSE;
|
|
|
-++
|
|
|
-+ /* The stack pointer can only be assigned with a MOVSP opcode. */
|
|
|
-+ if (dst_regnum == STACK_POINTER_REGNUM)
|
|
|
-+ return !TARGET_WINDOWED_ABI
|
|
|
-+@@ -1069,7 +1072,7 @@ xtensa_emit_move_sequence (rtx *operands, machine_mode mode)
|
|
|
-+ return 1;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+- if (! TARGET_CONST16)
|
|
|
-++ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16)
|
|
|
-+ {
|
|
|
-+ src = force_const_mem (SImode, src);
|
|
|
-+ operands[1] = src;
|
|
|
-+@@ -2449,6 +2452,20 @@ print_operand (FILE *file, rtx x, int letter)
|
|
|
-+ }
|
|
|
-+ break;
|
|
|
-+
|
|
|
-++ case 'y':
|
|
|
-++ if (GET_CODE (x) == CONST_DOUBLE &&
|
|
|
-++ GET_MODE (x) == SFmode)
|
|
|
-++ {
|
|
|
-++ REAL_VALUE_TYPE r;
|
|
|
-++ long l;
|
|
|
-++ REAL_VALUE_FROM_CONST_DOUBLE (r, x);
|
|
|
-++ REAL_VALUE_TO_TARGET_SINGLE (r, l);
|
|
|
-++ fprintf (file, "0x%08lx", l);
|
|
|
-++ break;
|
|
|
-++ }
|
|
|
-++
|
|
|
-++ /* fall through */
|
|
|
-++
|
|
|
-+ default:
|
|
|
-+ if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG)
|
|
|
-+ fprintf (file, "%s", reg_names[xt_true_regnum (x)]);
|
|
|
-+diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
|
|
|
-+index 6d84384..0e673a3 100644
|
|
|
-+--- a/gcc/config/xtensa/xtensa.md
|
|
|
-++++ b/gcc/config/xtensa/xtensa.md
|
|
|
-+@@ -761,8 +761,8 @@
|
|
|
-+ })
|
|
|
-+
|
|
|
-+ (define_insn "movsi_internal"
|
|
|
-+- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A")
|
|
|
-+- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))]
|
|
|
-++ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A")
|
|
|
-++ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))]
|
|
|
-+ "xtensa_valid_move (SImode, operands)"
|
|
|
-+ "@
|
|
|
-+ movi.n\t%0, %x1
|
|
|
-+@@ -774,15 +774,16 @@
|
|
|
-+ mov\t%0, %1
|
|
|
-+ movsp\t%0, %1
|
|
|
-+ movi\t%0, %x1
|
|
|
-++ movi\t%0, %1
|
|
|
-+ const16\t%0, %t1\;const16\t%0, %b1
|
|
|
-+ %v1l32r\t%0, %1
|
|
|
-+ %v1l32i\t%0, %1
|
|
|
-+ %v0s32i\t%1, %0
|
|
|
-+ rsr\t%0, ACCLO
|
|
|
-+ wsr\t%1, ACCLO"
|
|
|
-+- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr")
|
|
|
-++ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr")
|
|
|
-+ (set_attr "mode" "SI")
|
|
|
-+- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")])
|
|
|
-++ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")])
|
|
|
-+
|
|
|
-+ ;; 16-bit Integer moves
|
|
|
-+
|
|
|
-+@@ -796,21 +797,22 @@
|
|
|
-+ })
|
|
|
-+
|
|
|
-+ (define_insn "movhi_internal"
|
|
|
-+- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A")
|
|
|
-+- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))]
|
|
|
-++ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A")
|
|
|
-++ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))]
|
|
|
-+ "xtensa_valid_move (HImode, operands)"
|
|
|
-+ "@
|
|
|
-+ movi.n\t%0, %x1
|
|
|
-+ mov.n\t%0, %1
|
|
|
-+ mov\t%0, %1
|
|
|
-+ movi\t%0, %x1
|
|
|
-++ movi\t%0, %1
|
|
|
-+ %v1l16ui\t%0, %1
|
|
|
-+ %v0s16i\t%1, %0
|
|
|
-+ rsr\t%0, ACCLO
|
|
|
-+ wsr\t%1, ACCLO"
|
|
|
-+- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr")
|
|
|
-++ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr")
|
|
|
-+ (set_attr "mode" "HI")
|
|
|
-+- (set_attr "length" "2,2,3,3,3,3,3,3")])
|
|
|
-++ (set_attr "length" "2,2,3,3,3,3,3,3,3")])
|
|
|
-+
|
|
|
-+ ;; 8-bit Integer moves
|
|
|
-+
|
|
|
-+@@ -881,7 +883,7 @@
|
|
|
-+ (match_operand:SF 1 "general_operand" ""))]
|
|
|
-+ ""
|
|
|
-+ {
|
|
|
-+- if (!TARGET_CONST16 && CONSTANT_P (operands[1]))
|
|
|
-++ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1]))
|
|
|
-+ operands[1] = force_const_mem (SFmode, operands[1]);
|
|
|
-+
|
|
|
-+ if ((!register_operand (operands[0], SFmode)
|
|
|
-+@@ -896,8 +898,8 @@
|
|
|
-+ })
|
|
|
-+
|
|
|
-+ (define_insn "movsf_internal"
|
|
|
-+- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U")
|
|
|
-+- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))]
|
|
|
-++ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U")
|
|
|
-++ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))]
|
|
|
-+ "((register_operand (operands[0], SFmode)
|
|
|
-+ || register_operand (operands[1], SFmode))
|
|
|
-+ && !(FP_REG_P (xt_true_regnum (operands[0]))
|
|
|
-+@@ -912,13 +914,14 @@
|
|
|
-+ mov\t%0, %1
|
|
|
-+ wfr\t%0, %1
|
|
|
-+ rfr\t%0, %1
|
|
|
-++ movi\t%0, %y1
|
|
|
-+ const16\t%0, %t1\;const16\t%0, %b1
|
|
|
-+ %v1l32r\t%0, %1
|
|
|
-+ %v1l32i\t%0, %1
|
|
|
-+ %v0s32i\t%1, %0"
|
|
|
-+- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store")
|
|
|
-++ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store")
|
|
|
-+ (set_attr "mode" "SF")
|
|
|
-+- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")])
|
|
|
-++ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")])
|
|
|
-+
|
|
|
-+ (define_insn "*lsiu"
|
|
|
-+ [(set (match_operand:SF 0 "register_operand" "=f")
|
|
|
-+@@ -991,7 +994,7 @@
|
|
|
-+ (match_operand:DF 1 "general_operand" ""))]
|
|
|
-+ ""
|
|
|
-+ {
|
|
|
-+- if (CONSTANT_P (operands[1]) && !TARGET_CONST16)
|
|
|
-++ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS)
|
|
|
-+ operands[1] = force_const_mem (DFmode, operands[1]);
|
|
|
-+
|
|
|
-+ if (!register_operand (operands[0], DFmode)
|
|
|
-+@@ -1002,8 +1005,8 @@
|
|
|
-+ })
|
|
|
-+
|
|
|
-+ (define_insn_and_split "movdf_internal"
|
|
|
-+- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U")
|
|
|
-+- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))]
|
|
|
-++ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U")
|
|
|
-++ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))]
|
|
|
-+ "register_operand (operands[0], DFmode)
|
|
|
-+ || register_operand (operands[1], DFmode)"
|
|
|
-+ "#"
|
|
|
-+diff --git a/gcc/config/xtensa/xtensa.opt b/gcc/config/xtensa/xtensa.opt
|
|
|
-+index 2fd6cee..21c6e96 100644
|
|
|
-+--- a/gcc/config/xtensa/xtensa.opt
|
|
|
-++++ b/gcc/config/xtensa/xtensa.opt
|
|
|
-+@@ -38,6 +38,10 @@ mtext-section-literals
|
|
|
-+ Target
|
|
|
-+ Intersperse literal pools with code in the text section
|
|
|
-+
|
|
|
-++mauto-litpools
|
|
|
-++Target Report Mask(AUTO_LITPOOLS)
|
|
|
-++Relax literals in assembler and place them automatically in the text section
|
|
|
-++
|
|
|
-+ mserialize-volatile
|
|
|
-+ Target Report Mask(SERIALIZE_VOLATILE)
|
|
|
-+ -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions
|
|
|
-+--
|
|
|
-+1.8.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/871-xtensa-reimplement-register-spilling.patch b/package/gcc/4.9.3/871-xtensa-reimplement-register-spilling.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..abc7a08
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/871-xtensa-reimplement-register-spilling.patch
|
|
|
-@@ -0,0 +1,76 @@
|
|
|
-+From 05154174b369505238b759cf80d595d8cfc8c731 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+Date: Mon, 10 Aug 2015 21:35:20 +0300
|
|
|
-+Subject: [PATCH 1/3] xtensa: reimplement register spilling
|
|
|
-+
|
|
|
-+Spilling windowed registers in userspace is much easier, more portable,
|
|
|
-+less error-prone and equally effective as in kernel. Now that register
|
|
|
-+spilling syscall is considered obsolete in the xtensa linux kernel
|
|
|
-+replace it with CALL12 followed by series of ENTRY in libgcc.
|
|
|
-+
|
|
|
-+2015-08-18 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+libgcc/
|
|
|
-+ * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
|
|
|
-+ CALL12 followed by series of ENTRY to spill windowed registers.
|
|
|
-+ (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill
|
|
|
-+ instead of making linux spill syscall.
|
|
|
-+
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+Backported from: r226962
|
|
|
-+
|
|
|
-+ libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++-------
|
|
|
-+ 1 file changed, 23 insertions(+), 7 deletions(-)
|
|
|
-+
|
|
|
-+diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S
|
|
|
-+index 3ac8c1d..2e678af 100644
|
|
|
-+--- a/libgcc/config/xtensa/lib2funcs.S
|
|
|
-++++ b/libgcc/config/xtensa/lib2funcs.S
|
|
|
-+@@ -33,10 +33,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
-+ .global __xtensa_libgcc_window_spill
|
|
|
-+ .type __xtensa_libgcc_window_spill,@function
|
|
|
-+ __xtensa_libgcc_window_spill:
|
|
|
-+- entry sp, 32
|
|
|
-+- movi a2, 0
|
|
|
-+- syscall
|
|
|
-++ entry sp, 48
|
|
|
-++#if XCHAL_NUM_AREGS > 16
|
|
|
-++ call12 1f
|
|
|
-++ retw
|
|
|
-++ .align 4
|
|
|
-++1:
|
|
|
-++ .rept (XCHAL_NUM_AREGS - 24) / 12
|
|
|
-++ _entry sp, 48
|
|
|
-++ mov a12, a0
|
|
|
-++ .endr
|
|
|
-++ _entry sp, 16
|
|
|
-++#if XCHAL_NUM_AREGS % 12 == 0
|
|
|
-++ mov a4, a4
|
|
|
-++#elif XCHAL_NUM_AREGS % 12 == 4
|
|
|
-++ mov a8, a8
|
|
|
-++#elif XCHAL_NUM_AREGS % 12 == 8
|
|
|
-++ mov a12, a12
|
|
|
-++#endif
|
|
|
-++ retw
|
|
|
-++#else
|
|
|
-++ mov a8, a8
|
|
|
-+ retw
|
|
|
-++#endif
|
|
|
-+ .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill
|
|
|
-+
|
|
|
-+
|
|
|
-+@@ -58,10 +77,7 @@ __xtensa_nonlocal_goto:
|
|
|
-+ entry sp, 32
|
|
|
-+
|
|
|
-+ /* Flush registers. */
|
|
|
-+- mov a5, a2
|
|
|
-+- movi a2, 0
|
|
|
-+- syscall
|
|
|
-+- mov a2, a5
|
|
|
-++ call8 __xtensa_libgcc_window_spill
|
|
|
-+
|
|
|
-+ /* Because the save area for a0-a3 is stored one frame below
|
|
|
-+ the one identified by a2, the only way to restore those
|
|
|
-+--
|
|
|
-+1.8.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/package/gcc/4.9.3/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..f23a5c0
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
|
|
|
-@@ -0,0 +1,33 @@
|
|
|
-+From f66206679a0ad604f13673559f230160cd3d1189 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+Date: Fri, 14 Aug 2015 02:45:02 +0300
|
|
|
-+Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde
|
|
|
-+
|
|
|
-+This allows having exception cleanup code in binaries that don't
|
|
|
-+register their unwind tables.
|
|
|
-+
|
|
|
-+2015-08-18 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+libgcc/
|
|
|
-+ * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde
|
|
|
-+ with unwind-dw2-fde-dip.
|
|
|
-+
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+Backported from: r226963
|
|
|
-+
|
|
|
-+ libgcc/config/xtensa/t-xtensa | 2 +-
|
|
|
-+ 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa
|
|
|
-+index 27399e6..66d0eb3 100644
|
|
|
-+--- a/libgcc/config/xtensa/t-xtensa
|
|
|
-++++ b/libgcc/config/xtensa/t-xtensa
|
|
|
-+@@ -13,4 +13,4 @@ LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \
|
|
|
-+ LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S
|
|
|
-+
|
|
|
-+ LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \
|
|
|
-+- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
|
|
|
-++ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
|
|
|
-+--
|
|
|
-+1.8.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/873-xtensa-fix-_Unwind_GetCFA.patch b/package/gcc/4.9.3/873-xtensa-fix-_Unwind_GetCFA.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..dc40513
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/873-xtensa-fix-_Unwind_GetCFA.patch
|
|
|
-@@ -0,0 +1,40 @@
|
|
|
-+From 15c7c4d39b317f0d902ef28fd43eca5c3369f891 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+Date: Sat, 15 Aug 2015 05:12:11 +0300
|
|
|
-+Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA
|
|
|
-+
|
|
|
-+Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame
|
|
|
-+higher than what was actually used by code at context->ra. This results
|
|
|
-+in invalid CFA value in signal frames and premature unwinding completion
|
|
|
-+in forced unwinding used by uClibc NPTL thread cancellation.
|
|
|
-+Returning context->sp from _Unwind_GetCFA makes all CFA values valid and
|
|
|
-+matching code that used them.
|
|
|
-+
|
|
|
-+2015-08-18 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+libgcc/
|
|
|
-+ * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
|
|
|
-+ context->sp instead of context->cfa.
|
|
|
-+
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+Backported from: r226964
|
|
|
-+
|
|
|
-+ libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +-
|
|
|
-+ 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c
|
|
|
-+index 35f7797..ef6b900 100644
|
|
|
-+--- a/libgcc/config/xtensa/unwind-dw2-xtensa.c
|
|
|
-++++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c
|
|
|
-+@@ -130,7 +130,7 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index)
|
|
|
-+ _Unwind_Word
|
|
|
-+ _Unwind_GetCFA (struct _Unwind_Context *context)
|
|
|
-+ {
|
|
|
-+- return (_Unwind_Ptr) context->cfa;
|
|
|
-++ return (_Unwind_Ptr) context->sp;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */
|
|
|
-+--
|
|
|
-+1.8.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/874-xtensa-add-uclinux-support.patch b/package/gcc/4.9.3/874-xtensa-add-uclinux-support.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..23db3d8
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/874-xtensa-add-uclinux-support.patch
|
|
|
-@@ -0,0 +1,174 @@
|
|
|
-+From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001
|
|
|
-+From: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+Date: Sat, 22 Aug 2015 08:44:26 +0300
|
|
|
-+Subject: [PATCH] xtensa: add uclinux support
|
|
|
-+
|
|
|
-+2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+gcc/
|
|
|
-+ * config.gcc (xtensa*-*-uclinux*): New configuration.
|
|
|
-+ * config/xtensa/uclinux.h: New file.
|
|
|
-+ * config/xtensa/uclinux.opt: New file.
|
|
|
-+
|
|
|
-+libgcc/
|
|
|
-+ * config.host (xtensa*-*-uclinux*): New configuration.
|
|
|
-+
|
|
|
-+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
|
|
-+---
|
|
|
-+Backported from: r228450
|
|
|
-+
|
|
|
-+ gcc/config.gcc | 5 ++++
|
|
|
-+ gcc/config/xtensa/uclinux.h | 69 +++++++++++++++++++++++++++++++++++++++++++
|
|
|
-+ gcc/config/xtensa/uclinux.opt | 32 ++++++++++++++++++++
|
|
|
-+ libgcc/config.host | 5 ++++
|
|
|
-+ 4 files changed, 111 insertions(+)
|
|
|
-+ create mode 100644 gcc/config/xtensa/uclinux.h
|
|
|
-+ create mode 100644 gcc/config/xtensa/uclinux.opt
|
|
|
-+
|
|
|
-+diff --git a/gcc/config.gcc b/gcc/config.gcc
|
|
|
-+index c52f5a8..56797bd 100644
|
|
|
-+--- a/gcc/config.gcc
|
|
|
-++++ b/gcc/config.gcc
|
|
|
-+@@ -2995,6 +2995,11 @@ xtensa*-*-linux*)
|
|
|
-+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
|
|
|
-+ tmake_file="${tmake_file} xtensa/t-xtensa"
|
|
|
-+ ;;
|
|
|
-++xtensa*-*-uclinux*)
|
|
|
-++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h"
|
|
|
-++ tmake_file="${tmake_file} xtensa/t-xtensa"
|
|
|
-++ extra_options="${extra_options} xtensa/uclinux.opt"
|
|
|
-++ ;;
|
|
|
-+ am33_2.0-*-linux*)
|
|
|
-+ tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
|
|
|
-+ gas=yes gnu_ld=yes
|
|
|
-+diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h
|
|
|
-+new file mode 100644
|
|
|
-+index 0000000..4606020
|
|
|
-+--- /dev/null
|
|
|
-++++ b/gcc/config/xtensa/uclinux.h
|
|
|
-+@@ -0,0 +1,69 @@
|
|
|
-++/* Xtensa uClinux configuration.
|
|
|
-++ Derived from the configuration for GCC for Intel i386 running Linux.
|
|
|
-++ Copyright (C) 2001-2015 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.
|
|
|
-++
|
|
|
-++You should have received a copy of the GNU General Public License
|
|
|
-++along with GCC; see the file COPYING3. If not see
|
|
|
-++<http://www.gnu.org/licenses/>. */
|
|
|
-++
|
|
|
-++#undef TARGET_OS_CPP_BUILTINS
|
|
|
-++#define TARGET_OS_CPP_BUILTINS() \
|
|
|
-++ do \
|
|
|
-++ { \
|
|
|
-++ GNU_USER_TARGET_OS_CPP_BUILTINS (); \
|
|
|
-++ builtin_define ("__uClinux__"); \
|
|
|
-++ } \
|
|
|
-++ while (0)
|
|
|
-++
|
|
|
-++#undef SUBTARGET_CPP_SPEC
|
|
|
-++#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
|
|
-++
|
|
|
-++#undef SIZE_TYPE
|
|
|
-++#define SIZE_TYPE "unsigned int"
|
|
|
-++
|
|
|
-++#undef PTRDIFF_TYPE
|
|
|
-++#define PTRDIFF_TYPE "int"
|
|
|
-++
|
|
|
-++#undef WCHAR_TYPE
|
|
|
-++#define WCHAR_TYPE "long int"
|
|
|
-++
|
|
|
-++#undef WCHAR_TYPE_SIZE
|
|
|
-++#define WCHAR_TYPE_SIZE 32
|
|
|
-++
|
|
|
-++#undef ASM_SPEC
|
|
|
-++#define ASM_SPEC \
|
|
|
-++ "%{mtext-section-literals:--text-section-literals} \
|
|
|
-++ %{mno-text-section-literals:--no-text-section-literals} \
|
|
|
-++ %{mtarget-align:--target-align} \
|
|
|
-++ %{mno-target-align:--no-target-align} \
|
|
|
-++ %{mlongcalls:--longcalls} \
|
|
|
-++ %{mno-longcalls:--no-longcalls} \
|
|
|
-++ %{mauto-litpools:--auto-litpools} \
|
|
|
-++ %{mno-auto-litpools:--no-auto-litpools}"
|
|
|
-++
|
|
|
-++#undef LINK_SPEC
|
|
|
-++#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}"
|
|
|
-++
|
|
|
-++#undef LOCAL_LABEL_PREFIX
|
|
|
-++#define LOCAL_LABEL_PREFIX "."
|
|
|
-++
|
|
|
-++/* Always enable "-fpic" for Xtensa Linux. */
|
|
|
-++#define XTENSA_ALWAYS_PIC 1
|
|
|
-++
|
|
|
-++#undef TARGET_LIBC_HAS_FUNCTION
|
|
|
-++#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
|
|
|
-++
|
|
|
-++#undef DBX_REGISTER_NUMBER
|
|
|
-++
|
|
|
-+diff --git a/gcc/config/xtensa/uclinux.opt b/gcc/config/xtensa/uclinux.opt
|
|
|
-+new file mode 100644
|
|
|
-+index 0000000..95ef777
|
|
|
-+--- /dev/null
|
|
|
-++++ b/gcc/config/xtensa/uclinux.opt
|
|
|
-+@@ -0,0 +1,32 @@
|
|
|
-++; Xtensa uClinux options.
|
|
|
-++
|
|
|
-++; Copyright (C) 2015 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.
|
|
|
-++;
|
|
|
-++; You should have received a copy of the GNU General Public License
|
|
|
-++; along with GCC; see the file COPYING3. If not see
|
|
|
-++; <http://www.gnu.org/licenses/>.
|
|
|
-++
|
|
|
-++; See the GCC internals manual (options.texi) for a description of
|
|
|
-++; this file's format.
|
|
|
-++
|
|
|
-++; Please try to keep this file in ASCII collating order.
|
|
|
-++
|
|
|
-++elf2flt
|
|
|
-++Driver
|
|
|
-++
|
|
|
-++elf2flt=
|
|
|
-++Driver JoinedOrMissing
|
|
|
-++
|
|
|
-++; This comment is to ensure we retain the blank line above.
|
|
|
-+diff --git a/libgcc/config.host b/libgcc/config.host
|
|
|
-+index 2c64756..2ee92c1 100644
|
|
|
-+--- a/libgcc/config.host
|
|
|
-++++ b/libgcc/config.host
|
|
|
-+@@ -1295,6 +1295,11 @@ xtensa*-*-linux*)
|
|
|
-+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
|
|
-+ md_unwind_header=xtensa/linux-unwind.h
|
|
|
-+ ;;
|
|
|
-++xtensa*-*-uclinux*)
|
|
|
-++ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
|
|
-++ md_unwind_header=xtensa/linux-unwind.h
|
|
|
-++ extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o"
|
|
|
-++ ;;
|
|
|
-+ am33_2.0-*-linux*)
|
|
|
-+ # Don't need crtbeginT.o from *-*-linux* default.
|
|
|
-+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
|
|
-+--
|
|
|
-+1.8.1.4
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/880-nios2_legitimize_address.patch b/package/gcc/4.9.3/880-nios2_legitimize_address.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..4623f29
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/880-nios2_legitimize_address.patch
|
|
|
-@@ -0,0 +1,49 @@
|
|
|
-+From b0ea54f3f995754881e0ea6651133aa7b58eeaa2 Mon Sep 17 00:00:00 2001
|
|
|
-+From: cltang <cltang@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
|
-+Date: Tue, 22 Sep 2015 12:23:20 +0000
|
|
|
-+Subject: [PATCH] nios2_legitimize_address 2015-09-22 Chung-Lin Tang
|
|
|
-+ <cltang@codesourcery.com>
|
|
|
-+
|
|
|
-+ Backport from mainline
|
|
|
-+ 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
|
|
|
-+
|
|
|
-+ * config/nios2/nios2.c (nios2_legitimize_address): When handling
|
|
|
-+ 'reg + reloc' cases, allow first operand to be non-REG, and use
|
|
|
-+ force_reg() to enforce address pattern.
|
|
|
-+
|
|
|
-+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@228013 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
-+
|
|
|
-+Fixes:
|
|
|
-+http://autobuild.buildroot.net/results/901/90186d1fe134b804c0101554296b1235dc0ccbb0
|
|
|
-+
|
|
|
-+[backported to 4.9.3]
|
|
|
-+Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
|
|
-+---
|
|
|
-+ gcc/config/nios2/nios2.c | 4 ++--
|
|
|
-+ 1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
-+
|
|
|
-+diff --git a/gcc/config/nios2/nios2.c b/gcc/config/nios2/nios2.c
|
|
|
-+index 047b615..41dd6f9 100644
|
|
|
-+--- a/gcc/config/nios2/nios2.c
|
|
|
-++++ b/gcc/config/nios2/nios2.c
|
|
|
-+@@ -1786,15 +1786,15 @@ nios2_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
|
|
|
-+
|
|
|
-+ Which will be output as '%tls_le(var+48)(r23)' in assembly. */
|
|
|
-+ if (GET_CODE (x) == PLUS
|
|
|
-+- && GET_CODE (XEXP (x, 0)) == REG
|
|
|
-+ && GET_CODE (XEXP (x, 1)) == CONST)
|
|
|
-+ {
|
|
|
-+- rtx unspec, offset, reg = XEXP (x, 0);
|
|
|
-++ rtx unspec, offset;
|
|
|
-+ split_const (XEXP (x, 1), &unspec, &offset);
|
|
|
-+ if (GET_CODE (unspec) == UNSPEC
|
|
|
-+ && !nios2_large_offset_p (XINT (unspec, 1))
|
|
|
-+ && offset != const0_rtx)
|
|
|
-+ {
|
|
|
-++ rtx reg = force_reg (Pmode, XEXP (x, 0));
|
|
|
-+ unspec = copy_rtx (unspec);
|
|
|
-+ XVECEXP (unspec, 0, 0)
|
|
|
-+ = plus_constant (Pmode, XVECEXP (unspec, 0, 0), INTVAL (offset));
|
|
|
-+--
|
|
|
-+2.5.0
|
|
|
-+
|
|
|
-diff --git a/package/gcc/4.9.3/890-fix-m68k-compile.patch b/package/gcc/4.9.3/890-fix-m68k-compile.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..140977b
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/890-fix-m68k-compile.patch
|
|
|
-@@ -0,0 +1,15 @@
|
|
|
-+remove unused header, which breaks the toolchain building
|
|
|
-+
|
|
|
-+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
|
-+
|
|
|
-+diff -Nur gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c gcc-4.9.3/libgcc/config/m68k/linux-atomic.c
|
|
|
-+--- gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c 2014-01-02 23:25:22.000000000 +0100
|
|
|
-++++ gcc-4.9.3/libgcc/config/m68k/linux-atomic.c 2016-03-18 22:24:40.000000000 +0100
|
|
|
-+@@ -33,7 +33,6 @@
|
|
|
-+ using the kernel helper defined below. There is no support for
|
|
|
-+ 64-bit operations yet. */
|
|
|
-+
|
|
|
-+-#include <asm/unistd.h>
|
|
|
-+ #include <stdbool.h>
|
|
|
-+
|
|
|
-+ #ifndef __NR_atomic_cmpxchg_32
|
|
|
-diff --git a/package/gcc/4.9.3/900-musl-support.patch b/package/gcc/4.9.3/900-musl-support.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..90f64de
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/900-musl-support.patch
|
|
|
-@@ -0,0 +1,640 @@
|
|
|
-+Add musl support to gcc
|
|
|
-+
|
|
|
-+This patch comes from the musl-cross project at
|
|
|
-+https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version:
|
|
|
-+
|
|
|
-+ * the config.sub modifications have been removed, because Buildroot
|
|
|
-+ already overwrites all config.sub with a more recent config.sub
|
|
|
-+ that has musl support.
|
|
|
-+
|
|
|
-+ * change to ensure that a dummy dynamic linker path
|
|
|
-+ MUSL_DYNAMIC_LINKER<foo> is defined for all architectures,
|
|
|
-+ otherwise building gcc for architectures not supported by musl was
|
|
|
-+ causing build failure. Bug reported upstream at
|
|
|
-+ https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on.
|
|
|
-+
|
|
|
-+ * change the USE_PT_GNU_EH_FRAME logic to keep the existing gcc logic
|
|
|
-+ and only add the musl one as an addition, not as a replacement. Not
|
|
|
-+ doing this breaks C++ exception handling with glibc, because
|
|
|
-+ USE_PT_GNU_EH_FRAME doesn't get defined due to the configure script
|
|
|
-+ not testing dl_iterate_phdr() on any system except Solaris.
|
|
|
-+
|
|
|
-+[Gustavo: remove upstream applied gcc/config/sh/sh.c chunk for 4.9.1]
|
|
|
-+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
-+---
|
|
|
-+
|
|
|
-+Index: b/fixincludes/mkfixinc.sh
|
|
|
-+===================================================================
|
|
|
-+--- a/fixincludes/mkfixinc.sh
|
|
|
-++++ b/fixincludes/mkfixinc.sh
|
|
|
-+@@ -19,7 +19,8 @@
|
|
|
-+ powerpc-*-eabi* | \
|
|
|
-+ powerpc-*-rtems* | \
|
|
|
-+ powerpcle-*-eabisim* | \
|
|
|
-+- powerpcle-*-eabi* )
|
|
|
-++ powerpcle-*-eabi* | \
|
|
|
-++ *-musl* )
|
|
|
-+ # IF there is no include fixing,
|
|
|
-+ # THEN create a no-op fixer and exit
|
|
|
-+ (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
|
|
|
-+Index: b/gcc/config.gcc
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config.gcc
|
|
|
-++++ b/gcc/config.gcc
|
|
|
-+@@ -594,7 +594,7 @@
|
|
|
-+ esac
|
|
|
-+
|
|
|
-+ # Common C libraries.
|
|
|
-+-tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
|
|
|
-++tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
|
|
|
-+
|
|
|
-+ # 32-bit x86 processors supported by --with-arch=. Each processor
|
|
|
-+ # MUST be separated by exactly one space.
|
|
|
-+@@ -719,6 +719,9 @@
|
|
|
-+ *-*-*uclibc*)
|
|
|
-+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
|
|
|
-+ ;;
|
|
|
-++ *-*-*musl*)
|
|
|
-++ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
|
|
|
-++ ;;
|
|
|
-+ *)
|
|
|
-+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
|
|
|
-+ ;;
|
|
|
-+@@ -2322,6 +2325,10 @@
|
|
|
-+ powerpc*-*-linux*paired*)
|
|
|
-+ tm_file="${tm_file} rs6000/750cl.h" ;;
|
|
|
-+ esac
|
|
|
-++ case ${target} in
|
|
|
-++ *-linux*-musl*)
|
|
|
-++ enable_secureplt=yes ;;
|
|
|
-++ esac
|
|
|
-+ if test x${enable_secureplt} = xyes; then
|
|
|
-+ tm_file="rs6000/secureplt.h ${tm_file}"
|
|
|
-+ fi
|
|
|
-+Index: b/gcc/config/aarch64/aarch64-linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/aarch64/aarch64-linux.h
|
|
|
-++++ b/gcc/config/aarch64/aarch64-linux.h
|
|
|
-+@@ -22,6 +22,8 @@
|
|
|
-+ #define GCC_AARCH64_LINUX_H
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1"
|
|
|
-+
|
|
|
-+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
|
|
|
-+
|
|
|
-+Index: b/gcc/config/arm/linux-eabi.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/arm/linux-eabi.h
|
|
|
-++++ b/gcc/config/arm/linux-eabi.h
|
|
|
-+@@ -77,6 +77,23 @@
|
|
|
-+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
|
|
|
-+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
|
|
|
-+
|
|
|
-++/* For ARM musl currently supports four dynamic linkers:
|
|
|
-++ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
|
|
|
-++ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI
|
|
|
-++ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB
|
|
|
-++ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB
|
|
|
-++ musl does not support the legacy OABI mode.
|
|
|
-++ All the dynamic linkers live in /lib.
|
|
|
-++ We default to soft-float, EL. */
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#if TARGET_BIG_ENDIAN_DEFAULT
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
|
|
|
-++#endif
|
|
|
-++#define MUSL_DYNAMIC_LINKER \
|
|
|
-++ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
|
|
|
-++
|
|
|
-+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
|
|
|
-+ use the GNU/Linux version, not the generic BPABI version. */
|
|
|
-+ #undef LINK_SPEC
|
|
|
-+Index: b/gcc/config/i386/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/i386/linux.h
|
|
|
-++++ b/gcc/config/i386/linux.h
|
|
|
-+@@ -21,3 +21,5 @@
|
|
|
-+
|
|
|
-+ #define GNU_USER_LINK_EMULATION "elf_i386"
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
|
|
-+Index: b/gcc/config/i386/linux64.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/i386/linux64.h
|
|
|
-++++ b/gcc/config/i386/linux64.h
|
|
|
-+@@ -30,3 +30,10 @@
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
|
|
|
-+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
|
|
|
-++
|
|
|
-++#undef MUSL_DYNAMIC_LINKER32
|
|
|
-++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER64
|
|
|
-++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKERX32
|
|
|
-++#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
|
|
|
-+Index: b/gcc/config/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/linux.h
|
|
|
-++++ b/gcc/config/linux.h
|
|
|
-+@@ -32,10 +32,12 @@
|
|
|
-+ #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
|
|
|
-+ #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
|
|
|
-+ #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
|
|
|
-++#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL)
|
|
|
-+ #else
|
|
|
-+ #define OPTION_GLIBC (linux_libc == LIBC_GLIBC)
|
|
|
-+ #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
|
|
|
-+ #define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
|
|
|
-++#define OPTION_MUSL (linux_libc == LIBC_MUSL)
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+ #define GNU_USER_TARGET_OS_CPP_BUILTINS() \
|
|
|
-+@@ -53,18 +55,21 @@
|
|
|
-+ uClibc or Bionic is the default C library and whether
|
|
|
-+ -muclibc or -mglibc or -mbionic has been passed to change the default. */
|
|
|
-+
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \
|
|
|
-+- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \
|
|
|
-++ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}"
|
|
|
-+
|
|
|
-+ #if DEFAULT_LIBC == LIBC_GLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B)
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M)
|
|
|
-+ #elif DEFAULT_LIBC == LIBC_UCLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B)
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M)
|
|
|
-+ #elif DEFAULT_LIBC == LIBC_BIONIC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U)
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M)
|
|
|
-++#elif DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \
|
|
|
-++ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B)
|
|
|
-+ #else
|
|
|
-+ #error "Unsupported DEFAULT_LIBC"
|
|
|
-+ #endif /* DEFAULT_LIBC */
|
|
|
-+@@ -82,23 +87,103 @@
|
|
|
-+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
|
|
|
-+ #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32"
|
|
|
-+
|
|
|
-++/* Musl dynamic linker paths must be defined on a per-architecture
|
|
|
-++ basis, for each architecture supported by Musl. However, in order
|
|
|
-++ to let other architectures continue to build with other C
|
|
|
-++ libraries, we provide a dummy definition of the following defines. */
|
|
|
-++#define MUSL_DYNAMIC_LINKER "invalid"
|
|
|
-++#define MUSL_DYNAMIC_LINKER32 "invalid"
|
|
|
-++#define MUSL_DYNAMIC_LINKER64 "invalid"
|
|
|
-++#define MUSL_DYNAMIC_LINKERX32 "invalid"
|
|
|
-++
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
|
|
|
-+- BIONIC_DYNAMIC_LINKER)
|
|
|
-++ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER32 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
|
|
|
-+- BIONIC_DYNAMIC_LINKER32)
|
|
|
-++ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER64 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
|
|
|
-+- BIONIC_DYNAMIC_LINKER64)
|
|
|
-++ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKERX32 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \
|
|
|
-+- BIONIC_DYNAMIC_LINKERX32)
|
|
|
-++ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKER32)
|
|
|
-+
|
|
|
-+ /* Whether we have Bionic libc runtime */
|
|
|
-+ #undef TARGET_HAS_BIONIC
|
|
|
-+ #define TARGET_HAS_BIONIC (OPTION_BIONIC)
|
|
|
-+
|
|
|
-++/* musl avoids problematic includes by rearranging the include directories.
|
|
|
-++ * Unfortunately, this is mostly duplicated from cppdefault.c */
|
|
|
-++#if DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_GPP \
|
|
|
-++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
|
|
|
-++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \
|
|
|
-++ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \
|
|
|
-++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \
|
|
|
-++ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \
|
|
|
-++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
|
|
|
-++
|
|
|
-++#ifdef LOCAL_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_LOCAL \
|
|
|
-++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \
|
|
|
-++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_LOCAL
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef PREFIX_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_PREFIX \
|
|
|
-++ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0},
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_PREFIX
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef CROSS_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_CROSS \
|
|
|
-++ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0},
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_CROSS
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef TOOL_INCLUDE_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_TOOL \
|
|
|
-++ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0},
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_TOOL
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#ifdef NATIVE_SYSTEM_HEADER_DIR
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
|
|
-++ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
|
|
-++ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
|
|
-++#else
|
|
|
-++#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT)
|
|
|
-++# undef INCLUDE_DEFAULTS_MUSL_LOCAL
|
|
|
-++# define INCLUDE_DEFAULTS_MUSL_LOCAL
|
|
|
-++# undef INCLUDE_DEFAULTS_MUSL_NATIVE
|
|
|
-++# define INCLUDE_DEFAULTS_MUSL_NATIVE
|
|
|
-++#else
|
|
|
-++# undef INCLUDE_DEFAULTS_MUSL_CROSS
|
|
|
-++# define INCLUDE_DEFAULTS_MUSL_CROSS
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#undef INCLUDE_DEFAULTS
|
|
|
-++#define INCLUDE_DEFAULTS \
|
|
|
-++ { \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_GPP \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_PREFIX \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_CROSS \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_TOOL \
|
|
|
-++ INCLUDE_DEFAULTS_MUSL_NATIVE \
|
|
|
-++ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
|
|
-++ { 0, 0, 0, 0, 0, 0 } \
|
|
|
-++ }
|
|
|
-++#endif
|
|
|
-++
|
|
|
-+ #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
|
|
|
-+ /* This is a *uclinux* target. We don't define below macros to normal linux
|
|
|
-+ versions, because doing so would require *uclinux* targets to include
|
|
|
-+Index: b/gcc/config/linux.opt
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/linux.opt
|
|
|
-++++ b/gcc/config/linux.opt
|
|
|
-+@@ -30,3 +30,7 @@
|
|
|
-+ muclibc
|
|
|
-+ Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
|
|
|
-+ Use uClibc C library
|
|
|
-++
|
|
|
-++mmusl
|
|
|
-++Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
|
|
|
-++Use musl C library
|
|
|
-+Index: b/gcc/config/microblaze/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/microblaze/linux.h
|
|
|
-++++ b/gcc/config/microblaze/linux.h
|
|
|
-+@@ -25,7 +25,23 @@
|
|
|
-+ #undef TLS_NEEDS_GOT
|
|
|
-+ #define TLS_NEEDS_GOT 1
|
|
|
-+
|
|
|
-+-#define DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-++#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
|
|
-++#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-++
|
|
|
-++#if DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER
|
|
|
-++#else
|
|
|
-++#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++
|
|
|
-+ #undef SUBTARGET_EXTRA_SPECS
|
|
|
-+ #define SUBTARGET_EXTRA_SPECS \
|
|
|
-+ { "dynamic_linker", DYNAMIC_LINKER }
|
|
|
-+Index: b/gcc/config/rs6000/linux64.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/rs6000/linux64.h
|
|
|
-++++ b/gcc/config/rs6000/linux64.h
|
|
|
-+@@ -375,17 +375,23 @@
|
|
|
-+ #endif
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER32
|
|
|
-++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER64
|
|
|
-++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1"
|
|
|
-+ #if DEFAULT_LIBC == LIBC_UCLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
|
|
|
-+ #elif DEFAULT_LIBC == LIBC_GLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
|
|
|
-++#elif DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
|
|
|
-+ #else
|
|
|
-+ #error "Unsupported DEFAULT_LIBC"
|
|
|
-+ #endif
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER32 \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
|
|
|
-++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER64 \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
|
|
|
-++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
|
|
|
-+
|
|
|
-+ #undef DEFAULT_ASM_ENDIAN
|
|
|
-+ #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
|
|
|
-+Index: b/gcc/config/rs6000/secureplt.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/rs6000/secureplt.h
|
|
|
-++++ b/gcc/config/rs6000/secureplt.h
|
|
|
-+@@ -18,3 +18,4 @@
|
|
|
-+ <http://www.gnu.org/licenses/>. */
|
|
|
-+
|
|
|
-+ #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"
|
|
|
-++#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt"
|
|
|
-+Index: b/gcc/config/rs6000/sysv4.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/rs6000/sysv4.h
|
|
|
-++++ b/gcc/config/rs6000/sysv4.h
|
|
|
-+@@ -537,6 +537,9 @@
|
|
|
-+ #ifndef CC1_SECURE_PLT_DEFAULT_SPEC
|
|
|
-+ #define CC1_SECURE_PLT_DEFAULT_SPEC ""
|
|
|
-+ #endif
|
|
|
-++#ifndef LINK_SECURE_PLT_DEFAULT_SPEC
|
|
|
-++#define LINK_SECURE_PLT_DEFAULT_SPEC ""
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ /* Pass -G xxx to the compiler. */
|
|
|
-+ #define CC1_SPEC "%{G*} %(cc1_cpu)" \
|
|
|
-+@@ -585,7 +588,8 @@
|
|
|
-+
|
|
|
-+ /* Override the default target of the linker. */
|
|
|
-+ #define LINK_TARGET_SPEC \
|
|
|
-+- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "")
|
|
|
-++ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \
|
|
|
-++ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}"
|
|
|
-+
|
|
|
-+ /* Any specific OS flags. */
|
|
|
-+ #define LINK_OS_SPEC "\
|
|
|
-+@@ -763,15 +767,18 @@
|
|
|
-+
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1"
|
|
|
-+ #if DEFAULT_LIBC == LIBC_UCLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
|
|
|
-++#elif DEFAULT_LIBC == LIBC_MUSL
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
|
|
|
-+ #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
|
|
|
-+-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
|
|
|
-++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
|
|
|
-+ #else
|
|
|
-+ #error "Unsupported DEFAULT_LIBC"
|
|
|
-+ #endif
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKER \
|
|
|
-+- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
|
|
|
-++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
|
|
|
-+
|
|
|
-+ #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
|
|
|
-+ %{rdynamic:-export-dynamic} \
|
|
|
-+@@ -894,6 +901,7 @@
|
|
|
-+ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
|
|
|
-+ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
|
|
-+ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
|
|
|
-++ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \
|
|
|
-+ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \
|
|
|
-+ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
|
|
|
-+ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
|
|
|
-+Index: b/gcc/config/sh/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/sh/linux.h
|
|
|
-++++ b/gcc/config/sh/linux.h
|
|
|
-+@@ -43,7 +43,15 @@
|
|
|
-+
|
|
|
-+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
|
|
-+
|
|
|
-++#if TARGET_BIG_ENDIAN_DEFAULT /* BE */
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "eb"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E
|
|
|
-++#endif
|
|
|
-++
|
|
|
-+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1"
|
|
|
-+
|
|
|
-+ #undef SUBTARGET_LINK_EMUL_SUFFIX
|
|
|
-+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
|
|
|
-+Index: b/gcc/configure
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/configure
|
|
|
-++++ b/gcc/configure
|
|
|
-+@@ -27449,6 +27453,9 @@
|
|
|
-+ gcc_cv_target_dl_iterate_phdr=no
|
|
|
-+ fi
|
|
|
-+ ;;
|
|
|
-++ *-linux-musl*)
|
|
|
-++ gcc_cv_target_dl_iterate_phdr=yes
|
|
|
-++ ;;
|
|
|
-+ esac
|
|
|
-+
|
|
|
-+ if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
|
|
|
-+Index: b/gcc/configure.ac
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/configure.ac
|
|
|
-++++ b/gcc/configure.ac
|
|
|
-+@@ -5108,6 +5112,9 @@
|
|
|
-+ gcc_cv_target_dl_iterate_phdr=no
|
|
|
-+ fi
|
|
|
-+ ;;
|
|
|
-++ *-linux-musl*)
|
|
|
-++ gcc_cv_target_dl_iterate_phdr=yes
|
|
|
-++ ;;
|
|
|
-+ esac
|
|
|
-+ GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
|
|
|
-+ if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
|
|
|
-+Index: b/gcc/ginclude/stddef.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/ginclude/stddef.h
|
|
|
-++++ b/gcc/ginclude/stddef.h
|
|
|
-+@@ -181,6 +181,7 @@
|
|
|
-+ #ifndef _GCC_SIZE_T
|
|
|
-+ #ifndef _SIZET_
|
|
|
-+ #ifndef __size_t
|
|
|
-++#ifndef __DEFINED_size_t /* musl */
|
|
|
-+ #define __size_t__ /* BeOS */
|
|
|
-+ #define __SIZE_T__ /* Cray Unicos/Mk */
|
|
|
-+ #define _SIZE_T
|
|
|
-+@@ -197,6 +198,7 @@
|
|
|
-+ #define ___int_size_t_h
|
|
|
-+ #define _GCC_SIZE_T
|
|
|
-+ #define _SIZET_
|
|
|
-++#define __DEFINED_size_t /* musl */
|
|
|
-+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
|
|
|
-+ || defined(__FreeBSD_kernel__)
|
|
|
-+ /* __size_t is a typedef on FreeBSD 5, must not trash it. */
|
|
|
-+@@ -214,6 +216,7 @@
|
|
|
-+ typedef long ssize_t;
|
|
|
-+ #endif /* __BEOS__ */
|
|
|
-+ #endif /* !(defined (__GNUG__) && defined (size_t)) */
|
|
|
-++#endif /* __DEFINED_size_t */
|
|
|
-+ #endif /* __size_t */
|
|
|
-+ #endif /* _SIZET_ */
|
|
|
-+ #endif /* _GCC_SIZE_T */
|
|
|
-+Index: b/libgcc/unwind-dw2-fde-dip.c
|
|
|
-+===================================================================
|
|
|
-+--- a/libgcc/unwind-dw2-fde-dip.c
|
|
|
-++++ b/libgcc/unwind-dw2-fde-dip.c
|
|
|
-+@@ -73,6 +73,13 @@
|
|
|
-+ && defined(TARGET_DL_ITERATE_PHDR) \
|
|
|
-+ && defined(__sun__) && defined(__svr4__)
|
|
|
-+ # define USE_PT_GNU_EH_FRAME
|
|
|
-++ #endif
|
|
|
-++
|
|
|
-++/* For musl libc, TARGET_DL_ITERATE_PHDR gets defined by the configure
|
|
|
-++ script. */
|
|
|
-++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
|
-++ && defined(TARGET_DL_ITERATE_PHDR)
|
|
|
-++# define USE_PT_GNU_EH_FRAME
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-+ #if defined(USE_PT_GNU_EH_FRAME)
|
|
|
-+Index: b/libgomp/config/posix/time.c
|
|
|
-+===================================================================
|
|
|
-+--- a/libgomp/config/posix/time.c
|
|
|
-++++ b/libgomp/config/posix/time.c
|
|
|
-+@@ -28,6 +28,8 @@
|
|
|
-+ The following implementation uses the most simple POSIX routines.
|
|
|
-+ If present, POSIX 4 clocks should be used instead. */
|
|
|
-+
|
|
|
-++#define _POSIX_C_SOURCE 199309L /* for clocks */
|
|
|
-++
|
|
|
-+ #include "libgomp.h"
|
|
|
-+ #include <unistd.h>
|
|
|
-+ #if TIME_WITH_SYS_TIME
|
|
|
-+Index: b/libitm/config/arm/hwcap.cc
|
|
|
-+===================================================================
|
|
|
-+--- a/libitm/config/arm/hwcap.cc
|
|
|
-++++ b/libitm/config/arm/hwcap.cc
|
|
|
-+@@ -40,7 +40,11 @@
|
|
|
-+
|
|
|
-+ #ifdef __linux__
|
|
|
-+ #include <unistd.h>
|
|
|
-++#ifdef __GLIBC__
|
|
|
-+ #include <sys/fcntl.h>
|
|
|
-++#else
|
|
|
-++#include <fcntl.h>
|
|
|
-++#endif
|
|
|
-+ #include <elf.h>
|
|
|
-+
|
|
|
-+ static void __attribute__((constructor))
|
|
|
-+Index: b/libitm/config/linux/x86/tls.h
|
|
|
-+===================================================================
|
|
|
-+--- a/libitm/config/linux/x86/tls.h
|
|
|
-++++ b/libitm/config/linux/x86/tls.h
|
|
|
-+@@ -25,16 +25,19 @@
|
|
|
-+ #ifndef LIBITM_X86_TLS_H
|
|
|
-+ #define LIBITM_X86_TLS_H 1
|
|
|
-+
|
|
|
-+-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
|
|
|
-++#if defined(__GLIBC_PREREQ)
|
|
|
-++#if __GLIBC_PREREQ(2, 10)
|
|
|
-+ /* Use slots in the TCB head rather than __thread lookups.
|
|
|
-+ GLIBC has reserved words 10 through 13 for TM. */
|
|
|
-+ #define HAVE_ARCH_GTM_THREAD 1
|
|
|
-+ #define HAVE_ARCH_GTM_THREAD_DISP 1
|
|
|
-+ #endif
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ #include "config/generic/tls.h"
|
|
|
-+
|
|
|
-+-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
|
|
|
-++#if defined(__GLIBC_PREREQ)
|
|
|
-++#if __GLIBC_PREREQ(2, 10)
|
|
|
-+ namespace GTM HIDDEN {
|
|
|
-+
|
|
|
-+ #ifdef __x86_64__
|
|
|
-+@@ -101,5 +104,6 @@
|
|
|
-+
|
|
|
-+ } // namespace GTM
|
|
|
-+ #endif /* >= GLIBC 2.10 */
|
|
|
-++#endif
|
|
|
-+
|
|
|
-+ #endif // LIBITM_X86_TLS_H
|
|
|
-+Index: b/libstdc++-v3/configure.host
|
|
|
-+===================================================================
|
|
|
-+--- a/libstdc++-v3/configure.host
|
|
|
-++++ b/libstdc++-v3/configure.host
|
|
|
-+@@ -264,6 +264,13 @@
|
|
|
-+ os_include_dir="os/bsd/freebsd"
|
|
|
-+ ;;
|
|
|
-+ gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
|
|
|
-++ # check for musl by target
|
|
|
-++ case "${host_os}" in
|
|
|
-++ *-musl*)
|
|
|
-++ os_include_dir="os/generic"
|
|
|
-++ ;;
|
|
|
-++ *)
|
|
|
-++
|
|
|
-+ if [ "$uclibc" = "yes" ]; then
|
|
|
-+ os_include_dir="os/uclibc"
|
|
|
-+ elif [ "$bionic" = "yes" ]; then
|
|
|
-+@@ -272,6 +279,9 @@
|
|
|
-+ os_include_dir="os/gnu-linux"
|
|
|
-+ fi
|
|
|
-+ ;;
|
|
|
-++
|
|
|
-++ esac
|
|
|
-++ ;;
|
|
|
-+ hpux*)
|
|
|
-+ os_include_dir="os/hpux"
|
|
|
-+ ;;
|
|
|
-+Index: b/gcc/config/mips/linux64.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/mips/linux64.h
|
|
|
-++++ b/gcc/config/mips/linux64.h
|
|
|
-+@@ -41,4 +41,4 @@
|
|
|
-+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
|
|
|
-+ #define GNU_USER_DYNAMIC_LINKERN32 \
|
|
|
-+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
|
|
|
-+- BIONIC_DYNAMIC_LINKERN32)
|
|
|
-++ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER)
|
|
|
-+Index: b/gcc/config/mips/linux.h
|
|
|
-+===================================================================
|
|
|
-+--- a/gcc/config/mips/linux.h
|
|
|
-++++ b/gcc/config/mips/linux.h
|
|
|
-+@@ -23,3 +23,11 @@
|
|
|
-+ #undef UCLIBC_DYNAMIC_LINKER
|
|
|
-+ #define UCLIBC_DYNAMIC_LINKER \
|
|
|
-+ "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
|
|
|
-++
|
|
|
-++#if TARGET_ENDIAN_DEFAULT == 0 /* LE */
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}"
|
|
|
-++#else
|
|
|
-++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}"
|
|
|
-++#endif
|
|
|
-++#undef MUSL_DYNAMIC_LINKER
|
|
|
-++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
|
|
|
-diff --git a/package/gcc/4.9.3/920-libgcc-remove-unistd-header.patch b/package/gcc/4.9.3/920-libgcc-remove-unistd-header.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..df5372b
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/920-libgcc-remove-unistd-header.patch
|
|
|
-@@ -0,0 +1,12 @@
|
|
|
-+Upstream status: In progress
|
|
|
-+
|
|
|
-+--- a/libgcc/config/nios2/linux-atomic.c
|
|
|
-++++ b/libgcc/config/nios2/linux-atomic.c
|
|
|
-+@@ -20,7 +20,6 @@
|
|
|
-+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
-+ <http://www.gnu.org/licenses/>. */
|
|
|
-+
|
|
|
-+-#include <asm/unistd.h>
|
|
|
-+ #define EFAULT 14
|
|
|
-+ #define EBUSY 16
|
|
|
-+ #define ENOSYS 38
|
|
|
-diff --git a/package/gcc/4.9.3/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/4.9.3/930-libgcc-disable-split-stack-nothreads.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..670cf8d
|
|
|
---- /dev/null
|
|
|
-+++ b/package/gcc/4.9.3/930-libgcc-disable-split-stack-nothreads.patch
|
|
|
-@@ -0,0 +1,14 @@
|
|
|
-+disable split-stack for non-thread builds
|
|
|
-+
|
|
|
-+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
|
-+
|
|
|
-+diff -Nur gcc-4.9.3.orig/libgcc/config/t-stack gcc-4.9.3/libgcc/config/t-stack
|
|
|
-+--- gcc-4.9.3.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200
|
|
|
-++++ gcc-4.9.3/libgcc/config/t-stack 2016-03-07 01:34:32.000000000 +0100
|
|
|
-+@@ -1,4 +1,6 @@
|
|
|
-+ # Makefile fragment to provide generic support for -fsplit-stack.
|
|
|
-+ # This should be used in config.host for any host which supports
|
|
|
-+ # -fsplit-stack.
|
|
|
-++ifeq ($(enable_threads),yes)
|
|
|
-+ LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c
|
|
|
-++endif
|
|
|
-diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
|
|
|
-index d10798b..db0473e 100644
|
|
|
---- a/package/gcc/Config.in.host
|
|
|
-+++ b/package/gcc/Config.in.host
|
|
|
-@@ -36,6 +36,32 @@ choice
|
|
|
- depends on BR2_arc
|
|
|
- select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
|
-
|
|
|
-+ config BR2_GCC_VERSION_4_9_1
|
|
|
-+ bool "gcc 4.9.1"
|
|
|
-+ # Broken or unsupported architectures
|
|
|
-+ depends on !BR2_arc
|
|
|
-+ # Broken or unsupported ARM cores
|
|
|
-+ depends on !BR2_cortex_a17
|
|
|
-+ # Unsupported for MIPS R6
|
|
|
-+ depends on !BR2_mips_32r6 && !BR2_mips_64r6
|
|
|
-+ # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
|
|
|
-+ select BR2_GCC_NEEDS_MPC
|
|
|
-+ select BR2_GCC_SUPPORTS_GRAPHITE
|
|
|
-+ select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
|
-+
|
|
|
-+ config BR2_GCC_VERSION_4_9_3
|
|
|
-+ bool "gcc 4.9.3"
|
|
|
-+ # Broken or unsupported architectures
|
|
|
-+ depends on !BR2_arc
|
|
|
-+ # Broken or unsupported ARM cores
|
|
|
-+ depends on !BR2_cortex_a17
|
|
|
-+ # Unsupported for MIPS R6
|
|
|
-+ depends on !BR2_mips_32r6 && !BR2_mips_64r6
|
|
|
-+ # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
|
|
|
-+ select BR2_GCC_NEEDS_MPC
|
|
|
-+ select BR2_GCC_SUPPORTS_GRAPHITE
|
|
|
-+ select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
|
-+
|
|
|
- config BR2_GCC_VERSION_4_9_X
|
|
|
- bool "gcc 4.9.x"
|
|
|
- # Broken or unsupported architectures
|
|
|
-@@ -95,6 +121,8 @@ config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
|
|
|
- config BR2_GCC_VERSION
|
|
|
- string
|
|
|
- default "4.8.5" if BR2_GCC_VERSION_4_8_X
|
|
|
-+ default "4.9.1" if BR2_GCC_VERSION_4_9_1
|
|
|
-+ default "4.9.3" if BR2_GCC_VERSION_4_9_3
|
|
|
- default "4.9.4" if BR2_GCC_VERSION_4_9_X
|
|
|
- default "5.4.0" if BR2_GCC_VERSION_5_X
|
|
|
- default "6.2.0" if BR2_GCC_VERSION_6_X
|
|
|
-diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash
|
|
|
-index e5d96f4..1b53e1b 100644
|
|
|
---- a/package/gcc/gcc.hash
|
|
|
-+++ b/package/gcc/gcc.hash
|
|
|
-@@ -4,6 +4,10 @@ sha512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1
|
|
|
- sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2
|
|
|
- # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.5/sha512.sum
|
|
|
- sha512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea gcc-4.8.5.tar.bz2
|
|
|
-+# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.1/sha512.sum
|
|
|
-+sha512 8598106a4b7c03bb4d6e29fa1bfa9ee6b6390d1f1bca86c1ccd27aed830ae1d126daa50c4041016cbfa76090dd66c51f1ce06958b8ccd6c3be51eae875125593 gcc-4.9.1.tar.bz2
|
|
|
-+# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.3/sha512.sum
|
|
|
-+sha512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df gcc-4.9.3.tar.bz2
|
|
|
- # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.4/sha512.sum
|
|
|
- sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe gcc-4.9.4.tar.bz2
|
|
|
- # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.4.0/sha512.sum
|
|
|
-diff --git a/package/glibc/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch b/package/glibc/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..da2f49d
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.18-svnr23787/0001-CVE-2014-7817-eglibc.patch
|
|
|
-@@ -0,0 +1,174 @@
|
|
|
-+From https://bugzilla.redhat.com/show_bug.cgi?id=1157689
|
|
|
-+Modified for eglibc.
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
|
|
|
-+EMBARGOED !!! EMBARGOED !!! EMARGOED !!! EMBARGOED !!! EMBARGOED !!!
|
|
|
-+SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!!
|
|
|
-+
|
|
|
-+CVE-2014-7817:
|
|
|
-+
|
|
|
-+The function wordexp() fails to properly handle the WRDE_NOCMD
|
|
|
-+flag when processing arithmetic inputs in the form of "$((... ``))"
|
|
|
-+where "..." can be anything valid. The backticks in the arithmetic
|
|
|
-+epxression are evaluated by in a shell even if WRDE_NOCMD forbade
|
|
|
-+command substitution. This allows an attacker to attempt to pass
|
|
|
-+dangerous commands via constructs of the above form, and bypass
|
|
|
-+the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
|
|
|
-+in parse_arith(). The patch also hardens parse_backticks() and
|
|
|
-+parse_comm() to check for WRDE_NOCMD flag and return an error instead
|
|
|
-+of ever running a shell.
|
|
|
-+
|
|
|
-+We expand the testsuite and add 3 new regression tests of roughtly
|
|
|
-+the same form but with a couple of nested levels.
|
|
|
-+
|
|
|
-+On top of the 3 new tests we add fork validation to the WRDE_NOCMD
|
|
|
-+testing. If any forks are detected during the execution of a wordexp()
|
|
|
-+call with WRDE_NOCMD, the test is marked as failed. This is slightly
|
|
|
-+heuristic since vfork might be used, but it provides a higher level
|
|
|
-+of assurance that no shells were executed as part of command substitution
|
|
|
-+with WRDE_NOCMD in effect. In addition it doesn't require libpthread or
|
|
|
-+libdl, instead we use the public implementation namespace function
|
|
|
-+__register_atfork (already part of the public ABI for libpthread).
|
|
|
-+
|
|
|
-+Tested on x86_64 with no regressions.
|
|
|
-+
|
|
|
-+2014-10-27 Carlos O'Donell <carlos@redhat.com>
|
|
|
-+
|
|
|
-+ * wordexp-test.c (__dso_handle): Add prototype.
|
|
|
-+ (__register_atfork): Likewise.
|
|
|
-+ (__app_register_atfork): New function.
|
|
|
-+ (registered_forks): New global.
|
|
|
-+ (register_fork): New function.
|
|
|
-+ (test_case): Add 3 new tests for WRDE_CMDSUB.
|
|
|
-+ (main): Call __app_register_atfork.
|
|
|
-+ (testit): If WRDE_NOCMD set registered_forks to zero, run test, and
|
|
|
-+ if fork count is non-zero fail the test.
|
|
|
-+ * posix/wordexp.c (parse_arith): Return WRDE_NOCMD if WRDE_NOCMD flag
|
|
|
-+ is set and parsing '`'.
|
|
|
-+ (parse_comm): Return WRDE_NOCMD if WRDE_NOCMD flag is set.
|
|
|
-+ (parse_backtick): Return WRDE_NOCMD if WRDE_NOCMD flag is set and
|
|
|
-+ parsing '`'.
|
|
|
-+
|
|
|
-+diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
|
|
|
-+index 4957006..5ce2a1b 100644
|
|
|
-+--- a/libc/posix/wordexp-test.c
|
|
|
-++++ b/libc/posix/wordexp-test.c
|
|
|
-+@@ -27,6 +27,25 @@
|
|
|
-+
|
|
|
-+ #define IFS " \n\t"
|
|
|
-+
|
|
|
-++extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
|
|
|
-++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
|
|
|
-++
|
|
|
-++static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
|
|
|
-++{
|
|
|
-++ return __register_atfork (prepare, parent, child,
|
|
|
-++ &__dso_handle == NULL ? NULL : __dso_handle);
|
|
|
-++}
|
|
|
-++
|
|
|
-++/* Number of forks seen. */
|
|
|
-++static int registered_forks;
|
|
|
-++
|
|
|
-++/* For each fork increment the fork count. */
|
|
|
-++static void
|
|
|
-++register_fork (void)
|
|
|
-++{
|
|
|
-++ registered_forks++;
|
|
|
-++}
|
|
|
-++
|
|
|
-+ struct test_case_struct
|
|
|
-+ {
|
|
|
-+ int retval;
|
|
|
-+@@ -206,6 +225,12 @@ struct test_case_struct
|
|
|
-+ { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
|
|
|
-+ { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
|
|
|
-+ { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
|
|
|
-++ /* Test for CVE-2014-7817. We test 3 combinations of command
|
|
|
-++ substitution inside an arithmetic expression to make sure that
|
|
|
-++ no commands are executed and error is returned. */
|
|
|
-++ { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
|
|
|
-++ { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
|
|
|
-++ { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
|
|
|
-+
|
|
|
-+ { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
|
|
|
-+ };
|
|
|
-+@@ -258,6 +283,15 @@ main (int argc, char *argv[])
|
|
|
-+ return -1;
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ /* If we are not allowed to do command substitution, we install
|
|
|
-++ fork handlers to verify that no forks happened. No forks should
|
|
|
-++ happen at all if command substitution is disabled. */
|
|
|
-++ if (__app_register_atfork (register_fork, NULL, NULL) != 0)
|
|
|
-++ {
|
|
|
-++ printf ("Failed to register fork handler.\n");
|
|
|
-++ return -1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ for (test = 0; test_case[test].retval != -1; test++)
|
|
|
-+ if (testit (&test_case[test]))
|
|
|
-+ ++fail;
|
|
|
-+@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
|
|
|
-+
|
|
|
-+ printf ("Test %d (%s): ", ++tests, tc->words);
|
|
|
-+
|
|
|
-++ if (tc->flags & WRDE_NOCMD)
|
|
|
-++ registered_forks = 0;
|
|
|
-++
|
|
|
-+ if (tc->flags & WRDE_APPEND)
|
|
|
-+ {
|
|
|
-+ /* initial wordexp() call, to be appended to */
|
|
|
-+@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
|
|
|
-+ }
|
|
|
-+ retval = wordexp (tc->words, &we, tc->flags);
|
|
|
-+
|
|
|
-++ if ((tc->flags & WRDE_NOCMD)
|
|
|
-++ && (registered_forks > 0))
|
|
|
-++ {
|
|
|
-++ printf ("FAILED fork called for WRDE_NOCMD\n");
|
|
|
-++ return 1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ if (tc->flags & WRDE_DOOFFS)
|
|
|
-+ start_offs = sav_we.we_offs;
|
|
|
-+
|
|
|
-+diff --git a/posix/wordexp.c b/posix/wordexp.c
|
|
|
-+index b6b65dd..d6a158f 100644
|
|
|
-+--- a/libc/posix/wordexp.c
|
|
|
-++++ b/libc/posix/wordexp.c
|
|
|
-+@@ -693,6 +693,12 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
|
|
|
-+ break;
|
|
|
-+
|
|
|
-+ case '`':
|
|
|
-++ if (flags & WRDE_NOCMD)
|
|
|
-++ {
|
|
|
-++ free (expr);
|
|
|
-++ return WRDE_NOCMD;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ (*offset)++;
|
|
|
-+ error = parse_backtick (&expr, &expr_length, &expr_maxlen,
|
|
|
-+ words, offset, flags, NULL, NULL, NULL);
|
|
|
-+@@ -1144,6 +1150,10 @@ parse_comm (char **word, size_t *word_length, size_t *max_length,
|
|
|
-+ size_t comm_maxlen;
|
|
|
-+ char *comm = w_newword (&comm_length, &comm_maxlen);
|
|
|
-+
|
|
|
-++ /* Do nothing if command substitution should not succeed. */
|
|
|
-++ if (flags & WRDE_NOCMD)
|
|
|
-++ return WRDE_CMDSUB;
|
|
|
-++
|
|
|
-+ for (; words[*offset]; ++(*offset))
|
|
|
-+ {
|
|
|
-+ switch (words[*offset])
|
|
|
-+@@ -2121,6 +2131,9 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
|
|
|
-+ switch (words[*offset])
|
|
|
-+ {
|
|
|
-+ case '`':
|
|
|
-++ if (flags & WRDE_NOCMD)
|
|
|
-++ return WRDE_NOCMD;
|
|
|
-++
|
|
|
-+ /* Go -- give the script to the shell */
|
|
|
-+ error = exec_comm (comm, word, word_length, max_length, flags,
|
|
|
-+ pwordexp, ifs, ifs_white);
|
|
|
-diff --git a/package/glibc/glibc/2.18-svnr23787/0002-accept-make4.patch b/package/glibc/glibc/2.18-svnr23787/0002-accept-make4.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..4f426f2
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.18-svnr23787/0002-accept-make4.patch
|
|
|
-@@ -0,0 +1,33 @@
|
|
|
-+Backport upstream patch (28d708c44bc47b56f6551ff285f78edcf61c208a) to accept
|
|
|
-+make-4.0 or newer.
|
|
|
-+We patch both configure and configure.in files so if we ever have to run
|
|
|
-+autoreconf in the glibc source, then the fix will be propagated properly.
|
|
|
-+
|
|
|
-+Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
|
|
|
-+
|
|
|
-+Index: glibc-2.18-svnr23787/libc/configure
|
|
|
-+===================================================================
|
|
|
-+--- glibc-2.18-svnr23787.orig/libc/configure
|
|
|
-++++ glibc-2.18-svnr23787/libc/configure
|
|
|
-+@@ -4772,7 +4772,7 @@ $as_echo_n "checking version of $MAKE...
|
|
|
-+ ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
|
|
-+ case $ac_prog_version in
|
|
|
-+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
|
-+- 3.79* | 3.[89]*)
|
|
|
-++ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
|
|
|
-+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
|
-+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
|
-+
|
|
|
-+Index: glibc-2.18-svnr23787/libc/configure.in
|
|
|
-+===================================================================
|
|
|
-+--- glibc-2.18-svnr23787.orig/libc/configure.in
|
|
|
-++++ glibc-2.18-svnr23787/libc/configure.in
|
|
|
-+@@ -989,7 +989,7 @@ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}g
|
|
|
-+ critic_missing="$critic_missing gcc")
|
|
|
-+ AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
|
|
|
-+ [GNU Make[^0-9]*\([0-9][0-9.]*\)],
|
|
|
-+- [3.79* | 3.[89]*], critic_missing="$critic_missing make")
|
|
|
-++ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make")
|
|
|
-+
|
|
|
-+ AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
|
|
|
-+ [GNU gettext.* \([0-9]*\.[0-9.]*\)],
|
|
|
-diff --git a/package/glibc/glibc/2.18-svnr23787/0003-CVE-2014-6040.patch b/package/glibc/glibc/2.18-svnr23787/0003-CVE-2014-6040.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..f447dcd
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.18-svnr23787/0003-CVE-2014-6040.patch
|
|
|
-@@ -0,0 +1,141 @@
|
|
|
-+Backport from https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=41488498b6
|
|
|
-+See https://bugzilla.redhat.com/show_bug.cgi?id=1135841
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm1364.c eglibc-2.19/libc/iconvdata/ibm1364.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm1364.c 2015-01-08 16:05:53.918823240 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm1364.c 2015-01-08 16:06:02.781555143 -0300
|
|
|
-+@@ -220,7 +220,8 @@
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+ uint32_t res; \
|
|
|
-+- if (__builtin_expect (ch < rp2->start, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-++ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = DB_TO_UCS4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+ { \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm932.c eglibc-2.19/libc/iconvdata/ibm932.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm932.c 2015-01-08 16:05:53.910818967 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm932.c 2015-01-08 16:06:02.781555143 -0300
|
|
|
-+@@ -73,11 +73,12 @@
|
|
|
-+ } \
|
|
|
-+ \
|
|
|
-+ ch = (ch * 0x100) + inptr[1]; \
|
|
|
-++ /* ch was less than 0xfd. */ \
|
|
|
-++ assert (ch < 0xfd00); \
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-+- || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-++ if (__builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm932db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, '\1') == 0 && ch !=0)) \
|
|
|
-+ { \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm933.c eglibc-2.19/libc/iconvdata/ibm933.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm933.c 2015-01-08 16:05:53.917822706 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm933.c 2015-01-08 16:06:02.781555143 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm933db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm935.c eglibc-2.19/libc/iconvdata/ibm935.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm935.c 2015-01-08 16:05:53.921824843 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm935.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm935db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm937.c eglibc-2.19/libc/iconvdata/ibm937.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm937.c 2015-01-08 16:05:53.915821638 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm937.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm937db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm939.c eglibc-2.19/libc/iconvdata/ibm939.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm939.c 2015-01-08 16:05:53.917822706 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm939.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm939db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm943.c eglibc-2.19/libc/iconvdata/ibm943.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm943.c 2015-01-08 16:05:53.918823240 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm943.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -74,11 +74,12 @@
|
|
|
-+ } \
|
|
|
-+ \
|
|
|
-+ ch = (ch * 0x100) + inptr[1]; \
|
|
|
-++ /* ch was less than 0xfd. */ \
|
|
|
-++ assert (ch < 0xfd00); \
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-+- || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-++ if (__builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm943db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, '\1') == 0 && ch !=0)) \
|
|
|
-+ { \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/Makefile eglibc-2.19/libc/iconvdata/Makefile
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/Makefile 2015-01-08 16:05:53.903815227 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/Makefile 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -303,6 +303,7 @@
|
|
|
-+ $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
|
|
|
-+ $(addprefix $(objpfx),$(modules.so)) \
|
|
|
-+ $(common-objdir)/iconv/iconv_prog TESTS
|
|
|
-++ iconv_modules="$(modules)" \
|
|
|
-+ $(SHELL) $< $(common-objdir) '$(test-wrapper)' > $@
|
|
|
-+
|
|
|
-+ $(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/run-iconv-test.sh eglibc-2.19/libc/iconvdata/run-iconv-test.sh
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/run-iconv-test.sh 2015-01-08 16:05:53.894810420 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/run-iconv-test.sh 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -188,6 +188,24 @@
|
|
|
-+
|
|
|
-+ done < TESTS2
|
|
|
-+
|
|
|
-++# Check for crashes in decoders.
|
|
|
-++printf '\016\377\377\377\377\377\377\377' > $temp1
|
|
|
-++for from in $iconv_modules ; do
|
|
|
-++ echo $ac_n "test decoder $from $ac_c"
|
|
|
-++ PROG=`eval echo $ICONV`
|
|
|
-++ if $PROG < $temp1 >/dev/null 2>&1 ; then
|
|
|
-++ : # fall through
|
|
|
-++ else
|
|
|
-++ status=$?
|
|
|
-++ if test $status -gt 1 ; then
|
|
|
-++ echo "/FAILED"
|
|
|
-++ failed=1
|
|
|
-++ continue
|
|
|
-++ fi
|
|
|
-++ fi
|
|
|
-++ echo "OK"
|
|
|
-++done
|
|
|
-++
|
|
|
-+ exit $failed
|
|
|
-+ # Local Variables:
|
|
|
-+ # mode:shell-script
|
|
|
-diff --git a/package/glibc/glibc/2.18-svnr23787/0004-CVE-2014-9402.patch b/package/glibc/glibc/2.18-svnr23787/0004-CVE-2014-9402.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c7aa12c
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.18-svnr23787/0004-CVE-2014-9402.patch
|
|
|
-@@ -0,0 +1,20 @@
|
|
|
-+Fix CVE-2014-9402 - denial of service in getnetbyname function.
|
|
|
-+Backport from https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=11e3417af6e354f1942c68a271ae51e892b2814d
|
|
|
-+See https://bugzilla.redhat.com/show_bug.cgi?id=1175369
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/resolv/nss_dns/dns-network.c eglibc-2.19/libc/resolv/nss_dns/dns-network.c
|
|
|
-+--- eglibc-2.19.orig/libc/resolv/nss_dns/dns-network.c 2015-01-08 16:12:35.024977879 -0300
|
|
|
-++++ eglibc-2.19/libc/resolv/nss_dns/dns-network.c 2015-01-08 16:12:42.543992357 -0300
|
|
|
-+@@ -398,8 +398,8 @@
|
|
|
-+
|
|
|
-+ case BYNAME:
|
|
|
-+ {
|
|
|
-+- char **ap = result->n_aliases++;
|
|
|
-+- while (*ap != NULL)
|
|
|
-++ char **ap;
|
|
|
-++ for (ap = result->n_aliases; *ap != NULL; ++ap)
|
|
|
-+ {
|
|
|
-+ /* Check each alias name for being of the forms:
|
|
|
-+ 4.3.2.1.in-addr.arpa = net 1.2.3.4
|
|
|
-diff --git a/package/glibc/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch b/package/glibc/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..a0da626
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.18-svnr23787/0005-CVE-2015-1472.patch
|
|
|
-@@ -0,0 +1,88 @@
|
|
|
-+Fix CVE-2015-1472 - heap buffer overflow in wscanf
|
|
|
-+Backport from upstream:
|
|
|
-+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
|
|
|
-+See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
|
|
|
-+index aece3f2..8a2eb9e 100644
|
|
|
-+--- a/libc/stdio-common/tst-sscanf.c
|
|
|
-++++ b/libc/stdio-common/tst-sscanf.c
|
|
|
-+@@ -233,5 +233,38 @@ main (void)
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ /* BZ #16618
|
|
|
-++ The test will segfault during SSCANF if the buffer overflow
|
|
|
-++ is not fixed. The size of `s` is such that it forces the use
|
|
|
-++ of malloc internally and this triggers the incorrect computation.
|
|
|
-++ Thus the value for SIZE is arbitrariy high enough that malloc
|
|
|
-++ is used. */
|
|
|
-++ {
|
|
|
-++#define SIZE 131072
|
|
|
-++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s));
|
|
|
-++ if (s == NULL)
|
|
|
-++ abort ();
|
|
|
-++ for (size_t i = 0; i < SIZE; i++)
|
|
|
-++ s[i] = L('0');
|
|
|
-++ s[SIZE] = L('\0');
|
|
|
-++ int i = 42;
|
|
|
-++ /* Scan multi-digit zero into `i`. */
|
|
|
-++ if (SSCANF (s, L("%d"), &i) != 1)
|
|
|
-++ {
|
|
|
-++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n");
|
|
|
-++ result = 1;
|
|
|
-++ }
|
|
|
-++ if (i != 0)
|
|
|
-++ {
|
|
|
-++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n");
|
|
|
-++ result = 1;
|
|
|
-++ }
|
|
|
-++ free (s);
|
|
|
-++ if (result != 1)
|
|
|
-++ printf ("PASS: bug16618: Did not crash.\n");
|
|
|
-++#undef SIZE
|
|
|
-++ }
|
|
|
-++
|
|
|
-++
|
|
|
-+ return result;
|
|
|
-+ }
|
|
|
-+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
|
|
|
-+index cd129a8..0e204e7 100644
|
|
|
-+--- a/libc/stdio-common/vfscanf.c
|
|
|
-++++ b/libc/stdio-common/vfscanf.c
|
|
|
-+@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
|
|
|
-+ if (__glibc_unlikely (wpsize == wpmax)) \
|
|
|
-+ { \
|
|
|
-+ CHAR_T *old = wp; \
|
|
|
-+- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
|
|
|
-+- ? UCHAR_MAX + 1 : 2 * wpmax); \
|
|
|
-+- if (use_malloc || !__libc_use_alloca (newsize)) \
|
|
|
-++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \
|
|
|
-++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \
|
|
|
-++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \
|
|
|
-++ if (!__libc_use_alloca (newsize)) \
|
|
|
-+ { \
|
|
|
-+ wp = realloc (use_malloc ? wp : NULL, newsize); \
|
|
|
-+ if (wp == NULL) \
|
|
|
-+@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
|
|
|
-+ } \
|
|
|
-+ if (! use_malloc) \
|
|
|
-+ MEMCPY (wp, old, wpsize); \
|
|
|
-+- wpmax = newsize; \
|
|
|
-++ wpmax = wpneed; \
|
|
|
-+ use_malloc = true; \
|
|
|
-+ } \
|
|
|
-+ else \
|
|
|
-+ { \
|
|
|
-+ size_t s = wpmax * sizeof (CHAR_T); \
|
|
|
-+- wp = (CHAR_T *) extend_alloca (wp, s, \
|
|
|
-+- newsize * sizeof (CHAR_T)); \
|
|
|
-++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \
|
|
|
-+ wpmax = s / sizeof (CHAR_T); \
|
|
|
-+ if (old != NULL) \
|
|
|
-+ MEMCPY (wp, old, wpsize); \
|
|
|
-+--
|
|
|
-+1.9.4
|
|
|
-+
|
|
|
-diff --git a/package/glibc/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch b/package/glibc/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..da2f49d
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.19-svnr25243/0001-CVE-2014-7817-eglibc.patch
|
|
|
-@@ -0,0 +1,174 @@
|
|
|
-+From https://bugzilla.redhat.com/show_bug.cgi?id=1157689
|
|
|
-+Modified for eglibc.
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
|
|
|
-+EMBARGOED !!! EMBARGOED !!! EMARGOED !!! EMBARGOED !!! EMBARGOED !!!
|
|
|
-+SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!! SECURITY !!!
|
|
|
-+
|
|
|
-+CVE-2014-7817:
|
|
|
-+
|
|
|
-+The function wordexp() fails to properly handle the WRDE_NOCMD
|
|
|
-+flag when processing arithmetic inputs in the form of "$((... ``))"
|
|
|
-+where "..." can be anything valid. The backticks in the arithmetic
|
|
|
-+epxression are evaluated by in a shell even if WRDE_NOCMD forbade
|
|
|
-+command substitution. This allows an attacker to attempt to pass
|
|
|
-+dangerous commands via constructs of the above form, and bypass
|
|
|
-+the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
|
|
|
-+in parse_arith(). The patch also hardens parse_backticks() and
|
|
|
-+parse_comm() to check for WRDE_NOCMD flag and return an error instead
|
|
|
-+of ever running a shell.
|
|
|
-+
|
|
|
-+We expand the testsuite and add 3 new regression tests of roughtly
|
|
|
-+the same form but with a couple of nested levels.
|
|
|
-+
|
|
|
-+On top of the 3 new tests we add fork validation to the WRDE_NOCMD
|
|
|
-+testing. If any forks are detected during the execution of a wordexp()
|
|
|
-+call with WRDE_NOCMD, the test is marked as failed. This is slightly
|
|
|
-+heuristic since vfork might be used, but it provides a higher level
|
|
|
-+of assurance that no shells were executed as part of command substitution
|
|
|
-+with WRDE_NOCMD in effect. In addition it doesn't require libpthread or
|
|
|
-+libdl, instead we use the public implementation namespace function
|
|
|
-+__register_atfork (already part of the public ABI for libpthread).
|
|
|
-+
|
|
|
-+Tested on x86_64 with no regressions.
|
|
|
-+
|
|
|
-+2014-10-27 Carlos O'Donell <carlos@redhat.com>
|
|
|
-+
|
|
|
-+ * wordexp-test.c (__dso_handle): Add prototype.
|
|
|
-+ (__register_atfork): Likewise.
|
|
|
-+ (__app_register_atfork): New function.
|
|
|
-+ (registered_forks): New global.
|
|
|
-+ (register_fork): New function.
|
|
|
-+ (test_case): Add 3 new tests for WRDE_CMDSUB.
|
|
|
-+ (main): Call __app_register_atfork.
|
|
|
-+ (testit): If WRDE_NOCMD set registered_forks to zero, run test, and
|
|
|
-+ if fork count is non-zero fail the test.
|
|
|
-+ * posix/wordexp.c (parse_arith): Return WRDE_NOCMD if WRDE_NOCMD flag
|
|
|
-+ is set and parsing '`'.
|
|
|
-+ (parse_comm): Return WRDE_NOCMD if WRDE_NOCMD flag is set.
|
|
|
-+ (parse_backtick): Return WRDE_NOCMD if WRDE_NOCMD flag is set and
|
|
|
-+ parsing '`'.
|
|
|
-+
|
|
|
-+diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
|
|
|
-+index 4957006..5ce2a1b 100644
|
|
|
-+--- a/libc/posix/wordexp-test.c
|
|
|
-++++ b/libc/posix/wordexp-test.c
|
|
|
-+@@ -27,6 +27,25 @@
|
|
|
-+
|
|
|
-+ #define IFS " \n\t"
|
|
|
-+
|
|
|
-++extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
|
|
|
-++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
|
|
|
-++
|
|
|
-++static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
|
|
|
-++{
|
|
|
-++ return __register_atfork (prepare, parent, child,
|
|
|
-++ &__dso_handle == NULL ? NULL : __dso_handle);
|
|
|
-++}
|
|
|
-++
|
|
|
-++/* Number of forks seen. */
|
|
|
-++static int registered_forks;
|
|
|
-++
|
|
|
-++/* For each fork increment the fork count. */
|
|
|
-++static void
|
|
|
-++register_fork (void)
|
|
|
-++{
|
|
|
-++ registered_forks++;
|
|
|
-++}
|
|
|
-++
|
|
|
-+ struct test_case_struct
|
|
|
-+ {
|
|
|
-+ int retval;
|
|
|
-+@@ -206,6 +225,12 @@ struct test_case_struct
|
|
|
-+ { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
|
|
|
-+ { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
|
|
|
-+ { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
|
|
|
-++ /* Test for CVE-2014-7817. We test 3 combinations of command
|
|
|
-++ substitution inside an arithmetic expression to make sure that
|
|
|
-++ no commands are executed and error is returned. */
|
|
|
-++ { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
|
|
|
-++ { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
|
|
|
-++ { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
|
|
|
-+
|
|
|
-+ { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
|
|
|
-+ };
|
|
|
-+@@ -258,6 +283,15 @@ main (int argc, char *argv[])
|
|
|
-+ return -1;
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ /* If we are not allowed to do command substitution, we install
|
|
|
-++ fork handlers to verify that no forks happened. No forks should
|
|
|
-++ happen at all if command substitution is disabled. */
|
|
|
-++ if (__app_register_atfork (register_fork, NULL, NULL) != 0)
|
|
|
-++ {
|
|
|
-++ printf ("Failed to register fork handler.\n");
|
|
|
-++ return -1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ for (test = 0; test_case[test].retval != -1; test++)
|
|
|
-+ if (testit (&test_case[test]))
|
|
|
-+ ++fail;
|
|
|
-+@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
|
|
|
-+
|
|
|
-+ printf ("Test %d (%s): ", ++tests, tc->words);
|
|
|
-+
|
|
|
-++ if (tc->flags & WRDE_NOCMD)
|
|
|
-++ registered_forks = 0;
|
|
|
-++
|
|
|
-+ if (tc->flags & WRDE_APPEND)
|
|
|
-+ {
|
|
|
-+ /* initial wordexp() call, to be appended to */
|
|
|
-+@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
|
|
|
-+ }
|
|
|
-+ retval = wordexp (tc->words, &we, tc->flags);
|
|
|
-+
|
|
|
-++ if ((tc->flags & WRDE_NOCMD)
|
|
|
-++ && (registered_forks > 0))
|
|
|
-++ {
|
|
|
-++ printf ("FAILED fork called for WRDE_NOCMD\n");
|
|
|
-++ return 1;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ if (tc->flags & WRDE_DOOFFS)
|
|
|
-+ start_offs = sav_we.we_offs;
|
|
|
-+
|
|
|
-+diff --git a/posix/wordexp.c b/posix/wordexp.c
|
|
|
-+index b6b65dd..d6a158f 100644
|
|
|
-+--- a/libc/posix/wordexp.c
|
|
|
-++++ b/libc/posix/wordexp.c
|
|
|
-+@@ -693,6 +693,12 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
|
|
|
-+ break;
|
|
|
-+
|
|
|
-+ case '`':
|
|
|
-++ if (flags & WRDE_NOCMD)
|
|
|
-++ {
|
|
|
-++ free (expr);
|
|
|
-++ return WRDE_NOCMD;
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ (*offset)++;
|
|
|
-+ error = parse_backtick (&expr, &expr_length, &expr_maxlen,
|
|
|
-+ words, offset, flags, NULL, NULL, NULL);
|
|
|
-+@@ -1144,6 +1150,10 @@ parse_comm (char **word, size_t *word_length, size_t *max_length,
|
|
|
-+ size_t comm_maxlen;
|
|
|
-+ char *comm = w_newword (&comm_length, &comm_maxlen);
|
|
|
-+
|
|
|
-++ /* Do nothing if command substitution should not succeed. */
|
|
|
-++ if (flags & WRDE_NOCMD)
|
|
|
-++ return WRDE_CMDSUB;
|
|
|
-++
|
|
|
-+ for (; words[*offset]; ++(*offset))
|
|
|
-+ {
|
|
|
-+ switch (words[*offset])
|
|
|
-+@@ -2121,6 +2131,9 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
|
|
|
-+ switch (words[*offset])
|
|
|
-+ {
|
|
|
-+ case '`':
|
|
|
-++ if (flags & WRDE_NOCMD)
|
|
|
-++ return WRDE_NOCMD;
|
|
|
-++
|
|
|
-+ /* Go -- give the script to the shell */
|
|
|
-+ error = exec_comm (comm, word, word_length, max_length, flags,
|
|
|
-+ pwordexp, ifs, ifs_white);
|
|
|
-diff --git a/package/glibc/glibc/2.19-svnr25243/0002-CVE-2014-6040.patch b/package/glibc/glibc/2.19-svnr25243/0002-CVE-2014-6040.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..f447dcd
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.19-svnr25243/0002-CVE-2014-6040.patch
|
|
|
-@@ -0,0 +1,141 @@
|
|
|
-+Backport from https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=41488498b6
|
|
|
-+See https://bugzilla.redhat.com/show_bug.cgi?id=1135841
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm1364.c eglibc-2.19/libc/iconvdata/ibm1364.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm1364.c 2015-01-08 16:05:53.918823240 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm1364.c 2015-01-08 16:06:02.781555143 -0300
|
|
|
-+@@ -220,7 +220,8 @@
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+ uint32_t res; \
|
|
|
-+- if (__builtin_expect (ch < rp2->start, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-++ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = DB_TO_UCS4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+ { \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm932.c eglibc-2.19/libc/iconvdata/ibm932.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm932.c 2015-01-08 16:05:53.910818967 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm932.c 2015-01-08 16:06:02.781555143 -0300
|
|
|
-+@@ -73,11 +73,12 @@
|
|
|
-+ } \
|
|
|
-+ \
|
|
|
-+ ch = (ch * 0x100) + inptr[1]; \
|
|
|
-++ /* ch was less than 0xfd. */ \
|
|
|
-++ assert (ch < 0xfd00); \
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-+- || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-++ if (__builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm932db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, '\1') == 0 && ch !=0)) \
|
|
|
-+ { \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm933.c eglibc-2.19/libc/iconvdata/ibm933.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm933.c 2015-01-08 16:05:53.917822706 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm933.c 2015-01-08 16:06:02.781555143 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm933db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm935.c eglibc-2.19/libc/iconvdata/ibm935.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm935.c 2015-01-08 16:05:53.921824843 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm935.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm935db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm937.c eglibc-2.19/libc/iconvdata/ibm937.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm937.c 2015-01-08 16:05:53.915821638 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm937.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm937db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm939.c eglibc-2.19/libc/iconvdata/ibm939.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm939.c 2015-01-08 16:05:53.917822706 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm939.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-++ if (__builtin_expect (rp2->start == 0xffff, 0) \
|
|
|
-+ || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm939db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, L'\1') == L'\0' && ch != '\0')) \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/ibm943.c eglibc-2.19/libc/iconvdata/ibm943.c
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/ibm943.c 2015-01-08 16:05:53.918823240 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/ibm943.c 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -74,11 +74,12 @@
|
|
|
-+ } \
|
|
|
-+ \
|
|
|
-+ ch = (ch * 0x100) + inptr[1]; \
|
|
|
-++ /* ch was less than 0xfd. */ \
|
|
|
-++ assert (ch < 0xfd00); \
|
|
|
-+ while (ch > rp2->end) \
|
|
|
-+ ++rp2; \
|
|
|
-+ \
|
|
|
-+- if (__builtin_expect (rp2 == NULL, 0) \
|
|
|
-+- || __builtin_expect (ch < rp2->start, 0) \
|
|
|
-++ if (__builtin_expect (ch < rp2->start, 0) \
|
|
|
-+ || (res = __ibm943db_to_ucs4[ch + rp2->idx], \
|
|
|
-+ __builtin_expect (res, '\1') == 0 && ch !=0)) \
|
|
|
-+ { \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/Makefile eglibc-2.19/libc/iconvdata/Makefile
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/Makefile 2015-01-08 16:05:53.903815227 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/Makefile 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -303,6 +303,7 @@
|
|
|
-+ $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
|
|
|
-+ $(addprefix $(objpfx),$(modules.so)) \
|
|
|
-+ $(common-objdir)/iconv/iconv_prog TESTS
|
|
|
-++ iconv_modules="$(modules)" \
|
|
|
-+ $(SHELL) $< $(common-objdir) '$(test-wrapper)' > $@
|
|
|
-+
|
|
|
-+ $(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/iconvdata/run-iconv-test.sh eglibc-2.19/libc/iconvdata/run-iconv-test.sh
|
|
|
-+--- eglibc-2.19.orig/libc/iconvdata/run-iconv-test.sh 2015-01-08 16:05:53.894810420 -0300
|
|
|
-++++ eglibc-2.19/libc/iconvdata/run-iconv-test.sh 2015-01-08 16:06:02.782555677 -0300
|
|
|
-+@@ -188,6 +188,24 @@
|
|
|
-+
|
|
|
-+ done < TESTS2
|
|
|
-+
|
|
|
-++# Check for crashes in decoders.
|
|
|
-++printf '\016\377\377\377\377\377\377\377' > $temp1
|
|
|
-++for from in $iconv_modules ; do
|
|
|
-++ echo $ac_n "test decoder $from $ac_c"
|
|
|
-++ PROG=`eval echo $ICONV`
|
|
|
-++ if $PROG < $temp1 >/dev/null 2>&1 ; then
|
|
|
-++ : # fall through
|
|
|
-++ else
|
|
|
-++ status=$?
|
|
|
-++ if test $status -gt 1 ; then
|
|
|
-++ echo "/FAILED"
|
|
|
-++ failed=1
|
|
|
-++ continue
|
|
|
-++ fi
|
|
|
-++ fi
|
|
|
-++ echo "OK"
|
|
|
-++done
|
|
|
-++
|
|
|
-+ exit $failed
|
|
|
-+ # Local Variables:
|
|
|
-+ # mode:shell-script
|
|
|
-diff --git a/package/glibc/glibc/2.19-svnr25243/0003-CVE-2014-9402.patch b/package/glibc/glibc/2.19-svnr25243/0003-CVE-2014-9402.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c7aa12c
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.19-svnr25243/0003-CVE-2014-9402.patch
|
|
|
-@@ -0,0 +1,20 @@
|
|
|
-+Fix CVE-2014-9402 - denial of service in getnetbyname function.
|
|
|
-+Backport from https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=11e3417af6e354f1942c68a271ae51e892b2814d
|
|
|
-+See https://bugzilla.redhat.com/show_bug.cgi?id=1175369
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff -Nura eglibc-2.19.orig/libc/resolv/nss_dns/dns-network.c eglibc-2.19/libc/resolv/nss_dns/dns-network.c
|
|
|
-+--- eglibc-2.19.orig/libc/resolv/nss_dns/dns-network.c 2015-01-08 16:12:35.024977879 -0300
|
|
|
-++++ eglibc-2.19/libc/resolv/nss_dns/dns-network.c 2015-01-08 16:12:42.543992357 -0300
|
|
|
-+@@ -398,8 +398,8 @@
|
|
|
-+
|
|
|
-+ case BYNAME:
|
|
|
-+ {
|
|
|
-+- char **ap = result->n_aliases++;
|
|
|
-+- while (*ap != NULL)
|
|
|
-++ char **ap;
|
|
|
-++ for (ap = result->n_aliases; *ap != NULL; ++ap)
|
|
|
-+ {
|
|
|
-+ /* Check each alias name for being of the forms:
|
|
|
-+ 4.3.2.1.in-addr.arpa = net 1.2.3.4
|
|
|
-diff --git a/package/glibc/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch b/package/glibc/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..a0da626
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.19-svnr25243/0004-CVE-2015-1472.patch
|
|
|
-@@ -0,0 +1,88 @@
|
|
|
-+Fix CVE-2015-1472 - heap buffer overflow in wscanf
|
|
|
-+Backport from upstream:
|
|
|
-+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5bd80bfe9ca0d955bfbbc002781bc7b01b6bcb06
|
|
|
-+See: https://bugzilla.redhat.com/show_bug.cgi?id=1188235
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c
|
|
|
-+index aece3f2..8a2eb9e 100644
|
|
|
-+--- a/libc/stdio-common/tst-sscanf.c
|
|
|
-++++ b/libc/stdio-common/tst-sscanf.c
|
|
|
-+@@ -233,5 +233,38 @@ main (void)
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-++ /* BZ #16618
|
|
|
-++ The test will segfault during SSCANF if the buffer overflow
|
|
|
-++ is not fixed. The size of `s` is such that it forces the use
|
|
|
-++ of malloc internally and this triggers the incorrect computation.
|
|
|
-++ Thus the value for SIZE is arbitrariy high enough that malloc
|
|
|
-++ is used. */
|
|
|
-++ {
|
|
|
-++#define SIZE 131072
|
|
|
-++ CHAR *s = malloc ((SIZE + 1) * sizeof (*s));
|
|
|
-++ if (s == NULL)
|
|
|
-++ abort ();
|
|
|
-++ for (size_t i = 0; i < SIZE; i++)
|
|
|
-++ s[i] = L('0');
|
|
|
-++ s[SIZE] = L('\0');
|
|
|
-++ int i = 42;
|
|
|
-++ /* Scan multi-digit zero into `i`. */
|
|
|
-++ if (SSCANF (s, L("%d"), &i) != 1)
|
|
|
-++ {
|
|
|
-++ printf ("FAIL: bug16618: SSCANF did not read one input item.\n");
|
|
|
-++ result = 1;
|
|
|
-++ }
|
|
|
-++ if (i != 0)
|
|
|
-++ {
|
|
|
-++ printf ("FAIL: bug16618: Value of `i` was not zero as expected.\n");
|
|
|
-++ result = 1;
|
|
|
-++ }
|
|
|
-++ free (s);
|
|
|
-++ if (result != 1)
|
|
|
-++ printf ("PASS: bug16618: Did not crash.\n");
|
|
|
-++#undef SIZE
|
|
|
-++ }
|
|
|
-++
|
|
|
-++
|
|
|
-+ return result;
|
|
|
-+ }
|
|
|
-+diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
|
|
|
-+index cd129a8..0e204e7 100644
|
|
|
-+--- a/libc/stdio-common/vfscanf.c
|
|
|
-++++ b/libc/stdio-common/vfscanf.c
|
|
|
-+@@ -272,9 +272,10 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
|
|
|
-+ if (__glibc_unlikely (wpsize == wpmax)) \
|
|
|
-+ { \
|
|
|
-+ CHAR_T *old = wp; \
|
|
|
-+- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
|
|
|
-+- ? UCHAR_MAX + 1 : 2 * wpmax); \
|
|
|
-+- if (use_malloc || !__libc_use_alloca (newsize)) \
|
|
|
-++ bool fits = __glibc_likely (wpmax <= SIZE_MAX / sizeof (CHAR_T) / 2); \
|
|
|
-++ size_t wpneed = MAX (UCHAR_MAX + 1, 2 * wpmax); \
|
|
|
-++ size_t newsize = fits ? wpneed * sizeof (CHAR_T) : SIZE_MAX; \
|
|
|
-++ if (!__libc_use_alloca (newsize)) \
|
|
|
-+ { \
|
|
|
-+ wp = realloc (use_malloc ? wp : NULL, newsize); \
|
|
|
-+ if (wp == NULL) \
|
|
|
-+@@ -286,14 +287,13 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
|
|
|
-+ } \
|
|
|
-+ if (! use_malloc) \
|
|
|
-+ MEMCPY (wp, old, wpsize); \
|
|
|
-+- wpmax = newsize; \
|
|
|
-++ wpmax = wpneed; \
|
|
|
-+ use_malloc = true; \
|
|
|
-+ } \
|
|
|
-+ else \
|
|
|
-+ { \
|
|
|
-+ size_t s = wpmax * sizeof (CHAR_T); \
|
|
|
-+- wp = (CHAR_T *) extend_alloca (wp, s, \
|
|
|
-+- newsize * sizeof (CHAR_T)); \
|
|
|
-++ wp = (CHAR_T *) extend_alloca (wp, s, newsize); \
|
|
|
-+ wpmax = s / sizeof (CHAR_T); \
|
|
|
-+ if (old != NULL) \
|
|
|
-+ MEMCPY (wp, old, wpsize); \
|
|
|
-+--
|
|
|
-+1.9.4
|
|
|
-+
|
|
|
-diff --git a/package/glibc/glibc/2.22/0001-fix-CVE-2015-7547.patch b/package/glibc/glibc/2.22/0001-fix-CVE-2015-7547.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..19b8b6e
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.22/0001-fix-CVE-2015-7547.patch
|
|
|
-@@ -0,0 +1,236 @@
|
|
|
-+Fetched from gentoo glibc patchball
|
|
|
-+Original patch filename: 10_all_glibc-CVE-2015-7547.patch
|
|
|
-+Based on: https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html
|
|
|
-+
|
|
|
-+Fixes:
|
|
|
-+CVE-2015-7547 - glibc getaddrinfo stack-based buffer overflow.
|
|
|
-+
|
|
|
-+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
-+
|
|
|
-+--- a/resolv/nss_dns/dns-host.c
|
|
|
-++++ b/resolv/nss_dns/dns-host.c
|
|
|
-+@@ -1031,7 +1031,10 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
|
|
|
-+ int h_namelen = 0;
|
|
|
-+
|
|
|
-+ if (ancount == 0)
|
|
|
-+- return NSS_STATUS_NOTFOUND;
|
|
|
-++ {
|
|
|
-++ *h_errnop = HOST_NOT_FOUND;
|
|
|
-++ return NSS_STATUS_NOTFOUND;
|
|
|
-++ }
|
|
|
-+
|
|
|
-+ while (ancount-- > 0 && cp < end_of_message && had_error == 0)
|
|
|
-+ {
|
|
|
-+@@ -1208,7 +1211,14 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
|
|
|
-+ /* Special case here: if the resolver sent a result but it only
|
|
|
-+ contains a CNAME while we are looking for a T_A or T_AAAA record,
|
|
|
-+ we fail with NOTFOUND instead of TRYAGAIN. */
|
|
|
-+- return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND;
|
|
|
-++ if (canon != NULL)
|
|
|
-++ {
|
|
|
-++ *h_errnop = HOST_NOT_FOUND;
|
|
|
-++ return NSS_STATUS_NOTFOUND;
|
|
|
-++ }
|
|
|
-++
|
|
|
-++ *h_errnop = NETDB_INTERNAL;
|
|
|
-++ return NSS_STATUS_TRYAGAIN;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+
|
|
|
-+@@ -1242,8 +1252,15 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
|
|
|
-+ &pat, &buffer, &buflen,
|
|
|
-+ errnop, h_errnop, ttlp,
|
|
|
-+ &first);
|
|
|
-++ /* Use the second response status in some cases. */
|
|
|
-+ if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND)
|
|
|
-+ status = status2;
|
|
|
-++ /* Do not return a truncated second response (unless it was
|
|
|
-++ unavoidable e.g. unrecoverable TRYAGAIN). */
|
|
|
-++ if (status == NSS_STATUS_SUCCESS
|
|
|
-++ && (status2 == NSS_STATUS_TRYAGAIN
|
|
|
-++ && *errnop == ERANGE && *h_errnop != NO_RECOVERY))
|
|
|
-++ status = NSS_STATUS_TRYAGAIN;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ return status;
|
|
|
-+--- a/resolv/res_query.c
|
|
|
-++++ b/resolv/res_query.c
|
|
|
-+@@ -396,6 +396,7 @@ __libc_res_nsearch(res_state statp,
|
|
|
-+ {
|
|
|
-+ free (*answerp2);
|
|
|
-+ *answerp2 = NULL;
|
|
|
-++ *nanswerp2 = 0;
|
|
|
-+ *answerp2_malloced = 0;
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+@@ -447,6 +448,7 @@ __libc_res_nsearch(res_state statp,
|
|
|
-+ {
|
|
|
-+ free (*answerp2);
|
|
|
-+ *answerp2 = NULL;
|
|
|
-++ *nanswerp2 = 0;
|
|
|
-+ *answerp2_malloced = 0;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+@@ -521,6 +523,7 @@ __libc_res_nsearch(res_state statp,
|
|
|
-+ {
|
|
|
-+ free (*answerp2);
|
|
|
-+ *answerp2 = NULL;
|
|
|
-++ *nanswerp2 = 0;
|
|
|
-+ *answerp2_malloced = 0;
|
|
|
-+ }
|
|
|
-+ if (saved_herrno != -1)
|
|
|
-+--- a/resolv/res_send.c
|
|
|
-++++ b/resolv/res_send.c
|
|
|
-+@@ -639,11 +639,7 @@ send_vc(res_state statp,
|
|
|
-+ {
|
|
|
-+ const HEADER *hp = (HEADER *) buf;
|
|
|
-+ const HEADER *hp2 = (HEADER *) buf2;
|
|
|
-+- u_char *ans = *ansp;
|
|
|
-+- int orig_anssizp = *anssizp;
|
|
|
-+- // XXX REMOVE
|
|
|
-+- // int anssiz = *anssizp;
|
|
|
-+- HEADER *anhp = (HEADER *) ans;
|
|
|
-++ HEADER *anhp = (HEADER *) *ansp;
|
|
|
-+ struct sockaddr *nsap = get_nsaddr (statp, ns);
|
|
|
-+ int truncating, connreset, n;
|
|
|
-+ /* On some architectures compiler might emit a warning indicating
|
|
|
-+@@ -767,35 +763,6 @@ send_vc(res_state statp,
|
|
|
-+ assert (anscp != NULL || ansp2 == NULL);
|
|
|
-+ thisresplenp = &resplen;
|
|
|
-+ } else {
|
|
|
-+- if (*anssizp != MAXPACKET) {
|
|
|
-+- /* No buffer allocated for the first
|
|
|
-+- reply. We can try to use the rest
|
|
|
-+- of the user-provided buffer. */
|
|
|
-+-#if __GNUC_PREREQ (4, 7)
|
|
|
-+- DIAG_PUSH_NEEDS_COMMENT;
|
|
|
-+- DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
|
|
|
-+-#endif
|
|
|
-+-#if _STRING_ARCH_unaligned
|
|
|
-+- *anssizp2 = orig_anssizp - resplen;
|
|
|
-+- *ansp2 = *ansp + resplen;
|
|
|
-+-#else
|
|
|
-+- int aligned_resplen
|
|
|
-+- = ((resplen + __alignof__ (HEADER) - 1)
|
|
|
-+- & ~(__alignof__ (HEADER) - 1));
|
|
|
-+- *anssizp2 = orig_anssizp - aligned_resplen;
|
|
|
-+- *ansp2 = *ansp + aligned_resplen;
|
|
|
-+-#endif
|
|
|
-+-#if __GNUC_PREREQ (4, 7)
|
|
|
-+- DIAG_POP_NEEDS_COMMENT;
|
|
|
-+-#endif
|
|
|
-+- } else {
|
|
|
-+- /* The first reply did not fit into the
|
|
|
-+- user-provided buffer. Maybe the second
|
|
|
-+- answer will. */
|
|
|
-+- *anssizp2 = orig_anssizp;
|
|
|
-+- *ansp2 = *ansp;
|
|
|
-+- }
|
|
|
-+-
|
|
|
-+ thisanssizp = anssizp2;
|
|
|
-+ thisansp = ansp2;
|
|
|
-+ thisresplenp = resplen2;
|
|
|
-+@@ -804,10 +771,14 @@ send_vc(res_state statp,
|
|
|
-+ anhp = (HEADER *) *thisansp;
|
|
|
-+
|
|
|
-+ *thisresplenp = rlen;
|
|
|
-+- if (rlen > *thisanssizp) {
|
|
|
-+- /* Yes, we test ANSCP here. If we have two buffers
|
|
|
-+- both will be allocatable. */
|
|
|
-+- if (__glibc_likely (anscp != NULL)) {
|
|
|
-++ /* Is the answer buffer too small? */
|
|
|
-++ if (*thisanssizp < rlen) {
|
|
|
-++ /* If the current buffer is not the the static
|
|
|
-++ user-supplied buffer then we can reallocate
|
|
|
-++ it. */
|
|
|
-++ if (thisansp != NULL && thisansp != ansp) {
|
|
|
-++ /* Always allocate MAXPACKET, callers expect
|
|
|
-++ this specific size. */
|
|
|
-+ u_char *newp = malloc (MAXPACKET);
|
|
|
-+ if (newp == NULL) {
|
|
|
-+ *terrno = ENOMEM;
|
|
|
-+@@ -957,8 +928,6 @@ send_dg(res_state statp,
|
|
|
-+ {
|
|
|
-+ const HEADER *hp = (HEADER *) buf;
|
|
|
-+ const HEADER *hp2 = (HEADER *) buf2;
|
|
|
-+- u_char *ans = *ansp;
|
|
|
-+- int orig_anssizp = *anssizp;
|
|
|
-+ struct timespec now, timeout, finish;
|
|
|
-+ struct pollfd pfd[1];
|
|
|
-+ int ptimeout;
|
|
|
-+@@ -1154,50 +1123,48 @@ send_dg(res_state statp,
|
|
|
-+ assert (anscp != NULL || ansp2 == NULL);
|
|
|
-+ thisresplenp = &resplen;
|
|
|
-+ } else {
|
|
|
-+- if (*anssizp != MAXPACKET) {
|
|
|
-+- /* No buffer allocated for the first
|
|
|
-+- reply. We can try to use the rest
|
|
|
-+- of the user-provided buffer. */
|
|
|
-+-#if _STRING_ARCH_unaligned
|
|
|
-+- *anssizp2 = orig_anssizp - resplen;
|
|
|
-+- *ansp2 = *ansp + resplen;
|
|
|
-+-#else
|
|
|
-+- int aligned_resplen
|
|
|
-+- = ((resplen + __alignof__ (HEADER) - 1)
|
|
|
-+- & ~(__alignof__ (HEADER) - 1));
|
|
|
-+- *anssizp2 = orig_anssizp - aligned_resplen;
|
|
|
-+- *ansp2 = *ansp + aligned_resplen;
|
|
|
-+-#endif
|
|
|
-+- } else {
|
|
|
-+- /* The first reply did not fit into the
|
|
|
-+- user-provided buffer. Maybe the second
|
|
|
-+- answer will. */
|
|
|
-+- *anssizp2 = orig_anssizp;
|
|
|
-+- *ansp2 = *ansp;
|
|
|
-+- }
|
|
|
-+-
|
|
|
-+ thisanssizp = anssizp2;
|
|
|
-+ thisansp = ansp2;
|
|
|
-+ thisresplenp = resplen2;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ if (*thisanssizp < MAXPACKET
|
|
|
-+- /* Yes, we test ANSCP here. If we have two buffers
|
|
|
-+- both will be allocatable. */
|
|
|
-+- && anscp
|
|
|
-++ /* If the current buffer is not the the static
|
|
|
-++ user-supplied buffer then we can reallocate
|
|
|
-++ it. */
|
|
|
-++ && (thisansp != NULL && thisansp != ansp)
|
|
|
-+ #ifdef FIONREAD
|
|
|
-++ /* Is the size too small? */
|
|
|
-+ && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
|
|
|
-+ || *thisanssizp < *thisresplenp)
|
|
|
-+ #endif
|
|
|
-+ ) {
|
|
|
-++ /* Always allocate MAXPACKET, callers expect
|
|
|
-++ this specific size. */
|
|
|
-+ u_char *newp = malloc (MAXPACKET);
|
|
|
-+ if (newp != NULL) {
|
|
|
-+- *anssizp = MAXPACKET;
|
|
|
-+- *thisansp = ans = newp;
|
|
|
-++ *thisanssizp = MAXPACKET;
|
|
|
-++ *thisansp = newp;
|
|
|
-+ if (thisansp == ansp2)
|
|
|
-+ *ansp2_malloced = 1;
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-++ /* We could end up with truncation if anscp was NULL
|
|
|
-++ (not allowed to change caller's buffer) and the
|
|
|
-++ response buffer size is too small. This isn't a
|
|
|
-++ reliable way to detect truncation because the ioctl
|
|
|
-++ may be an inaccurate report of the UDP message size.
|
|
|
-++ Therefore we use this only to issue debug output.
|
|
|
-++ To do truncation accurately with UDP we need
|
|
|
-++ MSG_TRUNC which is only available on Linux. We
|
|
|
-++ can abstract out the Linux-specific feature in the
|
|
|
-++ future to detect truncation. */
|
|
|
-++ if (__glibc_unlikely (*thisanssizp < *thisresplenp)) {
|
|
|
-++ Dprint(statp->options & RES_DEBUG,
|
|
|
-++ (stdout, ";; response may be truncated (UDP)\n")
|
|
|
-++ );
|
|
|
-++ }
|
|
|
-++
|
|
|
-+ HEADER *anhp = (HEADER *) *thisansp;
|
|
|
-+ socklen_t fromlen = sizeof(struct sockaddr_in6);
|
|
|
-+ assert (sizeof(from) <= fromlen);
|
|
|
-diff --git a/package/glibc/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch b/package/glibc/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..28f4b6e
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/2.22/0002-microblaze-include-unix-sysdep.h.patch
|
|
|
-@@ -0,0 +1,43 @@
|
|
|
-+From 8415fb8d4f05c023b9d79e44dff197cc285fd1e5 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Mike Frysinger <vapier@gentoo.org>
|
|
|
-+Date: Thu, 6 Aug 2015 02:10:46 -0400
|
|
|
-+Subject: [PATCH] microblaze: include unix/sysdep.h
|
|
|
-+
|
|
|
-+The semi-recent SYSCALL_CANCEL inclusion broke microblaze due to the
|
|
|
-+sysdep.h header not including the unix/sysdep.h header. Include it
|
|
|
-+here like all other ports.
|
|
|
-+
|
|
|
-+(cherry picked from commit 5d5de49c3ccd69f65b801f1ca490a0112d1cbd7d)
|
|
|
-+
|
|
|
-+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
-+[edited to remove ChangeLog modifications, which cause conflicts.]
|
|
|
-+---
|
|
|
-+ sysdeps/unix/sysv/linux/microblaze/sysdep.h | 7 ++++++-
|
|
|
-+ 2 files changed, 12 insertions(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
|
|
|
-+index 83c0340..9d5c542 100644
|
|
|
-+--- a/sysdeps/unix/sysv/linux/microblaze/sysdep.h
|
|
|
-++++ b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
|
|
|
-+@@ -16,8 +16,11 @@
|
|
|
-+ License along with the GNU C Library; if not, see
|
|
|
-+ <http://www.gnu.org/licenses/>. */
|
|
|
-+
|
|
|
-++#ifndef _LINUX_MICROBLAZE_SYSDEP_H
|
|
|
-++#define _LINUX_MICROBLAZE_SYSDEP_H 1
|
|
|
-++
|
|
|
-++#include <sysdeps/unix/sysdep.h>
|
|
|
-+ #include <sysdeps/microblaze/sysdep.h>
|
|
|
-+-#include <sys/syscall.h>
|
|
|
-+
|
|
|
-+ /* Defines RTLD_PRIVATE_ERRNO. */
|
|
|
-+ #include <dl-sysdep.h>
|
|
|
-+@@ -305,3 +308,5 @@ SYSCALL_ERROR_LABEL_DCL: \
|
|
|
-+ # define PTR_DEMANGLE(var) (void) (var)
|
|
|
-+
|
|
|
-+ #endif /* not __ASSEMBLER__ */
|
|
|
-++
|
|
|
-++#endif /* _LINUX_MICROBLAZE_SYSDEP_H */
|
|
|
-+--
|
|
|
-+2.6.4
|
|
|
-+
|
|
|
-diff --git a/package/glibc/glibc/Config.in b/package/glibc/glibc/Config.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..0565162
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/Config.in
|
|
|
-@@ -0,0 +1,56 @@
|
|
|
-+if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
|
|
|
-+
|
|
|
-+config BR2_PACKAGE_EGLIBC
|
|
|
-+ bool
|
|
|
-+ default y
|
|
|
-+ select BR2_PACKAGE_LINUX_HEADERS
|
|
|
-+
|
|
|
-+choice
|
|
|
-+ prompt "eglibc version"
|
|
|
-+ default BR2_EGLIBC_VERSION_2_18
|
|
|
-+
|
|
|
-+config BR2_EGLIBC_VERSION_2_18
|
|
|
-+ bool "2.18-svnr23787"
|
|
|
-+ # Build breakage
|
|
|
-+ depends on !BR2_sparc
|
|
|
-+
|
|
|
-+config BR2_EGLIBC_VERSION_2_19
|
|
|
-+ bool "2.19-svnr25243"
|
|
|
-+ # Build breakage
|
|
|
-+ depends on !BR2_powerpc_SPE
|
|
|
-+
|
|
|
-+endchoice
|
|
|
-+
|
|
|
-+endif
|
|
|
-+
|
|
|
-+if BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
|
|
-+
|
|
|
-+config BR2_PACKAGE_GLIBC
|
|
|
-+ bool
|
|
|
-+ default y
|
|
|
-+ select BR2_PACKAGE_LINUX_HEADERS
|
|
|
-+
|
|
|
-+choice
|
|
|
-+ prompt "glibc version"
|
|
|
-+ default BR2_GLIBC_VERSION_2_22
|
|
|
-+
|
|
|
-+config BR2_GLIBC_VERSION_2_22
|
|
|
-+ bool "2.22"
|
|
|
-+ # No support for pthread barriers on < v9 ISA
|
|
|
-+ depends on !BR2_sparc
|
|
|
-+
|
|
|
-+config BR2_GLIBC_VERSION_2_23
|
|
|
-+ bool "2.23"
|
|
|
-+ # No support for pthread barriers on < v9 ISA
|
|
|
-+ depends on !BR2_sparc
|
|
|
-+
|
|
|
-+endchoice
|
|
|
-+
|
|
|
-+endif
|
|
|
-+
|
|
|
-+config BR2_GLIBC_VERSION_STRING
|
|
|
-+ string
|
|
|
-+ default "2.18-svnr23787" if BR2_EGLIBC_VERSION_2_18
|
|
|
-+ default "2.19-svnr25243" if BR2_EGLIBC_VERSION_2_19
|
|
|
-+ default "2.22" if BR2_GLIBC_VERSION_2_22
|
|
|
-+ default "2.23" if BR2_GLIBC_VERSION_2_23
|
|
|
-diff --git a/package/glibc/glibc/glibc.hash b/package/glibc/glibc/glibc.hash
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b04f214
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/glibc.hash
|
|
|
-@@ -0,0 +1,8 @@
|
|
|
-+# Locally calculated after checking pgp signature (glibc)
|
|
|
-+# http://downloads.yoctoproject.org/releases/eglibc/*.{md5,sha1} (eglibc)
|
|
|
-+md5 b395b021422a027d89884992e91734fc eglibc-2.18-svnr23787.tar.bz2
|
|
|
-+sha1 224d9e655e8f0ad04ffde47b97a11c64e2255b56 eglibc-2.18-svnr23787.tar.bz2
|
|
|
-+md5 197836c2ba42fb146e971222647198dd eglibc-2.19-svnr25243.tar.bz2
|
|
|
-+sha1 8013c1935b46fd50d2d1fbfad3b0af362b75fb28 eglibc-2.19-svnr25243.tar.bz2
|
|
|
-+sha256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 glibc-2.22.tar.xz
|
|
|
-+sha256 94efeb00e4603c8546209cefb3e1a50a5315c86fa9b078b6fad758e187ce13e9 glibc-2.23.tar.xz
|
|
|
-diff --git a/package/glibc/glibc/glibc.mk b/package/glibc/glibc/glibc.mk
|
|
|
-new file mode 100644
|
|
|
-index 0000000..4a9ba0e
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/glibc.mk
|
|
|
-@@ -0,0 +1,155 @@
|
|
|
-+################################################################################
|
|
|
-+#
|
|
|
-+# glibc/eglibc
|
|
|
-+#
|
|
|
-+################################################################################
|
|
|
-+
|
|
|
-+GLIBC_VERSION = $(call qstrip,$(BR2_GLIBC_VERSION_STRING))
|
|
|
-+
|
|
|
-+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_EGLIBC),y)
|
|
|
-+GLIBC_SITE = http://downloads.yoctoproject.org/releases/eglibc
|
|
|
-+GLIBC_SOURCE = eglibc-$(GLIBC_VERSION).tar.bz2
|
|
|
-+GLIBC_SRC_SUBDIR = libc
|
|
|
-+else
|
|
|
-+GLIBC_SITE = $(BR2_GNU_MIRROR)/libc
|
|
|
-+GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.xz
|
|
|
-+GLIBC_SRC_SUBDIR = .
|
|
|
-+endif
|
|
|
-+
|
|
|
-+GLIBC_LICENSE = GPLv2+ (programs), LGPLv2.1+, BSD-3c, MIT (library)
|
|
|
-+GLIBC_LICENSE_FILES = $(addprefix $(GLIBC_SRC_SUBDIR)/,COPYING COPYING.LIB LICENSES)
|
|
|
-+
|
|
|
-+# glibc is part of the toolchain so disable the toolchain dependency
|
|
|
-+GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO
|
|
|
-+
|
|
|
-+# Before (e)glibc is configured, we must have the first stage
|
|
|
-+# cross-compiler and the kernel headers
|
|
|
-+GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-gawk
|
|
|
-+
|
|
|
-+GLIBC_SUBDIR = build
|
|
|
-+
|
|
|
-+GLIBC_INSTALL_STAGING = YES
|
|
|
-+
|
|
|
-+GLIBC_INSTALL_STAGING_OPTS = install_root=$(STAGING_DIR) install
|
|
|
-+
|
|
|
-+# Thumb build is broken, build in ARM mode
|
|
|
-+ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
|
|
|
-+GLIBC_EXTRA_CFLAGS += -marm
|
|
|
-+endif
|
|
|
-+
|
|
|
-+# MIPS64 defaults to n32 so pass the correct -mabi if
|
|
|
-+# we are using a different ABI. OABI32 is also used
|
|
|
-+# in MIPS so we pass -mabi=32 in this case as well
|
|
|
-+# even though it's not strictly necessary.
|
|
|
-+ifeq ($(BR2_MIPS_NABI64),y)
|
|
|
-+GLIBC_EXTRA_CFLAGS += -mabi=64
|
|
|
-+else ifeq ($(BR2_MIPS_OABI32),y)
|
|
|
-+GLIBC_EXTRA_CFLAGS += -mabi=32
|
|
|
-+endif
|
|
|
-+
|
|
|
-+ifeq ($(BR2_ENABLE_DEBUG),y)
|
|
|
-+GLIBC_EXTRA_CFLAGS += -g
|
|
|
-+endif
|
|
|
-+
|
|
|
-+# The stubs.h header is not installed by install-headers, but is
|
|
|
-+# needed for the gcc build. An empty stubs.h will work, as explained
|
|
|
-+# in http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html. The same trick
|
|
|
-+# is used by Crosstool-NG.
|
|
|
-+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_GLIBC),y)
|
|
|
-+define GLIBC_ADD_MISSING_STUB_H
|
|
|
-+ mkdir -p $(STAGING_DIR)/usr/include/gnu
|
|
|
-+ touch $(STAGING_DIR)/usr/include/gnu/stubs.h
|
|
|
-+endef
|
|
|
-+endif
|
|
|
-+
|
|
|
-+# Even though we use the autotools-package infrastructure, we have to
|
|
|
-+# override the default configure commands for several reasons:
|
|
|
-+#
|
|
|
-+# 1. We have to build out-of-tree, but we can't use the same
|
|
|
-+# 'symbolic link to configure' used with the gcc packages.
|
|
|
-+#
|
|
|
-+# 2. We have to execute the configure script with bash and not sh.
|
|
|
-+#
|
|
|
-+# Note that as mentionned in
|
|
|
-+# http://patches.openembedded.org/patch/38849/, eglibc/glibc must be
|
|
|
-+# built with -O2, so we pass our own CFLAGS and CXXFLAGS below.
|
|
|
-+define GLIBC_CONFIGURE_CMDS
|
|
|
-+ mkdir -p $(@D)/build
|
|
|
-+ # Do the configuration
|
|
|
-+ (cd $(@D)/build; \
|
|
|
-+ $(TARGET_CONFIGURE_OPTS) \
|
|
|
-+ CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \
|
|
|
-+ CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \
|
|
|
-+ $(SHELL) $(@D)/$(GLIBC_SRC_SUBDIR)/configure \
|
|
|
-+ ac_cv_path_BASH_SHELL=/bin/bash \
|
|
|
-+ libc_cv_forced_unwind=yes \
|
|
|
-+ libc_cv_ssp=no \
|
|
|
-+ --target=$(GNU_TARGET_NAME) \
|
|
|
-+ --host=$(GNU_TARGET_NAME) \
|
|
|
-+ --build=$(GNU_HOST_NAME) \
|
|
|
-+ --prefix=/usr \
|
|
|
-+ --enable-shared \
|
|
|
-+ $(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \
|
|
|
-+ $(if $(BR2_x86_64),--enable-lock-elision) \
|
|
|
-+ --with-pkgversion="Buildroot" \
|
|
|
-+ --without-cvs \
|
|
|
-+ --disable-profile \
|
|
|
-+ --without-gd \
|
|
|
-+ --enable-obsolete-rpc \
|
|
|
-+ --enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) \
|
|
|
-+ --with-headers=$(STAGING_DIR)/usr/include)
|
|
|
-+ $(GLIBC_ADD_MISSING_STUB_H)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+
|
|
|
-+#
|
|
|
-+# We also override the install to target commands since we only want
|
|
|
-+# to install the libraries, and nothing more.
|
|
|
-+#
|
|
|
-+
|
|
|
-+GLIBC_LIBS_LIB = \
|
|
|
-+ ld*.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* libm.so.* \
|
|
|
-+ libnsl.so.* libpthread.so.* libresolv.so.* librt.so.* libutil.so.* \
|
|
|
-+ libnss_files.so.* libnss_dns.so.*
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_GDB),y)
|
|
|
-+GLIBC_LIBS_LIB += libthread_db.so.*
|
|
|
-+endif
|
|
|
-+
|
|
|
-+define GLIBC_INSTALL_TARGET_CMDS
|
|
|
-+ for libs in $(GLIBC_LIBS_LIB); do \
|
|
|
-+ $(call copy_toolchain_lib_root,$(STAGING_DIR)/,,lib,$$libs,/lib) ; \
|
|
|
-+ done
|
|
|
-+endef
|
|
|
-+
|
|
|
-+# MIPS R6 requires to have NaN2008 support which is currently not
|
|
|
-+# supported by the Linux kernel. In order to prevent building the
|
|
|
-+# glibc against kernels not having NaN2008 support on platforms that
|
|
|
-+# requires it, glibc currently checks for an (inexisting) 10.0.0
|
|
|
-+# kernel headers version.
|
|
|
-+#
|
|
|
-+# Since in practice the kernel support for NaN2008 is not really
|
|
|
-+# required for things to work properly, we adjust the glibc check to
|
|
|
-+# make it believe that NaN2008 support was added in the kernel
|
|
|
-+# starting from version 4.0.0.
|
|
|
-+#
|
|
|
-+# In general the compatibility issues introduced by mis-matched NaN
|
|
|
-+# encodings will not cause a problem as signalling NaNs are rarely used
|
|
|
-+# in average code. For MIPS R6 there isn't actually any compatibility
|
|
|
-+# issue as the hardware is always NaN2008 and software is always
|
|
|
-+# NaN2008. The problem only comes from when older MIPS code is linked in
|
|
|
-+# via a DSO and multiple NaN encodings are introduced. Since Buildroot
|
|
|
-+# is intended to have all code built from source then this scenario is
|
|
|
-+# highly unlikely. The failure mode, if it ever occurs, would be either
|
|
|
-+# that a signalling NaN fails to raise an invalid operation exception or
|
|
|
-+# (more likely) an ordinary NaN raises an invalid operation exception.
|
|
|
-+ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y)
|
|
|
-+define GLIBC_FIX_MIPS_R6
|
|
|
-+ $(SED) 's#10.0.0#4.0.0#' \
|
|
|
-+ $(@D)/sysdeps/unix/sysv/linux/mips/configure \
|
|
|
-+ $(@D)/sysdeps/unix/sysv/linux/mips/configure.ac
|
|
|
-+endef
|
|
|
-+GLIBC_POST_EXTRACT_HOOKS += GLIBC_FIX_MIPS_R6
|
|
|
-+endif
|
|
|
-+
|
|
|
-+$(eval $(autotools-package))
|
|
|
-diff --git a/package/glibc/glibc/nsswitch.conf b/package/glibc/glibc/nsswitch.conf
|
|
|
-new file mode 100644
|
|
|
-index 0000000..5c38491
|
|
|
---- /dev/null
|
|
|
-+++ b/package/glibc/glibc/nsswitch.conf
|
|
|
-@@ -0,0 +1,13 @@
|
|
|
-+# /etc/nsswitch.conf
|
|
|
-+
|
|
|
-+passwd: files
|
|
|
-+group: files
|
|
|
-+shadow: files
|
|
|
-+
|
|
|
-+hosts: files dns
|
|
|
-+networks: files dns
|
|
|
-+
|
|
|
-+protocols: files
|
|
|
-+services: files
|
|
|
-+ethers: files
|
|
|
-+rpc: files
|
|
|
-diff --git a/package/libmodbus/001-GfA-echo-rtu.patch b/package/libmodbus/001-GfA-echo-rtu.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..386172f
|
|
|
---- /dev/null
|
|
|
-+++ b/package/libmodbus/001-GfA-echo-rtu.patch
|
|
|
-@@ -0,0 +1,105 @@
|
|
|
-+diff -Naur a/src/modbus-rtu.c b/src/modbus-rtu.c
|
|
|
-+--- a/src/modbus-rtu.c 2017-10-11 23:07:11.623017506 +0200
|
|
|
-++++ b/src/modbus-rtu.c 2017-10-11 23:07:20.495035402 +0200
|
|
|
-+@@ -257,6 +257,27 @@
|
|
|
-+ }
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-++
|
|
|
-++ssize_t _modbus_rtu_write_n_read(modbus_t *ctx, const uint8_t *req, int req_length) {
|
|
|
-++ ssize_t w, r, i;
|
|
|
-++ uint8_t rb[req_length];
|
|
|
-++
|
|
|
-++ // Transmit
|
|
|
-++ w = write(ctx->s, req, req_length);
|
|
|
-++
|
|
|
-++ // Read back written bytes if hw has echo
|
|
|
-++ r = 0;
|
|
|
-++ while (r < w)
|
|
|
-++ r += read(ctx->s, rb + r, w - r);
|
|
|
-++ if (ctx->debug) {
|
|
|
-++ for (i = 0; i < r; ++i)
|
|
|
-++ fprintf(stderr, "|%02X|", rb[i]);
|
|
|
-++ fprintf(stderr, "\n");
|
|
|
-++ }
|
|
|
-++
|
|
|
-++ return w;
|
|
|
-++}
|
|
|
-++
|
|
|
-+ ssize_t _modbus_rtu_send(modbus_t *ctx, const uint8_t *req, int req_length)
|
|
|
-+ {
|
|
|
-+ #if defined(_WIN32)
|
|
|
-+@@ -264,7 +285,14 @@
|
|
|
-+ DWORD n_bytes = 0;
|
|
|
-+ return (WriteFile(ctx_rtu->w_ser.fd, req, req_length, &n_bytes, NULL)) ? n_bytes : -1;
|
|
|
-+ #else
|
|
|
-+- return write(ctx->s, req, req_length);
|
|
|
-++ modbus_rtu_t *ctx_rtu = ctx->backend_data;
|
|
|
-++ ssize_t w;
|
|
|
-++
|
|
|
-++ if(!ctx_rtu->echohw)
|
|
|
-++ w = write(ctx->s, req, req_length);
|
|
|
-++ else
|
|
|
-++ w = _modbus_rtu_write_n_read(ctx, req, req_length);
|
|
|
-++ return w;
|
|
|
-+ #endif
|
|
|
-+ }
|
|
|
-+
|
|
|
-+@@ -772,6 +800,30 @@
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-++
|
|
|
-++int modbus_rtu_set_echohw_mode(modbus_t* ctx, uint8_t mode) {
|
|
|
-++ if (ctx->backend->backend_type == _MODBUS_BACKEND_TYPE_RTU) {
|
|
|
-++ modbus_rtu_t* rtu = (modbus_rtu_t*) ctx->backend_data;
|
|
|
-++ rtu->echohw= mode;
|
|
|
-++ return 0;
|
|
|
-++ }
|
|
|
-++ /* Wrong backend and invalid mode specified */
|
|
|
-++ errno = EINVAL;
|
|
|
-++ return -1;
|
|
|
-++
|
|
|
-++}
|
|
|
-++
|
|
|
-++int modbus_rtu_get_echohw_mode(modbus_t* ctx) {
|
|
|
-++ if (ctx->backend->backend_type == _MODBUS_BACKEND_TYPE_RTU) {
|
|
|
-++ modbus_rtu_t* rtu = (modbus_rtu_t*) ctx->backend_data;
|
|
|
-++ return rtu->echohw;
|
|
|
-++ }
|
|
|
-++ /* Wrong backend and invalid mode specified */
|
|
|
-++ errno = EINVAL;
|
|
|
-++ return -1;
|
|
|
-++
|
|
|
-++}
|
|
|
-++
|
|
|
-+ void _modbus_rtu_close(modbus_t *ctx)
|
|
|
-+ {
|
|
|
-+ /* Closes the file descriptor in RTU mode */
|
|
|
-+diff -Naur a/src/modbus-rtu.h b/src/modbus-rtu.h
|
|
|
-+--- a/src/modbus-rtu.h 2017-10-11 23:07:11.623017506 +0200
|
|
|
-++++ b/src/modbus-rtu.h 2017-10-11 23:07:20.495035402 +0200
|
|
|
-+@@ -37,6 +37,12 @@
|
|
|
-+ int modbus_rtu_set_serial_mode(modbus_t *ctx, int mode);
|
|
|
-+ int modbus_rtu_get_serial_mode(modbus_t *ctx);
|
|
|
-+
|
|
|
-++#define MODBUS_RTU_HAS_ECHOHW 1
|
|
|
-++#define MODBUS_RTU_NO_ECHOHW 0
|
|
|
-++
|
|
|
-++int modbus_rtu_set_echohw_mode(modbus_t *ctx, uint8_t mode);
|
|
|
-++int modbus_rtu_get_echohw_mode(modbus_t *ctx);
|
|
|
-++
|
|
|
-+ MODBUS_END_DECLS
|
|
|
-+
|
|
|
-+ #endif /* _MODBUS_RTU_H_ */
|
|
|
-+diff -Naur a/src/modbus-rtu-private.h b/src/modbus-rtu-private.h
|
|
|
-+--- a/src/modbus-rtu-private.h 2017-10-11 23:07:11.623017506 +0200
|
|
|
-++++ b/src/modbus-rtu-private.h 2017-10-11 23:07:20.495035402 +0200
|
|
|
-+@@ -81,6 +81,7 @@
|
|
|
-+ #if HAVE_DECL_TIOCSRS485
|
|
|
-+ int serial_mode;
|
|
|
-+ #endif
|
|
|
-++ uint8_t echohw;
|
|
|
-+ } modbus_rtu_t;
|
|
|
-+
|
|
|
-+ #endif /* _MODBUS_RTU_PRIVATE_H_ */
|
|
|
-diff --git a/package/linux-headers/linux-017-omap_serial_for_rs485.patch b/package/linux-headers/linux-017-omap_serial_for_rs485.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..38b7ffa
|
|
|
---- /dev/null
|
|
|
-+++ b/package/linux-headers/linux-017-omap_serial_for_rs485.patch
|
|
|
-@@ -0,0 +1,12 @@
|
|
|
-+--- a/include/uapi/linux/serial.h 2016-11-08 16:38:32.000000000 +0100
|
|
|
-++++ b/include/uapi/linux/serial.h 2017-02-18 14:27:23.569732653 +0100
|
|
|
-+@@ -119,7 +119,8 @@ struct serial_rs485 {
|
|
|
-+ #define SER_RS485_RX_DURING_TX (1 << 4)
|
|
|
-+ __u32 delay_rts_before_send; /* Delay before send (milliseconds) */
|
|
|
-+ __u32 delay_rts_after_send; /* Delay after send (milliseconds) */
|
|
|
-+- __u32 padding[5]; /* Memory is cheap, new structs
|
|
|
-++ __u32 udelay_before_enable_tx;/* Delay before switching to tx direction */
|
|
|
-++ __u32 padding[4]; /* Memory is cheap, new structs
|
|
|
-+ are a royal PITA .. */
|
|
|
-+ };
|
|
|
-+
|
|
|
-diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk
|
|
|
-index cd44ca1..dab73cf 100644
|
|
|
---- a/package/mutt/mutt.mk
|
|
|
-+++ b/package/mutt/mutt.mk
|
|
|
-@@ -9,7 +9,8 @@ MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads
|
|
|
- MUTT_LICENSE = GPLv2+
|
|
|
- MUTT_LICENSE_FILES = GPL
|
|
|
- MUTT_DEPENDENCIES = ncurses
|
|
|
--MUTT_CONF_OPTS = --disable-smtp
|
|
|
-+#MUTT_CONF_OPTS = --disable-smtp
|
|
|
-+MUTT_CONF_OPTS = --enable-smtp
|
|
|
- MUTT_AUTORECONF = YES
|
|
|
-
|
|
|
- ifeq ($(BR2_PACKAGE_LIBICONV),y)
|
|
|
-@@ -37,16 +38,17 @@ MUTT_CONF_OPTS += --disable-pop
|
|
|
- endif
|
|
|
-
|
|
|
- # SSL support is only used by imap or pop3 module
|
|
|
--ifneq ($(BR2_PACKAGET_MUTT_IMAP)$(BR2_PACKAGE_MUTT_POP3),)
|
|
|
--ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
|
-+#ifneq ($(BR2_PACKAGET_MUTT_IMAP)$(BR2_PACKAGE_MUTT_POP3),)
|
|
|
-+#ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
|
- MUTT_DEPENDENCIES += openssl
|
|
|
- MUTT_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr
|
|
|
--else
|
|
|
--MUTT_CONF_OPTS += --without-ssl
|
|
|
--endif
|
|
|
--else
|
|
|
--MUTT_CONF_OPTS += --without-ssl
|
|
|
--endif
|
|
|
-+MUTT_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr
|
|
|
-+#else
|
|
|
-+#MUTT_CONF_OPTS += --without-ssl
|
|
|
-+#endif
|
|
|
-+#else
|
|
|
-+#MUTT_CONF_OPTS += --without-ssl
|
|
|
-+#endif
|
|
|
-
|
|
|
- # Avoid running tests to check for:
|
|
|
- # - target system is *BSD
|
|
|
-diff --git a/package/qt5/Config.in b/package/qt5/Config.in
|
|
|
-index 234dfdd..fb57d25 100644
|
|
|
---- a/package/qt5/Config.in
|
|
|
-+++ b/package/qt5/Config.in
|
|
|
-@@ -31,6 +31,7 @@ menuconfig BR2_PACKAGE_QT5
|
|
|
-
|
|
|
- if BR2_PACKAGE_QT5
|
|
|
- source "package/qt5/qt5base/Config.in"
|
|
|
-+source "package/qt5/qt53d/Config.in"
|
|
|
- source "package/qt5/qt5canvas3d/Config.in"
|
|
|
- source "package/qt5/qt5connectivity/Config.in"
|
|
|
- source "package/qt5/qt5declarative/Config.in"
|
|
|
-@@ -41,17 +42,20 @@ source "package/qt5/qt5location/Config.in"
|
|
|
- source "package/qt5/qt5multimedia/Config.in"
|
|
|
- source "package/qt5/qt5quickcontrols/Config.in"
|
|
|
- source "package/qt5/qt5sensors/Config.in"
|
|
|
-+source "package/qt5/qt5serialbus/Config.in"
|
|
|
- source "package/qt5/qt5serialport/Config.in"
|
|
|
-+source "package/qt5/qt5wayland/Config.in"
|
|
|
- source "package/qt5/qt5svg/Config.in"
|
|
|
- source "package/qt5/qt5tools/Config.in"
|
|
|
- source "package/qt5/qt5webchannel/Config.in"
|
|
|
- source "package/qt5/qt5websockets/Config.in"
|
|
|
- source "package/qt5/qt5x11extras/Config.in"
|
|
|
-+source "package/qt5/qt5webengine/Config.in"
|
|
|
- source "package/qt5/qt5xmlpatterns/Config.in"
|
|
|
--comment "technology preview"
|
|
|
--source "package/qt5/qt53d/Config.in"
|
|
|
-+source "package/qt5/qt5virtualkeyboard/Config.in"
|
|
|
-+source "package/qt5/qt5charts/Config.in"
|
|
|
-+source "package/qt5/qt5datavis3d/Config.in"
|
|
|
- source "package/qt5/qt5quickcontrols2/Config.in"
|
|
|
--source "package/qt5/qt5serialbus/Config.in"
|
|
|
- comment "legacy compatibility"
|
|
|
- source "package/qt5/qt5script/Config.in"
|
|
|
- source "package/qt5/qt5webkit/Config.in"
|
|
|
-diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
|
|
|
-index d25f663..0710ef4 100644
|
|
|
---- a/package/qt5/qt5.mk
|
|
|
-+++ b/package/qt5/qt5.mk
|
|
|
-@@ -1,6 +1,8 @@
|
|
|
--QT5_VERSION_MAJOR = 5.6
|
|
|
--QT5_VERSION = $(QT5_VERSION_MAJOR).2
|
|
|
-+QT5_VERSION_MAJOR = 5.7
|
|
|
-+QT5_VERSION = $(QT5_VERSION_MAJOR).0
|
|
|
- QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
|
|
|
-+##QT5_VERSION = $(QT5_VERSION_MAJOR).1
|
|
|
-+##QT5_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules
|
|
|
- include $(sort $(wildcard package/qt5/*/*.mk))
|
|
|
-
|
|
|
- define QT5_LA_PRL_FILES_FIXUP
|
|
|
-diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash
|
|
|
-index 7179380..f59a671 100644
|
|
|
---- a/package/qt5/qt53d/qt53d.hash
|
|
|
-+++ b/package/qt5/qt53d/qt53d.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qt3d-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 a21786db6e0f5c6c70213fe1a3530ed3d7f28f28401a0f793970e9bc860ce941 qt3d-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 a8248a1779b561ea450e92345e8187bacac359df0e92ad61a1ad7652bb233e29 qt3d-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch b/package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..54e4db8
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch
|
|
|
-@@ -0,0 +1,44 @@
|
|
|
-+From e69e69519661954716d59bfa5bbd0626515cfda9 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Peter Seiderer <ps.report@gmx.net>
|
|
|
-+Date: Thu, 3 Mar 2016 15:17:31 +0100
|
|
|
-+Subject: [PATCH] Disable c++ standard compiler flags for the host build
|
|
|
-+MIME-Version: 1.0
|
|
|
-+Content-Type: text/plain; charset=UTF-8
|
|
|
-+Content-Transfer-Encoding: 8bit
|
|
|
-+
|
|
|
-+There is no test for c++ standard support for the host build
|
|
|
-+(only for the target compiler/build) which leads to trouble
|
|
|
-+in some cross compiling environments (old host compiler, new
|
|
|
-+cross compiler):
|
|
|
-+
|
|
|
-+ g++: error: unrecognized command line option ‘-std=c++1z’
|
|
|
-+
|
|
|
-+So disable c++ standard compiler flags unconditionally for host builds.
|
|
|
-+
|
|
|
-+Task-number: QTBUG-51644
|
|
|
-+Change-Id: Ifb3042e125fe199a7e081740d1171d26ccacf0c5
|
|
|
-+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
|
|
-+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
|
|
|
-+---
|
|
|
-+ mkspecs/features/default_post.prf | 5 ++++-
|
|
|
-+ 1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
|
|
|
-+index cd8d885..561c8f4 100644
|
|
|
-+--- a/mkspecs/features/default_post.prf
|
|
|
-++++ b/mkspecs/features/default_post.prf
|
|
|
-+@@ -95,7 +95,10 @@ breakpad {
|
|
|
-+ !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP $$DEBUGFILENAME)
|
|
|
-+ }
|
|
|
-+
|
|
|
-+-c++11|c++14|c++1z {
|
|
|
-++# Disable special compiler flags for host builds (needs to be changed for 5.7
|
|
|
-++# to fall back to c++11 because since 5.7 c++11 is required everywhere,
|
|
|
-++# including host builds).
|
|
|
-++if(!host_build|!cross_compile):if(c++11|c++14|c++1z) {
|
|
|
-+ c++1z: cxxstd = CXX1Z
|
|
|
-+ else: c++14: cxxstd = CXX14
|
|
|
-+ else: cxxstd = CXX11
|
|
|
-+--
|
|
|
-+2.1.4
|
|
|
-+
|
|
|
-diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
|
|
|
-index 7244fbe..64a7f65 100644
|
|
|
---- a/package/qt5/qt5base/Config.in
|
|
|
-+++ b/package/qt5/qt5base/Config.in
|
|
|
-@@ -180,7 +180,7 @@ config BR2_PACKAGE_QT5BASE_DIRECTFB
|
|
|
- bool "directfb support"
|
|
|
- depends on BR2_PACKAGE_DIRECTFB
|
|
|
-
|
|
|
--comment "directfb backend available if directfb is enabled"
|
|
|
-+comment "directfb backend if directb is enabled"
|
|
|
- depends on !BR2_PACKAGE_DIRECTFB
|
|
|
-
|
|
|
- config BR2_PACKAGE_QT5BASE_XCB
|
|
|
-diff --git a/package/qt5/qt5base/qmake.conf b/package/qt5/qt5base/qmake.conf
|
|
|
-index 49cf898..2152d3c 100644
|
|
|
---- a/package/qt5/qt5base/qmake.conf
|
|
|
-+++ b/package/qt5/qt5base/qmake.conf
|
|
|
-@@ -19,7 +19,6 @@ QMAKE_CXXFLAGS_RELEASE += -O3
|
|
|
- CONFIG += nostrip
|
|
|
-
|
|
|
- QMAKE_LIBS += -lrt -lpthread -ldl
|
|
|
--QMAKE_CFLAGS_ISYSTEM =
|
|
|
-
|
|
|
- include(../common/linux_device_post.conf)
|
|
|
- load(qt_config)
|
|
|
-diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash
|
|
|
-index 9808e9b..6795b60 100644
|
|
|
---- a/package/qt5/qt5base/qt5base.hash
|
|
|
-+++ b/package/qt5/qt5base/qt5base.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtbase-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 2f6eae93c5d982fe0a387a01aeb3435571433e23e9d9d9246741faf51f1ee787 qtbase-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 3e7b6d123cab23a587ccbc45173296b33786faa409dba0494e4658fda3ede646 qtbase-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
|
|
|
-index 23dba2a..81666d6 100644
|
|
|
---- a/package/qt5/qt5base/qt5base.mk
|
|
|
-+++ b/package/qt5/qt5base/qt5base.mk
|
|
|
-@@ -20,21 +20,16 @@ QT5BASE_INSTALL_STAGING = YES
|
|
|
- # want to use the one packaged in Buildroot
|
|
|
- QT5BASE_CONFIGURE_OPTS += \
|
|
|
- -optimized-qmake \
|
|
|
-+ -no-kms \
|
|
|
- -no-cups \
|
|
|
-+ -no-nis \
|
|
|
- -no-iconv \
|
|
|
- -system-zlib \
|
|
|
- -system-pcre \
|
|
|
-+ -system-harfbuzz \
|
|
|
- -no-pch \
|
|
|
- -shared
|
|
|
-
|
|
|
--# Uses libgbm from mesa3d
|
|
|
--ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
|
|
|
--QT5BASE_CONFIGURE_OPTS += -kms -gbm
|
|
|
--QT5BASE_DEPENDENCIES += mesa3d
|
|
|
--else
|
|
|
--QT5BASE_CONFIGURE_OPTS += -no-kms
|
|
|
--endif
|
|
|
--
|
|
|
- ifeq ($(BR2_ENABLE_DEBUG),y)
|
|
|
- QT5BASE_CONFIGURE_OPTS += -debug
|
|
|
- else
|
|
|
-@@ -58,10 +53,6 @@ ifneq ($(QT5BASE_CONFIG_FILE),)
|
|
|
- QT5BASE_CONFIGURE_OPTS += -qconfig buildroot
|
|
|
- endif
|
|
|
-
|
|
|
--ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
|
|
--QT5BASE_DEPENDENCIES += udev
|
|
|
--endif
|
|
|
--
|
|
|
- # Qt5 SQL Plugins
|
|
|
- ifeq ($(BR2_PACKAGE_QT5BASE_SQL),y)
|
|
|
- ifeq ($(BR2_PACKAGE_QT5BASE_MYSQL),y)
|
|
|
-diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.hash b/package/qt5/qt5canvas3d/qt5canvas3d.hash
|
|
|
-index 01819e4..2d13e40 100644
|
|
|
---- a/package/qt5/qt5canvas3d/qt5canvas3d.hash
|
|
|
-+++ b/package/qt5/qt5canvas3d/qt5canvas3d.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtcanvas3d-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 d7584d006b03f99692ccabce922e755a6f12bb1ed1fbc99c2b84842b9e0aa0ad qtcanvas3d-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 7871b3fd4c1a561c5b3eb57746e8504bc5d8fa626f9df578e619f9e823e3bd97 qtcanvas3d-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5charts/Config.in b/package/qt5/qt5charts/Config.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..d354bb2
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5charts/Config.in
|
|
|
-@@ -0,0 +1,18 @@
|
|
|
-+config BR2_PACKAGE_QT5CHARTS
|
|
|
-+ bool "qt5charts"
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE_QUICK
|
|
|
-+ select BR2_PACKAGE_QT5BASE_WIDGETS
|
|
|
-+ depends on BR2_PACKAGE_QT5_GL_AVAILABLE
|
|
|
-+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-+ help
|
|
|
-+ Qt is a cross-platform application and UI framework for
|
|
|
-+ developers using C++.
|
|
|
-+
|
|
|
-+ This package corresponds to the qt5charts module.
|
|
|
-+
|
|
|
-+ http://qt.io
|
|
|
-+
|
|
|
-+comment "qt5charts needs an OpenGL-capable backend"
|
|
|
-+ depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
|
|
|
-+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-diff --git a/package/qt5/qt5charts/qt5charts.mk b/package/qt5/qt5charts/qt5charts.mk
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c813354
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5charts/qt5charts.mk
|
|
|
-@@ -0,0 +1,39 @@
|
|
|
-+################################################################################
|
|
|
-+#
|
|
|
-+# qt5charts
|
|
|
-+#
|
|
|
-+################################################################################
|
|
|
-+
|
|
|
-+QT5CHARTS_VERSION = $(QT5_VERSION)
|
|
|
-+QT5CHARTS_SITE = $(QT5_SITE)
|
|
|
-+QT5CHARTS_SOURCE = qtcharts-opensource-src-$(QT5CHARTS_VERSION).tar.xz
|
|
|
-+QT5CHARTS_DEPENDENCIES = qt5base qt5declarative
|
|
|
-+QT5CHARTS_INSTALL_STAGING = YES
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
|
|
|
-+QT5CHARTS_LICENSE = GPLv3
|
|
|
-+QT5CHARTS_LICENSE_FILES = LICENSE.GPL3
|
|
|
-+else
|
|
|
-+QT5CHARTS_LICENSE = Commercial license
|
|
|
-+QT5CHARTS_REDISTRIBUTE = NO
|
|
|
-+endif
|
|
|
-+
|
|
|
-+define QT5CHARTS_CONFIGURE_CMDS
|
|
|
-+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5CHARTS_BUILD_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5CHARTS_INSTALL_STAGING_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
|
|
|
-+ $(QT5_LA_PRL_FILES_FIXUP)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5CHARTS_INSTALL_TARGET_CMDS
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/lib/libQt5Charts.so.* $(TARGET_DIR)/usr/lib/
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/QtCharts $(TARGET_DIR)/usr/qml/
|
|
|
-+endef
|
|
|
-+
|
|
|
-+$(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5connectivity/Config.in b/package/qt5/qt5connectivity/Config.in
|
|
|
-index fa9b911..d529ea7 100644
|
|
|
---- a/package/qt5/qt5connectivity/Config.in
|
|
|
-+++ b/package/qt5/qt5connectivity/Config.in
|
|
|
-@@ -1,9 +1,13 @@
|
|
|
- config BR2_PACKAGE_QT5CONNECTIVITY
|
|
|
- bool "qt5connectivity"
|
|
|
-+ select BR2_PACKAGE_BLUEZ_UTILS
|
|
|
- select BR2_PACKAGE_QT5BASE
|
|
|
- select BR2_PACKAGE_QT5BASE_CONCURRENT
|
|
|
- select BR2_PACKAGE_QT5BASE_DBUS
|
|
|
-- depends on BR2_PACKAGE_NEARD || BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS
|
|
|
-+ depends on !BR2_STATIC_LIBS # bluez_utils
|
|
|
-+ depends on BR2_USE_WCHAR # bluez_utils
|
|
|
-+ depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils
|
|
|
-+ depends on BR2_USE_MMU # bluez_utils
|
|
|
- help
|
|
|
- Qt is a cross-platform application and UI framework for
|
|
|
- developers using C++.
|
|
|
-@@ -12,6 +16,6 @@ config BR2_PACKAGE_QT5CONNECTIVITY
|
|
|
-
|
|
|
- http://qt.io
|
|
|
-
|
|
|
--comment "qt5connectivity needs neard and/or bluez(5)_utils"
|
|
|
-- depends on !BR2_PACKAGE_NEARD && !BR2_PACKAGE_BLUEZ_UTILS && \
|
|
|
-- !BR2_PACKAGE_BLUEZ5_UTILS
|
|
|
-+comment "qt5connectivity needs a toolchain w/ wchar, threads, dynamic library"
|
|
|
-+ depends on BR2_USE_MMU
|
|
|
-+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
|
|
-diff --git a/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash
|
|
|
-index 4574f3d..00b7c20 100644
|
|
|
---- a/package/qt5/qt5connectivity/qt5connectivity.hash
|
|
|
-+++ b/package/qt5/qt5connectivity/qt5connectivity.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtconnectivity-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 1b672923e0703d62f605ccec97b454b1a04c1f0db47f54b687d009e84eabedf9 qtconnectivity-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 9844ca7ec5be187a77dfd7e95051fb267006f6c77157ecb0b8ceeac103a32703 qtconnectivity-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5connectivity/qt5connectivity.mk b/package/qt5/qt5connectivity/qt5connectivity.mk
|
|
|
-index 0f7257d..936bc6f 100644
|
|
|
---- a/package/qt5/qt5connectivity/qt5connectivity.mk
|
|
|
-+++ b/package/qt5/qt5connectivity/qt5connectivity.mk
|
|
|
-@@ -7,7 +7,7 @@
|
|
|
- QT5CONNECTIVITY_VERSION = $(QT5_VERSION)
|
|
|
- QT5CONNECTIVITY_SITE = $(QT5_SITE)
|
|
|
- QT5CONNECTIVITY_SOURCE = qtconnectivity-opensource-src-$(QT5CONNECTIVITY_VERSION).tar.xz
|
|
|
--QT5CONNECTIVITY_DEPENDENCIES = qt5base
|
|
|
-+QT5CONNECTIVITY_DEPENDENCIES = bluez_utils qt5base
|
|
|
- QT5CONNECTIVITY_INSTALL_STAGING = YES
|
|
|
-
|
|
|
- ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
|
|
|
-@@ -18,10 +18,9 @@ QT5CONNECTIVITY_LICENSE = Commercial license
|
|
|
- QT5CONNECTIVITY_REDISTRIBUTE = NO
|
|
|
- endif
|
|
|
-
|
|
|
--QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5DECLARATIVE),qt5declarative)
|
|
|
--QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils)
|
|
|
--QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_BLUEZ5_UTILS),bluez5_utils)
|
|
|
--QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_NEARD),neard)
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
|
|
|
-+QT5CONNECTIVITY_DEPENDENCIES += qt5declarative
|
|
|
-+endif
|
|
|
-
|
|
|
- define QT5CONNECTIVITY_CONFIGURE_CMDS
|
|
|
- (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
|
|
|
-@@ -37,36 +36,15 @@ define QT5CONNECTIVITY_INSTALL_STAGING_CMDS
|
|
|
- endef
|
|
|
-
|
|
|
- ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
|
|
|
--ifneq ($(BR2_PACKAGE_BLUEZ_UTILS)$(BR2_PACKAGE_BLUEZ5_UTILS),)
|
|
|
--define QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH_QMLS
|
|
|
-+define QT5CONNECTIVITY_INSTALL_TARGET_QMLS
|
|
|
- cp -dpfr $(STAGING_DIR)/usr/qml/QtBluetooth $(TARGET_DIR)/usr/qml/
|
|
|
- endef
|
|
|
- endif
|
|
|
--ifeq ($(BR2_PACKAGE_NEARD),y)
|
|
|
--define QT5CONNECTIVITY_INSTALL_TARGET_NFC_QMLS
|
|
|
-- cp -dpfr $(STAGING_DIR)/usr/qml/QtNfc $(TARGET_DIR)/usr/qml/
|
|
|
--endef
|
|
|
--endif
|
|
|
--endif
|
|
|
-
|
|
|
--ifneq ($(BR2_PACKAGE_BLUEZ_UTILS)$(BR2_PACKAGE_BLUEZ5_UTILS),)
|
|
|
--define QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH
|
|
|
-+define QT5CONNECTIVITY_INSTALL_TARGET_CMDS
|
|
|
- cp -dpf $(STAGING_DIR)/usr/lib/libQt5Bluetooth.so.* $(TARGET_DIR)/usr/lib
|
|
|
- cp -dpf $(STAGING_DIR)/usr/bin/sdpscanner $(TARGET_DIR)/usr/bin
|
|
|
--endef
|
|
|
--endif
|
|
|
--
|
|
|
--ifeq ($(BR2_PACKAGE_NEARD),y)
|
|
|
--define QT5CONNECTIVITY_INSTALL_TARGET_NFC
|
|
|
-- cp -dpf $(STAGING_DIR)/usr/lib/libQt5Nfc.so.* $(TARGET_DIR)/usr/lib
|
|
|
--endef
|
|
|
--endif
|
|
|
--
|
|
|
--define QT5CONNECTIVITY_INSTALL_TARGET_CMDS
|
|
|
-- $(QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH)
|
|
|
-- $(QT5CONNECTIVITY_INSTALL_TARGET_NFC)
|
|
|
-- $(QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH_QMLS)
|
|
|
-- $(QT5CONNECTIVITY_INSTALL_TARGET_NFC_QMLS)
|
|
|
-+ $(QT5CONNECTIVITY_INSTALL_TARGET_QMLS)
|
|
|
- endef
|
|
|
-
|
|
|
- $(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5datavis3d/Config.in b/package/qt5/qt5datavis3d/Config.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c7aca95
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5datavis3d/Config.in
|
|
|
-@@ -0,0 +1,17 @@
|
|
|
-+config BR2_PACKAGE_QT5DATAVIS3D
|
|
|
-+ bool "qt5datavis3d"
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE_QUICK
|
|
|
-+ depends on BR2_PACKAGE_QT5_GL_AVAILABLE
|
|
|
-+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-+ help
|
|
|
-+ Qt is a cross-platform application and UI framework for
|
|
|
-+ developers using C++.
|
|
|
-+
|
|
|
-+ This package corresponds to the qt5datavis3d module.
|
|
|
-+
|
|
|
-+ http://qt.io
|
|
|
-+
|
|
|
-+comment "qt5canvas3d needs an OpenGL-capable backend"
|
|
|
-+ depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
|
|
|
-+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-diff --git a/package/qt5/qt5datavis3d/qt5datavis3d.mk b/package/qt5/qt5datavis3d/qt5datavis3d.mk
|
|
|
-new file mode 100644
|
|
|
-index 0000000..9101148
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5datavis3d/qt5datavis3d.mk
|
|
|
-@@ -0,0 +1,39 @@
|
|
|
-+################################################################################
|
|
|
-+#
|
|
|
-+# qt5datavis3d
|
|
|
-+#
|
|
|
-+################################################################################
|
|
|
-+
|
|
|
-+QT5DATAVIS3D_VERSION = $(QT5_VERSION)
|
|
|
-+QT5DATAVIS3D_SITE = $(QT5_SITE)
|
|
|
-+QT5DATAVIS3D_SOURCE = qtdatavis3d-opensource-src-$(QT5DATAVIS3D_VERSION).tar.xz
|
|
|
-+QT5DATAVIS3D_DEPENDENCIES = qt5base qt5declarative
|
|
|
-+QT5DATAVIS3D_INSTALL_STAGING = YES
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
|
|
|
-+QT5DATAVIS3D_LICENSE = GPLv3
|
|
|
-+QT5DATAVIS3D_LICENSE_FILES = LICENSE.GPL3
|
|
|
-+else
|
|
|
-+QT5DATAVIS3D_LICENSE = Commercial license
|
|
|
-+QT5DATAVIS3D_REDISTRIBUTE = NO
|
|
|
-+endif
|
|
|
-+
|
|
|
-+define QT5DATAVIS3D_CONFIGURE_CMDS
|
|
|
-+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5DATAVIS3D_BUILD_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5DATAVIS3D_INSTALL_STAGING_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
|
|
|
-+ $(QT5_LA_PRL_FILES_FIXUP)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5DATAVIS3D_INSTALL_TARGET_CMDS
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/lib/libQt5DataVisualization.so.* $(TARGET_DIR)/usr/lib
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/QtDataVisualization $(TARGET_DIR)/usr/qml/
|
|
|
-+endef
|
|
|
-+
|
|
|
-+$(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash
|
|
|
-index d8d3a68..6779669 100644
|
|
|
---- a/package/qt5/qt5declarative/qt5declarative.hash
|
|
|
-+++ b/package/qt5/qt5declarative/qt5declarative.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtdeclarative-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 0086a986bc36b398ba518c404d08cdff0a0d7978c30aa3fa2ab73d71654209da qtdeclarative-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 86de6239f3aee2e5f561c16ad7b6e47d8f341c293d4ed11c85acbc21888cf9f4 qtdeclarative-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5enginio/qt5enginio.hash b/package/qt5/qt5enginio/qt5enginio.hash
|
|
|
-index 9951834..95f507c 100644
|
|
|
---- a/package/qt5/qt5enginio/qt5enginio.hash
|
|
|
-+++ b/package/qt5/qt5enginio/qt5enginio.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtenginio-opensource-src-1.6.2.tar.xz.mirrorlist
|
|
|
--sha256 90ffc38d214a75ab0ef90a4760843f12bc073ae49c17de24c677d1d403bddcc3 qtenginio-opensource-src-1.6.2.tar.xz
|
|
|
-+sha256 627ddcfbbfc3ec1a83c9dbb5f24287b5cd6cb5d3b9d09af4d1c444c6ac147f0c qtenginio-opensource-src-1.6.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5enginio/qt5enginio.mk b/package/qt5/qt5enginio/qt5enginio.mk
|
|
|
-index ada5fa7..b858d1c 100644
|
|
|
---- a/package/qt5/qt5enginio/qt5enginio.mk
|
|
|
-+++ b/package/qt5/qt5enginio/qt5enginio.mk
|
|
|
-@@ -6,7 +6,7 @@
|
|
|
-
|
|
|
- # Qt5Enginio does not follow Qt versionning
|
|
|
- # see https://bugreports.qt.io/browse/QTBUG-50111
|
|
|
--QT5ENGINIO_VERSION = 1.6.2
|
|
|
-+QT5ENGINIO_VERSION = 1.6.0
|
|
|
- QT5ENGINIO_SITE = $(QT5_SITE)
|
|
|
- QT5ENGINIO_SOURCE = qtenginio-opensource-src-$(QT5ENGINIO_VERSION).tar.xz
|
|
|
- QT5ENGINIO_DEPENDENCIES = openssl qt5base
|
|
|
-diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash
|
|
|
-index ae29e3b..7c79a99 100644
|
|
|
---- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash
|
|
|
-+++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtgraphicaleffects-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 1e9f0fac2c72a812d396db74b2d9d12f513d2ec9135d5982ca85aee7f00be75e qtgraphicaleffects-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 c816539ce345e502425a94c624332df78f53aeebc460d76b53b79b59cb938de7 qtgraphicaleffects-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash
|
|
|
-index 54b58e4..b65be40 100644
|
|
|
---- a/package/qt5/qt5imageformats/qt5imageformats.hash
|
|
|
-+++ b/package/qt5/qt5imageformats/qt5imageformats.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtimageformats-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 4fb153be62dac393cbcebab65040b3b9d6edecd1ebbe5e543401b0e45bd147e4 qtimageformats-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 ef3344a44194d1414be585f8c8a652ffe217c663a22b6e26d3bb5e114f3f62e5 qtimageformats-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash
|
|
|
-index 374952f..074168e 100644
|
|
|
---- a/package/qt5/qt5location/qt5location.hash
|
|
|
-+++ b/package/qt5/qt5location/qt5location.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtlocation-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 7a8995206ed0220f943a33c037527a1a8243d5386f5ca77bf88152675c28d23a qtlocation-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 70273367342493a77c050f033a92d96e79925aa70308746e9681d8661f4aa865 qtlocation-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5multimedia/Config.in b/package/qt5/qt5multimedia/Config.in
|
|
|
-index 7549b35..59c3984 100644
|
|
|
---- a/package/qt5/qt5multimedia/Config.in
|
|
|
-+++ b/package/qt5/qt5multimedia/Config.in
|
|
|
-@@ -3,7 +3,6 @@ config BR2_PACKAGE_QT5MULTIMEDIA
|
|
|
- select BR2_PACKAGE_QT5BASE
|
|
|
- select BR2_PACKAGE_QT5BASE_GUI
|
|
|
- select BR2_PACKAGE_QT5BASE_NETWORK
|
|
|
-- select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5BASE_OPENGL
|
|
|
- help
|
|
|
- Qt is a cross-platform application and UI framework for
|
|
|
- developers using C++.
|
|
|
-diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash
|
|
|
-index 56a11fb..1a85f95 100644
|
|
|
---- a/package/qt5/qt5multimedia/qt5multimedia.hash
|
|
|
-+++ b/package/qt5/qt5multimedia/qt5multimedia.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtmultimedia-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 cb9a70a7c6c0eb5be4a3fcaf9590863479e95a255308bbf07d5b7aa303bb8caf qtmultimedia-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 05ae705bda224a600b06e390aa7b1448c4a6a52d2d37842d2121fb4a5d84b559 qtmultimedia-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash
|
|
|
-index 6db589d..cf438f8 100644
|
|
|
---- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash
|
|
|
-+++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 5ed0f2292be10222dfb1b57a05472798fd759279f65455d91c02ef4fb746102c qtquickcontrols-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 d8e19a77100fff109585ccc62116e63dd11ce9486056a8eb5b64159b7ecdec32 qtquickcontrols-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
|
|
|
-index 0d85d48..c43afd7 100644
|
|
|
---- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
|
|
|
-+++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols2-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 09dc1710aa4701aebe145829eb99bab94d0870cf578f7dddcec0af92286dfec1 qtquickcontrols2-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 63f5b0777992c32bd602b88de657e202cd6d5e8ba0371c6d5da16fb8c7481045 qtquickcontrols2-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
|
|
|
-index a5ad3f6..23bbb2c 100644
|
|
|
---- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
|
|
|
-+++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
|
|
|
-@@ -31,10 +31,15 @@ define QT5QUICKCONTROLS2_INSTALL_STAGING_CMDS
|
|
|
- endef
|
|
|
-
|
|
|
- define QT5QUICKCONTROLS2_INSTALL_TARGET_CMDS
|
|
|
-- cp -dpf $(STAGING_DIR)/usr/lib/libQt5LabsTemplates.so.* $(TARGET_DIR)/usr/lib
|
|
|
-- cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/controls $(TARGET_DIR)/usr/qml/Qt/labs
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/lib/libQt5QuickTemplates2.so.* $(TARGET_DIR)/usr/lib
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/lib/libQt5QuickControls2.so.* $(TARGET_DIR)/usr/lib
|
|
|
- cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/calendar $(TARGET_DIR)/usr/qml/Qt/labs
|
|
|
-- cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/templates $(TARGET_DIR)/usr/qml/Qt/labs
|
|
|
-+# cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/platform $(TARGET_DIR)/usr/qml/Qt/labs
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/folderlistmodel $(TARGET_DIR)/usr/qml/Qt/labs
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/settings $(TARGET_DIR)/usr/qml/Qt/labs
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls.2 $(TARGET_DIR)/usr/qml/QtQuick
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Templates.2 $(TARGET_DIR)/usr/qml/QtQuick
|
|
|
-+ $(QT5QUICKCONTROLS2_INSTALL_TARGET_EXAMPLES)
|
|
|
- endef
|
|
|
-
|
|
|
- $(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash
|
|
|
-index 65cd127..ec62e3b 100644
|
|
|
---- a/package/qt5/qt5sensors/qt5sensors.hash
|
|
|
-+++ b/package/qt5/qt5sensors/qt5sensors.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtsensors-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 a7809081aab4f2f0d7a4f40c3abb02e1690bb390d1dd410d7c6c5019a5053427 qtsensors-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 283dcc66a24c4367e865fa8301b6ea04d0cb78bd0f166fd09a6bb42e1e3731be qtsensors-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5serialbus/Config.in b/package/qt5/qt5serialbus/Config.in
|
|
|
-index f5b713d..504141c 100644
|
|
|
---- a/package/qt5/qt5serialbus/Config.in
|
|
|
-+++ b/package/qt5/qt5serialbus/Config.in
|
|
|
-@@ -1,6 +1,5 @@
|
|
|
- config BR2_PACKAGE_QT5SERIALBUS
|
|
|
- bool "qt5serialbus"
|
|
|
-- depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 # CAN FD
|
|
|
- select BR2_PACKAGE_QT5BASE
|
|
|
- select BR2_PACKAGE_QT5SERIALPORT
|
|
|
- help
|
|
|
-@@ -10,6 +9,3 @@ config BR2_PACKAGE_QT5SERIALBUS
|
|
|
- This package corresponds to the qt5serialbus module.
|
|
|
-
|
|
|
- http://qt.io
|
|
|
--
|
|
|
--comment "qt5serialbus needs headers >= 3.6"
|
|
|
-- depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
|
|
|
-diff --git a/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash
|
|
|
-index 308c365..0597219 100644
|
|
|
---- a/package/qt5/qt5serialbus/qt5serialbus.hash
|
|
|
-+++ b/package/qt5/qt5serialbus/qt5serialbus.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtserialbus-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 b39260091691532382935ed51de9ead8e66cfb5f7a6e5410c17cd0695ccaf826 qtserialbus-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 2c437ace393e9dcf170990b519cec59c5cbcfc3c830e46116abb52549dc15d38 qtserialbus-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash
|
|
|
-index 2458e5d..7751d64 100644
|
|
|
---- a/package/qt5/qt5serialport/qt5serialport.hash
|
|
|
-+++ b/package/qt5/qt5serialport/qt5serialport.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtserialport-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 af76281bad2c2bd283189635316b46091f6712134b845ae1b9e3016eec94f376 qtserialport-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 5ce150d843a243854736489d4a71205a8ca8dc8f93626ec29d1aa7a249a08265 qtserialport-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash
|
|
|
-index 0c9e9eb..0c3a9ff 100644
|
|
|
---- a/package/qt5/qt5svg/qt5svg.hash
|
|
|
-+++ b/package/qt5/qt5svg/qt5svg.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtsvg-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 f7a361bf661b31ae7779513559dd0b774171911bc57f5cfb6bed6878ddc8bc4e qtsvg-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 a1f89f035aed48bf8843ff1880c4b54dc2e3a5160dbd743aec03e13831cdd881 qtsvg-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch b/package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..61cbdfe
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch
|
|
|
-@@ -0,0 +1,30 @@
|
|
|
-+From acdb24783322bb6e69df61cf04df2b2e47a06ad2 Mon Sep 17 00:00:00 2001
|
|
|
-+From: Peter Seiderer <ps.report@gmx.net>
|
|
|
-+Date: Tue, 29 Mar 2016 13:37:09 +0200
|
|
|
-+Subject: [PATCH] Disable qdoc (needs qtdeclarative).
|
|
|
-+
|
|
|
-+Fixes:
|
|
|
-+
|
|
|
-+ Project ERROR: Unknown module(s) in QT: qmldevtools-private
|
|
|
-+ Makefile:63: recipe for target 'sub-qdoc-qmake_all' failed
|
|
|
-+
|
|
|
-+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
|
|
-+---
|
|
|
-+ src/src.pro | 1 -
|
|
|
-+ 1 file changed, 1 deletion(-)
|
|
|
-+
|
|
|
-+diff --git a/src/src.pro b/src/src.pro
|
|
|
-+index 387d54f..494898f 100644
|
|
|
-+--- a/src/src.pro
|
|
|
-++++ b/src/src.pro
|
|
|
-+@@ -14,7 +14,6 @@ qtHaveModule(widgets) {
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ SUBDIRS += linguist \
|
|
|
-+- qdoc \
|
|
|
-+ qtplugininfo
|
|
|
-+ if(!android|android_app):!ios: SUBDIRS += qtpaths
|
|
|
-+
|
|
|
-+--
|
|
|
-+2.1.4
|
|
|
-+
|
|
|
-diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash
|
|
|
-deleted file mode 100644
|
|
|
-index cc11b28..0000000
|
|
|
---- a/package/qt5/qt5tools/qt5tools.hash
|
|
|
-+++ /dev/null
|
|
|
-@@ -1,2 +0,0 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 db2bb4318786257a47172c377d9c456d5d5ec760d5d69240a4693dc87989e1b7 qttools-opensource-src-5.6.2.tar.xz
|
|
|
-diff --git a/package/qt5/qt5tools/qt5tools.hash__ b/package/qt5/qt5tools/qt5tools.hash__
|
|
|
-new file mode 100644
|
|
|
-index 0000000..cc11b28
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5tools/qt5tools.hash__
|
|
|
-@@ -0,0 +1,2 @@
|
|
|
-+# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
-+sha256 db2bb4318786257a47172c377d9c456d5d5ec760d5d69240a4693dc87989e1b7 qttools-opensource-src-5.6.2.tar.xz
|
|
|
-diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..803b937
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5virtualkeyboard/Config.in
|
|
|
-@@ -0,0 +1,10 @@
|
|
|
-+config BR2_PACKAGE_QT5VIRTUALKEYBOARD
|
|
|
-+ bool "qt5virtualkeyboard"
|
|
|
-+ select BR2_PACKAGE_QT5BASE
|
|
|
-+ help
|
|
|
-+ Qt is a cross-platform application and UI framework for
|
|
|
-+ developers using C++.
|
|
|
-+
|
|
|
-+ This package corresponds to the qt5virtualkeyboard module.
|
|
|
-+
|
|
|
-+ http://qt.io
|
|
|
-\ No newline at end of file
|
|
|
-diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
|
|
|
-new file mode 100644
|
|
|
-index 0000000..bedefc5
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
|
|
|
-@@ -0,0 +1,39 @@
|
|
|
-+################################################################################
|
|
|
-+#
|
|
|
-+# qt5virtualkeyboard
|
|
|
-+#
|
|
|
-+################################################################################
|
|
|
-+
|
|
|
-+QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION)
|
|
|
-+QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)
|
|
|
-+QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz
|
|
|
-+QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative
|
|
|
-+QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
|
|
|
-+QT5VIRTUALKEYBOARD_LICENSE = GPLv3
|
|
|
-+QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
|
|
|
-+else
|
|
|
-+QT5VIRTUALKEYBOARD_LICENSE = Commercial license
|
|
|
-+QT5VIRTUALKEYBOARD_REDISTRIBUTE = NO
|
|
|
-+endif
|
|
|
-+
|
|
|
-+define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS
|
|
|
-+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake CONFIG+=disable-desktop)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5VIRTUALKEYBOARD_BUILD_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so $(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts
|
|
|
-+ cp -dpfrv $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick/
|
|
|
-+
|
|
|
-+endef
|
|
|
-+
|
|
|
-+$(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5wayland/Config.in b/package/qt5/qt5wayland/Config.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..dbb67b7
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5wayland/Config.in
|
|
|
-@@ -0,0 +1,14 @@
|
|
|
-+config BR2_PACKAGE_QT5WAYLAND
|
|
|
-+ bool "qt5wayland"
|
|
|
-+ select BR2_PACKAGE_QT5BASE
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE
|
|
|
-+ select BR2_PACKAGE_QT5JSBACKEND
|
|
|
-+ depends on BR2_PACKAGE_WAYLAND
|
|
|
-+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-+ help
|
|
|
-+ Qt is a cross-platform application and UI framework for
|
|
|
-+ developers using C++.
|
|
|
-+
|
|
|
-+ This package corresponds to the qt5wayland module.
|
|
|
-+
|
|
|
-+ http://qt.io
|
|
|
-\ No newline at end of file
|
|
|
-diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk
|
|
|
-new file mode 100644
|
|
|
-index 0000000..436934d
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5wayland/qt5wayland.mk
|
|
|
-@@ -0,0 +1,35 @@
|
|
|
-+# (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake -r CONFIG+=wayland-compositor )
|
|
|
-+################################################################################
|
|
|
-+#
|
|
|
-+# qt5wayland
|
|
|
-+#
|
|
|
-+################################################################################
|
|
|
-+
|
|
|
-+QT5WAYLAND_VERSION = $(QT5_VERSION)
|
|
|
-+QT5WAYLAND_SITE = $(QT5_SITE)
|
|
|
-+QT5WAYLAND_SOURCE = qtwayland-opensource-src-$(QT5WAYLAND_VERSION).tar.xz
|
|
|
-+QT5WAYLAND_DEPENDENCIES = qt5base qt5declarative wayland
|
|
|
-+ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
|
|
|
-+QT5WAYLAND_DEPENDENCIES += libegl
|
|
|
-+endif
|
|
|
-+QT5WAYLAND_INSTALL_STAGING = YES
|
|
|
-+
|
|
|
-+define QT5WAYLAND_CONFIGURE_CMDS
|
|
|
-+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5WAYLAND_BUILD_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5WAYLAND_INSTALL_STAGING_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5WAYLAND_INSTALL_TARGET_CMDS
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/lib/libQt5WaylandClient.so* $(TARGET_DIR)/usr/lib
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/wayland-*-client $(TARGET_DIR)/usr/lib/qt/plugins
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/platforms/libqwayland-*.so $(TARGET_DIR)/usr/lib/qt/plugins/platforms
|
|
|
-+endef
|
|
|
-+
|
|
|
-+$(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash
|
|
|
-index 0f9eaae..c4fc230 100644
|
|
|
---- a/package/qt5/qt5webchannel/qt5webchannel.hash
|
|
|
-+++ b/package/qt5/qt5webchannel/qt5webchannel.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebchannel-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 700efdef5f51bdb77093f4db212afe275ad35a710ea08ba0e9e9cbc8f09f1a52 qtwebchannel-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 3ab4cd177cc742ee5015f2b7f943c16ce13380b840f824436b5005485b749816 qtwebchannel-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch b/package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..f3d5bda
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch
|
|
|
-@@ -0,0 +1,14 @@
|
|
|
-+--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp 2016-05-26 15:53:47.000000000 +0200
|
|
|
-++++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp 2016-11-19 00:19:49.894527354 +0100
|
|
|
-+@@ -39,6 +39,11 @@
|
|
|
-+
|
|
|
-+ #include <sys/mman.h>
|
|
|
-+
|
|
|
-++#if OS(LINUX) && defined(MADV_FREE)
|
|
|
-++// glibc 2.24 issues in qtwebengine
|
|
|
-++#undef MADV_FREE
|
|
|
-++#endif
|
|
|
-++
|
|
|
-+ #ifndef MADV_FREE
|
|
|
-+ #define MADV_FREE MADV_DONTNEED
|
|
|
-+ #endif
|
|
|
-diff --git a/package/qt5/qt5webengine/001-delegate_frame_node_fence_sync.patch b/package/qt5/qt5webengine/001-delegate_frame_node_fence_sync.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..c7bdcff
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/001-delegate_frame_node_fence_sync.patch
|
|
|
-@@ -0,0 +1,20 @@
|
|
|
-+--- a/src/core/delegated_frame_node.cpp 2016-03-03 17:02:28.000000000 +0100
|
|
|
-++++ b/src/core/delegated_frame_node.cpp 2016-04-09 21:01:03.502390661 +0200
|
|
|
-+@@ -194,7 +194,7 @@
|
|
|
-+ case gfx::TransferableFence::NoSync:
|
|
|
-+ break;
|
|
|
-+ case gfx::TransferableFence::EglSync:
|
|
|
-+-#ifdef EGL_KHR_reusable_sync
|
|
|
-++#ifdef EGL_KHR_fence_sync
|
|
|
-+ {
|
|
|
-+ static bool resolved = false;
|
|
|
-+ static PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR = 0;
|
|
|
-+@@ -235,7 +235,7 @@
|
|
|
-+ case gfx::TransferableFence::NoSync:
|
|
|
-+ break;
|
|
|
-+ case gfx::TransferableFence::EglSync:
|
|
|
-+-#ifdef EGL_KHR_reusable_sync
|
|
|
-++#ifdef EGL_KHR_fence_sync
|
|
|
-+ {
|
|
|
-+ static bool resolved = false;
|
|
|
-+ static PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR = 0;
|
|
|
-diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b630a85
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/Config.in
|
|
|
-@@ -0,0 +1,17 @@
|
|
|
-+config BR2_PACKAGE_QT5WEBENGINE
|
|
|
-+ bool "qt5webengine"
|
|
|
-+ select BR2_PACKAGE_QT5BASE
|
|
|
-+ select BR2_PACKAGE_QT5BASE_GUI
|
|
|
-+# select BR2_PACKAGE_QT5BASE_FONTCONFIG
|
|
|
-+ select BR2_PACKAGE_QT5BASE_DBUS
|
|
|
-+ select BR2_PACKAGE_QT5BASE_ICU
|
|
|
-+ select BR2_PACKAGE_QT5WEBCHANNEL
|
|
|
-+ select BR2_PACKAGE_OPENSSL
|
|
|
-+ select BR2_PACKAGE_LIBCAP
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE
|
|
|
-+ select BR2_PACKAGE_QT5DECLARATIVE_QUICK
|
|
|
-+ help
|
|
|
-+ Qt is a cross-platform application and UI framework for
|
|
|
-+ developers using C++.
|
|
|
-+
|
|
|
-+ This package corresponds to the qt5webengine module.
|
|
|
-diff --git a/package/qt5/qt5webengine/patches_save/001-allow-arm-compiler.patch b/package/qt5/qt5webengine/patches_save/001-allow-arm-compiler.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..bb8aa69
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/patches_save/001-allow-arm-compiler.patch
|
|
|
-@@ -0,0 +1,26 @@
|
|
|
-+diff '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*ninja*' -Naur qt5_a/src/3rdparty/chromium/build/common.gypi qt5webengine-5.5.1/src/3rdparty/chromium/build/common.gypi
|
|
|
-+--- qt5_a/src/3rdparty/chromium/build/common.gypi 2015-10-13 06:36:43.000000000 +0200
|
|
|
-++++ qt5webengine-5.5.1/src/3rdparty/chromium/build/common.gypi 2016-02-09 16:37:54.729166157 +0100
|
|
|
-+@@ -2294,7 +2294,7 @@
|
|
|
-+ }],
|
|
|
-+ ],
|
|
|
-+ # Change the default to hard once the armhf transition is complete.
|
|
|
-+- 'arm_float_abi%': 'softfp',
|
|
|
-++ 'arm_float_abi%': 'hard',
|
|
|
-+ 'arm_thumb%': 1,
|
|
|
-+ }],
|
|
|
-+
|
|
|
-+--- qt5webengine-5.5.1/tools/qmake/mkspecs/features/functions.prf 2015-10-13 06:36:55.000000000 +0200
|
|
|
-++++ qt5_we_b/tools/qmake/mkspecs/features/functions.prf 2016-02-09 21:44:30.829783885 +0100
|
|
|
-+@@ -12,9 +12,9 @@
|
|
|
-+ return(false)
|
|
|
-+ }
|
|
|
-+
|
|
|
-+- linux-g++*:!isGCCVersionSupported(): return(false)
|
|
|
-++ linux*g++*:!isGCCVersionSupported(): return(false)
|
|
|
-+ !isPythonVersionSupported(): return(false)
|
|
|
-+- linux-g++*|win32-msvc2013|macx-clang: return(true)
|
|
|
-++ linux*g++*|win32-msvc2013|macx-clang: return(true)
|
|
|
-+ boot2qt: return(true)
|
|
|
-+
|
|
|
-+ skipBuild("Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.")
|
|
|
-diff --git a/package/qt5/qt5webengine/patches_save/002-buildroot-python-bz2.patch b/package/qt5/qt5webengine/patches_save/002-buildroot-python-bz2.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b780f49
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/patches_save/002-buildroot-python-bz2.patch
|
|
|
-@@ -0,0 +1,11 @@
|
|
|
-+--- a/src/3rdparty/chromium/v8/tools/js2c.py 2016-03-03 15:48:36.000000000 +0100
|
|
|
-++++ b/src/3rdparty/chromium/v8/tools/js2c.py 2016-04-28 15:56:42.219174252 +0200
|
|
|
-+@@ -34,7 +34,7 @@
|
|
|
-+ import os, re, sys, string
|
|
|
-+ import optparse
|
|
|
-+ import jsmin
|
|
|
-+-import bz2
|
|
|
-++##import bz2
|
|
|
-+ import textwrap
|
|
|
-+
|
|
|
-+
|
|
|
-diff --git a/package/qt5/qt5webengine/patches_save/002-move_icu_to_56_1.patch b/package/qt5/qt5webengine/patches_save/002-move_icu_to_56_1.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..a917a9c
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/patches_save/002-move_icu_to_56_1.patch
|
|
|
-@@ -0,0 +1,43 @@
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/third_party/icu/source/common/unicode/uvernum.h 2015-10-13 06:36:26.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/third_party/icu/source/common/unicode/uvernum.h 2016-02-11 12:06:28.304679220 +0100
|
|
|
-+@@ -57,7 +57,7 @@
|
|
|
-+ * This value will change in the subsequent releases of ICU
|
|
|
-+ * @stable ICU 2.4
|
|
|
-+ */
|
|
|
-+-#define U_ICU_VERSION_MAJOR_NUM 52
|
|
|
-++#define U_ICU_VERSION_MAJOR_NUM 56
|
|
|
-+
|
|
|
-+ /** The current ICU minor version as an integer.
|
|
|
-+ * This value will change in the subsequent releases of ICU
|
|
|
-+@@ -83,7 +83,7 @@
|
|
|
-+ * This value will change in the subsequent releases of ICU
|
|
|
-+ * @stable ICU 2.6
|
|
|
-+ */
|
|
|
-+-#define U_ICU_VERSION_SUFFIX _52
|
|
|
-++#define U_ICU_VERSION_SUFFIX _56
|
|
|
-+
|
|
|
-+ /**
|
|
|
-+ * \def U_DEF2_ICU_ENTRY_POINT_RENAME
|
|
|
-+@@ -118,19 +118,19 @@
|
|
|
-+ * This value will change in the subsequent releases of ICU
|
|
|
-+ * @stable ICU 2.4
|
|
|
-+ */
|
|
|
-+-#define U_ICU_VERSION "52.1"
|
|
|
-++#define U_ICU_VERSION "56.1"
|
|
|
-+
|
|
|
-+ /** The current ICU library major/minor version as a string without dots, for library name suffixes.
|
|
|
-+ * This value will change in the subsequent releases of ICU
|
|
|
-+ * @stable ICU 2.6
|
|
|
-+ */
|
|
|
-+-#define U_ICU_VERSION_SHORT "52"
|
|
|
-++#define U_ICU_VERSION_SHORT "56"
|
|
|
-+
|
|
|
-+ #ifndef U_HIDE_INTERNAL_API
|
|
|
-+ /** Data version in ICU4C.
|
|
|
-+ * @internal ICU 4.4 Internal Use Only
|
|
|
-+ **/
|
|
|
-+-#define U_ICU_DATA_VERSION "52.1"
|
|
|
-++#define U_ICU_DATA_VERSION "56.1"
|
|
|
-+ #endif /* U_HIDE_INTERNAL_API */
|
|
|
-+
|
|
|
-+ /*===========================================================================
|
|
|
-diff --git a/package/qt5/qt5webengine/patches_save/003-egl_khr_reusable_sync.patch b/package/qt5/qt5webengine/patches_save/003-egl_khr_reusable_sync.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..8d633d9
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/patches_save/003-egl_khr_reusable_sync.patch
|
|
|
-@@ -0,0 +1,14 @@
|
|
|
-+--- qt5webengine-5.5.1/src/core/delegated_frame_node.cpp 2015-10-13 06:36:54.000000000 +0200
|
|
|
-++++ qt5_b/src/core/delegated_frame_node.cpp 2016-02-11 13:27:42.142167151 +0100
|
|
|
-+@@ -76,6 +76,11 @@
|
|
|
-+ #include <EGL/eglext.h>
|
|
|
-+ #endif
|
|
|
-+
|
|
|
-++#ifdef EGL_KHR_reusable_sync
|
|
|
-++#undef EGL_KHR_reusable_sync
|
|
|
-++#endif
|
|
|
-++
|
|
|
-++
|
|
|
-+ namespace QtWebEngineCore {
|
|
|
-+
|
|
|
-+ class MailboxTexture : public QSGTexture, protected QOpenGLFunctions {
|
|
|
-diff --git a/package/qt5/qt5webengine/patches_save/004-allow-egl-surface.patch b/package/qt5/qt5webengine/patches_save/004-allow-egl-surface.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..604cb88
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/patches_save/004-allow-egl-surface.patch
|
|
|
-@@ -0,0 +1,166 @@
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/base/files/file_proxy_unittest.cc qt5_b/src/3rdparty/chromium/base/files/file_proxy_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/base/files/file_proxy_unittest.cc 2015-10-13 06:36:48.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/base/files/file_proxy_unittest.cc 2016-02-12 17:58:52.694043375 +0100
|
|
|
-+@@ -142,7 +142,7 @@
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ TEST_F(FileProxyTest, CreateOrOpen_AbandonedCreate) {
|
|
|
-+- bool prev = ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ bool prev = ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ {
|
|
|
-+ FileProxy proxy(file_task_runner());
|
|
|
-+ proxy.CreateOrOpen(
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_main_loop.cc qt5_b/src/3rdparty/chromium/content/browser/browser_main_loop.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_main_loop.cc 2015-10-13 06:36:47.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/content/browser/browser_main_loop.cc 2016-02-12 17:53:52.118534482 +0100
|
|
|
-+@@ -745,7 +745,7 @@
|
|
|
-+
|
|
|
-+ // If the UI thread blocks, the whole UI is unresponsive.
|
|
|
-+ // Do not allow disk IO from the UI thread.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ base::ThreadRestrictions::DisallowWaiting();
|
|
|
-+ return result_code_;
|
|
|
-+ }
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc qt5_b/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc 2015-10-13 06:36:46.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc 2016-02-12 17:52:40.717701092 +0100
|
|
|
-+@@ -39,7 +39,7 @@
|
|
|
-+ // Though this thread is called the "IO" thread, it actually just routes
|
|
|
-+ // messages around; it shouldn't be allowed to perform any blocking disk
|
|
|
-+ // I/O.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ base::ThreadRestrictions::DisallowWaiting();
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc qt5_b/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc 2015-10-13 06:36:51.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc 2016-02-12 17:57:04.280777854 +0100
|
|
|
-+@@ -39,7 +39,7 @@
|
|
|
-+
|
|
|
-+ virtual void SetUp() {
|
|
|
-+ // Make the main thread not to allow IO.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+
|
|
|
-+ // Start the D-Bus thread.
|
|
|
-+ dbus_thread_.reset(new base::Thread("D-Bus Thread"));
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/object_manager_unittest.cc qt5_b/src/3rdparty/chromium/dbus/object_manager_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/object_manager_unittest.cc 2015-10-13 06:36:51.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/dbus/object_manager_unittest.cc 2016-02-12 17:54:33.659019384 +0100
|
|
|
-+@@ -61,7 +61,7 @@
|
|
|
-+
|
|
|
-+ virtual void SetUp() {
|
|
|
-+ // Make the main thread not to allow IO.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+
|
|
|
-+ // Start the D-Bus thread.
|
|
|
-+ dbus_thread_.reset(new base::Thread("D-Bus Thread"));
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/property_unittest.cc qt5_b/src/3rdparty/chromium/dbus/property_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/property_unittest.cc 2015-10-13 06:36:51.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/dbus/property_unittest.cc 2016-02-12 17:57:54.025358691 +0100
|
|
|
-+@@ -51,7 +51,7 @@
|
|
|
-+
|
|
|
-+ virtual void SetUp() {
|
|
|
-+ // Make the main thread not to allow IO.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+
|
|
|
-+ // Start the D-Bus thread.
|
|
|
-+ dbus_thread_.reset(new base::Thread("D-Bus Thread"));
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc qt5_b/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc 2015-10-13 06:36:51.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc 2016-02-12 17:55:57.519998395 +0100
|
|
|
-+@@ -32,7 +32,7 @@
|
|
|
-+ base::StatisticsRecorder::Initialize();
|
|
|
-+
|
|
|
-+ // Make the main thread not to allow IO.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+
|
|
|
-+ // Start the D-Bus thread.
|
|
|
-+ dbus_thread_.reset(new base::Thread("D-Bus Thread"));
|
|
|
-+@@ -161,7 +161,7 @@
|
|
|
-+ void SafeServiceStop(TestService* test_service) {
|
|
|
-+ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ test_service->Stop();
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ base::MessageLoop message_loop_;
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/net/base/file_stream_unittest.cc qt5_b/src/3rdparty/chromium/net/base/file_stream_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/net/base/file_stream_unittest.cc 2015-10-13 06:36:53.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/net/base/file_stream_unittest.cc 2016-02-12 18:00:05.358889970 +0100
|
|
|
-+@@ -758,7 +758,7 @@
|
|
|
-+ scoped_refptr<base::SequencedWorkerPool> pool(
|
|
|
-+ new base::SequencedWorkerPool(1, "StreamTest"));
|
|
|
-+
|
|
|
-+- bool prev = base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ bool prev = base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ scoped_ptr<FileStream> stream(new FileStream(pool.get()));
|
|
|
-+ int flags = base::File::FLAG_OPEN | base::File::FLAG_WRITE |
|
|
|
-+ base::File::FLAG_ASYNC;
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc qt5_b/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc 2015-10-13 06:36:53.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc 2016-02-12 18:00:56.359484236 +0100
|
|
|
-+@@ -67,7 +67,7 @@
|
|
|
-+ void NetworkConfigWatcherMacThread::Init() {
|
|
|
-+ // Disallow IO to make sure NetworkConfigWatcherMacThread's helper thread does
|
|
|
-+ // not perform blocking operations.
|
|
|
-+- base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+
|
|
|
-+ delegate_->Init();
|
|
|
-+
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc qt5_b/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc
|
|
|
-+--- qt5webengine-5.5.1/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc 2015-10-13 06:36:53.000000000 +0200
|
|
|
-++++ qt5_b/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc 2016-02-12 18:02:24.724514006 +0100
|
|
|
-+@@ -463,7 +463,7 @@
|
|
|
-+ base::Thread::Options(base::MessageLoop::TYPE_IO, 0)));
|
|
|
-+ net::TestCompletionCallback cb;
|
|
|
-+
|
|
|
-+- bool prev = base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ bool prev = base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ scoped_ptr<disk_cache::BackendImpl> cache(new disk_cache::BackendImpl(
|
|
|
-+ cache_path_, cache_thread.task_runner(), NULL));
|
|
|
-+ int rv = cache->Init(cb.callback());
|
|
|
-+@@ -1972,7 +1972,7 @@
|
|
|
-+ base::Thread::Options(base::MessageLoop::TYPE_IO, 0)));
|
|
|
-+
|
|
|
-+ net::TestCompletionCallback cb;
|
|
|
-+- bool prev = base::ThreadRestrictions::SetIOAllowed(false);
|
|
|
-++ bool prev = base::ThreadRestrictions::SetIOAllowed(true);
|
|
|
-+ base::FilePath path(cache_path_);
|
|
|
-+ int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE,
|
|
|
-+ net::CACHE_BACKEND_BLOCKFILE,
|
|
|
-+diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/core/gl_surface_qt.cpp qt5_b/src/core/gl_surface_qt.cpp
|
|
|
-+--- qt5webengine-5.5.1/src/core/gl_surface_qt.cpp 2015-10-13 06:36:54.000000000 +0200
|
|
|
-++++ qt5_b/src/core/gl_surface_qt.cpp 2016-02-14 11:38:43.661776602 +0100
|
|
|
-+@@ -513,15 +513,20 @@
|
|
|
-+ return NULL;
|
|
|
-+ #endif
|
|
|
-+ }
|
|
|
-+- case kGLImplementationEGLGLES2: {
|
|
|
-++ case kGLImplementationEGLGLES2: {
|
|
|
-+ scoped_refptr<GLSurface> surface = new GLSurfaceQtEGL(size);
|
|
|
-+ if (!surface->Initialize())
|
|
|
-+ return NULL;
|
|
|
-+ return surface;
|
|
|
-+ }
|
|
|
-+- default:
|
|
|
-+- Q_UNREACHABLE();
|
|
|
-+- return NULL;
|
|
|
-++ default: {
|
|
|
-++ scoped_refptr<GLSurface> surface = new GLSurfaceQtEGL(size);
|
|
|
-++ if (!surface->Initialize())
|
|
|
-++ return NULL;
|
|
|
-++ return surface;
|
|
|
-++ }
|
|
|
-++// Q_UNREACHABLE();
|
|
|
-++// return NULL;
|
|
|
-+ }
|
|
|
-+ }
|
|
|
-+
|
|
|
-diff --git a/package/qt5/qt5webengine/qt5webengine.__hash b/package/qt5/qt5webengine/qt5webengine.__hash
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b5ecd88
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/qt5webengine.__hash
|
|
|
-@@ -0,0 +1,2 @@
|
|
|
-+# Hash from: http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/qtwebengine-opensource-src-5.5.1.tar.xz.mirrorlist
|
|
|
-+sha256 7c4d328dd305991aaf0c3450615f4a8e5d80152194bee6f5925bd8d3477e2b90 qtwebengine-opensource-src-5.5.1.tar.xz
|
|
|
-diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
|
|
|
-new file mode 100644
|
|
|
-index 0000000..98c67a6
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webengine/qt5webengine.mk
|
|
|
-@@ -0,0 +1,70 @@
|
|
|
-+################################################################################
|
|
|
-+#
|
|
|
-+# qt5webengine
|
|
|
-+#
|
|
|
-+################################################################################
|
|
|
-+
|
|
|
-+QT5WEBENGINE_VERSION = $(QT5_VERSION)
|
|
|
-+QT5WEBENGINE_SITE = $(QT5_SITE)
|
|
|
-+QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz
|
|
|
-+QT5WEBENGINE_DEPENDENCIES = qt5base qt5declarative qt5webchannel libcap openssl host-gperf
|
|
|
-+QT5WEBENGINE_INSTALL_STAGING = YES
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
|
|
|
-+QT5WEBENGINE_LICENSE = GPLv3 with exception or LGPLv3 or GPLv2
|
|
|
-+# Source files contain references to LGPL_EXCEPTION.txt but it is not included
|
|
|
-+# in the archive.
|
|
|
-+QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.GPLv3 LICENSE.LGPL3
|
|
|
-+else
|
|
|
-+QT5WEBENGINE_LICENSE = Commercial license
|
|
|
-+QT5WEBENGINE_REDISTRIBUTE = NO
|
|
|
-+endif
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
|
|
|
-+QT5WEBENGINE_DEPENDENCIES += qt5declarative
|
|
|
-+endif
|
|
|
-+
|
|
|
-+define QT5WEBENGINE_CONFIGURE_CMDS
|
|
|
-+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake WEBENGINE_CONFIG+=use_proprietary_codecs)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5WEBENGINE_BUILD_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+define QT5WEBENGINE_INSTALL_STAGING_CMDS
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
|
|
|
-+ $(QT5_LA_PRL_FILES_FIXUP)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
|
|
|
-+define QT5WEBENGINE_INSTALL_TARGET_QMLS
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/
|
|
|
-+endef
|
|
|
-+endif
|
|
|
-+
|
|
|
-+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
|
|
|
-+define QT5WEBENGINE_INSTALL_TARGET_EXAMPLES
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/webengine* $(TARGET_DIR)/usr/lib/qt/examples/
|
|
|
-+endef
|
|
|
-+endif
|
|
|
-+
|
|
|
-+ifneq ($(BR2_STATIC_LIBS),y)
|
|
|
-+define QT5WEBENGINE_INSTALL_TARGET_LIBS
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebEngine*.so.* $(TARGET_DIR)/usr/lib
|
|
|
-+ #cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qtwebengine $(TARGET_DIR)/usr/lib/qt/plugins/
|
|
|
-+ cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/
|
|
|
-+ mkdir -p $(TARGET_DIR)/usr/translations/qtwebengine_locales
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales/* $(TARGET_DIR)/usr/translations/qtwebengine_locales/
|
|
|
-+ mkdir -p $(TARGET_DIR)/usr/resources
|
|
|
-+ cp -dpfr $(STAGING_DIR)/usr/resources/* $(TARGET_DIR)/usr/resources/
|
|
|
-+endef
|
|
|
-+endif
|
|
|
-+
|
|
|
-+define QT5WEBENGINE_INSTALL_TARGET_CMDS
|
|
|
-+ $(QT5WEBENGINE_INSTALL_TARGET_LIBS)
|
|
|
-+ $(QT5WEBENGINE_INSTALL_TARGET_QMLS)
|
|
|
-+ $(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES)
|
|
|
-+endef
|
|
|
-+
|
|
|
-+$(eval $(generic-package))
|
|
|
-diff --git a/package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch b/package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch
|
|
|
-new file mode 100644
|
|
|
-index 0000000..b7b6791
|
|
|
---- /dev/null
|
|
|
-+++ b/package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch
|
|
|
-@@ -0,0 +1,34 @@
|
|
|
-+From 5dd4bb67cfce812fd7686e43616e2069f354a7df Mon Sep 17 00:00:00 2001
|
|
|
-+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
-+Date: Mon, 22 Feb 2016 10:57:32 +0100
|
|
|
-+Subject: [PATCH] Fix linking with libpthread
|
|
|
-+
|
|
|
-+WebKit use libpthread directly but is depending on other qt modules
|
|
|
-+causing it to be linked against, which might break unless -lpthread
|
|
|
-+is last. Instead just add it explicitly after the static libraries.
|
|
|
-+
|
|
|
-+Upstream-Status: Backport from 5.7 branch
|
|
|
-+
|
|
|
-+Change-Id: I2b95cff2c96373f8dce6f95052c4fccbe1982b33
|
|
|
-+Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
-+Signed-off-by: Jonathan Liu <net147@gmail.com>
|
|
|
-+Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
|
|
|
-+---
|
|
|
-+ Tools/qmake/mkspecs/features/default_post.prf | 1 +
|
|
|
-+ 1 file changed, 1 insertion(+)
|
|
|
-+
|
|
|
-+diff --git a/Tools/qmake/mkspecs/features/default_post.prf b/Tools/qmake/mkspecs/features/default_post.prf
|
|
|
-+index 67276b7..39bb3f7 100644
|
|
|
-+--- a/Tools/qmake/mkspecs/features/default_post.prf
|
|
|
-++++ b/Tools/qmake/mkspecs/features/default_post.prf
|
|
|
-+@@ -201,6 +201,7 @@ needToLink() {
|
|
|
-+ linkAgainstLibrary($$library, $$eval(WEBKIT.$${library_identifier}.root_source_dir))
|
|
|
-+ LIBS += $$eval(WEBKIT.$${library_identifier}.dependent_libs)
|
|
|
-+ }
|
|
|
-++ posix:!darwin: LIBS += -lpthread
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ creating_module {
|
|
|
-+--
|
|
|
-+2.7.1
|
|
|
-+
|
|
|
-diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in
|
|
|
-index 48aaf94..7add5f9 100644
|
|
|
---- a/package/qt5/qt5webkit/Config.in
|
|
|
-+++ b/package/qt5/qt5webkit/Config.in
|
|
|
-@@ -23,6 +23,6 @@ config BR2_PACKAGE_QT5WEBKIT
|
|
|
- http://qt.io
|
|
|
-
|
|
|
- comment "qt5webkit needs a toolchain w/ dynamic library"
|
|
|
-- depends on BR2_STATIC_LIBS
|
|
|
-- depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-- depends on !BR2_BINFMT_FLAT
|
|
|
-+ depends on BR2_STATIC_LIBS
|
|
|
-+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
|
|
|
-+ depends on !BR2_BINFMT_FLAT
|
|
|
-diff --git a/package/qt5/qt5webkit/qt5webkit.hash b/package/qt5/qt5webkit/qt5webkit.hash
|
|
|
-index 96b8bdd..47e93c0 100644
|
|
|
---- a/package/qt5/qt5webkit/qt5webkit.hash
|
|
|
-+++ b/package/qt5/qt5webkit/qt5webkit.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# locally computed
|
|
|
--sha256 bdd659573e7e75cd4ad57b7160a7353d98d21a6fef06e4fb9e114a5b1f1e9dab qt5webkit-b35917bcb44d7f200af0f4ac68a126fa0aa8d93d.tar.gz
|
|
|
-+sha256 1c79843ef32313312290d4fe0b87256a9129dc44d62b01789a692981edf4d8ab qt5webkit-d2ff5a085572b1ee24dcb42ae107063f3142d14e.tar.gz
|
|
|
-diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk
|
|
|
-index 378cdf7..629e40a 100644
|
|
|
---- a/package/qt5/qt5webkit/qt5webkit.mk
|
|
|
-+++ b/package/qt5/qt5webkit/qt5webkit.mk
|
|
|
-@@ -4,13 +4,11 @@
|
|
|
- #
|
|
|
- ################################################################################
|
|
|
-
|
|
|
--QT5WEBKIT_VERSION = b35917bcb44d7f200af0f4ac68a126fa0aa8d93d
|
|
|
-+QT5WEBKIT_VERSION = d2ff5a085572b1ee24dcb42ae107063f3142d14e
|
|
|
- # Using GitHub since it supports downloading tarballs from random commits.
|
|
|
- # The http://code.qt.io/cgit/qt/qtwebkit.git/ repo doesn't allow to do so.
|
|
|
- QT5WEBKIT_SITE = $(call github,qtproject,qtwebkit,$(QT5WEBKIT_VERSION))
|
|
|
--QT5WEBKIT_DEPENDENCIES = \
|
|
|
-- host-bison host-flex host-gperf host-python host-ruby \
|
|
|
-- qt5base sqlite
|
|
|
-+QT5WEBKIT_DEPENDENCIES = qt5base sqlite host-ruby host-gperf host-bison host-flex
|
|
|
- QT5WEBKIT_INSTALL_STAGING = YES
|
|
|
-
|
|
|
- QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1
|
|
|
-@@ -33,16 +31,6 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
|
|
|
- QT5WEBKIT_DEPENDENCIES += qt5declarative
|
|
|
- endif
|
|
|
-
|
|
|
--# QtWebkit's build system uses python, but only supports python2. We work
|
|
|
--# around this by forcing python2 early in the PATH, via a python->python2
|
|
|
--# symlink.
|
|
|
--QT5WEBKIT_ENV = PATH=$(@D)/host-bin:$(BR_PATH)
|
|
|
--define QT5WEBKIT_PYTHON2_SYMLINK
|
|
|
-- mkdir -p $(@D)/host-bin
|
|
|
-- ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/host-bin/python
|
|
|
--endef
|
|
|
--QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK
|
|
|
--
|
|
|
- # Since we get the source from git, generated header files are not included.
|
|
|
- # qmake detects that header file generation (using the syncqt tool) must be
|
|
|
- # done based on the existence of a .git directory (cfr. the git_build config
|
|
|
-@@ -51,15 +39,15 @@ QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK
|
|
|
- # create an empty .git directory.
|
|
|
- define QT5WEBKIT_CONFIGURE_CMDS
|
|
|
- mkdir -p $(@D)/.git
|
|
|
-- (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake)
|
|
|
-+ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
|
|
|
- endef
|
|
|
-
|
|
|
- define QT5WEBKIT_BUILD_CMDS
|
|
|
-- $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(MAKE) -C $(@D)
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
|
|
- endef
|
|
|
-
|
|
|
- define QT5WEBKIT_INSTALL_STAGING_CMDS
|
|
|
-- $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(MAKE) -C $(@D) install
|
|
|
-+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
|
|
|
- $(QT5_LA_PRL_FILES_FIXUP)
|
|
|
- endef
|
|
|
-
|
|
|
-diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash
|
|
|
-index 3443476..067bd6f 100644
|
|
|
---- a/package/qt5/qt5websockets/qt5websockets.hash
|
|
|
-+++ b/package/qt5/qt5websockets/qt5websockets.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtwebsockets-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 3cd9d4bbff8e6be5e252f00fc9ecb9ac2d8a193020288c7d1e82583daeb5ba35 qtwebsockets-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 741be11a907f82807a786e6a53ae7316c0b3864491b692e8719c381e0f158b43 qtwebsockets-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash
|
|
|
-index fa4e97f..f0f369d 100644
|
|
|
---- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash
|
|
|
-+++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash
|
|
|
-@@ -1,2 +1 @@
|
|
|
--# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtxmlpatterns-opensource-src-5.6.2.tar.xz.mirrorlist
|
|
|
--sha256 7c6df3eebf188d8ce6822a22cebbc63da5ac27047cf1bd7236d5b988244782cc qtxmlpatterns-opensource-src-5.6.2.tar.xz
|
|
|
-+sha256 38882a4ea5d711be07d10695759359045f7f9d64727a65e1d5e6515d55c7e20b qtxmlpatterns-opensource-src-5.7.0.tar.xz
|
|
|
-diff --git a/package/ti-gfx/S80ti-gfx b/package/ti-gfx/S80ti-gfx
|
|
|
-index fc5999a..a204815 100644
|
|
|
---- a/package/ti-gfx/S80ti-gfx
|
|
|
-+++ b/package/ti-gfx/S80ti-gfx
|
|
|
-@@ -3,6 +3,8 @@
|
|
|
- start() {
|
|
|
- echo "ti-gfx: starting pvr driver"
|
|
|
-
|
|
|
-+ TMPFB=`mktemp`
|
|
|
-+ cat /dev/fb0 > $TMPFB
|
|
|
- BITSPERPIXEL="$(fbset | awk '/geom/ {print $6}')"
|
|
|
- YRES="$(fbset | awk '/geom/ {print $3}')"
|
|
|
- # Set RGBA ordering to something the drivers like
|
|
|
-@@ -22,6 +24,14 @@ start() {
|
|
|
- mknod /dev/pvrsrvkm c $pvr_maj 0
|
|
|
- chmod 600 /dev/pvrsrvkm
|
|
|
-
|
|
|
-+ #-- cursor off
|
|
|
-+ echo -e "\033[?25l\033[9;0]\033[14;0]" > /dev/tty0
|
|
|
-+ # -- disa screensaver
|
|
|
-+ echo 0 > /sys/class/graphics/fb0/blank
|
|
|
-+
|
|
|
-+ cat $TMPFB > /dev/fb0
|
|
|
-+ rm $TMPFB
|
|
|
-+
|
|
|
- if ! /usr/bin/pvrsrvctl --start --no-module; then
|
|
|
- echo "ti-gfx: unable to start server"
|
|
|
- fi
|
|
|
-diff --git a/package/ti-gfx/powervr.ini b/package/ti-gfx/powervr.ini
|
|
|
-index 8d2d853..cceecdd 100644
|
|
|
---- a/package/ti-gfx/powervr.ini
|
|
|
-+++ b/package/ti-gfx/powervr.ini
|
|
|
-@@ -1,2 +1,4 @@
|
|
|
- [default]
|
|
|
--WindowSystem=libpvrPVR2D_FRONTWSEGL.so
|
|
|
-+#WindowSystem=libpvrPVR2D_FRONTWSEGL.so
|
|
|
-+WindowSystem=libpvrPVR2D_FLIPWSEGL.so
|
|
|
-+ParamBufferSize=16777216
|
|
|
-diff --git a/package/ti-sgx-km/ti-sgx-km.mk b/package/ti-sgx-km/ti-sgx-km.mk
|
|
|
-index 48c8a6d..05e1cca 100644
|
|
|
---- a/package/ti-sgx-km/ti-sgx-km.mk
|
|
|
-+++ b/package/ti-sgx-km/ti-sgx-km.mk
|
|
|
-@@ -5,7 +5,8 @@
|
|
|
- ################################################################################
|
|
|
-
|
|
|
- # This correpsonds to SDK 02.00.00.00
|
|
|
--TI_SGX_KM_VERSION = 2b7523d07a13ab704a24a7664749551f4a13ed32
|
|
|
-+#TI_SGX_KM_VERSION = 2b7523d07a13ab704a24a7664749551f4a13ed32
|
|
|
-+TI_SGX_KM_VERSION = remotes/origin/ti-img-sgx/1.14.3699939/k4.4
|
|
|
- TI_SGX_KM_SITE = git://git.ti.com/graphics/omap5-sgx-ddk-linux.git
|
|
|
- TI_SGX_KM_LICENSE = GPLv2
|
|
|
- TI_SGX_KM_LICENSE_FILES = GPL-COPYING
|
|
|
-@@ -18,7 +19,7 @@ TI_SGX_KM_MAKE_OPTS = \
|
|
|
- PVR_NULLDRM=1
|
|
|
-
|
|
|
- ifeq ($(BR2_PACKAGE_TI_SGX_AM335X),y)
|
|
|
--TI_SGX_KM_PLATFORM_NAME = omap335x
|
|
|
-+TI_SGX_KM_PLATFORM_NAME = omap
|
|
|
- else ifeq ($(BR2_PACKAGE_TI_SGX_AM437X),y)
|
|
|
- TI_SGX_KM_PLATFORM_NAME = omap437x
|
|
|
- else ifeq ($(BR2_PACKAGE_TI_SGX_AM4430),y)
|
|
|
-@@ -38,6 +39,8 @@ define TI_SGX_KM_INSTALL_TARGET_CMDS
|
|
|
- $(TARGET_MAKE_ENV) $(MAKE) $(TI_SGX_KM_MAKE_OPTS) \
|
|
|
- DISCIMAGE=$(TARGET_DIR) \
|
|
|
- kbuild_install -C $(@D)/$(TI_SGX_KM_SUBDIR)
|
|
|
-+ echo ">>>>>>>>>"
|
|
|
-+ sleep 10
|
|
|
- endef
|
|
|
-
|
|
|
- $(eval $(generic-package))
|
|
|
-diff --git a/package/ti-sgx-um/ti-sgx-um.mk b/package/ti-sgx-um/ti-sgx-um.mk
|
|
|
-index d5c50a0..76a7663 100644
|
|
|
---- a/package/ti-sgx-um/ti-sgx-um.mk
|
|
|
-+++ b/package/ti-sgx-um/ti-sgx-um.mk
|
|
|
-@@ -6,6 +6,7 @@
|
|
|
-
|
|
|
- # This correpsonds to SDK 02.00.00.00
|
|
|
- TI_SGX_UM_VERSION = e15f1543bab4de9e8927a2c4934addf3fd16ffcb
|
|
|
-+#TI_SGX_UM_VERSION = glsdk_7.04.00.03
|
|
|
- TI_SGX_UM_SITE = git://git.ti.com/graphics/omap5-sgx-ddk-um-linux.git
|
|
|
- TI_SGX_UM_LICENSE = TI TSPA License
|
|
|
- TI_SGX_UM_LICENSE_FILES = OMAP5-Linux-Graphics-DDK-UM-Manifest.doc
|
|
|
-diff --git a/package/tinc/tinc.hash b/package/tinc/tinc.hash
|
|
|
-index 0cccbbf..ca0ff41 100644
|
|
|
---- a/package/tinc/tinc.hash
|
|
|
-+++ b/package/tinc/tinc.hash
|
|
|
-@@ -1,2 +1,2 @@
|
|
|
- # Locally calculated after checking pgp signature
|
|
|
--sha256 0b502699360f09ce2128a39cf02abca07bfc699fc02ce829b3a90cf5e1e8b344 tinc-1.0.28.tar.gz
|
|
|
-+sha256 d3cbc82e6e07975a2ccc0b369d07e30fc3324e71e240dca8781ce9a4f629519b tinc-1.0.31.tar.gz
|
|
|
-diff --git a/package/tinc/tinc.mk b/package/tinc/tinc.mk
|
|
|
-index fb15c34..3cc05fa 100644
|
|
|
---- a/package/tinc/tinc.mk
|
|
|
-+++ b/package/tinc/tinc.mk
|
|
|
-@@ -4,7 +4,7 @@
|
|
|
- #
|
|
|
- ################################################################################
|
|
|
-
|
|
|
--TINC_VERSION = 1.0.28
|
|
|
-+TINC_VERSION = 1.0.31
|
|
|
- TINC_SITE = http://www.tinc-vpn.org/packages
|
|
|
- TINC_DEPENDENCIES = lzo openssl zlib
|
|
|
- TINC_LICENSE = GPLv2+ with OpenSSL exception
|
|
|
---
|
|
|
-2.7.4
|
|
|
-
|