[BOLT][test] enable GNU extensions, use C++ compiler, remove unnecessary target (#117043)

1. With a Clang that doesn't default to GNU extensions they need to be enabled explicitly.
2. The X86 directory lit config sets it already, there's no reason for this test to do it by itself.
3. The C frontend executable will fail if there's for example a Clang resource file for the C++ mode that sets C++-specific options:
```
+ /home/tambre/dev/llvm/build/bin/clang --target=x86_64-unknown-linux-gnu -fPIE -fuse-ld=lld -Wl,--unresolved-symbols=ignore-all -pie -fPIC -shared /home/tambre/dev/llvm/bolt/test/R_ABS.pic.lld.cpp -o /home/tambre/dev/llvm/build/tools/bolt/test/Output/R_ABS.pic.lld.cpp.tmp.so -Wl,-q -fuse-ld=lld
clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]
error: invalid argument '-std=c23' not allowed with 'C++'
```
This commit is contained in:
Raul Tambre 2024-11-27 00:14:00 +02:00 committed by GitHub
parent 8458bbe594
commit 003b48e0cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 11 additions and 11 deletions

View File

@ -1,4 +1,4 @@
// RUN: %clang %cflags -O2 -fPIE -Wl,-q -pie %s -o %t.exe // RUN: %clang %cflags -O2 -fPIE -std=gnu99 -Wl,-q -pie %s -o %t.exe
// RUN: llvm-bolt %t.exe -o %t.bolt 2>&1 | FileCheck %s // RUN: llvm-bolt %t.exe -o %t.bolt 2>&1 | FileCheck %s
// CHECK-NOT: BOLT-WARNING: unable to disassemble instruction at offset // CHECK-NOT: BOLT-WARNING: unable to disassemble instruction at offset

View File

@ -1,6 +1,6 @@
// A contrived example to test the double jump removal peephole. // A contrived example to test the double jump removal peephole.
// RUN: %clang %cflags -O0 %s -o %t.exe // RUN: %clangxx %cxxflags -O0 %s -o %t.exe
// RUN: llvm-bolt %t.exe -o %t.bolt --peepholes=double-jumps | \ // RUN: llvm-bolt %t.exe -o %t.bolt --peepholes=double-jumps | \
// RUN: FileCheck %s -check-prefix=CHECKBOLT // RUN: FileCheck %s -check-prefix=CHECKBOLT
// RUN: llvm-objdump --no-print-imm-hex -d %t.bolt | FileCheck %s // RUN: llvm-objdump --no-print-imm-hex -d %t.bolt | FileCheck %s

View File

@ -6,7 +6,7 @@
* with libc available. * with libc available.
* REQUIRES: system-linux * REQUIRES: system-linux
* *
* RUN: %clang %cflags -fPIC -shared %s -o %t.so -Wl,-q -fuse-ld=lld * RUN: %clangxx %cxxflags -fPIC -shared %s -o %t.so -Wl,-q -fuse-ld=lld
* RUN: llvm-bolt %t.so -o %t.so.bolt --relocs * RUN: llvm-bolt %t.so -o %t.so.bolt --relocs
*/ */

View File

@ -4,7 +4,7 @@
## correctly on Windows e.g. subshell execution ## correctly on Windows e.g. subshell execution
REQUIRES: shell REQUIRES: shell
RUN: %clang %cflags %p/Inputs/double_jump.cpp -o %t.exe RUN: %clangxx %cxxflags %p/Inputs/double_jump.cpp -o %t.exe
RUN: (llvm-bolt %t.exe --peepholes=double-jumps \ RUN: (llvm-bolt %t.exe --peepholes=double-jumps \
RUN: --eliminate-unreachable -o %t 2>&1 \ RUN: --eliminate-unreachable -o %t 2>&1 \
RUN: && llvm-objdump -d %t --print-imm-hex --no-show-raw-insn) | FileCheck %s RUN: && llvm-objdump -d %t --print-imm-hex --no-show-raw-insn) | FileCheck %s

View File

@ -6,7 +6,7 @@
; RUN: -split-dwarf-file=main.dwo -o main.o ; RUN: -split-dwarf-file=main.dwo -o main.o
; RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-df-inlined-subroutine-gc-sections-range-helper.s \ ; RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-df-inlined-subroutine-gc-sections-range-helper.s \
; RUN: -split-dwarf-file=helper.dwo -o helper.o ; RUN: -split-dwarf-file=helper.dwo -o helper.o
; RUN: %clang --target=x86_64-pc-linux -fuse-ld=lld -Wl,-gc-sections -Wl,-q -gdwarf-5 -gsplit-dwarf=split main.o helper.o -o main.exe ; RUN: %clang -fuse-ld=lld -Wl,-gc-sections -Wl,-q -gdwarf-5 -gsplit-dwarf=split main.o helper.o -o main.exe
; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections ; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections
; RUN: llvm-dwarfdump --debug-addr main.exe > log.txt ; RUN: llvm-dwarfdump --debug-addr main.exe > log.txt
; RUN: llvm-dwarfdump --debug-rnglists --verbose --show-form main.dwo >> log.txt ; RUN: llvm-dwarfdump --debug-rnglists --verbose --show-form main.dwo >> log.txt

View File

@ -4,7 +4,7 @@
## correctly on Windows e.g. unsupported parameter expansion ## correctly on Windows e.g. unsupported parameter expansion
REQUIRES: shell REQUIRES: shell
RUN: %clang %cflags -O2 %S/Inputs/jmp_opt{,2,3}.cpp -o %t RUN: %clangxx %cxxflags -O2 %S/Inputs/jmp_opt{,2,3}.cpp -o %t
RUN: llvm-bolt -inline-small-functions %t -o %t.bolt RUN: llvm-bolt -inline-small-functions %t -o %t.bolt
RUN: llvm-objdump -d %t.bolt --print-imm-hex | FileCheck %s RUN: llvm-objdump -d %t.bolt --print-imm-hex | FileCheck %s

View File

@ -2,7 +2,7 @@
# REQUIRES: system-linux # REQUIRES: system-linux
# RUN: split-file %s %t # RUN: split-file %s %t
# RUN: %clang %cflags %t/main.cpp -o %t.exe -Wl,-q -nostdlib # RUN: %clangxx %cxxflags %t/main.cpp -o %t.exe -Wl,-q -nostdlib
# RUN: llvm-bolt %t.exe -o %t.out --data %t/yaml --profile-ignore-hash -v=1 \ # RUN: llvm-bolt %t.exe -o %t.out --data %t/yaml --profile-ignore-hash -v=1 \
# RUN: --dyno-stats --print-cfg --infer-stale-profile=1 --match-with-call-graph 2>&1 | FileCheck %s # RUN: --dyno-stats --print-cfg --infer-stale-profile=1 --match-with-call-graph 2>&1 | FileCheck %s

View File

@ -4,7 +4,7 @@
## on Linux systems where the host triple matches the target. ## on Linux systems where the host triple matches the target.
REQUIRES: system-linux REQUIRES: system-linux
RUN: %clang %cflags -fPIC -pie %p/Inputs/jump_table_icp.cpp -o %t RUN: %clangxx %cxxflags -fPIC -pie %p/Inputs/jump_table_icp.cpp -o %t
RUN: llvm-bolt %t -o %t.null 2>&1 | FileCheck %s RUN: llvm-bolt %t -o %t.null 2>&1 | FileCheck %s
CHECK: BOLT-INFO: shared object or position-independent executable detected CHECK: BOLT-INFO: shared object or position-independent executable detected

View File

@ -38,7 +38,7 @@ int main(int argc, char **argv) {
/* /*
REQUIRES: system-linux,bolt-runtime,lit-max-individual-test-time REQUIRES: system-linux,bolt-runtime,lit-max-individual-test-time
RUN: %clang %cflags %s -o %t.exe -Wl,-q -pie -fpie RUN: %clang %cflags -D_GNU_SOURCE %s -o %t.exe -Wl,-q -pie -fpie
RUN: llvm-bolt %t.exe --instrument --instrumentation-file=%t.fdata \ RUN: llvm-bolt %t.exe --instrument --instrumentation-file=%t.fdata \
RUN: --instrumentation-wait-forks=1 --conservative-instrumentation \ RUN: --instrumentation-wait-forks=1 --conservative-instrumentation \

View File

@ -5,7 +5,7 @@
* new sections. * new sections.
*/ */
// RUN: %clang %s -o %t.exe -Wl,-q // RUN: %clangxx %s -o %t.exe -Wl,-q
// RUN: llvm-bolt %t.exe -o %t.bolt.exe 2>&1 | FileCheck %s // RUN: llvm-bolt %t.exe -o %t.bolt.exe 2>&1 | FileCheck %s
// RUN: %t.bolt.exe // RUN: %t.bolt.exe
@ -16,7 +16,7 @@
* not enough for allocating new sections. * not enough for allocating new sections.
*/ */
// RUN: %clang %s -o %t.tiny.exe -Wl,--no-eh-frame-hdr -Wl,-q -DTINY // RUN: %clangxx %s -o %t.tiny.exe -Wl,--no-eh-frame-hdr -Wl,-q -DTINY
// RUN: not llvm-bolt %t.tiny.exe -o %t.tiny.bolt.exe 2>&1 | \ // RUN: not llvm-bolt %t.tiny.exe -o %t.tiny.bolt.exe 2>&1 | \
// RUN: FileCheck %s --check-prefix=CHECK-TINY // RUN: FileCheck %s --check-prefix=CHECK-TINY