* [Buildroot] [PATCH 1/1] package/strace: disable mpers support @ 2020-09-07 20:24 Heiko Thiery 2020-09-07 22:56 ` Yann E. MORIN ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Heiko Thiery @ 2020-09-07 20:24 UTC (permalink / raw) To: buildroot On aarch64 With the config option "--enable-mpers=check" the configure.ac script searchs for a 32bit compiler. When a matching compiler is found in the PATH some compatiblity checks are done. This can fail when the available kernel headers on host and buildroot target does not match. Since buildroot does not support 32bit binaries when building for 64bit architecture (no -m32 option) we can disable this option unconditionally. When disabling unconditionally also the configuration for toolchain using MUSL can be removed. Cc: Baruch Siach <baruch@tkos.co.il> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Brandon Maier <brandon.maier@rockwellcollins.com> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> --- package/strace/strace.mk | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/package/strace/strace.mk b/package/strace/strace.mk index 8403e09cbd..50e6d90a87 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -9,15 +9,7 @@ STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) STRACE_LICENSE = LGPL-2.1+ STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later -STRACE_CONF_OPTS = --enable-mpers=check - -# strace bundle some kernel headers to build libmpers, this mixes userspace -# headers and kernel headers which break the build with musl. -# The stddef.h from gcc is used instead of the one from musl. -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -STRACE_CONF_OPTS += st_cv_m32_mpers=no \ - st_cv_mx32_mpers=no -endif +STRACE_CONF_OPTS = --enable-mpers=no ifeq ($(BR2_PACKAGE_LIBUNWIND),y) STRACE_DEPENDENCIES += libunwind -- 2.20.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/1] package/strace: disable mpers support 2020-09-07 20:24 [Buildroot] [PATCH 1/1] package/strace: disable mpers support Heiko Thiery @ 2020-09-07 22:56 ` Yann E. MORIN 2020-09-08 6:54 ` Thomas Petazzoni 2020-09-08 7:51 ` Yann E. MORIN 2020-09-11 21:33 ` Peter Korsgaard 2 siblings, 1 reply; 7+ messages in thread From: Yann E. MORIN @ 2020-09-07 22:56 UTC (permalink / raw) To: buildroot Heiko, Baruch, All, On 2020-09-07 22:24 +0200, Heiko Thiery spake thusly: > On aarch64 With the config option "--enable-mpers=check" the configure.ac The name of that option is misleading. At first, I thought it was about personalities: https://man7.org/linux/man-pages/man2/personality.2.html ... and so I was wondering why another compiler would come into the mix... > script searchs for a 32bit compiler. When a matching compiler is found > in the PATH some compatiblity checks are done. This can fail when the > available kernel headers on host and buildroot target does not match. > > Since buildroot does not support 32bit binaries when building for 64bit > architecture (no -m32 option) we can disable this option unconditionally. ... but indeed, mpers is not about personalities at all; it is about multi-bitness systems. Buildroot does not support building a userland for multi-bitness systems. However, some systems may very well run a 64-bit kernel with a 32-bit userland. In that case, strace should be able to interpret the syscalls made by the process and the replies sent by the kernel, and those are done in the bitness of the process, not of the kernel. So, we always want an strace that is of the same bitness as the userland. And so I indeed think we do not need this ill-named multi-personality support of strace. Note that some people may however run such multi-bitness systems. But in that case, they had to build two userlands, a 32-bit one and a 64-bit one, and somehow aggregate the two after the fact. In that case, they would bear the responsibility to carry an strace for each bitness. (Note: I've left the x32 ABI on the side on purpose: it is not a real thing anymore, if it ever were...) Regards, Yann E. MORIN. > When disabling unconditionally also the configuration for toolchain using > MUSL can be removed. > > Cc: Baruch Siach <baruch@tkos.co.il> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > Cc: Brandon Maier <brandon.maier@rockwellcollins.com> > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > --- > package/strace/strace.mk | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/package/strace/strace.mk b/package/strace/strace.mk > index 8403e09cbd..50e6d90a87 100644 > --- a/package/strace/strace.mk > +++ b/package/strace/strace.mk > @@ -9,15 +9,7 @@ STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz > STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) > STRACE_LICENSE = LGPL-2.1+ > STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later > -STRACE_CONF_OPTS = --enable-mpers=check > - > -# strace bundle some kernel headers to build libmpers, this mixes userspace > -# headers and kernel headers which break the build with musl. > -# The stddef.h from gcc is used instead of the one from musl. > -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) > -STRACE_CONF_OPTS += st_cv_m32_mpers=no \ > - st_cv_mx32_mpers=no > -endif > +STRACE_CONF_OPTS = --enable-mpers=no > > ifeq ($(BR2_PACKAGE_LIBUNWIND),y) > STRACE_DEPENDENCIES += libunwind > -- > 2.20.1 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/1] package/strace: disable mpers support 2020-09-07 22:56 ` Yann E. MORIN @ 2020-09-08 6:54 ` Thomas Petazzoni 2020-09-08 7:36 ` Yann E. MORIN 0 siblings, 1 reply; 7+ messages in thread From: Thomas Petazzoni @ 2020-09-08 6:54 UTC (permalink / raw) To: buildroot On Tue, 8 Sep 2020 00:56:55 +0200 "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: > > script searchs for a 32bit compiler. When a matching compiler is found > > in the PATH some compatiblity checks are done. This can fail when the > > available kernel headers on host and buildroot target does not match. > > > > Since buildroot does not support 32bit binaries when building for 64bit > > architecture (no -m32 option) we can disable this option unconditionally. > > ... but indeed, mpers is not about personalities at all; it is about > multi-bitness systems. Buildroot does not support building a userland > for multi-bitness systems. Absolutely. > However, some systems may very well run a 64-bit kernel with a 32-bit > userland. In that case, strace should be able to interpret the syscalls > made by the process and the replies sent by the kernel, and those are > done in the bitness of the process, not of the kernel. > > So, we always want an strace that is of the same bitness as the > userland. And so I indeed think we do not need this ill-named > multi-personality support of strace. > > Note that some people may however run such multi-bitness systems. But in > that case, they had to build two userlands, a 32-bit one and a 64-bit > one, and somehow aggregate the two after the fact. In that case, they > would bear the responsibility to carry an strace for each bitness. So, is this an Acked-by for this patch ? :-) Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/1] package/strace: disable mpers support 2020-09-08 6:54 ` Thomas Petazzoni @ 2020-09-08 7:36 ` Yann E. MORIN 2020-09-08 7:46 ` Baruch Siach 0 siblings, 1 reply; 7+ messages in thread From: Yann E. MORIN @ 2020-09-08 7:36 UTC (permalink / raw) To: buildroot Thomas, All, On 2020-09-08 08:54 +0200, Thomas Petazzoni spake thusly: > On Tue, 8 Sep 2020 00:56:55 +0200 > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: [--SNIP--] > > However, some systems may very well run a 64-bit kernel with a 32-bit > > userland. In that case, strace should be able to interpret the syscalls > > made by the process and the replies sent by the kernel, and those are > > done in the bitness of the process, not of the kernel. > > > > So, we always want an strace that is of the same bitness as the > > userland. And so I indeed think we do not need this ill-named > > multi-personality support of strace. > > > > Note that some people may however run such multi-bitness systems. But in > > that case, they had to build two userlands, a 32-bit one and a 64-bit > > one, and somehow aggregate the two after the fact. In that case, they > > would bear the responsibility to carry an strace for each bitness. > > So, is this an Acked-by for this patch ? :-) It would, but I'd still like to have some feedback from Baruch, who had initial added of the mpers option, so may have further explanations to provide. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/1] package/strace: disable mpers support 2020-09-08 7:36 ` Yann E. MORIN @ 2020-09-08 7:46 ` Baruch Siach 0 siblings, 0 replies; 7+ messages in thread From: Baruch Siach @ 2020-09-08 7:46 UTC (permalink / raw) To: buildroot Hi Yann On Tue, Sep 08 2020, Yann E. MORIN wrote: > On 2020-09-08 08:54 +0200, Thomas Petazzoni spake thusly: >> On Tue, 8 Sep 2020 00:56:55 +0200 >> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: > [--SNIP--] >> > However, some systems may very well run a 64-bit kernel with a 32-bit >> > userland. In that case, strace should be able to interpret the syscalls >> > made by the process and the replies sent by the kernel, and those are >> > done in the bitness of the process, not of the kernel. >> > >> > So, we always want an strace that is of the same bitness as the >> > userland. And so I indeed think we do not need this ill-named >> > multi-personality support of strace. >> > >> > Note that some people may however run such multi-bitness systems. But in >> > that case, they had to build two userlands, a 32-bit one and a 64-bit >> > one, and somehow aggregate the two after the fact. In that case, they >> > would bear the responsibility to carry an strace for each bitness. >> >> So, is this an Acked-by for this patch ? :-) > > It would, but I'd still like to have some feedback from Baruch, who had > initial added of the mpers option, so may have further explanations to > provide. I only touched mpers (commit fc0d31caeedba) to fix build failure I (re)introduced in a previous commit (10883729419). strace enables mpers by default. I am fine with removing mpers support entirely. baruch -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il - ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/1] package/strace: disable mpers support 2020-09-07 20:24 [Buildroot] [PATCH 1/1] package/strace: disable mpers support Heiko Thiery 2020-09-07 22:56 ` Yann E. MORIN @ 2020-09-08 7:51 ` Yann E. MORIN 2020-09-11 21:33 ` Peter Korsgaard 2 siblings, 0 replies; 7+ messages in thread From: Yann E. MORIN @ 2020-09-08 7:51 UTC (permalink / raw) To: buildroot Heiko, All, On 2020-09-07 22:24 +0200, Heiko Thiery spake thusly: > On aarch64 With the config option "--enable-mpers=check" the configure.ac > script searchs for a 32bit compiler. When a matching compiler is found > in the PATH some compatiblity checks are done. This can fail when the > available kernel headers on host and buildroot target does not match. > > Since buildroot does not support 32bit binaries when building for 64bit > architecture (no -m32 option) we can disable this option unconditionally. > > When disabling unconditionally also the configuration for toolchain using > MUSL can be removed. > > Cc: Baruch Siach <baruch@tkos.co.il> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > Cc: Brandon Maier <brandon.maier@rockwellcollins.com> > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> Applied to master, thanks. Regards, Yann E. MORIN. > --- > package/strace/strace.mk | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/package/strace/strace.mk b/package/strace/strace.mk > index 8403e09cbd..50e6d90a87 100644 > --- a/package/strace/strace.mk > +++ b/package/strace/strace.mk > @@ -9,15 +9,7 @@ STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz > STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) > STRACE_LICENSE = LGPL-2.1+ > STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later > -STRACE_CONF_OPTS = --enable-mpers=check > - > -# strace bundle some kernel headers to build libmpers, this mixes userspace > -# headers and kernel headers which break the build with musl. > -# The stddef.h from gcc is used instead of the one from musl. > -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) > -STRACE_CONF_OPTS += st_cv_m32_mpers=no \ > - st_cv_mx32_mpers=no > -endif > +STRACE_CONF_OPTS = --enable-mpers=no > > ifeq ($(BR2_PACKAGE_LIBUNWIND),y) > STRACE_DEPENDENCIES += libunwind > -- > 2.20.1 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/1] package/strace: disable mpers support 2020-09-07 20:24 [Buildroot] [PATCH 1/1] package/strace: disable mpers support Heiko Thiery 2020-09-07 22:56 ` Yann E. MORIN 2020-09-08 7:51 ` Yann E. MORIN @ 2020-09-11 21:33 ` Peter Korsgaard 2 siblings, 0 replies; 7+ messages in thread From: Peter Korsgaard @ 2020-09-11 21:33 UTC (permalink / raw) To: buildroot >>>>> "Heiko" == Heiko Thiery <heiko.thiery@gmail.com> writes: > On aarch64 With the config option "--enable-mpers=check" the configure.ac > script searchs for a 32bit compiler. When a matching compiler is found > in the PATH some compatiblity checks are done. This can fail when the > available kernel headers on host and buildroot target does not match. > Since buildroot does not support 32bit binaries when building for 64bit > architecture (no -m32 option) we can disable this option unconditionally. > When disabling unconditionally also the configuration for toolchain using > MUSL can be removed. > Cc: Baruch Siach <baruch@tkos.co.il> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > Cc: Brandon Maier <brandon.maier@rockwellcollins.com> > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> Committed to 2020.02.x, 2020.05.x and 2020.08.x, thanks. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-09-11 21:33 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-09-07 20:24 [Buildroot] [PATCH 1/1] package/strace: disable mpers support Heiko Thiery 2020-09-07 22:56 ` Yann E. MORIN 2020-09-08 6:54 ` Thomas Petazzoni 2020-09-08 7:36 ` Yann E. MORIN 2020-09-08 7:46 ` Baruch Siach 2020-09-08 7:51 ` Yann E. MORIN 2020-09-11 21:33 ` Peter Korsgaard
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.