On 12/02/14 06:33, Ilya Enkovich wrote:
Hi,

Currently bndret is generated each time we need to get bounds for returned 
pointer.  It causes bndret generated for not instrumented calls incuding 
builtin function calls.  Troubles appear when such builtin call is optimized 
out - bndret needs to be handled appropriately.  Since we don't want not 
instrumented builtin calls optimizers to be affected by instrumentation, we 
better avoid bndret for not instrumented calls.  This patch uses zero bounds 
when we don't expect call to return bounds.

Bootstrapped and tested on  x86_64-unknown-linux-gnu.  OK for trunk?

Thanks,
Ilya
--
gcc/

2014-12-02  Ilya Enkovich  <ilya.enkov...@intel.com>

        * tree-chkp.c (chkp_call_returns_bounds_p): New.
        (chkp_build_returned_bound): Use zero bounds as
        returned by calls not returning bounds.

gcc/testsuite/

2014-12-02  Ilya Enkovich  <ilya.enkov...@intel.com>

        * gcc.target/i386/chkp-bndret.c: New.
        * gcc.target/i386/chkp-strchr.c: New.
OK.
Jeff

Reply via email to