diff --git a/buildroot-patches/0010-Revert-glibc-2.27-57.patch b/buildroot-patches/0010-Revert-glibc-2.27-57.patch deleted file mode 100644 index 478612aa7..000000000 --- a/buildroot-patches/0010-Revert-glibc-2.27-57.patch +++ /dev/null @@ -1,228 +0,0 @@ -From 3c8816cba476e4203a146e92e28a4f002012cbb1 Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Sun, 2 Dec 2018 14:57:30 +0000 -Subject: [PATCH 1/1] Revert glibc 2.27-57 - -Signed-off-by: Pascal Vizeli ---- - package/glibc/Config.in | 5 +- - package/glibc/arc-2018.03-release/glibc.hash | 7 -- - ...soft-fp-ignore-maybe-uninitialized-w.patch | 88 ------------------- - .../glibc.hash | 7 -- - package/glibc/glibc.hash | 10 ++- - package/glibc/glibc.mk | 25 ++---- - 6 files changed, 15 insertions(+), 127 deletions(-) - delete mode 100644 package/glibc/arc-2018.03-release/glibc.hash - delete mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch - delete mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash - -diff --git a/package/glibc/Config.in b/package/glibc/Config.in -index 7821251..57a2e83 100644 ---- a/package/glibc/Config.in -+++ b/package/glibc/Config.in -@@ -4,7 +4,6 @@ config BR2_PACKAGE_GLIBC - bool - default y - select BR2_PACKAGE_LINUX_HEADERS -- select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI -- help -- https://www.gnu.org/software/libc/ -+ select BR2_TOOLCHAIN_HAS_SSP -+ - endif -diff --git a/package/glibc/arc-2018.03-release/glibc.hash b/package/glibc/arc-2018.03-release/glibc.hash -deleted file mode 100644 -index f3b10d9..0000000 ---- a/package/glibc/arc-2018.03-release/glibc.hash -+++ /dev/null -@@ -1,7 +0,0 @@ --# Locally calculated (fetched from Github) --sha256 e08ab67b2db2d0f0e8f3311d23c54fb8f6d4c1ef6fa0b4047fd5da400e3ce9de glibc-arc-2018.03-release.tar.gz -- --# Hashes for license files --sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING --sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB --sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES -diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch -deleted file mode 100644 -index febcd36..0000000 ---- a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch -+++ /dev/null -@@ -1,88 +0,0 @@ --From 4a06ceea33ecc220bbfe264d8f1e74de2f04e90d Mon Sep 17 00:00:00 2001 --From: Martin Jansa --Date: Tue, 2 Oct 2018 15:38:43 +0000 --Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O -- [BZ #19444] -- --* with -O, -O1, -Os it fails with: -- --In file included from ../soft-fp/soft-fp.h:318, -- from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28: --../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv': --../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized] -- X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \ -- ^~ --../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here -- FP_DECL_D (R); -- ^ --../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2' -- _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT -- ^ --../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL' -- # define FP_DECL_D(X) _FP_DECL (2, X) -- ^~~~~~~~ --../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D' -- FP_DECL_D (R); -- ^~~~~~~~~ --../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized] -- : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \ -- ^~ --../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here -- FP_DECL_D (R); -- ^ --../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2' -- _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT -- ^ --../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL' -- # define FP_DECL_D(X) _FP_DECL (2, X) -- ^~~~~~~~ --../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D' -- FP_DECL_D (R); -- ^~~~~~~~~ -- --Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64 --with -O, -O1, -Os. --For AARCH64 it needs one more fix in locale for -Os. -- -- [BZ #19444] -- * sysdeps/ieee754/soft-fp/s_fdiv.c: Include and use -- DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and -- DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized. -- -- --Signed-off-by: Yegor Yefremov ----- -- sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++ -- 1 files changed, 12 insertions(+) -- --diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c --index 341339f5ed..7a15cbeee6 100644 ----- a/sysdeps/ieee754/soft-fp/s_fdiv.c --+++ b/sysdeps/ieee754/soft-fp/s_fdiv.c --@@ -25,6 +25,16 @@ -- #undef fdivl -- -- #include --+#include --+ --+/* R_f[01] are not set in cases where they are not used in packing, --+ but the compiler does not see that they are set in all cases where --+ they are used, resulting in warnings that they may be used --+ uninitialized. The location of the warning differs in different --+ versions of GCC, it may be where R is defined using a macro or it --+ may be where the macro is defined. This happens only with -O1. */ --+DIAG_PUSH_NEEDS_COMMENT; --+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); -- #include -- #include -- #include --@@ -53,4 +63,6 @@ __fdiv (double x, double y) -- CHECK_NARROW_DIV (ret, x, y); -- return ret; -- } --+DIAG_POP_NEEDS_COMMENT; --+ -- libm_alias_float_double (div) ---- --2.17.0 -- -diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash -deleted file mode 100644 -index 7429ab3..0000000 ---- a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash -+++ /dev/null -@@ -1,7 +0,0 @@ --# Locally calculated (fetched from Github) --sha256 b070f746f932cfce107bb9be2d59ded5b44b25ddafb480c9110c52b88cc2dec1 glibc-glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa.tar.gz -- --# Hashes for license files --sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING --sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB --sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES -diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash -index 5316f03..81dd5ad 100644 ---- a/package/glibc/glibc.hash -+++ b/package/glibc/glibc.hash -@@ -1,2 +1,8 @@ --# This hash file is not used; instead, update the --# hash files in the per-version sub-directories. -+# Locally calculated (fetched from Github) -+sha256 33189b3f10c88730a1f686fac794bc01f31765f12ffd75bc5e8a0f2a690d217a glibc-glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e.tar.gz -+# Locally calculated (fetched from Github) -+sha256 e08ab67b2db2d0f0e8f3311d23c54fb8f6d4c1ef6fa0b4047fd5da400e3ce9de glibc-arc-2018.03-release.tar.gz -+ -+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -+sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES -diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk -index 88178d7..d34b42b 100644 ---- a/package/glibc/glibc.mk -+++ b/package/glibc/glibc.mk -@@ -10,7 +10,7 @@ GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VE - else - # Generate version string using: - # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master --GLIBC_VERSION = glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa -+GLIBC_VERSION = glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e - # Upstream doesn't officially provide an https download link. - # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, - # sometimes the connection times out. So use an unofficial github mirror. -@@ -28,8 +28,7 @@ GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO - - # Before glibc is configured, we must have the first stage - # cross-compiler and the kernel headers --GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk \ -- $(BR2_MAKE_HOST_DEPENDENCY) -+GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk - - GLIBC_SUBDIR = build - -@@ -67,22 +66,6 @@ define GLIBC_ADD_MISSING_STUB_H - endef - endif - --GLIBC_CONF_ENV = \ -- ac_cv_path_BASH_SHELL=/bin/bash \ -- libc_cv_forced_unwind=yes \ -- libc_cv_ssp=no -- --# Override the default library locations of /lib64/ and --# /usr/lib64// for RISC-V. --ifeq ($(BR2_riscv),y) --GLIBC_CONF_ENV += libc_cv_slibdir=/lib64 libc_cv_rtlddir=/lib --endif -- --# glibc requires make >= 4.0 since 2.28 release. --# https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html --GLIBC_MAKE = $(BR2_MAKE) --GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)" -- - # Even though we use the autotools-package infrastructure, we have to - # override the default configure commands for several reasons: - # -@@ -101,8 +84,10 @@ define GLIBC_CONFIGURE_CMDS - $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \ - CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \ -- $(GLIBC_CONF_ENV) \ - $(SHELL) $(@D)/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) \ --- -2.17.1 - diff --git a/buildroot-patches/0010-dt-utils-fix-glibc.patch b/buildroot-patches/0010-dt-utils-fix-glibc.patch new file mode 100644 index 000000000..f4613edd0 --- /dev/null +++ b/buildroot-patches/0010-dt-utils-fix-glibc.patch @@ -0,0 +1,100 @@ +From 7e5094033df2efc88928071c6e7a2867c396ca68 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 3 Dec 2018 13:38:00 +0100 +Subject: package/dt-utils: fix build with glibc 2.28 + +This commit backports an upstream patch that fixes the build of +dt-utils with glibc 2.28+. + +Fixes bug #11536. + +Signed-off-by: Thomas Petazzoni +--- + ...pilation-for-glibc-version-2.27.9000-36.f.patch | 75 ++++++++++++++++++++++ + 1 file changed, 75 insertions(+) + create mode 100644 package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch + +diff --git a/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch b/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch +new file mode 100644 +index 0000000..8c2f585 +--- /dev/null ++++ b/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch +@@ -0,0 +1,75 @@ ++From 1c80e31872aec9f2ef7eca6a52aa89c0ea759d8f Mon Sep 17 00:00:00 2001 ++From: Enrico Joerns ++Date: Wed, 5 Sep 2018 12:28:28 +0200 ++Subject: [PATCH] src: fix compilation for glibc version 2.27.9000-36.fc29 and ++ newer ++ ++As recent glibc versions (>= 2.27.9000-36.fc29) also define 'struct ++statx' which is also defined in linux/stat.h, compilation fails with ++error: ++ ++| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: ++| [..]/usr/include/linux/stat.h:56:8: error: redefinition of 'struct statx_timestamp' ++| struct statx_timestamp { ++| ^~~~~~~~~~~~~~~ ++| In file included from [..]/usr/include/sys/stat.h:446, ++| from ../dt-utils-2018.05.0/src/dt/common.h:15, ++| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: ++| [..]/usr/include/bits/statx.h:25:8: note: originally defined here ++| struct statx_timestamp ++| ^~~~~~~~~~~~~~~ ++| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: ++| [..]/usr/include/linux/stat.h:99:8: error: redefinition of 'struct statx' ++| struct statx { ++| ^~~~~ ++| In file included from [..]/usr/include/sys/stat.h:446, ++| from ../dt-utils-2018.05.0/src/dt/common.h:15, ++| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: ++| [..]/usr/include/bits/statx.h:36:8: note: originally defined here ++| struct statx ++| ^~~~~ ++ ++The linux/stat.h originates from the code that was copied from barebox ++but is not explicitly required to be linux/stat.h instead of sys/stat.h ++and we do not actually use struct statx. ++ ++Thus it is safe to simply replace occurrences of linux/stat.h by ++sys/stat.h to fix compilation. ++ ++Signed-off-by: Enrico Joerns ++[Thomas: backport from upstream.] ++Signed-off-by: Thomas Petazzoni ++--- ++ src/barebox-state/backend_storage.c | 2 +- ++ src/crypto/digest.c | 2 +- ++ 2 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/src/barebox-state/backend_storage.c b/src/barebox-state/backend_storage.c ++index 53fe829..1052656 100644 ++--- a/src/barebox-state/backend_storage.c +++++ b/src/barebox-state/backend_storage.c ++@@ -19,7 +19,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include ++ #include ++ #include ++ #include ++diff --git a/src/crypto/digest.c b/src/crypto/digest.c ++index 7a8c3c0..8353412 100644 ++--- a/src/crypto/digest.c +++++ b/src/crypto/digest.c ++@@ -21,7 +21,7 @@ ++ #include ++ #include ++ #include ++-#include +++#include ++ #include ++ #include ++ #include ++-- ++2.19.2 ++ +-- +cgit v0.12 + diff --git a/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch b/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch new file mode 100644 index 000000000..1cac34de6 --- /dev/null +++ b/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch @@ -0,0 +1,87 @@ +From 9a81400fdba5a0a82ff972f25b94ff94e7ed0e50 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Mon, 3 Dec 2018 23:27:00 +0000 +Subject: [PATCH 1/1] openvmtools: bump version to 10.3.5 + +Signed-off-by: Pascal Vizeli +--- + package/openvmtools/0001-has_bsd_printf.patch | 26 ------------------- + ...rror.patch => 0001-no_cflags_werror.patch} | 0 + ...s.patch => 0002-dont-force-cppflags.patch} | 0 + ....patch => 0003-uclibc_secure_getenv.patch} | 0 + package/openvmtools/openvmtools.hash | 2 +- + package/openvmtools/openvmtools.mk | 2 +- + 6 files changed, 2 insertions(+), 28 deletions(-) + delete mode 100644 package/openvmtools/0001-has_bsd_printf.patch + rename package/openvmtools/{0002-no_cflags_werror.patch => 0001-no_cflags_werror.patch} (100%) + rename package/openvmtools/{0003-dont-force-cppflags.patch => 0002-dont-force-cppflags.patch} (100%) + rename package/openvmtools/{0004-uclibc_secure_getenv.patch => 0003-uclibc_secure_getenv.patch} (100%) + +diff --git a/package/openvmtools/0001-has_bsd_printf.patch b/package/openvmtools/0001-has_bsd_printf.patch +deleted file mode 100644 +index df23f00..0000000 +--- a/package/openvmtools/0001-has_bsd_printf.patch ++++ /dev/null +@@ -1,26 +0,0 @@ +-lib/misc/msgList.c: missing #ifdef +- +-This macro checks for BSD style printf(), which is not present +-when compiling for uClibc. The linked functions are unnecessary in +-this case, and they break compilation. +- +-Signed-off-by: Karoly Kasza +- +---- openvmtools-stable-9.10.0.orig/open-vm-tools/lib/misc/msgList.c 2015-06-17 10:01:00.000000000 +0200 +-+++ openvmtools-stable-9.10.0/open-vm-tools/lib/misc/msgList.c 2015-06-17 10:01:00.000000000 +0200 +-@@ -487,6 +487,7 @@ +- return messages->id; +- } +- +-+#ifdef HAS_BSD_PRINTF +- +- /* +- *---------------------------------------------------------------------- +-@@ -566,6 +567,7 @@ +- } +- } +- +-+#endif +- +- /* +- *---------------------------------------------------------------------- +diff --git a/package/openvmtools/0002-no_cflags_werror.patch b/package/openvmtools/0001-no_cflags_werror.patch +similarity index 100% +rename from package/openvmtools/0002-no_cflags_werror.patch +rename to package/openvmtools/0001-no_cflags_werror.patch +diff --git a/package/openvmtools/0003-dont-force-cppflags.patch b/package/openvmtools/0002-dont-force-cppflags.patch +similarity index 100% +rename from package/openvmtools/0003-dont-force-cppflags.patch +rename to package/openvmtools/0002-dont-force-cppflags.patch +diff --git a/package/openvmtools/0004-uclibc_secure_getenv.patch b/package/openvmtools/0003-uclibc_secure_getenv.patch +similarity index 100% +rename from package/openvmtools/0004-uclibc_secure_getenv.patch +rename to package/openvmtools/0003-uclibc_secure_getenv.patch +diff --git a/package/openvmtools/openvmtools.hash b/package/openvmtools/openvmtools.hash +index bf344e5..743b7dc 100644 +--- a/package/openvmtools/openvmtools.hash ++++ b/package/openvmtools/openvmtools.hash +@@ -1,2 +1,2 @@ + # locally computed +-sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz ++sha256 c0ecd281d6113ca700b1ab0a10559db72e80d8fc03264d53ebfdc400578ab1b6 openvmtools-stable-10.3.5.tar.gz +diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk +index 9501ef3..f331c0e 100644 +--- a/package/openvmtools/openvmtools.mk ++++ b/package/openvmtools/openvmtools.mk +@@ -4,7 +4,7 @@ + # + ################################################################################ + +-OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f ++OPENVMTOOLS_VERSION = stable-10.3.5 + OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) + OPENVMTOOLS_SUBDIR = open-vm-tools + OPENVMTOOLS_LICENSE = LGPL-2.1 +-- +2.17.1 + diff --git a/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch b/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch new file mode 100644 index 000000000..8c2f58594 --- /dev/null +++ b/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch @@ -0,0 +1,75 @@ +From 1c80e31872aec9f2ef7eca6a52aa89c0ea759d8f Mon Sep 17 00:00:00 2001 +From: Enrico Joerns +Date: Wed, 5 Sep 2018 12:28:28 +0200 +Subject: [PATCH] src: fix compilation for glibc version 2.27.9000-36.fc29 and + newer + +As recent glibc versions (>= 2.27.9000-36.fc29) also define 'struct +statx' which is also defined in linux/stat.h, compilation fails with +error: + +| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: +| [..]/usr/include/linux/stat.h:56:8: error: redefinition of 'struct statx_timestamp' +| struct statx_timestamp { +| ^~~~~~~~~~~~~~~ +| In file included from [..]/usr/include/sys/stat.h:446, +| from ../dt-utils-2018.05.0/src/dt/common.h:15, +| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: +| [..]/usr/include/bits/statx.h:25:8: note: originally defined here +| struct statx_timestamp +| ^~~~~~~~~~~~~~~ +| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: +| [..]/usr/include/linux/stat.h:99:8: error: redefinition of 'struct statx' +| struct statx { +| ^~~~~ +| In file included from [..]/usr/include/sys/stat.h:446, +| from ../dt-utils-2018.05.0/src/dt/common.h:15, +| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: +| [..]/usr/include/bits/statx.h:36:8: note: originally defined here +| struct statx +| ^~~~~ + +The linux/stat.h originates from the code that was copied from barebox +but is not explicitly required to be linux/stat.h instead of sys/stat.h +and we do not actually use struct statx. + +Thus it is safe to simply replace occurrences of linux/stat.h by +sys/stat.h to fix compilation. + +Signed-off-by: Enrico Joerns +[Thomas: backport from upstream.] +Signed-off-by: Thomas Petazzoni +--- + src/barebox-state/backend_storage.c | 2 +- + src/crypto/digest.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/barebox-state/backend_storage.c b/src/barebox-state/backend_storage.c +index 53fe829..1052656 100644 +--- a/src/barebox-state/backend_storage.c ++++ b/src/barebox-state/backend_storage.c +@@ -19,7 +19,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/src/crypto/digest.c b/src/crypto/digest.c +index 7a8c3c0..8353412 100644 +--- a/src/crypto/digest.c ++++ b/src/crypto/digest.c +@@ -21,7 +21,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +2.19.2 + diff --git a/buildroot/package/glibc/Config.in b/buildroot/package/glibc/Config.in index 57a2e833d..782125108 100644 --- a/buildroot/package/glibc/Config.in +++ b/buildroot/package/glibc/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_GLIBC bool default y select BR2_PACKAGE_LINUX_HEADERS - select BR2_TOOLCHAIN_HAS_SSP - + select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI + help + https://www.gnu.org/software/libc/ endif diff --git a/buildroot/package/glibc/arc-2018.03-release/glibc.hash b/buildroot/package/glibc/arc-2018.03-release/glibc.hash new file mode 100644 index 000000000..f3b10d910 --- /dev/null +++ b/buildroot/package/glibc/arc-2018.03-release/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 e08ab67b2db2d0f0e8f3311d23c54fb8f6d4c1ef6fa0b4047fd5da400e3ce9de glibc-arc-2018.03-release.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES diff --git a/buildroot/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/buildroot/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch new file mode 100644 index 000000000..febcd36f7 --- /dev/null +++ b/buildroot/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0001-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch @@ -0,0 +1,88 @@ +From 4a06ceea33ecc220bbfe264d8f1e74de2f04e90d Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 2 Oct 2018 15:38:43 +0000 +Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O + [BZ #19444] + +* with -O, -O1, -Os it fails with: + +In file included from ../soft-fp/soft-fp.h:318, + from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28: +../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv': +../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized] + X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \ + ^~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here + FP_DECL_D (R); + ^ +../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2' + _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT + ^ +../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL' + # define FP_DECL_D(X) _FP_DECL (2, X) + ^~~~~~~~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D' + FP_DECL_D (R); + ^~~~~~~~~ +../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized] + : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \ + ^~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here + FP_DECL_D (R); + ^ +../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2' + _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT + ^ +../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL' + # define FP_DECL_D(X) _FP_DECL (2, X) + ^~~~~~~~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D' + FP_DECL_D (R); + ^~~~~~~~~ + +Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64 +with -O, -O1, -Os. +For AARCH64 it needs one more fix in locale for -Os. + + [BZ #19444] + * sysdeps/ieee754/soft-fp/s_fdiv.c: Include and use + DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and + DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized. + + +Signed-off-by: Yegor Yefremov +--- + sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++ + 1 files changed, 12 insertions(+) + +diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c +index 341339f5ed..7a15cbeee6 100644 +--- a/sysdeps/ieee754/soft-fp/s_fdiv.c ++++ b/sysdeps/ieee754/soft-fp/s_fdiv.c +@@ -25,6 +25,16 @@ + #undef fdivl + + #include ++#include ++ ++/* R_f[01] are not set in cases where they are not used in packing, ++ but the compiler does not see that they are set in all cases where ++ they are used, resulting in warnings that they may be used ++ uninitialized. The location of the warning differs in different ++ versions of GCC, it may be where R is defined using a macro or it ++ may be where the macro is defined. This happens only with -O1. */ ++DIAG_PUSH_NEEDS_COMMENT; ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + #include + #include + #include +@@ -53,4 +63,6 @@ __fdiv (double x, double y) + CHECK_NARROW_DIV (ret, x, y); + return ret; + } ++DIAG_POP_NEEDS_COMMENT; ++ + libm_alias_float_double (div) +-- +2.17.0 + diff --git a/buildroot/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash b/buildroot/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash new file mode 100644 index 000000000..7429ab380 --- /dev/null +++ b/buildroot/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 b070f746f932cfce107bb9be2d59ded5b44b25ddafb480c9110c52b88cc2dec1 glibc-glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES diff --git a/buildroot/package/glibc/glibc.hash b/buildroot/package/glibc/glibc.hash index 81dd5ad5e..5316f03b1 100644 --- a/buildroot/package/glibc/glibc.hash +++ b/buildroot/package/glibc/glibc.hash @@ -1,8 +1,2 @@ -# Locally calculated (fetched from Github) -sha256 33189b3f10c88730a1f686fac794bc01f31765f12ffd75bc5e8a0f2a690d217a glibc-glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e.tar.gz -# Locally calculated (fetched from Github) -sha256 e08ab67b2db2d0f0e8f3311d23c54fb8f6d4c1ef6fa0b4047fd5da400e3ce9de glibc-arc-2018.03-release.tar.gz - -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/buildroot/package/glibc/glibc.mk b/buildroot/package/glibc/glibc.mk index d34b42b83..88178d7eb 100644 --- a/buildroot/package/glibc/glibc.mk +++ b/buildroot/package/glibc/glibc.mk @@ -10,7 +10,7 @@ GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VE else # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master -GLIBC_VERSION = glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e +GLIBC_VERSION = glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -28,7 +28,8 @@ GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO # Before glibc is configured, we must have the first stage # cross-compiler and the kernel headers -GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk +GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk \ + $(BR2_MAKE_HOST_DEPENDENCY) GLIBC_SUBDIR = build @@ -66,6 +67,22 @@ define GLIBC_ADD_MISSING_STUB_H endef endif +GLIBC_CONF_ENV = \ + ac_cv_path_BASH_SHELL=/bin/bash \ + libc_cv_forced_unwind=yes \ + libc_cv_ssp=no + +# Override the default library locations of /lib64/ and +# /usr/lib64// for RISC-V. +ifeq ($(BR2_riscv),y) +GLIBC_CONF_ENV += libc_cv_slibdir=/lib64 libc_cv_rtlddir=/lib +endif + +# glibc requires make >= 4.0 since 2.28 release. +# https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html +GLIBC_MAKE = $(BR2_MAKE) +GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)" + # Even though we use the autotools-package infrastructure, we have to # override the default configure commands for several reasons: # @@ -84,10 +101,8 @@ define GLIBC_CONFIGURE_CMDS $(TARGET_CONFIGURE_OPTS) \ CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \ CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \ + $(GLIBC_CONF_ENV) \ $(SHELL) $(@D)/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) \ diff --git a/buildroot/package/openvmtools/0001-has_bsd_printf.patch b/buildroot/package/openvmtools/0001-has_bsd_printf.patch deleted file mode 100644 index df23f0041..000000000 --- a/buildroot/package/openvmtools/0001-has_bsd_printf.patch +++ /dev/null @@ -1,26 +0,0 @@ -lib/misc/msgList.c: missing #ifdef - -This macro checks for BSD style printf(), which is not present -when compiling for uClibc. The linked functions are unnecessary in -this case, and they break compilation. - -Signed-off-by: Karoly Kasza - ---- openvmtools-stable-9.10.0.orig/open-vm-tools/lib/misc/msgList.c 2015-06-17 10:01:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/lib/misc/msgList.c 2015-06-17 10:01:00.000000000 +0200 -@@ -487,6 +487,7 @@ - return messages->id; - } - -+#ifdef HAS_BSD_PRINTF - - /* - *---------------------------------------------------------------------- -@@ -566,6 +567,7 @@ - } - } - -+#endif - - /* - *---------------------------------------------------------------------- diff --git a/buildroot/package/openvmtools/0002-no_cflags_werror.patch b/buildroot/package/openvmtools/0001-no_cflags_werror.patch similarity index 100% rename from buildroot/package/openvmtools/0002-no_cflags_werror.patch rename to buildroot/package/openvmtools/0001-no_cflags_werror.patch diff --git a/buildroot/package/openvmtools/0003-dont-force-cppflags.patch b/buildroot/package/openvmtools/0002-dont-force-cppflags.patch similarity index 100% rename from buildroot/package/openvmtools/0003-dont-force-cppflags.patch rename to buildroot/package/openvmtools/0002-dont-force-cppflags.patch diff --git a/buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch b/buildroot/package/openvmtools/0003-uclibc_secure_getenv.patch similarity index 100% rename from buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch rename to buildroot/package/openvmtools/0003-uclibc_secure_getenv.patch diff --git a/buildroot/package/openvmtools/openvmtools.hash b/buildroot/package/openvmtools/openvmtools.hash index bf344e506..743b7dcad 100644 --- a/buildroot/package/openvmtools/openvmtools.hash +++ b/buildroot/package/openvmtools/openvmtools.hash @@ -1,2 +1,2 @@ # locally computed -sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz +sha256 c0ecd281d6113ca700b1ab0a10559db72e80d8fc03264d53ebfdc400578ab1b6 openvmtools-stable-10.3.5.tar.gz diff --git a/buildroot/package/openvmtools/openvmtools.mk b/buildroot/package/openvmtools/openvmtools.mk index 9501ef336..f331c0ebc 100644 --- a/buildroot/package/openvmtools/openvmtools.mk +++ b/buildroot/package/openvmtools/openvmtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f +OPENVMTOOLS_VERSION = stable-10.3.5 OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) OPENVMTOOLS_SUBDIR = open-vm-tools OPENVMTOOLS_LICENSE = LGPL-2.1