package/flashrom: fix build on big-endian targets

flashrom 1.7.0 fails to build on big-endian targets because of an errant
compile guard. Import the pending upstream patch that fixes it.

Fixes: https://autobuild.buildroot.org/results/d75/d75f5a555b7ad1a99ffe46298bf6f527f3bafbc9

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Florian Larysch
2026-04-13 02:04:22 +02:00
committed by Julien Olivain
parent a7d76a7ab3
commit 24479bf29a

View File

@@ -0,0 +1,54 @@
From 13c19fccd7946c692e587e308c916a1090d3592d Mon Sep 17 00:00:00 2001
From: Florian Larysch <fl@n621.de>
Date: Mon, 13 Apr 2026 01:40:52 +0200
Subject: [PATCH] libflashrom: fix build on big-endian targets
Commit f74f02e2 ("Add guard for compare_region_with_dump()") added
little-endian-only compile guards to that function because it was only
used on little-endian systems and caused -Wunused-function to trip on
other targets.
When b0b975d0 ("libflashrom: Add new layout_compare() function with
test") introduced flashrom_layout_compare(), it included the new
function within those guards too, but this isn't necessary:
compare_region_with_dump() is not sensitive to endianess and adding that
new dependent actually made the original reason for adding the guard
obsolete.
However, now building on big-endian architectures fails because
cli_classic.c unconditionally refers to flashrom_layout_compare().
Resolve this by simply removing the guard.
Fixes: https://ticket.coreboot.org/issues/635
Change-Id: If3e6828e6445e0708e1174728f91053e48a097ba
Signed-off-by: Florian Larysch <fl@n621.de>
Upstream: https://review.coreboot.org/c/flashrom/+/92156
---
libflashrom.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/libflashrom.c b/libflashrom.c
index 159e3924..503386fa 100644
--- a/libflashrom.c
+++ b/libflashrom.c
@@ -462,7 +462,6 @@ bool flashrom_flag_get(const struct flashrom_flashctx *const flashctx, const enu
}
}
-#ifdef __FLASHROM_LITTLE_ENDIAN__
static int compare_region_with_dump(const struct romentry *const a, const struct romentry *const b)
{
if (a->region.start != b->region.start
@@ -508,7 +507,6 @@ int flashrom_layout_compare(const struct flashrom_layout *layout1,
return 0;
}
-#endif /* __FLASHROM_LITTLE_ENDIAN__ */
int flashrom_layout_read_from_ifd(struct flashrom_layout **const layout, struct flashctx *const flashctx,
const void *const dump, const size_t len)
--
2.53.0