Hi! On 2020-04-23T13:05:33+0200, I wrote: > On 2020-04-23T09:15:29+0100, Andrew Stubbs <a...@codesourcery.com> wrote: >> On 22/04/2020 22:10, Kwok Cheung Yeung wrote: >>> [...] allows the following tests in the libgomp >>> testsuite that were previously failing with a linker error to compile >>> and run, provided that they do not throw any exceptions: >>> >>> libgomp.c-c++-common/function-not-offloaded.c >>> libgomp.c++/for-15.C >>> libgomp.c++/for-24.C >>> libgomp.oacc-c-c++-common/routine-1.c >>> libgomp.oacc-c++/pr71959.C >>> libgomp.oacc-c++/routine-1-auto.C >>> libgomp.oacc-c++/routine-1-template-auto.C >>> libgomp.oacc-c++/routine-1-template-trailing-return-type.C >>> libgomp.oacc-c++/routine-1-template.C >>> libgomp.oacc-c++/routine-1-trailing-return-type.C > > That's <https://gcc.gnu.org/PR94282> "[amdgcn] ld: error: undefined > symbol: __gxx_personality_v0"
> I suggest we [...] apply what I'd proposed a month ago in > <https://gcc.gnu.org/PR94282> "[amdgcn] ld: error: undefined symbol: > __gxx_personality_v0", and now yesterday (coincidentally) posted. Now pushed to master branch in commit 7f1989249e25af6fc0f124452efa24b3796b767a "[gcn] Set 'UI_NONE' for 'TARGET_EXCEPT_UNWIND_INFO' [PR94282]", see attached. Grüße Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
>From 7f1989249e25af6fc0f124452efa24b3796b767a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Tue, 21 Apr 2020 22:39:33 +0200 Subject: [PATCH] [gcn] Set 'UI_NONE' for 'TARGET_EXCEPT_UNWIND_INFO' [PR94282] In libgomp offloading testing, this resolves all the 'ld: error: undefined symbol: __gxx_personality_v0' FAILs. gcc/ PR target/94282 * common/config/gcn/gcn-common.c (gcn_except_unwind_info): New function. (TARGET_EXCEPT_UNWIND_INFO): Define. libgomp/ PR target/94282 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove 'dg-allow-blank-lines-in-output'. --- gcc/ChangeLog | 7 +++++++ gcc/common/config/gcn/gcn-common.c | 9 +++++++++ libgomp/ChangeLog | 4 ++++ .../libgomp.c-c++-common/function-not-offloaded.c | 1 - 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3321e8839707..2ba39f67200f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2020-04-29 Thomas Schwinge <tho...@codesourcery.com> + + PR target/94282 + * common/config/gcn/gcn-common.c (gcn_except_unwind_info): New + function. + (TARGET_EXCEPT_UNWIND_INFO): Define. + 2020-04-29 Jakub Jelinek <ja...@redhat.com> PR target/94248 diff --git a/gcc/common/config/gcn/gcn-common.c b/gcc/common/config/gcn/gcn-common.c index 84a567b2bbbb..9642f9cc5a6c 100644 --- a/gcc/common/config/gcn/gcn-common.c +++ b/gcc/common/config/gcn/gcn-common.c @@ -34,4 +34,13 @@ static const struct default_options gcn_option_optimization_table[] = #undef TARGET_OPTION_OPTIMIZATION_TABLE #define TARGET_OPTION_OPTIMIZATION_TABLE gcn_option_optimization_table +static enum unwind_info_type +gcn_except_unwind_info (struct gcc_options *opts ATTRIBUTE_UNUSED) +{ + return UI_NONE; +} + +#undef TARGET_EXCEPT_UNWIND_INFO +#define TARGET_EXCEPT_UNWIND_INFO gcn_except_unwind_info + struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index cfe6e0653c92..1a7046f2fc64 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,5 +1,9 @@ 2020-04-29 Thomas Schwinge <tho...@codesourcery.com> + PR target/94282 + * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove + 'dg-allow-blank-lines-in-output'. + * oacc-init.c (get_openacc_name): Handle 'gcn'. * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type) [amdgcn*]: Return diff --git a/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c b/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c index f01a64e72c07..9e59ef8864e7 100644 --- a/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c +++ b/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c @@ -1,6 +1,5 @@ /* { dg-do link } */ /* { dg-excess-errors "unresolved symbol foo, lto1, mkoffload and lto-wrapper fatal errors" { target offload_device_nonshared_as } } */ -/* { dg-allow-blank-lines-in-output 1 } */ /* { dg-additional-sources "function-not-offloaded-aux.c" } */ #pragma omp declare target -- 2.26.2