Commit e8977296 by Christophe Lyon Committed by Christophe Lyon

[ARM/FDPIC v6 17/24] [ARM][testsuite] FDPIC: Handle *-*-uclinux*

Add *-*-uclinux* to tests that work on this target.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

	gcc/testsuite/
	* g++.dg/abi/forced.C: Add *-*-uclinux*.
	* g++.dg/abi/guard2.C: Likewise.
	* g++.dg/ext/cleanup-10.C: Likewise.
	* g++.dg/ext/cleanup-11.C: Likewise.
	* g++.dg/ext/cleanup-8.C: Likewise.
	* g++.dg/ext/cleanup-9.C: Likewise.
	* g++.dg/ext/sync-4.C: Likewise.
	* g++.dg/ipa/comdat.C: Likewise.
	* gcc.dg/20041106-1.c: Likewise.
	* gcc.dg/cleanup-10.c: Likewise.
	* gcc.dg/cleanup-11.c: Likewise.
	* gcc.dg/cleanup-8.c: Likewise.
	* gcc.dg/cleanup-9.c: Likewise.
	* gcc.dg/fdata-sections-1.c: Likewise.
	* gcc.dg/fdata-sections-2.c: Likewise.
	* gcc.dg/pr39323-1.c: Likewise.
	* gcc.dg/pr39323-2.c: Likewise.
	* gcc.dg/pr39323-3.c: Likewise.
	* gcc.dg/pr65780-1.c: Likewise.
	* gcc.dg/pr65780-2.c: Likewise.
	* gcc.dg/pr67338.c: Likewise.
	* gcc.dg/pr78185.c: Likewise.
	* gcc.dg/pr83100-1.c: Likewise.
	* gcc.dg/pr83100-4.c: Likewise.
	* gcc.dg/strlenopt-12g.c: Likewise.
	* gcc.dg/strlenopt-14g.c: Likewise.
	* gcc.dg/strlenopt-14gf.c: Likewise.
	* gcc.dg/strlenopt-16g.c: Likewise.
	* gcc.dg/strlenopt-17g.c: Likewise.
	* gcc.dg/strlenopt-18g.c: Likewise.
	* gcc.dg/strlenopt-1f.c: Likewise.
	* gcc.dg/strlenopt-22g.c: Likewise.
	* gcc.dg/strlenopt-2f.c: Likewise.
	* gcc.dg/strlenopt-31g.c: Likewise.
	* gcc.dg/strlenopt-33g.c: Likewise.
	* gcc.dg/strlenopt-4g.c: Likewise.
	* gcc.dg/strlenopt-4gf.c: Likewise.
	* gcc.dg/strncmp-2.c: Likewise.
	* gcc.dg/struct-ret-3.c: Likewise.
	* gcc.dg/torture/pr69760.c: Likewise.
	* gcc.target/arm/div64-unwinding.c: Likewise.
	* gcc.target/arm/stack-checking.c: Likewise.
	* gcc.target/arm/synchronize.c: Likewise.
	* gcc.target/arm/pr66912.c: Add arm*-*-uclinuxfdpiceabi.
	* lib/target-supports.exp (check_effective_target_pie): Likewise.
	(check_effective_target_sync_long_long_runtime): Likewise.
	(check_effective_target_sync_int_long): Likewise.
	(check_effective_target_sync_char_short): Likewise.

