Re: Cleanly setting C compiler options when building RTS

2019-07-11 Thread Alp Mestanogullari
That's indeed one Hadrian solution. An alternative one (requires 
'master' from yesterday) is:


$ hadrian/build.sh --flavour=... "stage1.rts.cc.c.opts += 
-fsanitize=address -fsanitize=undefined"


Note that I'm not quite sure who between GHC and the C compiler gets 
invoked to build the RTS. If it's GHC, then you'll need to replace 
'builder Cc' in Matthew's solution with 'builder (Ghc CompileCWithGhc)', 
or with the key-value style approach:


$ hadrian/build.sh --flavour=... "stage1.rts.ghc.c.opts += 
-fsanitize=address -fsanitize=undefined"


You can find more about how both of those settings mechanisms work here: 
https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/user-settings.md


... once GitLab works again. :-)

Until then: 
https://github.com/ghc/ghc/blob/master/hadrian/doc/user-settings.md


On 11/07/2019 11:49, Matthew Pickering wrote:

Hi Siddharth,

The correct way is to create a custom flavour with something like the
following in.

grts = quickFlavour { name = "grts", args = args quickFlavour <>
(builder Cc ? package rts ? arg "-g3" <> arg "-O0") }

Cheers,

Matt

On Thu, Jul 11, 2019 at 10:20 AM Siddharth Bhat  wrote:

Hello all,

I was interested in building the GHC RTS with GCC's AddressSanitizer and Ubsan 
enabled.

What I want to do very specifically is to pass "-fsanitize=address 
-fsanitize=undefined" when compiling the RTS.

What's the "correct" way to set this up in the build system? Is there a 
configure flag? Do I need to change the Shake script?
Thanks,
~Siddharth
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


--
Alp Mestanogullari, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/

Registered in England and Wales, OC335890
118 Wymering Mansions, Wymering Road, London, W9 2NF, England

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: Cleanly setting C compiler options when building RTS

2019-07-11 Thread Matthew Pickering
Hi Siddharth,

The correct way is to create a custom flavour with something like the
following in.

grts = quickFlavour { name = "grts", args = args quickFlavour <>
(builder Cc ? package rts ? arg "-g3" <> arg "-O0") }

Cheers,

Matt

On Thu, Jul 11, 2019 at 10:20 AM Siddharth Bhat  wrote:
>
> Hello all,
>
> I was interested in building the GHC RTS with GCC's AddressSanitizer and 
> Ubsan enabled.
>
> What I want to do very specifically is to pass "-fsanitize=address 
> -fsanitize=undefined" when compiling the RTS.
>
> What's the "correct" way to set this up in the build system? Is there a 
> configure flag? Do I need to change the Shake script?
> Thanks,
> ~Siddharth
> ___
> ghc-devs mailing list
> ghc-devs@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: Cleanly setting C compiler options when building RTS

2019-07-11 Thread Alp Mestanogullari
Since you mention the Shake script, should we assume you're using 
Hadrian, or the Make build system?


On 11/07/2019 11:19, Siddharth Bhat wrote:

Hello all,

I was interested in building the GHC RTS with GCC's AddressSanitizer 
and Ubsan enabled.


What I want to do very specifically is to pass "-fsanitize=address 
-fsanitize=undefined" when compiling the RTS.


What's the "correct" way to set this up in the build system? Is there 
a configure flag? Do I need to change the Shake script?

Thanks,
~Siddharth

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


--
Alp Mestanogullari, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/

Registered in England and Wales, OC335890
118 Wymering Mansions, Wymering Road, London, W9 2NF, England

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Cleanly setting C compiler options when building RTS

2019-07-11 Thread Siddharth Bhat
Hello all,

I was interested in building the GHC RTS with GCC's AddressSanitizer and
Ubsan enabled.

What I want to do very specifically is to pass "-fsanitize=address
-fsanitize=undefined" when compiling the RTS.

What's the "correct" way to set this up in the build system? Is there a
configure flag? Do I need to change the Shake script?
Thanks,
~Siddharth
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs