aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-03-18 16:05:30 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-03-18 16:05:30 +0100
commitead96f131d8122180311bedf896f490a048dff57 (patch)
treec9077f2dd4fa901ced4cc807a4b8a858c3d353f7 /gcc
parent415e2e6b2cc65c68c25677ec02657c0efb1ce563 (diff)
downloadgcc-ead96f131d8122180311bedf896f490a048dff57.zip
gcc-ead96f131d8122180311bedf896f490a048dff57.tar.gz
gcc-ead96f131d8122180311bedf896f490a048dff57.tar.bz2
re PR sanitizer/60557 (UBSAN: ICE after ubsan_expand_null_ifn)
PR sanitizer/60557 * ubsan.c (ubsan_instrument_unreachable): Call initialize_sanitizer_builtins. (ubsan_pass): Likewise. From-SVN: r208652
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ubsan.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6c11a54..0289142 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-03-18 Jakub Jelinek <jakub@redhat.com>
+ PR sanitizer/60557
+ * ubsan.c (ubsan_instrument_unreachable): Call
+ initialize_sanitizer_builtins.
+ (ubsan_pass): Likewise.
+
PR sanitizer/60535
* ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
varpool_finalize_decl instead of rest_of_decl_compilation.
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index 6f110c1..7c7a893 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -512,6 +512,7 @@ ubsan_create_data (const char *name, location_t loc,
tree
ubsan_instrument_unreachable (location_t loc)
{
+ initialize_sanitizer_builtins ();
tree data = ubsan_create_data ("__ubsan_unreachable_data", loc, NULL,
NULL_TREE);
tree t = builtin_decl_explicit (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE);
@@ -847,6 +848,8 @@ ubsan_pass (void)
basic_block bb;
gimple_stmt_iterator gsi;
+ initialize_sanitizer_builtins ();
+
FOR_EACH_BB_FN (bb, cfun)
{
for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi);)