[commit: ghc] master: ghc: Do not add a space in '-U __PIC__' (574ef42)
git at git.haskell.org
git at git.haskell.org
Mon Apr 21 13:52:48 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/574ef4293b867609f2d28d85747e01f3ac0d052d/ghc
>---------------------------------------------------------------
commit 574ef4293b867609f2d28d85747e01f3ac0d052d
Author: Austin Seipp <austin at well-typed.com>
Date: Mon Apr 21 07:22:50 2014 -0500
ghc: Do not add a space in '-U __PIC__'
GHC previously introduced a space here. However, this can in some cases
be interpreted as "-U __PIC__" - note that in shell, the -U would still
be recognized with an argument, but the argument would be " __PIC__",
with a space in front, as opposed to the single string '__PIC__'.
In practice most tools seem to handle this OK. But the Coverity Scan
analysis tool does not: it errors on the fact that ' __PIC__' is an
invalid CPP name to undefine.
With this, it seems the Coverity analysis tool can easily analyze the
entire GHC build.
Signed-off-by: Austin Seipp <austin at well-typed.com>
>---------------------------------------------------------------
574ef4293b867609f2d28d85747e01f3ac0d052d
compiler/main/DynFlags.hs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 1f7044c..ee4f8a7 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -3548,10 +3548,10 @@ picCCOpts dflags
-- Don't generate "common" symbols - these are unwanted
-- in dynamic libraries.
- | gopt Opt_PIC dflags -> ["-fno-common", "-U __PIC__", "-D__PIC__"]
+ | gopt Opt_PIC dflags -> ["-fno-common", "-U__PIC__", "-D__PIC__"]
| otherwise -> ["-mdynamic-no-pic"]
OSMinGW32 -- no -fPIC for Windows
- | gopt Opt_PIC dflags -> ["-U __PIC__", "-D__PIC__"]
+ | gopt Opt_PIC dflags -> ["-U__PIC__", "-D__PIC__"]
| otherwise -> []
_
-- we need -fPIC for C files when we are compiling with -dynamic,
@@ -3560,12 +3560,12 @@ picCCOpts dflags
-- objects, but can't without -fPIC. See
-- http://ghc.haskell.org/trac/ghc/wiki/Commentary/PositionIndependentCode
| gopt Opt_PIC dflags || not (gopt Opt_Static dflags) ->
- ["-fPIC", "-U __PIC__", "-D__PIC__"]
+ ["-fPIC", "-U__PIC__", "-D__PIC__"]
| otherwise -> []
picPOpts :: DynFlags -> [String]
picPOpts dflags
- | gopt Opt_PIC dflags = ["-U __PIC__", "-D__PIC__"]
+ | gopt Opt_PIC dflags = ["-U__PIC__", "-D__PIC__"]
| otherwise = []
-- -----------------------------------------------------------------------------
More information about the ghc-commits
mailing list