Re: [Boost-users] [boost.build] should we not define _SECURE_SCL=0 by default for all msvc toolsets

Neil Groves skrev:
Thorsten,
On Thu, Dec 4, 2008 at 3:05 PM, Thorsten Ottosen < thorsten.ottosen@dezide.com> wrote:
Dear all,
Is there are reason why we do not compile with this flag set by default? Are there any users of Boost out there which actually wants the securuty mode turned on?
I personally prefer to have _SECURE_SCL=0 in Release builds too. For users that also have to build against other libraries that are provided as precompiled binaries that use the MSVC defaults this would break things. The _SECURE_SCL setting changes the ABI.
If not, then I suggest that we change the build settings.
I think it would be ok to allow both options, but probably the default should equal the Microsoft default with an easy way to opt-out of the madness!
But AFAIK, even the prebuilt binaries that you get from Boost Consulting are built with _SECURE_SCL=0. -Thorsten

Thorsten Ottosen wrote:
I think it would be ok to allow both options, but probably the default should equal the Microsoft default with an easy way to opt-out of the madness!
Agree 100%, our default should equal the compiler default, otherwise it'll catch too many folks out.
But AFAIK, even the prebuilt binaries that you get from Boost Consulting are built with _SECURE_SCL=0.
Really ??? I hadn't realised that, that's not good IMO, given that the define changes the ABI away from the compilers default. One thing I hope we can all agree on: this should be a toolset feature, and it should change the library-name-mangling so that auto_link.hpp can select the correct binary (it doesn't at present, but just let me know what the correct name-mangling is and I'll fix that). John.

But AFAIK, even the prebuilt binaries that you get from Boost Consulting are built with _SECURE_SCL=0.
Really ??? I hadn't realised that, that's not good IMO, given that the define changes the ABI away from the compilers default.
One thing I hope we can all agree on: this should be a toolset feature, and it should change the library-name-mangling so that auto_link.hpp can select the correct binary (it doesn't at present, but just let me know what the correct name-mangling is and I'll fix that).
There have been a few discussions in the past on this, see this little research and proposal I did a few weeks ago: http://www.nabble.com/MSVC-_SECURE_SCL-causes-ABI-change%2C-ODR-violatio n---mangle-library-names--td19919013.html#a19919013 JF

John Maddock skrev:
Thorsten Ottosen wrote:
I think it would be ok to allow both options, but probably the default should equal the Microsoft default with an easy way to opt-out of the madness!
Agree 100%, our default should equal the compiler default, otherwise it'll catch too many folks out.
But AFAIK, even the prebuilt binaries that you get from Boost Consulting are built with _SECURE_SCL=0.
Really ??? I hadn't realised that, that's not good IMO, given that the define changes the ABI away from the compilers default.
Dave, since its your company that prevides the binary, can you comment on this? -Thorsten

on Fri Dec 05 2008, Thorsten Ottosen
John Maddock skrev:
Thorsten Ottosen wrote:
I think it would be ok to allow both options, but probably the default should equal the Microsoft default with an easy way to opt-out of the madness!
Agree 100%, our default should equal the compiler default, otherwise it'll catch too many folks out.
But AFAIK, even the prebuilt binaries that you get from Boost Consulting are built with _SECURE_SCL=0.
Really ??? I hadn't realised that, that's not good IMO, given that the define changes the ABI away from the compilers default.
Dave, since its your company that prevides the binary, can you comment on this?
Our binaries are built the standard way that bjam makes them. We don't do anything special to add _SECURE_SCL=0. -- Dave Abrahams BoostPro Computing http://www.boostpro.com

John Maddock skrev:
Thorsten Ottosen wrote:
I think it would be ok to allow both options, but probably the default should equal the Microsoft default with an easy way to opt-out of the madness!
Agree 100%, our default should equal the compiler default, otherwise it'll catch too many folks out.
But AFAIK, even the prebuilt binaries that you get from Boost Consulting are built with _SECURE_SCL=0.
Really ??? I hadn't realised that, that's not good IMO, given that the define changes the ABI away from the compilers default.
One thing I hope we can all agree on: this should be a toolset feature, and it should change the library-name-mangling so that auto_link.hpp can select the correct binary (it doesn't at present, but just let me know what the correct name-mangling is and I'll fix that).
what about adding "-nsl" (no secure library) in the name? -Thorsten
participants (4)
-
David Abrahams
-
Jean-Francois Bastien
-
John Maddock
-
Thorsten Ottosen