From: Ken Moffat (zarniwhoop73_at_[hidden])
Date: 2019-05-31 04:14:21
I'm currently exploring options for how I build all my packages
(linux, basically Beyond Linux From Scratch). After successfully using
./b2 stage cxxflags="$CXXFLAGS" threading=multi link=shared -d+2
with CXXFLAGS of initially -O2 -march=native, later reduced to
-march=native to keep the default -O3, I started to look at hardening
options to find out where the problems are, and if any cost is
worthwhile. And no,
-march=native is not necessarily a good idea, but in verbose builds it
tells me if my flags are being used.
Now I'm looking at the first of the cheap hardening options (on gcc) :
-D_FORTIFY_SOURCE=2 but b2 has a strong dislike of -D.
After looking around, it appears that this needs to be in a jam file,
possibly in a form like <define>\_FORTIFY\_SOURCE\=2 but I'm making no
progress on this. Also, I could not find any guide to whether the
underscores need to be escaped, I just started with those and found
that the = definitely needed to be escaped. I've created
using gcc : : : <compileflags>-march=native<compileflags>_FORTIFY_SOURCE\=2 ;
project user-config ;
(using gcc through to 2; is all on one line, gmail insists on breaking it up)
Any guidance, please ?
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk