diff mbox

[Pointer,Bounds,Checker,Builtins,instrumentation,3/5] Expand instrumented builtin calls

Message ID CAGWvnymdf8fnxT1HGcWFUXgcbG-UNsyoWur-kExbOqQ+JEoQVQ@mail.gmail.com
State New
Headers show

Commit Message

David Edelsohn Nov. 18, 2014, 2:06 a.m. UTC
The following patch seems to allow me to at least build stage1 GCC.
We'll see how far it get through bootstrap and testing.  Hopefully it
is a work-around until we find a complete solution.

Thanks, David

Comments

Jeff Law Nov. 18, 2014, 2:46 a.m. UTC | #1
On 11/17/14 19:06, David Edelsohn wrote:
> The following patch seems to allow me to at least build stage1 GCC.
> We'll see how far it get through bootstrap and testing.  Hopefully it
> is a work-around until we find a complete solution.
>
> Thanks, David
>
> Index: tree-core.h
> ===================================================================
> --- tree-core.h (revision 217658)
> +++ tree-core.h (working copy)
> @@ -170,10 +170,38 @@
>
>     BEGIN_CHKP_BUILTINS,
>
> -#undef DEF_BUILTIN
> -#define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) ENUM##_CHKP,
> -#include "builtins.def"
> +  BUILT_IN_MEMCPY_CHKP,
> +  BUILT_IN_MEMPCPY_CHKP,
> +  BUILT_IN_MEMMOVE_CHKP,
> +  BUILT_IN_MEMSET_CHKP,
> +  BUILT_IN_CHKP_MEMCPY_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMPCPY_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMMOVE_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMSET_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMCPY_NOBND_CHKP,
> +  BUILT_IN_CHKP_MEMPCPY_NOBND_CHKP,
> +  BUILT_IN_CHKP_MEMMOVE_NOBND_CHKP,
> +  BUILT_IN_CHKP_MEMSET_NOBND_CHKP,
> +  BUILT_IN_CHKP_MEMCPY_NOBND_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMPCPY_NOBND_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMMOVE_NOBND_NOCHK_CHKP,
> +  BUILT_IN_CHKP_MEMSET_NOBND_NOCHK_CHKP,
> +  BUILT_IN_MEMCPY_CHK_CHKP,
> +  BUILT_IN_MEMPCPY_CHK_CHKP,
>
> +  BUILT_IN_STPCPY_CHKP,
> +  BUILT_IN_STRCAT_CHKP,
> +  BUILT_IN_STRCHR_CHKP,
> +  BUILT_IN_STRCPY_CHKP,
> +  BUILT_IN_STRPCPY_CHKP,
> +  BUILT_IN_STRLEN_CHKP,
> +  BUILT_IN_STPCPY_CHK_CHKP,
> +  BUILT_IN_STRCAT_CHK_CHKP,
> +  BUILT_IN_STRCHR_CHK_CHKP,
> +  BUILT_IN_STRCPY_CHK_CHKP,
> +  BUILT_IN_STRPCPY_CHK_CHKP,
> +  BUILT_IN_STRLEN_CHK_CHKP,
I think this will break all the code though since there's no mapping 
from the original enumeration value for the builtin to the new one for 
the checker.


jeff
diff mbox

Patch

Index: tree-core.h
===================================================================
--- tree-core.h (revision 217658)
+++ tree-core.h (working copy)
@@ -170,10 +170,38 @@ 

   BEGIN_CHKP_BUILTINS,

-#undef DEF_BUILTIN
-#define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) ENUM##_CHKP,
-#include "builtins.def"
+  BUILT_IN_MEMCPY_CHKP,
+  BUILT_IN_MEMPCPY_CHKP,
+  BUILT_IN_MEMMOVE_CHKP,
+  BUILT_IN_MEMSET_CHKP,
+  BUILT_IN_CHKP_MEMCPY_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMPCPY_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMMOVE_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMSET_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMCPY_NOBND_CHKP,
+  BUILT_IN_CHKP_MEMPCPY_NOBND_CHKP,
+  BUILT_IN_CHKP_MEMMOVE_NOBND_CHKP,
+  BUILT_IN_CHKP_MEMSET_NOBND_CHKP,
+  BUILT_IN_CHKP_MEMCPY_NOBND_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMPCPY_NOBND_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMMOVE_NOBND_NOCHK_CHKP,
+  BUILT_IN_CHKP_MEMSET_NOBND_NOCHK_CHKP,
+  BUILT_IN_MEMCPY_CHK_CHKP,
+  BUILT_IN_MEMPCPY_CHK_CHKP,

+  BUILT_IN_STPCPY_CHKP,
+  BUILT_IN_STRCAT_CHKP,
+  BUILT_IN_STRCHR_CHKP,
+  BUILT_IN_STRCPY_CHKP,
+  BUILT_IN_STRPCPY_CHKP,
+  BUILT_IN_STRLEN_CHKP,
+  BUILT_IN_STPCPY_CHK_CHKP,
+  BUILT_IN_STRCAT_CHK_CHKP,
+  BUILT_IN_STRCHR_CHK_CHKP,
+  BUILT_IN_STRCPY_CHK_CHKP,
+  BUILT_IN_STRPCPY_CHK_CHKP,
+  BUILT_IN_STRLEN_CHK_CHKP,
+
   END_CHKP_BUILTINS,

   /* Complex division routines in libgcc.  These are done via builtins