From: Nicolas Schier <nicolas@fjasle.eu>
To: Daniel Gomez <da.gomez@samsung.com>
Cc: "Masahiro Yamada" <masahiroy@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Lucas De Marchi" <lucas.demarchi@intel.com>,
"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Daniel Vetter" <daniel@ffwll.ch>,
"William Hubbs" <w.d.hubbs@gmail.com>,
"Chris Brannon" <chris@the-brannons.com>,
"Kirk Reiser" <kirk@reisers.ca>,
"Samuel Thibault" <samuel.thibault@ens-lyon.org>,
"Paul Moore" <paul@paul-moore.com>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnacek" <omosnace@redhat.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will@kernel.org>, "Marc Zyngier" <maz@kernel.org>,
"Oliver Upton" <oliver.upton@linux.dev>,
"James Morse" <james.morse@arm.com>,
"Suzuki K Poulose" <suzuki.poulose@arm.com>,
"Zenghui Yu" <yuzenghui@huawei.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Jiri Slaby" <jirislaby@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Bill Wendling" <morbo@google.com>,
"Justin Stitt" <justinstitt@google.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-kbuild@vger.kernel.org" <linux-kbuild@vger.kernel.org>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"speakup@linux-speakup.org" <speakup@linux-speakup.org>,
"selinux@vger.kernel.org" <selinux@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.linux.dev" <kvmarm@lists.linux.dev>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"llvm@lists.linux.dev" <llvm@lists.linux.dev>,
"Finn Behrens" <me@kloenk.dev>,
"Daniel Gomez (Samsung)" <d+samsung@kruces.com>,
"gost.dev@samsung.com" <gost.dev@samsung.com>
Subject: Re: [PATCH 06/12] selinux/genheaders: include bitsperlong and posix_types headers
Date: Thu, 8 Aug 2024 13:12:56 +0200 [thread overview]
Message-ID: <ZrSoOM9z4VnqhOf2@fjasle.eu> (raw)
In-Reply-To: <sbj3c3tlafewy2n4pylbnpb4gwylpnyxovdykfy3dhk2wqmpry@ekhhe3mgqnd6>
[-- Attachment #1: Type: text/plain, Size: 6195 bytes --]
Am Wed, Aug 07, 2024 at 09:41:00PM +0000 schrieb Daniel Gomez:
> Date: Wed, 7 Aug 2024 21:41:00 +0000
> From: Daniel Gomez <da.gomez@samsung.com>
> To: Nicolas Schier <nicolas@fjasle.eu>
> CC: Masahiro Yamada <masahiroy@kernel.org>, Nathan Chancellor
> <nathan@kernel.org>, Lucas De Marchi <lucas.demarchi@intel.com>, Thomas
> Hellström <thomas.hellstrom@linux.intel.com>, Rodrigo Vivi
> <rodrigo.vivi@intel.com>, Maarten Lankhorst
> <maarten.lankhorst@linux.intel.com>, Maxime Ripard <mripard@kernel.org>,
> Thomas Zimmermann <tzimmermann@suse.de>, David Airlie <airlied@gmail.com>,
> Daniel Vetter <daniel@ffwll.ch>, William Hubbs <w.d.hubbs@gmail.com>,
> Chris Brannon <chris@the-brannons.com>, Kirk Reiser <kirk@reisers.ca>,
> Samuel Thibault <samuel.thibault@ens-lyon.org>, Paul Moore
> <paul@paul-moore.com>, Stephen Smalley <stephen.smalley.work@gmail.com>,
> Ondrej Mosnacek <omosnace@redhat.com>, Catalin Marinas
> <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Marc Zyngier
> <maz@kernel.org>, Oliver Upton <oliver.upton@linux.dev>, James Morse
> <james.morse@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, Zenghui
> Yu <yuzenghui@huawei.com>, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org>, Jiri Slaby <jirislaby@kernel.org>, Nick
> Desaulniers <ndesaulniers@google.com>, Bill Wendling <morbo@google.com>,
> Justin Stitt <justinstitt@google.com>, "linux-kernel@vger.kernel.org"
> <linux-kernel@vger.kernel.org>, "linux-kbuild@vger.kernel.org"
> <linux-kbuild@vger.kernel.org>, "intel-xe@lists.freedesktop.org"
> <intel-xe@lists.freedesktop.org>, "dri-devel@lists.freedesktop.org"
> <dri-devel@lists.freedesktop.org>, "speakup@linux-speakup.org"
> <speakup@linux-speakup.org>, "selinux@vger.kernel.org"
> <selinux@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org"
> <linux-arm-kernel@lists.infradead.org>, "kvmarm@lists.linux.dev"
> <kvmarm@lists.linux.dev>, "linux-serial@vger.kernel.org"
> <linux-serial@vger.kernel.org>, "llvm@lists.linux.dev"
> <llvm@lists.linux.dev>, Finn Behrens <me@kloenk.dev>, "Daniel Gomez
> (Samsung)" <d+samsung@kruces.com>, "gost.dev@samsung.com"
> <gost.dev@samsung.com>
> Subject: Re: [PATCH 06/12] selinux/genheaders: include bitsperlong and
> posix_types headers
> Message-ID: <sbj3c3tlafewy2n4pylbnpb4gwylpnyxovdykfy3dhk2wqmpry@ekhhe3mgqnd6>
>
> On Wed, Aug 07, 2024 at 05:38:28PM GMT, Nicolas Schier wrote:
> > On Wed, Aug 07, 2024 at 01:09:20AM +0200, Daniel Gomez via B4 Relay wrote:
> > > From: Daniel Gomez <da.gomez@samsung.com>
> > >
> > > The genheaders requires the bitsperlong.h and posix_types.h headers.
> > > To ensure these headers are found during compilation on macOS hosts,
> > > add usr/include to HOST_EXTRACFLAGS in the genheaders Makefile. This
> > > adjustment allows the compiler to locate all necessary headers when they
> > > are not available by default on macOS.
> > >
> > > Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
> > > ---
> > > scripts/selinux/genheaders/Makefile | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/scripts/selinux/genheaders/Makefile b/scripts/selinux/genheaders/Makefile
> > > index 1faf7f07e8db..017149c90f8e 100644
> > > --- a/scripts/selinux/genheaders/Makefile
> > > +++ b/scripts/selinux/genheaders/Makefile
> > > @@ -2,4 +2,5 @@
> > > hostprogs-always-y += genheaders
> > > HOST_EXTRACFLAGS += \
> > > -I$(srctree)/include/uapi -I$(srctree)/include \
> > > - -I$(srctree)/security/selinux/include
> > > + -I$(srctree)/security/selinux/include \
> > > + -I$(srctree)/usr/include
> >
> > 'make headers' composes the UAPI header tree in $(objtree)/usr/include.
> > So, if you build out-of-source, -I$(srctree)/usr/include will not match.
> > Just remove the '$(srctree)/' prefix as '$(objtree)/' is always '.'.
>
> The 'headers' target also deploys installs the headers in arch/$(SRCARCH)/
> include/uapi, so I've updated selinux/genheaders/Makefile to the following:
>
> diff --git a/scripts/selinux/genheaders/Makefile b/scripts/selinux/genheaders/Makefile
> index 1faf7f07e8db..ae1f195b6f67 100644
> --- a/scripts/selinux/genheaders/Makefile
> +++ b/scripts/selinux/genheaders/Makefile
> @@ -2,4 +2,6 @@
> hostprogs-always-y += genheaders
> HOST_EXTRACFLAGS += \
> -I$(srctree)/include/uapi -I$(srctree)/include \
> - -I$(srctree)/security/selinux/include
> + -I$(srctree)/security/selinux/include \
> + -I$(objtree)/arch/$(SRCARCH)/include/generated/uapi \
> + -I$(objtree)/arch/$(SRCARCH)/include/uapi
SRCARCH is not derived from the host but from $(ARCH) (cp. top-level
Makefile), thus you must not use arch/$(SRCARCH)/include/* for building
host progs as this breaks cross-building (e.g. consider build Linux for
32bit m68k on a arm64 host).
>
> The include path -I$(objtree)/arch/$(SRCARCH)/include/generated/uapi
> enables locating the asm/types.h.
>
> The include path -I$(objtree)/arch/$(SRCARCH)/include/uapi enables
> locating the asm/bitsperlong.h and asm/posix_types.h.
>
> >
> > But I am suspecting that this break cross-building.
>
> I’ve tested this change on macOS with ARCH=arm64, as well as on Debian with
> ARCH=arm64 and ARCH=x86_64. Is it enough to just confirm that cross-building
> still works after this change?
No, it isn't. asm/bitsperlong.h is probably similar (enough) for current
64-bit systems, but 32-bit platforms will have different versions.
Anyway, we must not use target arch/platform-specific header files for
host progs. If we do, it will break.
You want to use arm64 specific header files for building your arm64 host
progs, as MacOS does not provide these (thus, it's a missing build
dependency). As this is not common (yet), such a build hack should be limited
to MacOS/Darwin only to not accidentally break other platforms. (Do you also
have MacOS/amd64 in mind?)
As written elsewhere, another approach could be to create and maintain a Linux
kernel dev kit for MacOS, that delivers (fetches, downloads, generates) all
missing header files.
Kind regards,
Nicolas
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-08-08 11:13 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 23:09 [PATCH 00/12] Enable build system on macOS hosts Daniel Gomez via B4 Relay
2024-08-06 23:09 ` [PATCH 01/12] scripts: subarch.include: fix SUBARCH on MacOS hosts Daniel Gomez via B4 Relay
2024-08-07 15:07 ` Nicolas Schier
2024-08-23 16:12 ` Masahiro Yamada
2024-08-23 22:14 ` Daniel Gomez (Samsung)
2024-08-24 19:34 ` Daniel Gomez (Samsung)
2024-08-06 23:09 ` [PATCH 02/12] kbuild: add header_install dependency to scripts Daniel Gomez via B4 Relay
2024-08-07 15:23 ` Nicolas Schier
2024-08-06 23:09 ` [PATCH 03/12] file2alias: fix uuid_t definitions for macos Daniel Gomez via B4 Relay
2024-08-07 15:30 ` Nicolas Schier
2024-08-07 21:31 ` Daniel Gomez
2024-08-06 23:09 ` [PATCH 04/12] drm/xe: xe_gen_wa_oob: fix program_invocation_short_name " Daniel Gomez via B4 Relay
2024-08-07 1:50 ` Lucas De Marchi
2024-08-07 8:13 ` Daniel Gomez
2024-08-07 11:25 ` Lucas De Marchi
2024-08-06 23:09 ` [PATCH 05/12] accessiblity/speakup: genmap and makemapdata require linux/version.h Daniel Gomez via B4 Relay
2024-08-07 15:34 ` Masahiro Yamada
2024-08-06 23:09 ` [PATCH 06/12] selinux/genheaders: include bitsperlong and posix_types headers Daniel Gomez via B4 Relay
2024-08-07 15:29 ` Paul Moore
2024-08-07 15:38 ` Nicolas Schier
2024-08-07 15:44 ` Masahiro Yamada
2024-08-07 16:20 ` Paul Moore
2024-08-07 21:41 ` Daniel Gomez
2024-08-08 11:12 ` Nicolas Schier [this message]
2024-08-06 23:09 ` [PATCH 07/12] selinux/mdp: " Daniel Gomez via B4 Relay
2024-08-06 23:09 ` [PATCH 08/12] include: add elf.h support Daniel Gomez via B4 Relay
2024-08-07 11:04 ` Greg Kroah-Hartman
2024-08-07 14:13 ` Daniel Gomez
2024-08-07 14:18 ` Greg Kroah-Hartman
2024-08-07 15:46 ` Nicolas Schier
2024-08-23 22:54 ` Daniel Gomez
2024-08-30 19:53 ` Nicolas Schier
2024-09-01 16:15 ` Masahiro Yamada
2024-09-05 8:56 ` Daniel Gomez
2024-09-05 23:58 ` Masahiro Yamada
2024-09-06 8:34 ` Daniel Gomez
2024-08-06 23:09 ` [PATCH 09/12] include: add endian.h support Daniel Gomez via B4 Relay
2024-08-06 23:09 ` [PATCH 10/12] scripts/mod: add byteswap support Daniel Gomez via B4 Relay
2024-08-06 23:09 ` [PATCH 11/12] tty/vt: conmakehash requires linux/limits.h Daniel Gomez via B4 Relay
2024-08-09 12:15 ` Masahiro Yamada
2024-08-09 13:47 ` Daniel Gomez (Samsung)
2024-08-06 23:09 ` [PATCH 12/12] scripts/kallsyms: add compatibility support for macos Daniel Gomez via B4 Relay
2024-08-07 11:01 ` [PATCH 00/12] Enable build system on macOS hosts Greg Kroah-Hartman
2024-08-07 13:56 ` Daniel Gomez
2024-08-07 14:19 ` Greg Kroah-Hartman
2024-08-17 1:11 ` Barry Song
2024-08-18 16:55 ` Klaus Jensen
2024-08-23 22:37 ` Daniel Gomez
2024-08-24 5:51 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZrSoOM9z4VnqhOf2@fjasle.eu \
--to=nicolas@fjasle.eu \
--cc=airlied@gmail.com \
--cc=catalin.marinas@arm.com \
--cc=chris@the-brannons.com \
--cc=d+samsung@kruces.com \
--cc=da.gomez@samsung.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=gost.dev@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=james.morse@arm.com \
--cc=jirislaby@kernel.org \
--cc=justinstitt@google.com \
--cc=kirk@reisers.ca \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=lucas.demarchi@intel.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=masahiroy@kernel.org \
--cc=maz@kernel.org \
--cc=me@kloenk.dev \
--cc=morbo@google.com \
--cc=mripard@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=oliver.upton@linux.dev \
--cc=omosnace@redhat.com \
--cc=paul@paul-moore.com \
--cc=rodrigo.vivi@intel.com \
--cc=samuel.thibault@ens-lyon.org \
--cc=selinux@vger.kernel.org \
--cc=speakup@linux-speakup.org \
--cc=stephen.smalley.work@gmail.com \
--cc=suzuki.poulose@arm.com \
--cc=thomas.hellstrom@linux.intel.com \
--cc=tzimmermann@suse.de \
--cc=w.d.hubbs@gmail.com \
--cc=will@kernel.org \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox