Build: Fix bug with glibc dt-utils (#275)

* Fix bug with glibc dt-utils

* Fix openvmtools

* Fix openvmtools p2
This commit is contained in:
Pascal Vizeli 2018-12-05 07:33:15 +01:00 committed by GitHub
parent 76fad70ebe
commit fd707ba270
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 391 additions and 271 deletions

View File

@ -1,228 +0,0 @@
From 3c8816cba476e4203a146e92e28a4f002012cbb1 Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Sun, 2 Dec 2018 14:57:30 +0000
Subject: [PATCH 1/1] Revert glibc 2.27-57
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---
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 <Martin.Jansa@gmail.com>
-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 <libc-diag.h> and use
- DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and
- DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized.
-
-
-Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
----
- 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 <math-narrow.h>
-+#include <libc-diag.h>
-+
-+/* 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 <soft-fp.h>
- #include <single.h>
- #include <double.h>
-@@ -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/<abi> and
-# /usr/lib64/<abi>/ 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

View File

@ -0,0 +1,100 @@
From 7e5094033df2efc88928071c6e7a2867c396ca68 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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 <thomas.petazzoni@bootlin.com>
---
...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 <ejo@pengutronix.de>
+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 <ejo@pengutronix.de>
+[Thomas: backport from upstream.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ 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 <linux/kernel.h>
+ #include <linux/list.h>
+ #include <linux/mtd/mtd-abi.h>
+-#include <linux/stat.h>
++#include <sys/stat.h>
+ #include <linux/fs.h>
+ #include <malloc.h>
+ #include <printk.h>
+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 <malloc.h>
+ #include <fs.h>
+ #include <fcntl.h>
+-#include <linux/stat.h>
++#include <sys/stat.h>
+ #include <errno.h>
+ #include <module.h>
+ #include <linux/err.h>
+--
+2.19.2
+
--
cgit v0.12

View File

@ -0,0 +1,87 @@
From 9a81400fdba5a0a82ff972f25b94ff94e7ed0e50 Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
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 <pvizeli@syshack.ch>
---
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 <kaszak@gmail.com>
-
---- 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

View File

@ -0,0 +1,75 @@
From 1c80e31872aec9f2ef7eca6a52aa89c0ea759d8f Mon Sep 17 00:00:00 2001
From: Enrico Joerns <ejo@pengutronix.de>
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 <ejo@pengutronix.de>
[Thomas: backport from upstream.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
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 <linux/kernel.h>
#include <linux/list.h>
#include <linux/mtd/mtd-abi.h>
-#include <linux/stat.h>
+#include <sys/stat.h>
#include <linux/fs.h>
#include <malloc.h>
#include <printk.h>
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 <malloc.h>
#include <fs.h>
#include <fcntl.h>
-#include <linux/stat.h>
+#include <sys/stat.h>
#include <errno.h>
#include <module.h>
#include <linux/err.h>
--
2.19.2

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,88 @@
From 4a06ceea33ecc220bbfe264d8f1e74de2f04e90d Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
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 <libc-diag.h> and use
DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and
DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
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 <math-narrow.h>
+#include <libc-diag.h>
+
+/* 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 <soft-fp.h>
#include <single.h>
#include <double.h>
@@ -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

View File

@ -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

View File

@ -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.

View File

@ -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/<abi> and
# /usr/lib64/<abi>/ 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) \

View File

@ -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 <kaszak@gmail.com>
--- 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
/*
*----------------------------------------------------------------------

View File

@ -1,2 +1,2 @@
# locally computed
sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz
sha256 c0ecd281d6113ca700b1ab0a10559db72e80d8fc03264d53ebfdc400578ab1b6 openvmtools-stable-10.3.5.tar.gz

View File

@ -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