From 26d3146736218ccaaaafdaba4da1edf969bc190d Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Wed, 21 Sep 2022 18:58:34 +0200
Subject: [PATCH] nvptx, libgcc: Stub unwinding implementation
Adding stub '_Unwind_Backtrace', '_Unwind_GetIPInfo' functions is necessary
for linking libbacktrace, as a normal (non-'LIBGFOR_MINIMAL') configuration
of libgfortran wants to do, for example.
The file 'libgcc/config/nvptx/unwind-nvptx.c' is copied from
'libgcc/config/gcn/unwind-gcn.c'.
libgcc/ChangeLog:
* config/nvptx/t-nvptx: Add unwind-nvptx.c.
* config/nvptx/unwind-nvptx.c: New file.
Co-authored-by: Andrew Stubbs <ams@codesourcery.com>
---
libgcc/ChangeLog.omp | 6 +++++
libgcc/config/nvptx/t-nvptx | 3 ++-
libgcc/config/nvptx/unwind-nvptx.c | 36 ++++++++++++++++++++++++++++++
3 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 libgcc/config/nvptx/unwind-nvptx.c
@@ -1,3 +1,9 @@
+2023-01-20 Thomas Schwinge <thomas@codesourcery.com>
+ Andrew Stubbs <ams@codesourcery.com>
+
+ * config/nvptx/t-nvptx: Add unwind-nvptx.c.
+ * config/nvptx/unwind-nvptx.c: New file.
+
2023-01-20 Thomas Schwinge <thomas@codesourcery.com>
* config/nvptx/crtstuff.c ["mgomp"]
@@ -1,6 +1,7 @@
LIB2ADD=$(srcdir)/config/nvptx/reduction.c \
$(srcdir)/config/nvptx/mgomp.c \
- $(srcdir)/config/nvptx/atomic.c
+ $(srcdir)/config/nvptx/atomic.c \
+ $(srcdir)/config/nvptx/unwind-nvptx.c
LIB2ADDEH=
LIB2FUNCS_EXCLUDE=
new file mode 100644
@@ -0,0 +1,36 @@
+/* Stub unwinding implementation.
+
+ Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+ This file is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3, or (at your option) any
+ later version.
+
+ This file 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
+ General Public License for more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include "unwind.h"
+
+_Unwind_Reason_Code
+_Unwind_Backtrace(_Unwind_Trace_Fn trace, void * trace_argument)
+{
+ return 0;
+}
+
+_Unwind_Ptr
+_Unwind_GetIPInfo (struct _Unwind_Context *c, int *ip_before_insn)
+{
+ return 0;
+}
--
2.25.1