mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-16 10:26:23 +00:00
[llvm-isel-fuzzer] Use "--" as separator rather than '='.
Summary: OSS-Fuzz doesn't support '=' in filenames. Reviewers: bogner, kcc Reviewed By: kcc Subscribers: javed.absar, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D38866 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315647 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7e667e4d94
commit
5cb6ac0fdb
@ -83,7 +83,7 @@ the following command would fuzz AArch64 with :doc:`GlobalISel`:
|
|||||||
|
|
||||||
Some flags can also be specified in the binary name itself in order to support
|
Some flags can also be specified in the binary name itself in order to support
|
||||||
OSS Fuzz, which has trouble with required arguments. To do this, you can copy
|
OSS Fuzz, which has trouble with required arguments. To do this, you can copy
|
||||||
or move ``llvm-isel-fuzzer`` to ``llvm-isel-fuzzer=x-y-z``, where x, y, and z
|
or move ``llvm-isel-fuzzer`` to ``llvm-isel-fuzzer--x-y-z``, where x, y, and z
|
||||||
are architecture names (``aarch64``, ``x86_64``), optimization levels (``O0``,
|
are architecture names (``aarch64``, ``x86_64``), optimization levels (``O0``,
|
||||||
``O2``), or specific keywords like ``gisel`` for enabling global instruction
|
``O2``), or specific keywords like ``gisel`` for enabling global instruction
|
||||||
selection.
|
selection.
|
||||||
|
@ -28,9 +28,9 @@ void parseFuzzerCLOpts(int ArgC, char *ArgV[]);
|
|||||||
/// Handle backend options that are encoded in the executable name.
|
/// Handle backend options that are encoded in the executable name.
|
||||||
///
|
///
|
||||||
/// Parses some common backend options out of a specially crafted executable
|
/// Parses some common backend options out of a specially crafted executable
|
||||||
/// name (argv[0]). For example, a name like llvm-foo-fuzzer:aarch64-gisel might
|
/// name (argv[0]). For example, a name like llvm-foo-fuzzer--aarch64-gisel
|
||||||
/// set up an AArch64 triple and the Global ISel selector. This should be called
|
/// might set up an AArch64 triple and the Global ISel selector. This should be
|
||||||
/// *before* parseFuzzerCLOpts if calling both.
|
/// called *before* parseFuzzerCLOpts if calling both.
|
||||||
///
|
///
|
||||||
/// This is meant to be used for environments like OSS-Fuzz that aren't capable
|
/// This is meant to be used for environments like OSS-Fuzz that aren't capable
|
||||||
/// of passing in command line arguments in the normal way.
|
/// of passing in command line arguments in the normal way.
|
||||||
|
@ -34,7 +34,7 @@ void llvm::parseFuzzerCLOpts(int ArgC, char *ArgV[]) {
|
|||||||
void llvm::handleExecNameEncodedBEOpts(StringRef ExecName) {
|
void llvm::handleExecNameEncodedBEOpts(StringRef ExecName) {
|
||||||
std::vector<std::string> Args{ExecName};
|
std::vector<std::string> Args{ExecName};
|
||||||
|
|
||||||
auto NameAndArgs = ExecName.split('=');
|
auto NameAndArgs = ExecName.split("--");
|
||||||
if (NameAndArgs.second.empty())
|
if (NameAndArgs.second.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
|
|
||||||
; RUN: echo > %t.input
|
; RUN: echo > %t.input
|
||||||
|
|
||||||
; RUN: cp llvm-isel-fuzzer %t.bin=aarch64
|
; RUN: cp llvm-isel-fuzzer %t.bin--aarch64
|
||||||
; RUN: %t.bin=aarch64 %t.input 2>&1 | FileCheck -check-prefix=AARCH64 %s
|
; RUN: %t.bin--aarch64 %t.input 2>&1 | FileCheck -check-prefix=AARCH64 %s
|
||||||
; AARCH64: Injected args: -mtriple=aarch64
|
; AARCH64: Injected args: -mtriple=aarch64
|
||||||
|
|
||||||
; RUN: cp llvm-isel-fuzzer %t.bin=aarch64-O1
|
; RUN: cp llvm-isel-fuzzer %t.bin--aarch64-O1
|
||||||
; RUN: %t.bin=aarch64-O1 %t.input 2>&1 | FileCheck -check-prefix=OPT-AFTER %s
|
; RUN: %t.bin--aarch64-O1 %t.input 2>&1 | FileCheck -check-prefix=OPT-AFTER %s
|
||||||
; OPT-AFTER: Injected args: -mtriple=aarch64 -O1
|
; OPT-AFTER: Injected args: -mtriple=aarch64 -O1
|
||||||
|
|
||||||
; RUN: cp llvm-isel-fuzzer %t.bin=O3-aarch64
|
; RUN: cp llvm-isel-fuzzer %t.bin--O3-aarch64
|
||||||
; RUN: %t.bin=O3-aarch64 %t.input 2>&1 | FileCheck -check-prefix=OPT-BEFORE %s
|
; RUN: %t.bin--O3-aarch64 %t.input 2>&1 | FileCheck -check-prefix=OPT-BEFORE %s
|
||||||
; OPT-BEFORE: Injected args: -O3 -mtriple=aarch64
|
; OPT-BEFORE: Injected args: -O3 -mtriple=aarch64
|
||||||
|
@ -4,16 +4,16 @@
|
|||||||
|
|
||||||
; RUN: echo > %t.input
|
; RUN: echo > %t.input
|
||||||
|
|
||||||
; RUN: cp llvm-isel-fuzzer %t.bin=gisel
|
; RUN: cp llvm-isel-fuzzer %t.bin--gisel
|
||||||
; RUN: not %t.bin=gisel %t.input 2>&1 | FileCheck -check-prefix=GISEL %s
|
; RUN: not %t.bin--gisel %t.input 2>&1 | FileCheck -check-prefix=GISEL %s
|
||||||
; GISEL: Injected args: -global-isel -O0
|
; GISEL: Injected args: -global-isel -O0
|
||||||
; GISEL: -mtriple must be specified
|
; GISEL: -mtriple must be specified
|
||||||
|
|
||||||
; RUN: cp llvm-isel-fuzzer %t.bin=gisel-O2
|
; RUN: cp llvm-isel-fuzzer %t.bin--gisel-O2
|
||||||
; RUN: not %t.bin=gisel-O2 %t.input 2>&1 | FileCheck -check-prefix=GISEL-O2 %s
|
; RUN: not %t.bin--gisel-O2 %t.input 2>&1 | FileCheck -check-prefix=GISEL-O2 %s
|
||||||
; GISEL-O2: Injected args: -global-isel -O0 -O2
|
; GISEL-O2: Injected args: -global-isel -O0 -O2
|
||||||
; GISEL-O2: -mtriple must be specified
|
; GISEL-O2: -mtriple must be specified
|
||||||
|
|
||||||
; RUN: cp llvm-isel-fuzzer %t.bin=unexist
|
; RUN: cp llvm-isel-fuzzer %t.bin--unexist
|
||||||
; RUN: not %t.bin=unexist %t.input 2>&1 | FileCheck -check-prefix=NO-OPT %s
|
; RUN: not %t.bin--unexist %t.input 2>&1 | FileCheck -check-prefix=NO-OPT %s
|
||||||
; NO-OPT: Unknown option:
|
; NO-OPT: Unknown option:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user