From-SVN: r275579
parent ee442e15
2019-09-10 Christophe Lyon <christophe.lyon@st.com> 2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* g++.dg/abi/forced.C: Add *-*-uclinux*.
* g++.dg/abi/guard2.C: Likewise.
* g++.dg/ext/cleanup-10.C: Likewise.
* g++.dg/ext/cleanup-11.C: Likewise.
* g++.dg/ext/cleanup-8.C: Likewise.
* g++.dg/ext/cleanup-9.C: Likewise.
* g++.dg/ext/sync-4.C: Likewise.
* g++.dg/ipa/comdat.C: Likewise.
* gcc.dg/20041106-1.c: Likewise.
* gcc.dg/cleanup-10.c: Likewise.
* gcc.dg/cleanup-11.c: Likewise.
* gcc.dg/cleanup-8.c: Likewise.
* gcc.dg/cleanup-9.c: Likewise.
* gcc.dg/fdata-sections-1.c: Likewise.
* gcc.dg/fdata-sections-2.c: Likewise.
* gcc.dg/pr39323-1.c: Likewise.
* gcc.dg/pr39323-2.c: Likewise.
* gcc.dg/pr39323-3.c: Likewise.
* gcc.dg/pr65780-1.c: Likewise.
* gcc.dg/pr65780-2.c: Likewise.
* gcc.dg/pr67338.c: Likewise.
* gcc.dg/pr78185.c: Likewise.
* gcc.dg/pr83100-1.c: Likewise.
* gcc.dg/pr83100-4.c: Likewise.
* gcc.dg/strlenopt-12g.c: Likewise.
* gcc.dg/strlenopt-14g.c: Likewise.
* gcc.dg/strlenopt-14gf.c: Likewise.
* gcc.dg/strlenopt-16g.c: Likewise.
* gcc.dg/strlenopt-17g.c: Likewise.
* gcc.dg/strlenopt-18g.c: Likewise.
* gcc.dg/strlenopt-1f.c: Likewise.
* gcc.dg/strlenopt-22g.c: Likewise.
* gcc.dg/strlenopt-2f.c: Likewise.
* gcc.dg/strlenopt-31g.c: Likewise.
* gcc.dg/strlenopt-33g.c: Likewise.
* gcc.dg/strlenopt-4g.c: Likewise.
* gcc.dg/strlenopt-4gf.c: Likewise.
* gcc.dg/strncmp-2.c: Likewise.
* gcc.dg/struct-ret-3.c: Likewise.
* gcc.dg/torture/pr69760.c: Likewise.
* gcc.target/arm/div64-unwinding.c: Likewise.
* gcc.target/arm/stack-checking.c: Likewise.
* gcc.target/arm/synchronize.c: Likewise.
* gcc.target/arm/pr66912.c: Add arm*-*-uclinuxfdpiceabi.
* lib/target-supports.exp (check_effective_target_pie): Likewise.
(check_effective_target_sync_long_long_runtime): Likewise.
(check_effective_target_sync_int_long): Likewise.
(check_effective_target_sync_char_short): Likewise.
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* gcc.target/arm/eliminate.c: Accept only nonpic targets. * gcc.target/arm/eliminate.c: Accept only nonpic targets.
* g++.dg/other/anon5.C: Likewise. * g++.dg/other/anon5.C: Likewise.
......
// { dg-do run { target *-*-linux* *-*-gnu* } } // { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } }
// { dg-options "-pthread" } // { dg-options "-pthread" }
#include <pthread.h> #include <pthread.h>
......
// PR c++/41611 // PR c++/41611
// Test that the guard gets its own COMDAT group. // Test that the guard gets its own COMDAT group.
// { dg-final { scan-assembler "_ZGVZN1A1fEvE1i,comdat" { target *-*-linux* *-*-gnu* } } } // { dg-final { scan-assembler "_ZGVZN1A1fEvE1i,comdat" { target *-*-linux* *-*-gnu* *-*-uclinux* } } }
struct A { struct A {
static int f() static int f()
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* Verify that cleanups work with exception handling through signal frames /* Verify that cleanups work with exception handling through signal frames
on alternate stack. */ on alternate stack. */
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* Verify that cleanups work with exception handling through realtime signal /* Verify that cleanups work with exception handling through realtime signal
frames on alternate stack. */ frames on alternate stack. */
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* Verify that cleanups work with exception handling through signal /* Verify that cleanups work with exception handling through signal
frames. */ frames. */
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* Verify that cleanups work with exception handling through realtime /* Verify that cleanups work with exception handling through realtime
signal frames. */ signal frames. */
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* FIXME The following additional option should be removed after the fix for radr://19802258. /* FIXME The following additional option should be removed after the fix for radr://19802258.
/* { dg-xfail-run-if "PR60563 radr://19802258" { *-*-darwin* } } */ /* { dg-xfail-run-if "PR60563 radr://19802258" { *-*-darwin* } } */
/* { dg-require-effective-target sync_long_long_runtime } */ /* { dg-require-effective-target sync_long_long_runtime } */
......
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-ipa-comdats" } */ /* { dg-options "-O2 -fdump-ipa-comdats" } */
#include <stdio.h> #include <stdio.h>
__attribute__ ((noinline)) __attribute__ ((noinline))
......
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-solaris* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-solaris* *-*-uclinux* } } */
/* { dg-options -O2 } */ /* { dg-options -O2 } */
#include <sys/types.h> #include <sys/types.h>
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* { dg-require-effective-target exceptions } */ /* { dg-require-effective-target exceptions } */
/* Verify that cleanups work with exception handling through signal frames /* Verify that cleanups work with exception handling through signal frames
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* { dg-require-effective-target exceptions } */ /* { dg-require-effective-target exceptions } */
/* Verify that cleanups work with exception handling through realtime signal /* Verify that cleanups work with exception handling through realtime signal
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* { dg-require-effective-target exceptions } */ /* { dg-require-effective-target exceptions } */
/* Verify that cleanups work with exception handling through signal /* Verify that cleanups work with exception handling through signal
......
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
/* { dg-require-effective-target exceptions } */ /* { dg-require-effective-target exceptions } */
/* Verify that cleanups work with exception handling through realtime /* Verify that cleanups work with exception handling through realtime
......
/* PR middle-end/15486 */ /* PR middle-end/15486 */
/* Origin: Jonathan Larmour <jifl-bugzilla@jifvik.org> */ /* Origin: Jonathan Larmour <jifl-bugzilla@jifvik.org> */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-fdata-sections" } */ /* { dg-options "-fdata-sections" } */
int x; int x;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
/* This checks that string constants are put in per-function rodata /* This checks that string constants are put in per-function rodata
sections, so that they can be garbage collected. */ sections, so that they can be garbage collected. */
/* { dg-do compile { target *-*-linux* } } */ /* { dg-do compile { target *-*-linux* *-*-uclinux* } } */
/* { dg-options "-O -ffunction-sections -fdata-sections" } */ /* { dg-options "-O -ffunction-sections -fdata-sections" } */
const char *f1(void) { return "falderalde"; } const char *f1(void) { return "falderalde"; }
......
/* PR c/39323 - MAX_OFILE_ALIGNMENT in elfos.h is too big */ /* PR c/39323 - MAX_OFILE_ALIGNMENT in elfos.h is too big */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
int foo __attribute__ ((aligned(1 << 29))) = 20; /* { dg-error "requested alignment" } */ int foo __attribute__ ((aligned(1 << 29))) = 20; /* { dg-error "requested alignment" } */
typedef int __attribute__ ((aligned(1 << 29))) int29; /* { dg-error "requested alignment" } */ typedef int __attribute__ ((aligned(1 << 29))) int29; /* { dg-error "requested alignment" } */
/* PR c/39323 */ /* PR c/39323 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
int bar __attribute__ ((aligned(1 << 28))) = 20; int bar __attribute__ ((aligned(1 << 28))) = 20;
......
/* PR c/39323 */ /* PR c/39323 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
typedef int __attribute__ ((aligned(1 << 28))) int28; typedef int __attribute__ ((aligned(1 << 28))) int28;
int28 foo = 20; int28 foo = 20;
......
/* PR target/65780 */ /* PR target/65780 */
/* { dg-do link { target *-*-linux* *-*-gnu* } } */ /* { dg-do link { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
int optopt; int optopt;
......
/* PR target/65780 */ /* PR target/65780 */
/* { dg-do link { target *-*-linux* *-*-gnu* } } */ /* { dg-do link { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-require-effective-target pie } */ /* { dg-require-effective-target pie } */
/* { dg-options "-O2 -fpie" } */ /* { dg-options "-O2 -fpie" } */
......
/* PR c/67338 */ /* PR c/67338 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
struct S { __attribute__((aligned (1 << 28))) double a; }; struct S { __attribute__((aligned (1 << 28))) double a; };
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O" } */ /* { dg-options "-O" } */
#include <unistd.h> #include <unistd.h>
......
/* PR target/83100 */ /* PR target/83100 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fcommon -fdata-sections" } */ /* { dg-options "-O2 -fcommon -fdata-sections" } */
const int a; const int a;
......
/* PR target/83100 */ /* PR target/83100 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */ /* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fno-common -fdata-sections" } */ /* { dg-options "-O2 -fno-common -fdata-sections" } */
const int a; const int a;
......
/* This test needs runtime that provides stpcpy function. */ /* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides stpcpy and mempcpy functions. */ /* This test needs runtime that provides stpcpy and mempcpy functions. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
/* Bionic targets don't have mempcpy */ /* Bionic targets don't have mempcpy */
/* { dg-require-effective-target non_bionic } */ /* { dg-require-effective-target non_bionic } */
......
/* This test needs runtime that provides stpcpy, mempcpy and __*_chk /* This test needs runtime that provides stpcpy, mempcpy and __*_chk
functions. */ functions. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
/* Bionic targets don't have mempcpy */ /* Bionic targets don't have mempcpy */
/* { dg-require-effective-target non_bionic } */ /* { dg-require-effective-target non_bionic } */
......
/* This test needs runtime that provides stpcpy function. */ /* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides stpcpy function. */ /* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides stpcpy function. */ /* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides __*_chk functions. */ /* This test needs runtime that provides __*_chk functions. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinu* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define FORTIFY_SOURCE 2 #define FORTIFY_SOURCE 2
......
/* This test needs runtime that provides stpcpy function. */ /* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides __*_chk functions. */ /* This test needs runtime that provides __*_chk functions. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define FORTIFY_SOURCE 2 #define FORTIFY_SOURCE 2
......
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides stpcpy function. */ /* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* This test needs runtime that provides stpcpy and __*_chk functions. */ /* This test needs runtime that provides stpcpy and __*_chk functions. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */ /* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU #define USE_GNU
......
/* Test strncmp builtin expansion for compilation and proper execution. */ /* Test strncmp builtin expansion for compilation and proper execution. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
/* { dg-require-effective-target ptr32plus } */ /* { dg-require-effective-target ptr32plus } */
......
/* PR middle-end/31309 */ /* PR middle-end/31309 */
/* Origin: Peeter Joot <peeterj@ca.ibm.com> */ /* Origin: Peeter Joot <peeterj@ca.ibm.com> */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */ /* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-add-options stack_size } */ /* { dg-add-options stack_size } */
#include <sys/mman.h> #include <sys/mman.h>
......
/* PR tree-optimization/69760 */ /* PR tree-optimization/69760 */
/* { dg-do run { target { { *-*-linux* *-*-gnu* } && mmap } } } */ /* { dg-do run { target { { *-*-linux* *-*-gnu* *-*-uclinux* } && mmap } } } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
#include <unistd.h> #include <unistd.h>
......
/* Performing a 64-bit division should not pull in the unwinder. */ /* Performing a 64-bit division should not pull in the unwinder. */
/* { dg-do run { target { ! *-*-linux* } } } */ /* { dg-do run { target { { ! *-*-linux* } && { ! *-*-uclinux* } } } } */
/* { dg-options "-O0" } */ /* { dg-options "-O0" } */
#include <stdlib.h> #include <stdlib.h>
......
/* { dg-do compile { target *-*-linux* } } */ /* { dg-do compile { target *-*-linux* arm*-*-uclinuxfdpiceabi } } */
/* { dg-options "-O2 -fpic" } */ /* { dg-options "-O2 -fpic" } */
__attribute__((visibility("protected"))) __attribute__((visibility("protected")))
......
/* { dg-do run { target { *-*-linux* } } } */ /* { dg-do run { target { *-*-linux* *-*-uclinux* } } } */
/* { dg-require-stack-check "" } */ /* { dg-require-stack-check "" } */
/* { dg-options "-fstack-check" } */ /* { dg-options "-fstack-check" } */
......
/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-* } } } */ /* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-* arm*-*-uclinux* } } } */
void *foo (void) void *foo (void)
{ {
......
...@@ -1206,6 +1206,7 @@ proc check_effective_target_pie { } { ...@@ -1206,6 +1206,7 @@ proc check_effective_target_pie { } {
|| [istarget *-*-dragonfly*] || [istarget *-*-dragonfly*]
|| [istarget *-*-freebsd*] || [istarget *-*-freebsd*]
|| [istarget *-*-linux*] || [istarget *-*-linux*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| [istarget *-*-gnu*] || [istarget *-*-gnu*]
|| [istarget *-*-amdhsa]} { || [istarget *-*-amdhsa]} {
return 1; return 1;
...@@ -6857,6 +6858,7 @@ proc check_effective_target_sync_long_long_runtime { } { ...@@ -6857,6 +6858,7 @@ proc check_effective_target_sync_long_long_runtime { } {
} "" } ""
}]) }])
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| ([istarget arm*-*-linux-*] || ([istarget arm*-*-linux-*]
&& [check_runtime sync_longlong_runtime { && [check_runtime sync_longlong_runtime {
#include <stdlib.h> #include <stdlib.h>
...@@ -6916,6 +6918,7 @@ proc check_effective_target_sync_int_long { } { ...@@ -6916,6 +6918,7 @@ proc check_effective_target_sync_int_long { } {
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
|| [istarget arm*-*-linux-*] || [istarget arm*-*-linux-*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| ([istarget arm*-*-*] || ([istarget arm*-*-*]
&& [check_effective_target_arm_acq_rel]) && [check_effective_target_arm_acq_rel])
|| [istarget bfin*-*linux*] || [istarget bfin*-*linux*]
...@@ -6939,6 +6942,7 @@ proc check_effective_target_sync_char_short { } { ...@@ -6939,6 +6942,7 @@ proc check_effective_target_sync_char_short { } {
|| [istarget i?86-*-*] || [istarget x86_64-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
|| [istarget arm*-*-linux-*] || [istarget arm*-*-linux-*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| ([istarget arm*-*-*] || ([istarget arm*-*-*]
&& [check_effective_target_arm_acq_rel]) && [check_effective_target_arm_acq_rel])
|| [istarget hppa*-*linux*] || [istarget hppa*-*linux*]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment