Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/4] oeqa/selftest/glibc: remove obsolete parallel make assignment
@ 2026-08-05 16:03 Ross Burton
  2026-08-05 16:03 ` [PATCH 2/4] glibc: remove obsolete parallelism flag handling Ross Burton
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Ross Burton @ 2026-08-05 16:03 UTC (permalink / raw)
  To: openembedded-core

glibc doesn't use EGLIBCPARALLELISM so this didn't do anything.

The glibc check target serialises timing-sensitive tests (nptl and rt)
so this wouldn't have done anything meaningful anyway.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/lib/oeqa/selftest/cases/glibc.py | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/glibc.py b/meta/lib/oeqa/selftest/cases/glibc.py
index a65afb1367e..b8efa22fdac 100644
--- a/meta/lib/oeqa/selftest/cases/glibc.py
+++ b/meta/lib/oeqa/selftest/cases/glibc.py
@@ -58,8 +58,6 @@ class GlibcSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
             features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
             features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
             features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
-            # force single threaded test execution
-            features.append('EGLIBCPARALLELISM:task-check:pn-glibc-testsuite = "PARALLELMFLAGS="-j1""')
         self.write_config("\n".join(features))
 
         start_time = time.time()
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/4] glibc: remove obsolete parallelism flag handling
  2026-08-05 16:03 [PATCH 1/4] oeqa/selftest/glibc: remove obsolete parallel make assignment Ross Burton
@ 2026-08-05 16:03 ` Ross Burton
  2026-08-06  8:47   ` [OE-core] " Richard Purdie
  2026-08-05 16:03 ` [PATCH 3/4] glibc: remove obsolete shell override for make-syscalls.sh Ross Burton
  2026-08-05 16:03 ` [PATCH 4/4] glibc: remove obsolete KSHELL assignment Ross Burton
  2 siblings, 1 reply; 5+ messages in thread
From: Ross Burton @ 2026-08-05 16:03 UTC (permalink / raw)
  To: openembedded-core

Several problems here: the comment refers to PARALLELMFLAGS (which is a
variable in glibc's Makefile) but the actual assignment is to
EGLIBCPARALLELISM, which is an eglibc-ism and thus not respected by
glibc. Thus we were emptying PARALLEL_MAKE and so not actually doing the
build in parallel.

The Makefiles as of glibc 2.44[1] actually build in parallel well using
the standard way to pass flags, so drop all of this logic.

On my machine this has noticable improvements to walltime:

  do_compile:  86s -> 44s
  do_install:  55s -> 40s

Note that there is a PARALLELMFLAGS variable in the Makefiles, but using
it has marginal gains over not and upstream are looking at removing it
entirely.

[1] glibc 7cac99621e ("Makefile: Run the subdirectory recursion in parallel")

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-core/glibc/glibc.inc | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index 560ebef677c..27a911dd8ff 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -29,13 +29,6 @@ CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
 GLIBC_EXTRA_OECONF ?= ""
 GLIBC_EXTRA_OECONF:class-nativesdk = ""
 
-# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
-# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
-EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
-EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
-EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
-PARALLEL_MAKE = ""
-
 # glibc make-syscalls.sh has a number of issues with /bin/dash and
 # it's output which make calls via the SHELL also has issues, so
 # ensure make uses /bin/bash
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/4] glibc: remove obsolete shell override for make-syscalls.sh
  2026-08-05 16:03 [PATCH 1/4] oeqa/selftest/glibc: remove obsolete parallel make assignment Ross Burton
  2026-08-05 16:03 ` [PATCH 2/4] glibc: remove obsolete parallelism flag handling Ross Burton
@ 2026-08-05 16:03 ` Ross Burton
  2026-08-05 16:03 ` [PATCH 4/4] glibc: remove obsolete KSHELL assignment Ross Burton
  2 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2026-08-05 16:03 UTC (permalink / raw)
  To: openembedded-core

SHELL was set to /bin/bash back in 2012[1] because of non-portable use
of echo in eglibc.

As this non-portable use was fixed upstream in glibc in 2015[1] we can
remove this override.

[1] oe-core 9d002f7cdc5 ("eglibc: force make to use /bin/bash")
[2] glibc 95b07fbcc7 ("Fix non-portable echo usage in sysdeps/unix/make-syscalls.sh")

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-core/glibc/glibc.inc | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index 27a911dd8ff..47c15c116d8 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -29,11 +29,6 @@ CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
 GLIBC_EXTRA_OECONF ?= ""
 GLIBC_EXTRA_OECONF:class-nativesdk = ""
 
