GNU OSC (Object Size Checking)
Yuchen Zhou (yuczhou)
yuczhou@cisco.com
Wed Feb 7 05:52:00 GMT 2018
Thank you Martin, Jonathan. I think I understand it now. Of cause I may have further questions in the future.
By the way, is the -O2 option a must for OSC? What about other optimization levels? I did not find much details on it.
Thanks!
Yuchen Zhou
TECHNICAL LEADER.ENGINEERING
yuczhou@cisco.com
Tel: +1 408 527 8200
Cisco Systems, Inc.
375 East Tasman Drive
SAN JOSE
95134
United States
cisco.com
-----Original Message-----
From: Jonathan Wakely [mailto:jwakely.gcc@gmail.com]
Sent: Tuesday, February 6, 2018 1:43 PM
To: Martin Sebor <msebor@gmail.com>
Cc: Yuchen Zhou (yuczhou) <yuczhou@cisco.com>; gcc-help@gcc.gnu.org
Subject: Re: GNU OSC (Object Size Checking)
On 6 February 2018 at 20:19, Martin Sebor wrote:
> But no runtime protection happens for libstdc++ containers, even with
> _FORTIFY_SOURCE, because libstdc++ either uses the GCC built-in
> functions (__builtin_memcpy) directly or "rolls" its own loops
> (std::copy, etc.) that GCC transforms into calls to the non-checking
> built-ins. For the former, it might be worth considering using the
> checking built-ins instead. Jonathan will know best if this would
> make sense and how much it might benefit. For the latter, I'm sure
> there are opportunities for GCC to do better and check the bounds of
> the copies either before emitting calls to these functions or
> propagating their bounds.
My completely unsubstantiated guess is that people might pass out-of-bounds pointers to std::string members more often than other containers.
We certainly could add more checking, but I don't know if it's worth prioritizing. There are thousands of things we could do with more hands to do the work.
I've opened https://gcc.gnu.org/PR84256 so it isn't forgotten.
More information about the Gcc-help
mailing list