|
@@ -1,132 +0,0 @@
|
|
|
-From dfda505870f94a7ac8063eb47f622ddc65665ff1 Mon Sep 17 00:00:00 2001
|
|
|
-From: James Hilliard <james.hilliard1@gmail.com>
|
|
|
-Date: Tue, 14 Jun 2022 19:42:43 -0600
|
|
|
-Subject: [PATCH] Revert "Linux: Implement a useful version of _startup_fatal"
|
|
|
-
|
|
|
-Fixes:
|
|
|
-csu/libc-tls.c:202: undefined reference to `_startup_fatal_not_constant'
|
|
|
-
|
|
|
-This reverts commit 2d05ba7f8ef979947e910a37ae8115a816eb4d08.
|
|
|
-
|
|
|
-Signed-off-by: James Hilliard <james.hilliard1@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 */
|
|
|
---
|
|
|
-2.25.1
|
|
|
-
|