lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z2HHwboni5wjNTY8@liuwe-devbox-debian-v2>
Date: Tue, 17 Dec 2024 18:49:37 +0000
From: Wei Liu <wei.liu@...nel.org>
To: Saurabh Singh Sengar <ssengar@...ux.microsoft.com>
Cc: Wei Liu <wei.liu@...nel.org>, kys@...rosoft.com, haiyangz@...rosoft.com,
	decui@...rosoft.com, linux-hyperv@...r.kernel.org,
	linux-kernel@...r.kernel.org, ssengar@...rosoft.com,
	avladu@...udbasesolutions.com
Subject: Re: [PATCH] tools: hv: Fix cross-compilation

On Thu, Dec 12, 2024 at 08:01:02PM -0800, Saurabh Singh Sengar wrote:
> On Thu, Dec 12, 2024 at 11:06:16PM +0000, Wei Liu wrote:
> > On Thu, Dec 12, 2024 at 12:28:34AM -0800, Saurabh Sengar wrote:
> > > Use the native ARCH only incase it is not set, this will allow
> > > the cross complilation where ARCH is explicitly set. Add few
> > > info prints as well to know what arch and toolchain is getting
> > > used to build it.
> > > 
> > > Additionally, simplify the check for ARCH so that fcopy daemon
> > > is build only for x86_64.
> > > 
> > > Fixes: 82b0945ce2c2 ("tools: hv: Add new fcopy application based on uio driver")
> > > Reported-by: Adrian Vladu <avladu@...udbasesolutions.com>
> > > Closes: https://lore.kernel.org/linux-hyperv/Z1Y9ZkAt9GPjQsGi@liuwe-devbox-debian-v2/
> > > Signed-off-by: Saurabh Sengar <ssengar@...ux.microsoft.com>
> > > ---
> > >  tools/hv/Makefile | 14 +++++++++++---
> > >  1 file changed, 11 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/tools/hv/Makefile b/tools/hv/Makefile
> > > index 34ffcec264ab..d29e6be6309b 100644
> > > --- a/tools/hv/Makefile
> > > +++ b/tools/hv/Makefile
> > > @@ -2,7 +2,7 @@
> > >  # Makefile for Hyper-V tools
> > >  include ../scripts/Makefile.include
> > >  
> > > -ARCH := $(shell uname -m 2>/dev/null)
> > > +ARCH ?= $(shell uname -m 2>/dev/null)
> > >  sbindir ?= /usr/sbin
> > >  libexecdir ?= /usr/libexec
> > >  sharedstatedir ?= /var/lib
> > > @@ -20,18 +20,26 @@ override CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
> > >  override CFLAGS += -Wno-address-of-packed-member
> > >  
> > >  ALL_TARGETS := hv_kvp_daemon hv_vss_daemon
> > > -ifneq ($(ARCH), aarch64)
> > > +ifeq ($(ARCH), x86_64)
> > 
> > Technically speaking, you can also build this for x86 (32bit). Whether
> > anybody uses it is another question.
> 
> My intention is to allow fcopy daemon build only for the arch it has
> been tested. IMO its better than restricting only for arm64/aarch64.
> 
> I tried with gcc '-m32' switch which I believe is for 32 bit x86 compilation
> I see problems with it on other (kvp daemon) daemons too. I think we never
> cared about 32 bit.
> 
> saurabh@...rabh:/work/linux-next/tools/hv$ make ARCH=x86 CFLAGS=-m32
> make[1]: Entering directory '/work/linux-next/tools/hv'
>   CC      hv_kvp_daemon.o
> hv_kvp_daemon.c:25:10: fatal error: sys/poll.h: No such file or directory
>    25 | #include <sys/poll.h>
>       |          ^~~~~~~~~~~~
> compilation terminated.
> make[1]: *** [/work/linux-next/tools/build/Makefile.build:106: hv_kvp_daemon.o] Error 1
> make[1]: Leaving directory '/work/linux-next/tools/hv'
> make: *** [Makefile:37: hv_kvp_daemon-in.o] Error 2
> 
> 
> I don't have any strong opinion here, if you want I can allow x86 compilation
> for fcopy daemon as well.
> 
> Please let me know what is your preference.

We can leave the code as-is. If and when someone wants to build this for
32-bit x86, they can fix the code.

I think the number of people who want to build this for 32-bit x86 is
diminishing by the day -- it there was a large group in the first place.

Thanks,
Wei.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