diff options
Diffstat (limited to 'lang/gcc48/patches/patch-gcc_builtins.c')
-rw-r--r-- | lang/gcc48/patches/patch-gcc_builtins.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/lang/gcc48/patches/patch-gcc_builtins.c b/lang/gcc48/patches/patch-gcc_builtins.c new file mode 100644 index 00000000000..573156b1395 --- /dev/null +++ b/lang/gcc48/patches/patch-gcc_builtins.c @@ -0,0 +1,56 @@ +$NetBSD: patch-gcc_builtins.c,v 1.1 2014/05/31 13:06:25 ryoon Exp $ + +--- gcc/builtins.c.orig 2014-05-09 10:16:14.000000000 +0000 ++++ gcc/builtins.c +@@ -114,9 +114,11 @@ static rtx expand_builtin_memcpy (tree, + static rtx expand_builtin_mempcpy (tree, rtx, enum machine_mode); + static rtx expand_builtin_mempcpy_args (tree, tree, tree, rtx, + enum machine_mode, int); ++#ifndef NO_UNSAFE_BUILTINS + static rtx expand_builtin_strcpy (tree, rtx); + static rtx expand_builtin_strcpy_args (tree, tree, rtx); + static rtx expand_builtin_stpcpy (tree, rtx, enum machine_mode); ++#endif + static rtx expand_builtin_strncpy (tree, rtx); + static rtx builtin_memset_gen_str (void *, HOST_WIDE_INT, enum machine_mode); + static rtx expand_builtin_memset (tree, rtx, enum machine_mode); +@@ -3228,6 +3230,7 @@ expand_builtin_mempcpy_args (tree dest, + # define CODE_FOR_movstr CODE_FOR_nothing + #endif + ++#ifndef NO_UNSAFE_BUILTINS + /* Expand into a movstr instruction, if one is available. Return NULL_RTX if + we failed, the caller should emit a normal call, otherwise try to + get the result in TARGET, if convenient. If ENDP is 0 return the +@@ -3378,6 +3381,7 @@ expand_builtin_stpcpy (tree exp, rtx tar + return expand_movstr (dst, src, target, /*endp=*/2); + } + } ++#endif + + /* Callback routine for store_by_pieces. Read GET_MODE_BITSIZE (MODE) + bytes from constant string DATA + OFFSET and return it as target +@@ -6174,9 +6178,11 @@ expand_builtin (tree exp, rtx target, rt + break; + + case BUILT_IN_STRCPY: ++#ifndef NO_UNSAFE_BUILTINS + target = expand_builtin_strcpy (exp, target); + if (target) + return target; ++#endif + break; + + case BUILT_IN_STRNCPY: +@@ -6186,9 +6192,11 @@ expand_builtin (tree exp, rtx target, rt + break; + + case BUILT_IN_STPCPY: ++#ifndef NO_UNSAFE_BUILTINS + target = expand_builtin_stpcpy (exp, target, mode); + if (target) + return target; ++#endif + break; + + case BUILT_IN_MEMCPY: |