openembedded-core.lists.openembedded.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] glibc: Bump to latest 2.36 branch
@ 2022-08-12 19:27 Khem Raj
  2022-08-13 12:38 ` [PATCH 2/2] glibc: apply proposed patch from upstream instead of revert Martin Jansa
  0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2022-08-12 19:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

Drop upstreamed patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/glibc/glibc-version.inc     |  2 +-
 ...define-STRCPY-guard-in-strcpy-sse2.S.patch | 28 ----------------
 ...ace-strcpy-call-with-memcpy-BZ-29454.patch | 32 -------------------
 meta/recipes-core/glibc/glibc_2.36.bb         |  2 --
 4 files changed, 1 insertion(+), 63 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0026-x86-Fix-define-STRCPY-guard-in-strcpy-sse2.S.patch
 delete mode 100644 meta/recipes-core/glibc/glibc/0027-elf-Replace-strcpy-call-with-memcpy-BZ-29454.patch

diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc
index f6cdbbf2414..74b48b05f48 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
 SRCBRANCH ?= "release/2.36/master"
 PV = "2.36"
-SRCREV_glibc ?= "ac47d8f6cf9744139adb12f540fb9cc610cac579"
+SRCREV_glibc ?= "302bc33bc53c787da6e74162a7092e9c0fb964a8"
 SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
 
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
diff --git a/meta/recipes-core/glibc/glibc/0026-x86-Fix-define-STRCPY-guard-in-strcpy-sse2.S.patch b/meta/recipes-core/glibc/glibc/0026-x86-Fix-define-STRCPY-guard-in-strcpy-sse2.S.patch
deleted file mode 100644
index 2caff3a0d53..00000000000
--- a/meta/recipes-core/glibc/glibc/0026-x86-Fix-define-STRCPY-guard-in-strcpy-sse2.S.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 1d4d09d9dff96f46674262534ce1f0e51a8252cb Mon Sep 17 00:00:00 2001
-From: Noah Goldstein <goldstein.w.n@gmail.com>
-Date: Sun, 7 Aug 2022 22:42:30 +0800
-Subject: [PATCH] x86: Fix `#define STRCPY` guard in strcpy-sse2.S
-
-`#ifndef STPCPY` is incorrect for checking if `STRCPY` is already
-defined.  It doesn't end up mattering as the whole check is
-guarded by `#if IS_IN (libc)` but is incorrect none the less.
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=312ded0d6339e8c463d0395397b5825401b14f54]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- sysdeps/x86_64/multiarch/strcpy-sse2.S | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sysdeps/x86_64/multiarch/strcpy-sse2.S b/sysdeps/x86_64/multiarch/strcpy-sse2.S
-index e29b411314..d6b9bae5f8 100644
---- a/sysdeps/x86_64/multiarch/strcpy-sse2.S
-+++ b/sysdeps/x86_64/multiarch/strcpy-sse2.S
-@@ -22,7 +22,7 @@
- 
- # include <sysdep.h>
- 
--# ifndef STPCPY
-+# ifndef STRCPY
- #  define STRCPY __strcpy_sse2
- # endif
- 
diff --git a/meta/recipes-core/glibc/glibc/0027-elf-Replace-strcpy-call-with-memcpy-BZ-29454.patch b/meta/recipes-core/glibc/glibc/0027-elf-Replace-strcpy-call-with-memcpy-BZ-29454.patch
deleted file mode 100644
index a2c951ad936..00000000000
--- a/meta/recipes-core/glibc/glibc/0027-elf-Replace-strcpy-call-with-memcpy-BZ-29454.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f0e36cf0b348dbc990af9f869196710ca89c28c2 Mon Sep 17 00:00:00 2001
-From: Noah Goldstein <goldstein.w.n@gmail.com>
-Date: Sun, 7 Aug 2022 23:54:19 +0800
-Subject: [PATCH] elf: Replace `strcpy` call with `memcpy` [BZ #29454]
-
-GCC normally does this optimization for us in
-strlen_pass::handle_builtin_strcpy but only for optimized
-build. To avoid needing to include strcpy.S in the rtld build to
-support the debug build, just do the optimization by hand.
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=483cfe1a6a33d6335b1901581b41040d2d412511]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- elf/dl-cache.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index c02a95d9b5..03a6d236e8 100644
---- a/elf/dl-cache.c
-+++ b/elf/dl-cache.c
-@@ -513,8 +513,9 @@ _dl_load_cache_lookup (const char *name)
-      we are accessing. Therefore we must make the copy of the
-      mapping data without using malloc.  */
-   char *temp;
--  temp = alloca (strlen (best) + 1);
--  strcpy (temp, best);
-+  size_t best_len = strlen (best) + 1;
-+  temp = alloca (best_len);
-+  memcpy (temp, best, best_len);
-   return __strdup (temp);
- }
- 
diff --git a/meta/recipes-core/glibc/glibc_2.36.bb b/meta/recipes-core/glibc/glibc_2.36.bb
index 2db3994cf7b..6ccb392f090 100644
--- a/meta/recipes-core/glibc/glibc_2.36.bb
+++ b/meta/recipes-core/glibc/glibc_2.36.bb
@@ -51,8 +51,6 @@ SRC_URI =  "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
            file://0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
            file://0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
