fix building coreboot images on i686 hosts

firstly, memtest86+ is currently not cross compiled and
relies on 64-bit headers (x86_64 only). a 32-bit distro
is unlikely to be able to build 64-bit binaries.

secondly: vboot throws a build error due to -Werror when
building on 32-bit hosts. we rely on vboot code to build
cbfstool, so turn off -Werror on vboot

that's all. 32-bit hosts are not recommended; it is assumed
that you are building on an x86_64 host. work will go into
the build system at a later date to make it more portable,
by cross compiling everything, but this should fix 32-bit
for now.

there are some x60/t60 users who still want to build roms,
so let's allow them that possibility.

Signed-off-by: Leah Rowe <leah@libreboot.org>
audit2-merge1
Leah Rowe 2024-05-21 23:32:18 +01:00 committed by Leah Rowe
parent 31d2c818eb
commit 995f052bb0
7 changed files with 159 additions and 26 deletions

View File

@ -0,0 +1,35 @@
From d94300a671688746f2fb3d77eefa631a3ed90306 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sun, 19 May 2024 23:35:52 +0100
Subject: [PATCH 1/1] don't treat warnings as errors
Signed-off-by: Leah Rowe <info@minifree.org>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 4cb265b2..4ba8b2da 100644
--- a/Makefile
+++ b/Makefile
@@ -114,7 +114,7 @@ endif
# Provide default CC and CFLAGS for firmware builds; if you have any -D flags,
# please add them after this point (e.g., -DVBOOT_DEBUG).
DEBUG_FLAGS := $(if $(filter-out 0,${DEBUG}),-g -Og,-g -Os)
-WERROR := -Werror
+WERROR := -Wno-error -w
FIRMWARE_FLAGS := -nostdinc -ffreestanding -fno-builtin -fno-stack-protector
COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
-Wundef -Wmissing-prototypes -Wno-trigraphs -Wredundant-decls -Wshadow \
@@ -128,7 +128,7 @@ COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
# returns: $(1) if compiler was successful, empty string otherwise
test_ccflag = $(shell \
printf "$(2)\nvoid _start(void) {}\n" | \
- $(CC) -nostdlib -Werror $(1) -xc -c - -o /dev/null \
+ $(CC) -nostdlib -Wno-error -w $(1) -xc -c - -o /dev/null \
>/dev/null 2>&1 && echo "$(1)")
COMMON_FLAGS += $(call test_ccflag,-Wimplicit-fallthrough)
--
2.39.2

View File

@ -1,26 +0,0 @@
From 68f99140dda455a4f4e9d73df6d7b0a504494e95 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sun, 19 May 2024 23:35:52 +0100
Subject: [PATCH 1/1] test patch
Signed-off-by: Leah Rowe <info@minifree.org>
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 4cb265b2..ef29489f 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+# test
+
# This Makefile normally builds in a 'build' subdir, but use
#
# make BUILD=<dir>
--
2.39.2

View File

@ -0,0 +1,35 @@
From 191089826bbfe710bf40e494d3e1014537e35a31 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 21 May 2024 23:19:08 +0100
Subject: [PATCH 1/1] don't treat warnings as errors
Signed-off-by: Leah Rowe <info@minifree.org>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 4cb265b2..4ba8b2da 100644
--- a/Makefile
+++ b/Makefile
@@ -114,7 +114,7 @@ endif
# Provide default CC and CFLAGS for firmware builds; if you have any -D flags,
# please add them after this point (e.g., -DVBOOT_DEBUG).
DEBUG_FLAGS := $(if $(filter-out 0,${DEBUG}),-g -Og,-g -Os)
-WERROR := -Werror
+WERROR := -Wno-error -w
FIRMWARE_FLAGS := -nostdinc -ffreestanding -fno-builtin -fno-stack-protector
COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
-Wundef -Wmissing-prototypes -Wno-trigraphs -Wredundant-decls -Wshadow \
@@ -128,7 +128,7 @@ COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
# returns: $(1) if compiler was successful, empty string otherwise
test_ccflag = $(shell \
printf "$(2)\nvoid _start(void) {}\n" | \
- $(CC) -nostdlib -Werror $(1) -xc -c - -o /dev/null \
+ $(CC) -nostdlib -Wno-error -w $(1) -xc -c - -o /dev/null \
>/dev/null 2>&1 && echo "$(1)")
COMMON_FLAGS += $(call test_ccflag,-Wimplicit-fallthrough)
--
2.39.2

