* [PATCH 0/3] Disable systemd-boot from building with x32 IA Machine
@ 2017-09-19 18:27 Saul Wold
2017-09-19 18:27 ` [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES Saul Wold
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Saul Wold @ 2017-09-19 18:27 UTC (permalink / raw)
To: openembedded-core, richard.purdie
systemd-boot has to be build for the native IA instruction set size, this
patch series is needed to disable it from building or being depended on
by WIC when building x32 as DEFAULTTUNE and not just as multilib.
Sau!
Saul Wold (3):
arch-x86: Add x86-x32 to MACHINEOVERRIDES
wic: remove systemd-boot for x32
systemd-boot: Should not build x32
meta/classes/image_types_wic.bbclass | 1 +
meta/conf/machine/include/x86/arch-x86.inc | 1 +
meta/recipes-core/meta/wic-tools.bb | 1 +
meta/recipes-core/systemd/systemd-boot_234.bb | 1 +
4 files changed, 4 insertions(+)
--
2.11.0
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES 2017-09-19 18:27 [PATCH 0/3] Disable systemd-boot from building with x32 IA Machine Saul Wold @ 2017-09-19 18:27 ` Saul Wold 2017-09-21 8:15 ` Richard Purdie 2017-09-19 18:27 ` [PATCH 2/3] wic: remove systemd-boot for x32 Saul Wold 2017-09-19 18:27 ` [PATCH 3/3] systemd-boot: Should not build x32 Saul Wold 2 siblings, 1 reply; 8+ messages in thread From: Saul Wold @ 2017-09-19 18:27 UTC (permalink / raw) To: openembedded-core, richard.purdie This is needed as an x32 more generic x32 override later in the OVERRIDES, currently linux-gnux32 is the first override, but we need a stronger (later in the list) x32 override to deal with some needed x32 dependency overrides. Signed-off-by: Saul Wold <sgw@linux.intel.com> --- meta/conf/machine/include/x86/arch-x86.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/conf/machine/include/x86/arch-x86.inc b/meta/conf/machine/include/x86/arch-x86.inc index e51d595f74..31d30b3304 100644 --- a/meta/conf/machine/include/x86/arch-x86.inc +++ b/meta/conf/machine/include/x86/arch-x86.inc @@ -26,6 +26,7 @@ TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}" # user mode qemu doesn't support x32 MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86_x32:', '' ,d)}" # ELF64 ABI TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES 2017-09-19 18:27 ` [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES Saul Wold @ 2017-09-21 8:15 ` Richard Purdie 2017-09-26 0:46 ` Saul Wold 0 siblings, 1 reply; 8+ messages in thread From: Richard Purdie @ 2017-09-21 8:15 UTC (permalink / raw) To: Saul Wold, openembedded-core On Tue, 2017-09-19 at 11:27 -0700, Saul Wold wrote: > This is needed as an x32 more generic x32 override later in the > OVERRIDES, currently linux-gnux32 is the first override, but we > need a stronger (later in the list) x32 override to deal with some > needed x32 dependency overrides. > > Signed-off-by: Saul Wold <sgw@linux.intel.com> > --- > meta/conf/machine/include/x86/arch-x86.inc | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/conf/machine/include/x86/arch-x86.inc b/meta/conf/machine/include/x86/arch-x86.inc > index e51d595f74..31d30b3304 100644 > --- a/meta/conf/machine/include/x86/arch-x86.inc > +++ b/meta/conf/machine/include/x86/arch-x86.inc > @@ -26,6 +26,7 @@ TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', > TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}" > # user mode qemu doesn't support x32 > MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}" > +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86_x32:', '' ,d)}" > > # ELF64 ABI > TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" I was ok with this until I realised the patch does not do what it says in the commit message, it adds "x86_x32", not "x86-x32". Since "_" is the override modifier, I worry about how this reacts with the rest of the system and I suspect its a bad idea. Is there a reason you didn't use "x86-x32" (following the example of x86-64)? Cheers, Richard ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES 2017-09-21 8:15 ` Richard Purdie @ 2017-09-26 0:46 ` Saul Wold 0 siblings, 0 replies; 8+ messages in thread From: Saul Wold @ 2017-09-26 0:46 UTC (permalink / raw) To: Richard Purdie, openembedded-core On Thu, 2017-09-21 at 09:15 +0100, Richard Purdie wrote: > On Tue, 2017-09-19 at 11:27 -0700, Saul Wold wrote: > > This is needed as an x32 more generic x32 override later in the > > OVERRIDES, currently linux-gnux32 is the first override, but we > > need a stronger (later in the list) x32 override to deal with some > > needed x32 dependency overrides. > > > > Signed-off-by: Saul Wold <sgw@linux.intel.com> > > --- > > meta/conf/machine/include/x86/arch-x86.inc | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/meta/conf/machine/include/x86/arch-x86.inc > > b/meta/conf/machine/include/x86/arch-x86.inc > > index e51d595f74..31d30b3304 100644 > > --- a/meta/conf/machine/include/x86/arch-x86.inc > > +++ b/meta/conf/machine/include/x86/arch-x86.inc > > @@ -26,6 +26,7 @@ TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATUR > > ES', 'mx32', '-m elf32_x86_64', > > TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '- > > x32', '', d)}" > > # user mode qemu doesn't support x32 > > MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contai > > ns('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}" > > +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', > > 'x86_x32:', '' ,d)}" > > > > # ELF64 ABI > > TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" > > I was ok with this until I realised the patch does not do what it > says > in the commit message, it adds "x86_x32", not "x86-x32". Since "_" is > the override modifier, I worry about how this reacts with the rest of > the system and I suspect its a bad idea. Is there a reason you didn't > use "x86-x32" (following the example of x86-64)? > Typo, possibly or had not considered the override issue. v2 in flight shortly. Sau! > Cheers, > > Richard ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] wic: remove systemd-boot for x32 2017-09-19 18:27 [PATCH 0/3] Disable systemd-boot from building with x32 IA Machine Saul Wold 2017-09-19 18:27 ` [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES Saul Wold @ 2017-09-19 18:27 ` Saul Wold 2017-09-21 8:17 ` Richard Purdie 2017-09-21 14:22 ` Khem Raj 2017-09-19 18:27 ` [PATCH 3/3] systemd-boot: Should not build x32 Saul Wold 2 siblings, 2 replies; 8+ messages in thread From: Saul Wold @ 2017-09-19 18:27 UTC (permalink / raw) To: openembedded-core, richard.purdie Currently systemd-boot actually incorporates libgcc, since the systemd-boot needs to be built with 64bit instructions it can not use the x32 based libgcc. Use the new override to ensure it gets overriden, linux-gnux32 could not be used because x86-64 has higher priority. Signed-off-by: Saul Wold <sgw@linux.intel.com> --- meta/classes/image_types_wic.bbclass | 1 + meta/recipes-core/meta/wic-tools.bb | 1 + 2 files changed, 2 insertions(+) diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index b825b47ce5..b9503c69c5 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass @@ -45,6 +45,7 @@ WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native bt WKS_FILE_DEPENDS_BOOTLOADERS = "" WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot" WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot" +WKS_FILE_DEPENDS_BOOTLOADERS_x86_x32 = "syslinux grub-efi" WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}" diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb index 57dd37a440..09eb409e87 100644 --- a/meta/recipes-core/meta/wic-tools.bb +++ b/meta/recipes-core/meta/wic-tools.bb @@ -10,6 +10,7 @@ DEPENDS = "\ " DEPENDS_append_x86 = " syslinux grub-efi systemd-boot" DEPENDS_append_x86-64 = " syslinux grub-efi systemd-boot" +DEPENDS_append_x86-x32 = " syslinux grub-efi" INHIBIT_DEFAULT_DEPS = "1" -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] wic: remove systemd-boot for x32 2017-09-19 18:27 ` [PATCH 2/3] wic: remove systemd-boot for x32 Saul Wold @ 2017-09-21 8:17 ` Richard Purdie 2017-09-21 14:22 ` Khem Raj 1 sibling, 0 replies; 8+ messages in thread From: Richard Purdie @ 2017-09-21 8:17 UTC (permalink / raw) To: Saul Wold, openembedded-core On Tue, 2017-09-19 at 11:27 -0700, Saul Wold wrote: > Currently systemd-boot actually incorporates libgcc, since the > systemd-boot needs to be built with 64bit instructions it can not > use the x32 based libgcc. I'm a little confused by this since the point of x32 is that it uses all the 64 bit instructions with a 32 bit address space? Cheers, Richard ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] wic: remove systemd-boot for x32 2017-09-19 18:27 ` [PATCH 2/3] wic: remove systemd-boot for x32 Saul Wold 2017-09-21 8:17 ` Richard Purdie @ 2017-09-21 14:22 ` Khem Raj 1 sibling, 0 replies; 8+ messages in thread From: Khem Raj @ 2017-09-21 14:22 UTC (permalink / raw) To: Saul Wold; +Cc: Patches and discussions about the oe-core layer On Tue, Sep 19, 2017 at 11:27 AM, Saul Wold <sgw@linux.intel.com> wrote: > Currently systemd-boot actually incorporates libgcc, since the > systemd-boot needs to be built with 64bit instructions it can not > use the x32 based libgcc. > > Use the new override to ensure it gets overriden, linux-gnux32 could > not be used because x86-64 has higher priority. > > Signed-off-by: Saul Wold <sgw@linux.intel.com> > --- > meta/classes/image_types_wic.bbclass | 1 + > meta/recipes-core/meta/wic-tools.bb | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass > index b825b47ce5..b9503c69c5 100644 > --- a/meta/classes/image_types_wic.bbclass > +++ b/meta/classes/image_types_wic.bbclass > @@ -45,6 +45,7 @@ WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native bt > WKS_FILE_DEPENDS_BOOTLOADERS = "" > WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot" > WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot" > +WKS_FILE_DEPENDS_BOOTLOADERS_x86_x32 = "syslinux grub-efi" this will confuse with x86 ovrride. shouldnt this be x86-32 ? > > WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}" > > diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb > index 57dd37a440..09eb409e87 100644 > --- a/meta/recipes-core/meta/wic-tools.bb > +++ b/meta/recipes-core/meta/wic-tools.bb > @@ -10,6 +10,7 @@ DEPENDS = "\ > " > DEPENDS_append_x86 = " syslinux grub-efi systemd-boot" > DEPENDS_append_x86-64 = " syslinux grub-efi systemd-boot" > +DEPENDS_append_x86-x32 = " syslinux grub-efi" > > INHIBIT_DEFAULT_DEPS = "1" > > -- > 2.11.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] systemd-boot: Should not build x32 2017-09-19 18:27 [PATCH 0/3] Disable systemd-boot from building with x32 IA Machine Saul Wold 2017-09-19 18:27 ` [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES Saul Wold 2017-09-19 18:27 ` [PATCH 2/3] wic: remove systemd-boot for x32 Saul Wold @ 2017-09-19 18:27 ` Saul Wold 2 siblings, 0 replies; 8+ messages in thread From: Saul Wold @ 2017-09-19 18:27 UTC (permalink / raw) To: openembedded-core, richard.purdie Since systemd-boot is a bootloader, it needs to be built for the native IA instruction set size and x32 is not valid. Signed-off-by: Saul Wold <sgw@linux.intel.com> --- meta/recipes-core/systemd/systemd-boot_234.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/systemd/systemd-boot_234.bb b/meta/recipes-core/systemd/systemd-boot_234.bb index 655797f3cc..7b18b25e35 100644 --- a/meta/recipes-core/systemd/systemd-boot_234.bb +++ b/meta/recipes-core/systemd/systemd-boot_234.bb @@ -21,6 +21,7 @@ EXTRA_OECONF = " --enable-gnuefi \ # Imported from the old gummiboot recipe TUNE_CCARGS_remove = "-mfpmath=sse" COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux" +COMPATIBLE_HOST_linux-gnux32 = "null" do_compile() { SYSTEMD_BOOT_EFI_ARCH="ia32" -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-09-26 0:46 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-09-19 18:27 [PATCH 0/3] Disable systemd-boot from building with x32 IA Machine Saul Wold 2017-09-19 18:27 ` [PATCH 1/3] arch-x86: Add x86-x32 to MACHINEOVERRIDES Saul Wold 2017-09-21 8:15 ` Richard Purdie 2017-09-26 0:46 ` Saul Wold 2017-09-19 18:27 ` [PATCH 2/3] wic: remove systemd-boot for x32 Saul Wold 2017-09-21 8:17 ` Richard Purdie 2017-09-21 14:22 ` Khem Raj 2017-09-19 18:27 ` [PATCH 3/3] systemd-boot: Should not build x32 Saul Wold
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox