From 26d3146736218ccaaaafdaba4da1edf969bc190d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge 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 --- 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 diff --git a/libgcc/ChangeLog.omp b/libgcc/ChangeLog.omp index 2e7bf5cc029..c46f49bf5b7 100644 --- a/libgcc/ChangeLog.omp +++ b/libgcc/ChangeLog.omp @@ -1,3 +1,9 @@ +2023-01-20 Thomas Schwinge + Andrew Stubbs + + * config/nvptx/t-nvptx: Add unwind-nvptx.c. + * config/nvptx/unwind-nvptx.c: New file. + 2023-01-20 Thomas Schwinge * config/nvptx/crtstuff.c ["mgomp"] diff --git a/libgcc/config/nvptx/t-nvptx b/libgcc/config/nvptx/t-nvptx index 9a0454c3a4d..1845a38a35e 100644 --- a/libgcc/config/nvptx/t-nvptx +++ b/libgcc/config/nvptx/t-nvptx @@ -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= diff --git a/libgcc/config/nvptx/unwind-nvptx.c b/libgcc/config/nvptx/unwind-nvptx.c new file mode 100644 index 00000000000..c657b2af6f3 --- /dev/null +++ b/libgcc/config/nvptx/unwind-nvptx.c @@ -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 + . */ + +#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