-           file://0026-x86-Fix-define-STRCPY-guard-in-strcpy-sse2.S.patch \
-           file://0027-elf-Replace-strcpy-call-with-memcpy-BZ-29454.patch \
 "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"
-- 
2.37.1



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

* [PATCH 2/2] glibc: apply proposed patch from upstream instead of revert
  2022-08-12 19:27 [PATCH] glibc: Bump to latest 2.36 branch Khem Raj
@ 2022-08-13 12:38 ` Martin Jansa
  2022-08-15 21:17   ` Martin Jansa
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Jansa @ 2022-08-13 12:38 UTC (permalink / raw)
  To: openembedded-core; +Cc: Martin Jansa

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...lement-a-useful-version-of-_startup_.patch | 128 ------------------
 .../glibc/glibc/0025-startup-Force-O2.patch   |  28 ++++
 meta/recipes-core/glibc/glibc_2.36.bb         |   2 +-
 3 files changed, 29 insertions(+), 129 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch

diff --git a/meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch b/meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
deleted file mode 100644
index 1982598339..0000000000
--- a/meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 18b04419d5984f5c6c89fab5e72fcdd1942491cb Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 7 Aug 2022 12:51:48 +0200
-Subject: [PATCH] Revert "Linux: Implement a useful version of _startup_fatal"
-
-This reverts commit a2a6bce7d7e52c1c34369a7da62c501cc350bc31.
-
-Upstream-Status: Inappropriate [temporary work around]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- sysdeps/unix/sysv/linux/i386/startup.h | 23 ++++++++++++---
- sysdeps/unix/sysv/linux/ia64/startup.h | 22 ---------------
- sysdeps/unix/sysv/linux/startup.h      | 39 --------------------------
- 3 files changed, 19 insertions(+), 65 deletions(-)
- delete mode 100644 sysdeps/unix/sysv/linux/ia64/startup.h
- delete mode 100644 sysdeps/unix/sysv/linux/startup.h
-
-diff --git a/sysdeps/unix/sysv/linux/i386/startup.h b/sysdeps/unix/sysv/linux/i386/startup.h
-index 213805d7d2..67c9310f3a 100644
---- a/sysdeps/unix/sysv/linux/i386/startup.h
-+++ b/sysdeps/unix/sysv/linux/i386/startup.h
-@@ -1,5 +1,5 @@
- /* Linux/i386 definitions of functions used by static libc main startup.
--   Copyright (C) 2022 Free Software Foundation, Inc.
-+   Copyright (C) 2017-2022 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
- 
-    The GNU C Library is free software; you can redistribute it and/or
-@@ -16,7 +16,22 @@
-    License along with the GNU C Library; if not, see
-    <https://www.gnu.org/licenses/>.  */
- 
--/* Can't use "call *%gs:SYSINFO_OFFSET" during startup.  */
--#define I386_USE_SYSENTER 0
-+#if BUILD_PIE_DEFAULT
-+/* Can't use "call *%gs:SYSINFO_OFFSET" during statup in static PIE.  */
-+# define I386_USE_SYSENTER 0
- 
--#include_next <startup.h>
-+# include <sysdep.h>
-+# include <abort-instr.h>
-+
-+__attribute__ ((__noreturn__))
-+static inline void
-+_startup_fatal (const char *message __attribute__ ((unused)))
-+{
-+  /* This is only called very early during startup in static PIE.
-+     FIXME: How can it be improved?  */
-+  ABORT_INSTRUCTION;
-+  __builtin_unreachable ();
-+}
-+#else
-+# include_next <startup.h>
-+#endif
-diff --git a/sysdeps/unix/sysv/linux/ia64/startup.h b/sysdeps/unix/sysv/linux/ia64/startup.h
-deleted file mode 100644
-index 77f29f15a2..0000000000
---- a/sysdeps/unix/sysv/linux/ia64/startup.h
-+++ /dev/null
-@@ -1,22 +0,0 @@
--/* Linux/ia64 definitions of functions used by static libc main startup.
--   Copyright (C) 2022 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <https://www.gnu.org/licenses/>.  */
--
--/* This code is used before the TCB is set up.  */
--#define IA64_USE_NEW_STUB 0
--
--#include_next <startup.h>
-diff --git a/sysdeps/unix/sysv/linux/startup.h b/sysdeps/unix/sysv/linux/startup.h
-deleted file mode 100644
-index 39859b404a..0000000000
---- a/sysdeps/unix/sysv/linux/startup.h
-+++ /dev/null
-@@ -1,39 +0,0 @@
--/* Linux definitions of functions used by static libc main startup.
--   Copyright (C) 2017-2022 Free Software Foundation, Inc.
--   This file is part of the GNU C Library.
--
--   The GNU C Library is free software; you can redistribute it and/or
--   modify it under the terms of the GNU Lesser General Public
--   License as published by the Free Software Foundation; either
--   version 2.1 of the License, or (at your option) any later version.
--
--   The GNU C Library is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Lesser General Public License for more details.
--
--   You should have received a copy of the GNU Lesser General Public
--   License along with the GNU C Library; if not, see
--   <https://www.gnu.org/licenses/>.  */
--
--#ifdef SHARED
--# include_next <startup.h>
--#else
--# include <sysdep.h>
--
--/* Avoid a run-time invocation of strlen.  */
--#define _startup_fatal(message)                                         \
--  do                                                                    \
--    {                                                                   \
--      size_t __message_length = __builtin_strlen (message);             \
--      if (! __builtin_constant_p (__message_length))                    \
--        {                                                               \
--          extern void _startup_fatal_not_constant (void);               \
--          _startup_fatal_not_constant ();                               \
--        }                                                               \
--      INTERNAL_SYSCALL_CALL (write, STDERR_FILENO, (message),           \
--                             __message_length);                         \
--      INTERNAL_SYSCALL_CALL (exit_group, 127);                          \
--    }                                                                   \
--  while (0)
--#endif  /* !SHARED */
diff --git a/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch b/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
new file mode 100644
index 0000000000..1f3426295a
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
@@ -0,0 +1,28 @@
+From 5e635e5dc7d1b21a78f38109d4f43a03bec865c8 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Sun, 7 Aug 2022 12:51:48 +0200
+Subject: [PATCH] startup: Force -O2
+
+Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=29249]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ sysdeps/unix/sysv/linux/startup.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/sysdeps/unix/sysv/linux/startup.h b/sysdeps/unix/sysv/linux/startup.h
+index 39859b404a..e1fc1b682d 100644
+--- a/sysdeps/unix/sysv/linux/startup.h
++++ b/sysdeps/unix/sysv/linux/startup.h
+@@ -21,6 +21,11 @@
+ #else
+ # include <sysdep.h>
+ 
++# if !defined __OPTIMIZE__ || __OPTIMIZE__ < 2
++/* Force to fold strlen.  */
++#  pragma GCC optimize(2)
++# endif
++
+ /* Avoid a run-time invocation of strlen.  */
+ #define _startup_fatal(message)                                         \
+   do                                                                    \
diff --git a/meta/recipes-core/glibc/glibc_2.36.bb b/meta/recipes-core/glibc/glibc_2.36.bb
index 6ccb392f09..1cfa8101ef 100644
--- a/meta/recipes-core/glibc/glibc_2.36.bb
+++ b/meta/recipes-core/glibc/glibc_2.36.bb
@@ -50,7 +50,7 @@ SRC_URI =  "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \
            file://0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
            file://0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