View File

@ -0,0 +1,26 @@
From ba16c0fe8236bd511e879693527993ce8ce3668b Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 21 May 2024 23:19:38 +0100
Subject: [PATCH 1/1] don't treat warnings as errors
Signed-off-by: Leah Rowe <info@minifree.org>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 0539e8d7..5d8c240c 100644
--- a/Makefile
+++ b/Makefile
@@ -136,7 +136,7 @@ endif
#
# Flag ordering: arch, then -f, then -m, then -W
DEBUG_FLAGS := $(if ${DEBUG},-g -O0,-g -Os)
-WERROR := -Werror
+WERROR := -Wno-error -w
FIRMWARE_FLAGS := -nostdinc -ffreestanding -fno-builtin -fno-stack-protector
COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
-Wundef -Wmissing-prototypes -Wno-trigraphs -Wredundant-decls -Wshadow \
--
2.39.2

View File

@ -0,0 +1,26 @@
From 2c5c8d9a5c999a5eedd9f17acb0bd3924524657d Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 21 May 2024 23:21:14 +0100
Subject: [PATCH 1/1] don't treat warnings as errors
Signed-off-by: Leah Rowe <info@minifree.org>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 0539e8d7..5d8c240c 100644
--- a/Makefile
+++ b/Makefile
@@ -136,7 +136,7 @@ endif
#
# Flag ordering: arch, then -f, then -m, then -W
DEBUG_FLAGS := $(if ${DEBUG},-g -O0,-g -Os)
-WERROR := -Werror
+WERROR := -Wno-error -w
FIRMWARE_FLAGS := -nostdinc -ffreestanding -fno-builtin -fno-stack-protector
COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
-Wundef -Wmissing-prototypes -Wno-trigraphs -Wredundant-decls -Wshadow \
--
2.39.2

View File

@ -0,0 +1,35 @@
From 59c393f2a928770c2d397bc93d388543c2d94dab Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 21 May 2024 23:22:50 +0100
Subject: [PATCH 1/1] don't treat warnings as errors
Signed-off-by: Leah Rowe <info@minifree.org>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index a4390522..d2ec9aa3 100644
--- a/Makefile
+++ b/Makefile
@@ -125,7 +125,7 @@ endif
# Provide default CC and CFLAGS for firmware builds; if you have any -D flags,
# please add them after this point (e.g., -DVBOOT_DEBUG).
DEBUG_FLAGS := $(if $(filter-out 0,${DEBUG}),-g -Og,-g -Os)
-WERROR := -Werror
+WERROR := -Wno-error -w
FIRMWARE_FLAGS := -nostdinc -ffreestanding -fno-builtin -fno-stack-protector
COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
-Wundef -Wmissing-prototypes -Wno-trigraphs -Wredundant-decls -Wshadow \
@@ -162,7 +162,7 @@ CFLAGS += -std=gnu11
# returns: $(1) if compiler was successful, empty string otherwise
test_ccflag = $(shell \
printf "$(2)\nvoid _start(void) {}\n" | \
- $(CC) -nostdlib -Werror $(1) -xc -c - -o /dev/null \
+ $(CC) -nostdlib -Wno-error -w $(1) -xc -c - -o /dev/null \
>/dev/null 2>&1 && echo "$(1)")
COMMON_FLAGS += $(call test_ccflag,-Wimplicit-fallthrough)
--
2.39.2

View File

@ -171,6 +171,8 @@ configure_target()
[ -z "$tree" ] && $err "$board: tree not defined" [ -z "$tree" ] && $err "$board: tree not defined"
[ "${payload_memtest}" != "y" ] && payload_memtest="n" [ "${payload_memtest}" != "y" ] && payload_memtest="n"
[ "$(uname -m)" = "x86_64" ] || payload_memtest="n"
[ "${payload_grub_withseabios}" = "y" ] && payload_grub="y" [ "${payload_grub_withseabios}" = "y" ] && payload_grub="y"
[ "${payload_grub_withseabios}" = "y" ] && \ [ "${payload_grub_withseabios}" = "y" ] && \
eval "$(setvars "y" payload_seabios payload_seabios_withgrub)" eval "$(setvars "y" payload_seabios payload_seabios_withgrub)"