This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Proof-of-concept for dynamic format checking
- From: Ian Lance Taylor <ian at airs dot com>
- To: "Giovanni Bajo" <giovannibajo at libero dot it>
- Cc: "Florian Weimer" <fw at deneb dot enyo dot de>, "Joseph S. Myers" <joseph at codesourcery dot com>, <gcc at gcc dot gnu dot org>, <ghazi at caipclassic dot rutgers dot edu>
- Date: 17 Aug 2005 18:20:14 -0700
- Subject: Re: [PATCH]: Proof-of-concept for dynamic format checking
- References: <200508111509.j7BF9qMq015700@caipclassic.rutgers.edu><m3ll308jeb.fsf@gossamer.airs.com> <87ll302wyb.fsf@mid.deneb.enyo.de><004c01c5a390$2a26ef60$234e2a97@bagio>
"Giovanni Bajo" <giovannibajo@libero.it> writes:
> Florian Weimer <fw@deneb.enyo.de> wrote:
>
> > Can't we just use some inline function written in plain C to check the
> > arguments and execute it at compile time using constant folding etc.?
>
>
> Do we have a sane way to (partially) execute optimizers at -O0 without screwing
> up with the pass manager too much? Probably they can be talked into, but might
> require some work. The idea is neat though, and I prefer it over introducing a
> specific pattern-matching language (which sounds like over-engineering for such
> a side feature).
I suppose I have the reverse opinion about which one is over-
engineering, but that's probably just me. Remember that it's not
enough simply to execute the optimizers. You have to build a symbol
table and an environment for the code to execute in.
Another approach would be to dlopen a shared library to do format
checking. There might be some security implications to that, though.
Ian