add big-hammer patch for GCC bug 95189

this is a critical wrong-codegen bug in gcc 9 and 10 that can have
security impact, and oddly the fix still does not seem to have been
backported, so just disable builtin memcmp expansion entirely until
there's a known-good fix.
This commit is contained in:
Rich Felker 2021-06-23 21:35:00 -04:00
parent 0ce03e0f46
commit 30454c5887
2 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,11 @@
diff -ur gcc-9.3.0.orig/gcc/builtins.c gcc-9.3.0/gcc/builtins.c
--- gcc-9.3.0.orig/gcc/builtins.c 2020-03-12 11:07:21.000000000 +0000
+++ gcc-9.3.0/gcc/builtins.c 2020-09-23 22:16:54.815251679 +0000
@@ -4658,6 +4658,7 @@
static rtx
expand_builtin_memcmp (tree exp, rtx target, bool result_eq)
{
+ return NULL_RTX;
if (!validate_arglist (exp,
POINTER_TYPE, POINTER_TYPE, INTEGER_TYPE, VOID_TYPE))
return NULL_RTX;

View File

@ -0,0 +1,11 @@
diff -ur gcc-9.3.0.orig/gcc/builtins.c gcc-9.3.0/gcc/builtins.c
--- gcc-9.3.0.orig/gcc/builtins.c 2020-03-12 11:07:21.000000000 +0000
+++ gcc-9.3.0/gcc/builtins.c 2020-09-23 22:16:54.815251679 +0000
@@ -4658,6 +4658,7 @@
static rtx
expand_builtin_memcmp (tree exp, rtx target, bool result_eq)
{
+ return NULL_RTX;
if (!validate_arglist (exp,
POINTER_TYPE, POINTER_TYPE, INTEGER_TYPE, VOID_TYPE))
return NULL_RTX;