[2/3] Stub implementation of unwinding for AMD GCN.

Message ID faf4f420-e596-ec4f-dbee-1f73e3b98563@codesourcery.com
State New
Headers show
Series
  • Enable full libgfortran for AMD GCN
Related show

Commit Message

Andrew Stubbs June 7, 2019, 2:40 p.m.
This patch provides the "_Unwind_Backtrace" and "_Unwind_GetIPInfo" 
symbols required to link programs using libgfortran.

I do not wish to implement proper backtracing at this time (I have other 
things to work on), and IIUC none of the existing implementations will 
Just Work.

OK to commit?

-- 
Andrew Stubbs
Mentor Graphics / CodeSourcery

Comments

Andrew Stubbs June 19, 2019, 8:58 a.m. | #1
Ping.

I can probably approve this myself, as it only affects GCN, but I'd 
appreciate a second opinion.

Thanks

Andrew

On 07/06/2019 15:40, Andrew Stubbs wrote:
> This patch provides the "_Unwind_Backtrace" and "_Unwind_GetIPInfo" 

> symbols required to link programs using libgfortran.

> 

> I do not wish to implement proper backtracing at this time (I have other 

> things to work on), and IIUC none of the existing implementations will 

> Just Work.

> 

> OK to commit?

>
Jeff Law June 19, 2019, 4:04 p.m. | #2
On 6/19/19 2:58 AM, Andrew Stubbs wrote:
> Ping.

> 

> I can probably approve this myself, as it only affects GCN, but I'd

> appreciate a second opinion.

Similarly this is fine to self-approve.  Thanks.

Jeff
Andrew Stubbs June 19, 2019, 4:57 p.m. | #3
On 19/06/2019 17:04, Jeff Law wrote:
> On 6/19/19 2:58 AM, Andrew Stubbs wrote:

>> Ping.

>>

>> I can probably approve this myself, as it only affects GCN, but I'd

>> appreciate a second opinion.

> Similarly this is fine to self-approve.  Thanks.


Sorry, same again, I meant I'd like another opinion on the patch contents.

Andrew

Patch

Stub implementation of unwinding for AMD GCN.

2019-06-07  Andrew Stubbs  <ams@codesourcery.com>

	libgcc/
	* config/gcn/t-amdgcn (LIB2ADD): Add unwind-gcn.c.
	* config/gcn/unwind-gcn.c: New file.

diff --git a/libgcc/config/gcn/t-amdgcn b/libgcc/config/gcn/t-amdgcn
index 8687c9f3d9f..adbd866a1d9 100644
--- a/libgcc/config/gcn/t-amdgcn
+++ b/libgcc/config/gcn/t-amdgcn
@@ -1,5 +1,6 @@ 
 LIB2ADD += $(srcdir)/config/gcn/lib2-divmod.c \
-	   $(srcdir)/config/gcn/lib2-divmod-hi.c
+	   $(srcdir)/config/gcn/lib2-divmod-hi.c \
+	   $(srcdir)/config/gcn/unwind-gcn.c
 
 LIB2ADDEH=
 LIB2FUNCS_EXCLUDE=__main
diff --git a/libgcc/config/gcn/unwind-gcn.c b/libgcc/config/gcn/unwind-gcn.c
new file mode 100644
index 00000000000..8aa84d372c3
--- /dev/null
+++ b/libgcc/config/gcn/unwind-gcn.c
@@ -0,0 +1,37 @@ 
+/* Stub unwinding implementation.
+
+   Copyright (C) 2019 Free Software Foundation, Inc.
+   Contributed by Mentor Graphics
+
+   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;
+}