diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2017-11-22 16:29:57 -0500 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2017-12-13 16:08:17 -0500 |
commit | 4f869bccc14fb2fa19df130e76c022765ecda924 (patch) | |
tree | 35db18510d380600905e282356a948da9a3c6045 /pkgs/build-support/cc-wrapper/cc-wrapper.sh | |
parent | bdd6c037c0b64a60d3e5a118f9d73e326cbfd5d2 (diff) | |
download | nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.tar nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.tar.gz nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.tar.bz2 nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.tar.lz nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.tar.xz nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.tar.zst nixpkgs-4f869bccc14fb2fa19df130e76c022765ecda924.zip |
cc-wrapper: Don't treat "-" alone as a flag
It means stdin, and is morally equivalent to passing a file. e.g. $ echo 'int main(void) { return 0; }' | gcc -x c - will compile and link a binary.
Diffstat (limited to 'pkgs/build-support/cc-wrapper/cc-wrapper.sh')
-rw-r--r-- | pkgs/build-support/cc-wrapper/cc-wrapper.sh | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index 82f5c6443d5..df1afef3374 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -59,7 +59,8 @@ while (( "$n" < "$nParams" )); do cppInclude=0 elif [ "$p" = -nostdinc++ ]; then cppInclude=0 - elif [ "${p:0:1}" != - ]; then + elif [[ "$p" != -?* ]]; then + # A dash alone signifies standard input; it is not a flag nonFlagArgs=1 fi n+=1 |