mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
glibc: apply proposed patch from upstream instead of revert
(From OE-Core rev: 2ea82a52dcbb88aa49d336c9dbd464e4116dba74) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
760cdeee76
commit
44c867d7fb
-128
@@ -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 */
|
||||
@@ -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 \
|
||||
@@ -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}"
|
||||
|
||||
Reference in New Issue
Block a user