mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-27 15:33:28 +08:00
077741623f
For release note since version 38, see [1]. This commit introduces changes in package patches: - 0001: Patch dropped. An similar change is included in this release. See [2]. - 0002: Patch no longer needed since the package build recipe sets CFLAGS without -Werror, and the package makefile sets -Werror only by default. See [3], included since version 38. - 0003: Rebased on version 39 and renamed to 0001. The patch is also flagged as "Upstream: Not applicable". - 0004: Patch dropped. Included in this release. See [4]. This commit also removes all patch entries in ".checkpackageignore" (since the remaining patch has its "Upstream:" tag). This version 39 also fixes few build failures. Those can be seen by running the command "utils/test-pkg -a -p efivar". The first group of build failures is: br-arm-basic [28/45]: FAILED br-i386-pentium4-full [31/45]: FAILED br-mips64-n64-full [33/45]: FAILED br-mips64r6-el-hf-glibc [34/45]: FAILED linaro-aarch64 [38/45]: FAILED linaro-arm [39/45]: FAILED Fixes: /buildroot/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: .data not found for insert collect2: error: ld returned 1 exit status efivar 38 was using linker scripts, which was not working in all cases. Those issues are fixed by the upstream commit [5] which removes the use of this linker script (included in this release). The "test-pkg -a -p efivar" also caught another kind of build failures: br-i386-pentium-mmx-musl [32/45]: FAILED Fixes: In file included from efivar.h:18, from efisec.h:24, from secdb-dump.c:7: list.h: In function 'list_sort': list.h:152:2: warning: implicit declaration of function 'qsort_r'; did you mean 'qsort'? [-Wimplicit-function-declaration] 152 | qsort_r(array, nmemb, sizeof(*array), cmp, state); | ^~~~~~~ | qsort Those failures were introduced in commitf24029b561
"package/efivar: bump to version 38". This is because efivar introduced a usage of the qsort_r() libc function, in upstream commit [6], first included in version 38. Musl libc added the qsort_r() function in upstream commit [7], included in version v1.2.3 (2022-04-07). So external toolchains including a Musl older than this version will fail. But given how old this issue is (musql 1.2.3 is included in Buildroot since 2022.05), this issue is ignored. uClibc-ng external toolchains are also not affected, since it added the qsort_r() function in commit [8] included since its first version v1.0.0 (2015-02-02). So there is no need to exclude external uclibc toolchains. [1] https://github.com/rhboot/efivar/releases/tag/39 [2]4f3da3dc35
[3]998f617cec
[4]cece3ffd5b
[5]cfd686de51
[6]62afa2aa58
[7] https://git.musl-libc.org/cgit/musl/commit/?id=b76f37fd5625d038141b52184956fb4b7838e9a5 [8]515d544331
Signed-off-by: Julien Olivain <ju.o@free.fr> [Peter: drop dependency on !external musl] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
52 lines
1.8 KiB
Diff
52 lines
1.8 KiB
Diff
From e1c3734bab27fd850b4ac6681d219ceaf0637616 Mon Sep 17 00:00:00 2001
|
|
From: Erico Nunes <nunes.erico@gmail.com>
|
|
Date: Mon, 3 Oct 2022 18:16:55 +0200
|
|
Subject: [PATCH] efivar: isolate makeguids host tool build
|
|
|
|
efivar build includes a 'makeguids' host tool which is normally built by
|
|
distributions during the package build step. This is unfortunately not
|
|
written with cross-compilation in mind, since it needs to build for the
|
|
host architecture, including the build of object files which it then
|
|
assumes can be linked into the target library.
|
|
To make the packaging process simpler for a cross-compilation system
|
|
like Buildroot, separate the 'makeguids' tool build to an explicit make
|
|
target and remove target build dependencies from it.
|
|
This way, Buildroot can build the tool separately in a host build step
|
|
and the target build step can then be straightforward.
|
|
|
|
Upstream: Not applicable (does not support cross compilation)
|
|
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
|
[Julien: rebased patch to version 39]
|
|
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
|
|
---
|
|
src/Makefile | 5 ++---
|
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/Makefile b/src/Makefile
|
|
index 6fc2a62..7fa63c6 100644
|
|
--- a/src/Makefile
|
|
+++ b/src/Makefile
|
|
@@ -70,7 +70,6 @@ makeguids : LDFLAGS=$(HOST_LDFLAGS)
|
|
makeguids : CCLDFLAGS=$(HOST_CCLDFLAGS)
|
|
makeguids : $(MAKEGUIDS_OBJECTS)
|
|
|
|
-$(MAKEGUIDS_OUTPUT) : makeguids
|
|
$(MAKEGUIDS_OUTPUT) : guids.txt
|
|
@set -e ; \
|
|
missing=no ; \
|
|
@@ -83,9 +82,9 @@ $(MAKEGUIDS_OUTPUT) : guids.txt
|
|
if [ "$${missing}" != "no" ]; then \
|
|
exit 1 ; \
|
|
fi
|
|
- ./makeguids guids.txt guid-symbols.c include/efivar/efivar-guids.h
|
|
+ makeguids guids.txt guid-symbols.c include/efivar/efivar-guids.h
|
|
|
|
-prep : makeguids $(GENERATED_SOURCES)
|
|
+prep : $(GENERATED_SOURCES)
|
|
|
|
$(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : include/efivar/efivar-guids.h
|
|
|
|
--
|
|
2.44.0
|
|
|