-           file://0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
+           file://0025-startup-Force-O2.patch \
 "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"
-- 
2.37.2



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

* Re: [PATCH 2/2] glibc: apply proposed patch from upstream instead of revert
  2022-08-13 12:38 ` [PATCH 2/2] glibc: apply proposed patch from upstream instead of revert Martin Jansa
@ 2022-08-15 21:17   ` Martin Jansa
  0 siblings, 0 replies; 3+ messages in thread
From: Martin Jansa @ 2022-08-15 21:17 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 9078 bytes --]

Another version was proposed upstream
https://sourceware.org/bugzilla/attachment.cgi?id=14283

lets wait a bit more on this one.

On Sat, Aug 13, 2022 at 2:39 PM Martin Jansa <martin.jansa@gmail.com> wrote:

> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  ...lement-a-useful-version-of-_startup_.patch | 128 ------------------
>  .../glibc/glibc/0025-startup-Force-O2.patch   |  28 ++++
>  meta/recipes-core/glibc/glibc_2.36.bb         |   2 +-
>  3 files changed, 29 insertions(+), 129 deletions(-)
>  delete mode 100644
> meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
>  create mode 100644
> meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
>
> diff --git
> a/meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
> b/meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
> deleted file mode 100644
> index 1982598339..0000000000
> ---
> a/meta/recipes-core/glibc/glibc/0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
> +++ /dev/null
> @@ -1,128 +0,0 @@
> -From 18b04419d5984f5c6c89fab5e72fcdd1942491cb Mon Sep 17 00:00:00 2001
> -From: Martin Jansa <Martin.Jansa@gmail.com>
> -Date: Sun, 7 Aug 2022 12:51:48 +0200
> -Subject: [PATCH] Revert "Linux: Implement a useful version of
> _startup_fatal"
> -
> -This reverts commit a2a6bce7d7e52c1c34369a7da62c501cc350bc31.
> -
> -Upstream-Status: Inappropriate [temporary work around]
> -
> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ----
> - sysdeps/unix/sysv/linux/i386/startup.h | 23 ++++++++++++---
> - sysdeps/unix/sysv/linux/ia64/startup.h | 22 ---------------
> - sysdeps/unix/sysv/linux/startup.h      | 39 --------------------------
> - 3 files changed, 19 insertions(+), 65 deletions(-)
> - delete mode 100644 sysdeps/unix/sysv/linux/ia64/startup.h
> - delete mode 100644 sysdeps/unix/sysv/linux/startup.h
> -
> -diff --git a/sysdeps/unix/sysv/linux/i386/startup.h
> b/sysdeps/unix/sysv/linux/i386/startup.h
> -index 213805d7d2..67c9310f3a 100644
> ---- a/sysdeps/unix/sysv/linux/i386/startup.h
> -+++ b/sysdeps/unix/sysv/linux/i386/startup.h
> -@@ -1,5 +1,5 @@
> - /* Linux/i386 definitions of functions used by static libc main startup.
> --   Copyright (C) 2022 Free Software Foundation, Inc.
> -+   Copyright (C) 2017-2022 Free Software Foundation, Inc.
> -    This file is part of the GNU C Library.
> -
> -    The GNU C Library is free software; you can redistribute it and/or
> -@@ -16,7 +16,22 @@
> -    License along with the GNU C Library; if not, see
> -    <https://www.gnu.org/licenses/>.  */
> -
> --/* Can't use "call *%gs:SYSINFO_OFFSET" during startup.  */
> --#define I386_USE_SYSENTER 0
> -+#if BUILD_PIE_DEFAULT
> -+/* Can't use "call *%gs:SYSINFO_OFFSET" during statup in static PIE.  */
> -+# define I386_USE_SYSENTER 0
> -
> --#include_next <startup.h>
> -+# include <sysdep.h>
> -+# include <abort-instr.h>
> -+
> -+__attribute__ ((__noreturn__))
> -+static inline void
> -+_startup_fatal (const char *message __attribute__ ((unused)))
> -+{
> -+  /* This is only called very early during startup in static PIE.
> -+     FIXME: How can it be improved?  */
> -+  ABORT_INSTRUCTION;
> -+  __builtin_unreachable ();
> -+}
> -+#else
> -+# include_next <startup.h>
> -+#endif
> -diff --git a/sysdeps/unix/sysv/linux/ia64/startup.h
> b/sysdeps/unix/sysv/linux/ia64/startup.h
> -deleted file mode 100644
> -index 77f29f15a2..0000000000
> ---- a/sysdeps/unix/sysv/linux/ia64/startup.h
> -+++ /dev/null
> -@@ -1,22 +0,0 @@
> --/* Linux/ia64 definitions of functions used by static libc main startup.
> --   Copyright (C) 2022 Free Software Foundation, Inc.
> --   This file is part of the GNU C Library.
> --
> --   The GNU C Library is free software; you can redistribute it and/or
> --   modify it under the terms of the GNU Lesser General Public
> --   License as published by the Free Software Foundation; either
> --   version 2.1 of the License, or (at your option) any later version.
> --
> --   The GNU C Library is distributed in the hope that it will be useful,
> --   but WITHOUT ANY WARRANTY; without even the implied warranty of
> --   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> --   Lesser General Public License for more details.
> --
> --   You should have received a copy of the GNU Lesser General Public
> --   License along with the GNU C Library; if not, see
> --   <https://www.gnu.org/licenses/>.  */
> --
> --/* This code is used before the TCB is set up.  */
> --#define IA64_USE_NEW_STUB 0
> --
> --#include_next <startup.h>
> -diff --git a/sysdeps/unix/sysv/linux/startup.h
> b/sysdeps/unix/sysv/linux/startup.h
> -deleted file mode 100644
> -index 39859b404a..0000000000
> ---- a/sysdeps/unix/sysv/linux/startup.h
> -+++ /dev/null
> -@@ -1,39 +0,0 @@
> --/* Linux definitions of functions used by static libc main startup.
> --   Copyright (C) 2017-2022 Free Software Foundation, Inc.
> --   This file is part of the GNU C Library.
> --
> --   The GNU C Library is free software; you can redistribute it and/or
> --   modify it under the terms of the GNU Lesser General Public
> --   License as published by the Free Software Foundation; either
> --   version 2.1 of the License, or (at your option) any later version.
> --
> --   The GNU C Library is distributed in the hope that it will be useful,
> --   but WITHOUT ANY WARRANTY; without even the implied warranty of
> --   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> --   Lesser General Public License for more details.
> --
> --   You should have received a copy of the GNU Lesser General Public
> --   License along with the GNU C Library; if not, see
> --   <https://www.gnu.org/licenses/>.  */
> --
> --#ifdef SHARED
> --# include_next <startup.h>
> --#else
> --# include <sysdep.h>
> --
> --/* Avoid a run-time invocation of strlen.  */
> --#define _startup_fatal(message)                                         \
> --  do                                                                    \
> --    {                                                                   \
> --      size_t __message_length = __builtin_strlen (message);             \
> --      if (! __builtin_constant_p (__message_length))                    \
> --        {                                                               \
> --          extern void _startup_fatal_not_constant (void);               \
> --          _startup_fatal_not_constant ();                               \
> --        }                                                               \
> --      INTERNAL_SYSCALL_CALL (write, STDERR_FILENO, (message),           \
> --                             __message_length);                         \
> --      INTERNAL_SYSCALL_CALL (exit_group, 127);                          \
> --    }                                                                   \
> --  while (0)
> --#endif  /* !SHARED */
> diff --git a/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
> b/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
> new file mode 100644
> index 0000000000..1f3426295a
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch
> @@ -0,0 +1,28 @@
> +From 5e635e5dc7d1b21a78f38109d4f43a03bec865c8 Mon Sep 17 00:00:00 2001
> +From: "H.J. Lu" <hjl.tools@gmail.com>
> +Date: Sun, 7 Aug 2022 12:51:48 +0200
> +Subject: [PATCH] startup: Force -O2
> +
> +Upstream-Status: Submitted [
> https://sourceware.org/bugzilla/show_bug.cgi?id=29249]
> +
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + sysdeps/unix/sysv/linux/startup.h | 5 +++++
> + 1 file changed, 5 insertions(+)
> +
> +diff --git a/sysdeps/unix/sysv/linux/startup.h
> b/sysdeps/unix/sysv/linux/startup.h
> +index 39859b404a..e1fc1b682d 100644
> +--- a/sysdeps/unix/sysv/linux/startup.h
> ++++ b/sysdeps/unix/sysv/linux/startup.h
> +@@ -21,6 +21,11 @@
> + #else
> + # include <sysdep.h>
> +
> ++# if !defined __OPTIMIZE__ || __OPTIMIZE__ < 2
> ++/* Force to fold strlen.  */
> ++#  pragma GCC optimize(2)
> ++# endif
> ++
> + /* Avoid a run-time invocation of strlen.  */
> + #define _startup_fatal(message)                                         \
> +   do                                                                    \
> diff --git a/meta/recipes-core/glibc/glibc_2.36.bb
> b/meta/recipes-core/glibc/glibc_2.36.bb
> index 6ccb392f09..1cfa8101ef 100644
> --- a/meta/recipes-core/glibc/glibc_2.36.bb
> +++ b/meta/recipes-core/glibc/glibc_2.36.bb
> @@ -50,7 +50,7 @@ SRC_URI =
> "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
>
> file://0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \
>
> file://0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
>
> file://0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
> -
>  file://0025-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
> +           file://0025-startup-Force-O2.patch \
>  "
>  S = "${WORKDIR}/git"
>  B = "${WORKDIR}/build-${TARGET_SYS}"
> --
> 2.37.2
>
>

[-- Attachment #2: Type: text/html, Size: 11712 bytes --]

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

end of thread, other threads:[~2022-08-15 21:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-12 19:27 [PATCH] glibc: Bump to latest 2.36 branch Khem Raj
2022-08-13 12:38 ` [PATCH 2/2] glibc: apply proposed patch from upstream instead of revert Martin Jansa
2022-08-15 21:17   ` Martin Jansa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).