diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/bpf/bpf.cc | 21 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/bpf/atomic-cmpxchg-2.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/bpf/atomic-fetch-op-3.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/bpf/atomic-op-3.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/bpf/atomic-xchg-2.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/bpf/diag-sdiv.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/bpf/diag-smod.c | 2 |
7 files changed, 6 insertions, 27 deletions
diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc index 8010801..4bfba28 100644 --- a/gcc/config/bpf/bpf.cc +++ b/gcc/config/bpf/bpf.cc @@ -746,15 +746,6 @@ bpf_output_call (rtx target) xops[0] = GEN_INT (TREE_INT_CST_LOW (TREE_VALUE (attr_args))); output_asm_insn ("call\t%0", xops); } - else if (fndecl_built_in_p (decl)) - { - /* For now lets report this as an error while we are not able to - link eBPF object files. In particular with libgcc. */ - tree name = DECL_NAME (decl); - error ("call to external builtin %s in function, which is not supported by " - "eBPF", name != NULL_TREE ? IDENTIFIER_POINTER (name) : "(anon)"); - output_asm_insn ("call 0", NULL); - } else output_asm_insn ("call\t%0", &target); @@ -774,18 +765,6 @@ bpf_output_call (rtx target) return ""; } -static void -bpf_external_libcall (rtx fun) -{ - tree decl = SYMBOL_REF_DECL (fun); - tree name = DECL_NAME (decl); - error ("call to external libcall %s in function, which is not supported by " - "eBPF", name != NULL_TREE ? IDENTIFIER_POINTER (name) : "(anon)"); -} - -#undef TARGET_ASM_EXTERNAL_LIBCALL -#define TARGET_ASM_EXTERNAL_LIBCALL bpf_external_libcall - /* Print register name according to assembly dialect. In normal syntax registers are printed like %rN where N is the register number. diff --git a/gcc/testsuite/gcc.target/bpf/atomic-cmpxchg-2.c b/gcc/testsuite/gcc.target/bpf/atomic-cmpxchg-2.c index fec7205..4036570 100644 --- a/gcc/testsuite/gcc.target/bpf/atomic-cmpxchg-2.c +++ b/gcc/testsuite/gcc.target/bpf/atomic-cmpxchg-2.c @@ -6,7 +6,7 @@ foo (int *p, int *expected, int desired) { return __atomic_compare_exchange (p, expected, &desired, 0, __ATOMIC_ACQUIRE, __ATOMIC_RELAXED); -} /* { dg-error "call to external builtin" } */ +} int foo64 (long *p, long *expected, long desired) diff --git a/gcc/testsuite/gcc.target/bpf/atomic-fetch-op-3.c b/gcc/testsuite/gcc.target/bpf/atomic-fetch-op-3.c index ea1b8e4..044a2f7 100644 --- a/gcc/testsuite/gcc.target/bpf/atomic-fetch-op-3.c +++ b/gcc/testsuite/gcc.target/bpf/atomic-fetch-op-3.c @@ -9,7 +9,7 @@ long test_atomic_fetch_add (long x) { return __atomic_fetch_add (&val, x, __ATOMIC_ACQUIRE); -} /* { dg-error "call to external builtin" } */ +} long test_atomic_fetch_sub (long x) diff --git a/gcc/testsuite/gcc.target/bpf/atomic-op-3.c b/gcc/testsuite/gcc.target/bpf/atomic-op-3.c index fefafd6..b2ce289 100644 --- a/gcc/testsuite/gcc.target/bpf/atomic-op-3.c +++ b/gcc/testsuite/gcc.target/bpf/atomic-op-3.c @@ -20,7 +20,7 @@ void test_atomic_and (int x) { __atomic_and_fetch (&val, x, __ATOMIC_ACQUIRE); -} /* { dg-error "call to external builtin" } */ +} void test_atomic_nand (int x) diff --git a/gcc/testsuite/gcc.target/bpf/atomic-xchg-2.c b/gcc/testsuite/gcc.target/bpf/atomic-xchg-2.c index eab695b..3b6324e 100644 --- a/gcc/testsuite/gcc.target/bpf/atomic-xchg-2.c +++ b/gcc/testsuite/gcc.target/bpf/atomic-xchg-2.c @@ -7,7 +7,7 @@ int foo (int *p, int *new) int old; __atomic_exchange (p, new, &old, __ATOMIC_RELAXED); return old; -} /* { dg-error "call to external builtin" } */ +} int foo64 (long *p, long *new) { diff --git a/gcc/testsuite/gcc.target/bpf/diag-sdiv.c b/gcc/testsuite/gcc.target/bpf/diag-sdiv.c index c333255..c48bbf0 100644 --- a/gcc/testsuite/gcc.target/bpf/diag-sdiv.c +++ b/gcc/testsuite/gcc.target/bpf/diag-sdiv.c @@ -7,6 +7,6 @@ foo () { signed int x = 5; signed int y = 2; - signed int z = x / y; /* { dg-error "call to external libcall" } */ + signed int z = x / y; } /* { dg-final { scan-assembler-not "sdiv(32)?\t%r" } } */ diff --git a/gcc/testsuite/gcc.target/bpf/diag-smod.c b/gcc/testsuite/gcc.target/bpf/diag-smod.c index 25bcb1e..d3df308 100644 --- a/gcc/testsuite/gcc.target/bpf/diag-smod.c +++ b/gcc/testsuite/gcc.target/bpf/diag-smod.c @@ -7,6 +7,6 @@ foo () { signed int x = 5; signed int y = 2; - signed int z = x % y; /* { dg-error "call to external libcall" } */ + signed int z = x % y; } /* { dg-final { scan-assembler-not "smod(32)?\t%r" } } */ |