Skip to content

Commit

Permalink
Add a space to work around a Windows CPython / MSys quoting bug
Browse files Browse the repository at this point in the history
Summary:
The rules for quoting the command line that a subprocess receives are
user space conventions implemented by the C runtime. Python's quoting
rules are implemented here:
https://github.com/python/cpython/blob/c30098c8c6014f3340a369a31df9c74bdbacc269/Lib/subprocess.py#L725

The result is that the final command line C string computed by Python is
'echo \"'. Mingw doesn't appear to interpret that backslash as escaping
the quote because it is not already inside a quoted region. As a result,
our echo command prints a single backslash instead of a quote.

The whole issue can be sidestepped by adding a space a forcing Python to
put the argument to echo in double quotes.

Reviewers: inglorion, ruiu

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D25841

llvm-svn: 284768
  • Loading branch information
rnk committed Oct 20, 2016
1 parent 2d38ae6 commit 613c00d
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion lld/test/ELF/libsearch.s
Expand Up @@ -90,7 +90,7 @@
// RUN: llvm-readobj --symbols %t3 | FileCheck --check-prefix=DYNAMIC %s

// -nostdlib
// RUN: echo 'SEARCH_DIR("'%t.dir'")' > %t.script
// RUN: echo ' SEARCH_DIR("'%t.dir'")' > %t.script
// RUN: ld.lld -o %t3 %t.o -script %t.script -lls
// RUN: not ld.lld -o %t3 %t.o -script %t.script -lls -nostdlib \
// RUN: 2>&1 | FileCheck --check-prefix=NOSTDLIB %s
Expand Down
2 changes: 1 addition & 1 deletion lld/test/ELF/version-script-err.s
Expand Up @@ -4,7 +4,7 @@
// RUN: not ld.lld -shared %t.o -o %t.so --version-script %p/Inputs/version-script-err.script 2>&1 | FileCheck %s
// CHECK: ; expected, but got }

// RUN: echo "\"" > %terr1.script
// RUN: echo " \"" > %terr1.script
// RUN: not ld.lld --version-script %terr1.script -shared %t.o -o %t.so 2>&1 | \
// RUN: FileCheck -check-prefix=ERR1 %s
// ERR1: unclosed quote

0 comments on commit 613c00d

Please sign in to comment.