From: Joel Brobecker Date: Mon, 6 Apr 2020 19:07:48 +0000 (-0700) Subject: skip gcc.target/arm/div64-unwinding.c on vxworks_kernel targets X-Git-Tag: basepoints/gcc-11~507 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=130f703da0c0d7b785d394b17df884379b4aadd9;p=thirdparty%2Fgcc.git skip gcc.target/arm/div64-unwinding.c on vxworks_kernel targets This test verifies, by using a weak reference to _Unwind_RaiseException, that performing division by zero does not cause that symbol to get indirectly pulled into our closure. The testing methodology unfortunately does not work on VxWorks targets when building in kernel mode. This is inherent to how kernel mode on VxWorks works: The link is only partial and the remaining symbols which have not been resolved already get automatically resolved by the VxWorks loader at the moment the module is loaded onto the target, prior to execution. The resolution includes weak symbols too, which defeats the purpose of this test. gcc/testsuite/ * gcc.target/arm/div64-unwinding.c: Skip on vxworks_kernel targets. --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 29830633d793..2198e18198b4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-04-06 Joel Brobecker + + * gcc.target/arm/div64-unwinding.c: Skip on vxworks_kernel targets. + 2020-04-04 Marek Polacek PR c++/94155 - crash in gimplifier with paren init of aggregates. diff --git a/gcc/testsuite/gcc.target/arm/div64-unwinding.c b/gcc/testsuite/gcc.target/arm/div64-unwinding.c index 09442811fb63..c10ac2483546 100644 --- a/gcc/testsuite/gcc.target/arm/div64-unwinding.c +++ b/gcc/testsuite/gcc.target/arm/div64-unwinding.c @@ -1,6 +1,7 @@ /* Performing a 64-bit division should not pull in the unwinder. */ /* { dg-do run { target { { ! *-*-linux* } && { ! *-*-uclinux* } } } } */ +/* { dg-skip-if "load causes weak symbol resolution" { vxworks_kernel } } */ /* { dg-options "-O0" } */ #include