diff mbox series

[v2] vboot-utils: fix ARCH detection

Message ID 20171107101715.GA26991@latitude.localdomain
State Accepted
Headers show
Series [v2] vboot-utils: fix ARCH detection | expand

Commit Message

Alex Suykov Nov. 7, 2017, 10:17 a.m. UTC
The package includes some target-specific code that is irrelevant
in a host package but gets built anyway. The target for this code
must be one of the supported ChromeOS targets.

Supplied Makefile apparently relies on the environment to provide
a valid target, with a simple fallback to host arch. This breaks
the build if no value is provided and the host arch is not among
the supported ones.

Should fix
http://autobuild.buildroot.net/results/d118a83b6c4f7f910d0d44c279f36251d7ba29e8/
and similar failures.

Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
---
v2: Hard-coded ARCH=arm to avoid target restrictions in a host package.

Build tested for arm and x86_64 targets on x86_64 host.
I cannot test PPC host, except maybe in qemu which will take
some time to set up.

 package/vboot-utils/vboot-utils.mk | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Thomas Petazzoni Nov. 7, 2017, 10:40 a.m. UTC | #1
Hello,

On Tue, 7 Nov 2017 12:17:15 +0200, Alex Suykov wrote:
> The package includes some target-specific code that is irrelevant
> in a host package but gets built anyway. The target for this code
> must be one of the supported ChromeOS targets.
> 
> Supplied Makefile apparently relies on the environment to provide
> a valid target, with a simple fallback to host arch. This breaks
> the build if no value is provided and the host arch is not among
> the supported ones.
> 
> Should fix
> http://autobuild.buildroot.net/results/d118a83b6c4f7f910d0d44c279f36251d7ba29e8/
> and similar failures.
> 
> Signed-off-by: Alex Suykov <alex.suykov@gmail.com>

Thanks for this new version. However, you still didn't reply to me
about what happens when HOST_ARCH != ARCH. The vboot-utils Makefile
seems to have some logic to use Qemu in that case. Do you understand
what it does exactly with Qemu, and that we won't have a problem by
having HOST_ARCH != ARCH ?

Thanks!

Thomas
Alex Suykov Nov. 7, 2017, 11:19 a.m. UTC | #2
Tue, Nov 07, 2017 at 11:40:37AM +0100, Thomas Petazzoni wrote:

> Thanks for this new version. However, you still didn't reply to me
> about what happens when HOST_ARCH != ARCH. The vboot-utils Makefile
> seems to have some logic to use Qemu in that case. Do you understand
> what it does exactly with Qemu, and that we won't have a problem by
> having HOST_ARCH != ARCH ?

Qemu is only used to run cross-compiled tests. Buildroot package
neither builds nor runs tests, so it doesn't really matter whether
qemu gets configured there or not.
Thomas Petazzoni Nov. 7, 2017, 1:31 p.m. UTC | #3
Hello,

On Tue, 7 Nov 2017 13:19:38 +0200, Alex Suykov wrote:

> > Thanks for this new version. However, you still didn't reply to me
> > about what happens when HOST_ARCH != ARCH. The vboot-utils Makefile
> > seems to have some logic to use Qemu in that case. Do you understand
> > what it does exactly with Qemu, and that we won't have a problem by
> > having HOST_ARCH != ARCH ?  
> 
> Qemu is only used to run cross-compiled tests. Buildroot package
> neither builds nor runs tests, so it doesn't really matter whether
> qemu gets configured there or not.

OK, makes sense, thanks for the explanation. The patch is good to go!

Thanks!

Thomas
Thomas Petazzoni Nov. 11, 2017, 10:39 p.m. UTC | #4
Hello,

On Tue, 7 Nov 2017 12:17:15 +0200, Alex Suykov wrote:
> The package includes some target-specific code that is irrelevant
> in a host package but gets built anyway. The target for this code
> must be one of the supported ChromeOS targets.
> 
> Supplied Makefile apparently relies on the environment to provide
> a valid target, with a simple fallback to host arch. This breaks
> the build if no value is provided and the host arch is not among
> the supported ones.
> 
> Should fix
> http://autobuild.buildroot.net/results/d118a83b6c4f7f910d0d44c279f36251d7ba29e8/
> and similar failures.
> 
> Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
> ---
> v2: Hard-coded ARCH=arm to avoid target restrictions in a host package.

Applied to master, thanks.

Thomas
Peter Korsgaard Nov. 26, 2017, 9:28 p.m. UTC | #5
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Hello,
 > On Tue, 7 Nov 2017 12:17:15 +0200, Alex Suykov wrote:
 >> The package includes some target-specific code that is irrelevant
 >> in a host package but gets built anyway. The target for this code
 >> must be one of the supported ChromeOS targets.
 >> 
 >> Supplied Makefile apparently relies on the environment to provide
 >> a valid target, with a simple fallback to host arch. This breaks
 >> the build if no value is provided and the host arch is not among
 >> the supported ones.
 >> 
 >> Should fix
 >> http://autobuild.buildroot.net/results/d118a83b6c4f7f910d0d44c279f36251d7ba29e8/
 >> and similar failures.
 >> 
 >> Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
 >> ---
 >> v2: Hard-coded ARCH=arm to avoid target restrictions in a host package.

 > Applied to master, thanks.

Committed to 2017.02.x and 2017.08.x, thanks.
diff mbox series

Patch

diff --git a/package/vboot-utils/vboot-utils.mk b/package/vboot-utils/vboot-utils.mk
index a6a67ad317..3f63f458cc 100644
--- a/package/vboot-utils/vboot-utils.mk
+++ b/package/vboot-utils/vboot-utils.mk
@@ -21,12 +21,17 @@  HOST_VBOOT_UTILS_DEPENDENCIES = host-openssl host-util-linux host-pkgconf
 # media partitioning.
 #
 # make target for futility is "futil".
+#
+# The value of ARCH is only relevant for crossystem (a target tool) and
+# does not affect futil or cgpt in any way as long as it is one of the
+# supported targets.
 
 define HOST_VBOOT_UTILS_BUILD_CMDS
 	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
 		CC="$(HOSTCC)" \
 		CFLAGS="$(HOST_CFLAGS) -D_LARGEFILE64_SOURCE -D_GNU_SOURCE" \
 		LDFLAGS="$(HOST_LDFLAGS)" \
+		ARCH=arm \
 		futil cgpt
 endef