-# glibc make-syscalls.sh has a number of issues with /bin/dash and
-# it's output which make calls via the SHELL also has issues, so
-# ensure make uses /bin/bash
-EXTRA_OEMAKE += "SHELL=/bin/bash"
-
 # We do not need bash to run tzselect script, the default is to use
 # bash but it can be configured by setting KSHELL Makefile variable
 EXTRA_OEMAKE += "KSHELL=/bin/sh"
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/4] glibc: remove obsolete KSHELL assignment
  2026-08-05 16:03 [PATCH 1/4] oeqa/selftest/glibc: remove obsolete parallel make assignment Ross Burton
  2026-08-05 16:03 ` [PATCH 2/4] glibc: remove obsolete parallelism flag handling Ross Burton
  2026-08-05 16:03 ` [PATCH 3/4] glibc: remove obsolete shell override for make-syscalls.sh Ross Burton
@ 2026-08-05 16:03 ` Ross Burton
  2 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2026-08-05 16:03 UTC (permalink / raw)
  To: openembedded-core

KSHELL was set so that tzselect uses /bin/sh instead of /bin/bash.

This variable doesn't exist in glibc and instead we patch the script in
0019-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch, so we can
remove this assignment.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-core/glibc/glibc.inc | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index 47c15c116d8..16c18bd4b6c 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -29,10 +29,6 @@ CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
 GLIBC_EXTRA_OECONF ?= ""
 GLIBC_EXTRA_OECONF:class-nativesdk = ""
 
-# We do not need bash to run tzselect script, the default is to use
-# bash but it can be configured by setting KSHELL Makefile variable
-EXTRA_OEMAKE += "KSHELL=/bin/sh"
-
 TARGET_CC_ARCH:append:toolchain-gcc = " -fno-link-libatomic"
 SDK_CC_ARCH:append:toolchain-gcc = " -fno-link-libatomic"
 
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH 2/4] glibc: remove obsolete parallelism flag handling
  2026-08-05 16:03 ` [PATCH 2/4] glibc: remove obsolete parallelism flag handling Ross Burton
@ 2026-08-06  8:47   ` Richard Purdie
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Purdie @ 2026-08-06  8:47 UTC (permalink / raw)
  To: ross.burton, openembedded-core

On Wed, 2026-08-05 at 17:03 +0100, Ross Burton via lists.openembedded.org wrote:
> Several problems here: the comment refers to PARALLELMFLAGS (which is a
> variable in glibc's Makefile) but the actual assignment is to
> EGLIBCPARALLELISM, which is an eglibc-ism and thus not respected by
> glibc. Thus we were emptying PARALLEL_MAKE and so not actually doing the
> build in parallel.
> 
> The Makefiles as of glibc 2.44[1] actually build in parallel well using
> the standard way to pass flags, so drop all of this logic.
> 
> On my machine this has noticable improvements to walltime:
> 
>   do_compile:  86s -> 44s
>   do_install:  55s -> 40s
> 
> Note that there is a PARALLELMFLAGS variable in the Makefiles, but using
> it has marginal gains over not and upstream are looking at removing it
> entirely.
> 
> [1] glibc 7cac99621e ("Makefile: Run the subdirectory recursion in parallel")
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta/recipes-core/glibc/glibc.inc | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
> index 560ebef677c..27a911dd8ff 100644
> --- a/meta/recipes-core/glibc/glibc.inc
> +++ b/meta/recipes-core/glibc/glibc.inc
> @@ -29,13 +29,6 @@ CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
>  GLIBC_EXTRA_OECONF ?= ""
>  GLIBC_EXTRA_OECONF:class-nativesdk = ""
>  
> -# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
> -# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
> -EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
> -EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
> -EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
> -PARALLEL_MAKE = ""
> -
>  # glibc make-syscalls.sh has a number of issues with /bin/dash and
>  # it's output which make calls via the SHELL also has issues, so
>  # ensure make uses /bin/bash
> 


Unfortunately
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/4399
is full of what look like parallel make failures :(

Cheers,

Richard


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-08-06  8:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-05 16:03 [PATCH 1/4] oeqa/selftest/glibc: remove obsolete parallel make assignment Ross Burton
2026-08-05 16:03 ` [PATCH 2/4] glibc: remove obsolete parallelism flag handling Ross Burton
2026-08-06  8:47   ` [OE-core] " Richard Purdie
2026-08-05 16:03 ` [PATCH 3/4] glibc: remove obsolete shell override for make-syscalls.sh Ross Burton
2026-08-05 16:03 ` [PATCH 4/4] glibc: remove obsolete KSHELL assignment Ross Burton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox