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>
* 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.
* g++.dg/other/anon5.C: Likewise.
......
// { dg-do run { target *-*-linux* *-*-gnu* } }
// { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } }
// { dg-options "-pthread" }
#include <pthread.h>
......
// PR c++/41611
// 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 {
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" } */
/* Verify that cleanups work with exception handling through signal 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" } */
/* Verify that cleanups work with exception handling through realtime signal
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" } */
/* 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" } */
/* Verify that cleanups work with exception handling through realtime
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.
/* { dg-xfail-run-if "PR60563 radr://19802258" { *-*-darwin* } } */
/* { 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" } */
#include <stdio.h>
__attribute__ ((noinline))
......
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-solaris* } } */
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-solaris* *-*-uclinux* } } */
/* { dg-options -O2 } */
#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-require-effective-target exceptions } */
/* 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-require-effective-target exceptions } */
/* 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-require-effective-target exceptions } */
/* 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-require-effective-target exceptions } */
/* Verify that cleanups work with exception handling through realtime
......
/* PR middle-end/15486 */
/* Origin: Jonathan Larmour <jifl-bugzilla@jifvik.org> */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
/* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-fdata-sections" } */
int x;
......
......@@ -4,7 +4,7 @@
/* This checks that string constants are put in per-function rodata
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" } */
const char *f1(void) { return "falderalde"; }
......
/* 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" } */
typedef int __attribute__ ((aligned(1 << 29))) int29; /* { dg-error "requested alignment" } */
/* PR c/39323 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
/* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
int bar __attribute__ ((aligned(1 << 28))) = 20;
......
/* PR c/39323 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
/* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
typedef int __attribute__ ((aligned(1 << 28))) int28;
int28 foo = 20;
......
/* PR target/65780 */
/* { dg-do link { target *-*-linux* *-*-gnu* } } */
/* { dg-do link { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2" } */
int optopt;
......
/* PR target/65780 */
/* { dg-do link { target *-*-linux* *-*-gnu* } } */
/* { dg-do link { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-require-effective-target pie } */
/* { dg-options "-O2 -fpie" } */
......
/* PR c/67338 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
/* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
struct S { __attribute__((aligned (1 << 28))) double a; };
/* { dg-do run { target *-*-linux* *-*-gnu* } } */
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O" } */
#include <unistd.h>
......
/* PR target/83100 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
/* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fcommon -fdata-sections" } */
const int a;
......
/* PR target/83100 */
/* { dg-do compile { target *-*-linux* *-*-gnu* } } */
/* { dg-do compile { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fno-common -fdata-sections" } */
const int a;
......
/* This test needs runtime that provides stpcpy function. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2" } */
#define USE_GNU
......
/* 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" } */
/* Bionic targets don't have mempcpy */
/* { dg-require-effective-target non_bionic } */
......
/* This test needs runtime that provides stpcpy, mempcpy and __*_chk
functions. */
/* { dg-do run { target *-*-linux* *-*-gnu* } } */
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */
/* Bionic targets don't have mempcpy */
/* { dg-require-effective-target non_bionic } */
......
/* 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" } */
#define USE_GNU
......
/* 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" } */
#define USE_GNU
......
/* 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" } */
#define USE_GNU
......
/* 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" } */
#define FORTIFY_SOURCE 2
......
/* 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" } */
#define USE_GNU
......
/* 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" } */
#define FORTIFY_SOURCE 2
......
/* { dg-do run { target *-*-linux* *-*-gnu* } } */
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU
......
/* { dg-do run { target *-*-linux* *-*-gnu* } } */
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
/* { dg-options "-O2 -fdump-tree-strlen" } */
#define USE_GNU
......
/* 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" } */
#define USE_GNU
......
/* 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" } */
#define USE_GNU
......
/* 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-require-effective-target ptr32plus } */
......
/* PR middle-end/31309 */
/* 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 } */
#include <sys/mman.h>
......
/* PR tree-optimization/69760 */
/* { dg-do run { target { { *-*-linux* *-*-gnu* } && mmap } } } */
/* { dg-do run { target { { *-*-linux* *-*-gnu* *-*-uclinux* } && mmap } } } */
/* { dg-options "-O2" } */
#include <unistd.h>
......
/* 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" } */
#include <stdlib.h>
......
/* { dg-do compile { target *-*-linux* } } */
/* { dg-do compile { target *-*-linux* arm*-*-uclinuxfdpiceabi } } */
/* { dg-options "-O2 -fpic" } */
__attribute__((visibility("protected")))
......
/* { dg-do run { target { *-*-linux* } } } */
/* { dg-do run { target { *-*-linux* *-*-uclinux* } } } */
/* { dg-require-stack-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)
{
......
......@@ -1206,6 +1206,7 @@ proc check_effective_target_pie { } {
|| [istarget *-*-dragonfly*]
|| [istarget *-*-freebsd*]
|| [istarget *-*-linux*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| [istarget *-*-gnu*]
|| [istarget *-*-amdhsa]} {
return 1;
......@@ -6857,6 +6858,7 @@ proc check_effective_target_sync_long_long_runtime { } {
} ""
}])
|| [istarget aarch64*-*-*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| ([istarget arm*-*-linux-*]
&& [check_runtime sync_longlong_runtime {
#include <stdlib.h>
......@@ -6916,6 +6918,7 @@ proc check_effective_target_sync_int_long { } {
|| [istarget aarch64*-*-*]
|| [istarget alpha*-*-*]
|| [istarget arm*-*-linux-*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| ([istarget arm*-*-*]
&& [check_effective_target_arm_acq_rel])
|| [istarget bfin*-*linux*]
......@@ -6939,6 +6942,7 @@ proc check_effective_target_sync_char_short { } {
|| [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget alpha*-*-*]
|| [istarget arm*-*-linux-*]
|| [istarget arm*-*-uclinuxfdpiceabi]
|| ([istarget arm*-*-*]
&& [check_effective_target_arm_acq_rel])
|| [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