aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorMarkus Trippelsdorf <markus@trippelsdorf.de>2015-03-04 17:28:56 +0000
committerMarkus Trippelsdorf <trippels@gcc.gnu.org>2015-03-04 17:28:56 +0000
commit44d952440e2c353b61f0d9d377c0c4832167c475 (patch)
tree7ce90b82daec105b46dc60b65c6c3e744d05dd89 /libcpp
parentb6584a72ac8d305731e1771a05c117dc11a3d553 (diff)
downloadgcc-44d952440e2c353b61f0d9d377c0c4832167c475.zip
gcc-44d952440e2c353b61f0d9d377c0c4832167c475.tar.gz
gcc-44d952440e2c353b61f0d9d377c0c4832167c475.tar.bz2
re PR target/65261 (bootstrap-ubsan ppc64le: gcc/libcpp/lex.c:552:30: runtime error: load of misaligned address 0x01002172dfc6 for type 'const uchar', which requires 16 byte alignment)
Fix PR65261 Running bootstrap-ubsan on ppc64le shows many instances of: libcpp/lex.c:552:30: runtime error: load of misaligned address 0x01001f31d37a for type 'const uchar', which requires 16 byte alignment But the unaligned vector loads are intended in this case, because they are preferable to forced-alignment on POWER8. So just silence the ubsan errors. 2015-03-02 Markus Trippelsdorf <markus@trippelsdorf.de> include/ PR target/65261 * ansidecl.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro. libcpp/ PR target/65261 * lex.c (search_line_fast): Silence ubsan errors. From-SVN: r221190
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libcpp/lex.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 325f706..2d84835 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-02 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR target/65261
+ * lex.c (search_line_fast): Silence ubsan errors.
+
2015-02-03 <dodji@redhat.com>
PR preprocessor/64803
diff --git a/libcpp/lex.c b/libcpp/lex.c
index 4638510..0dc4737 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -519,6 +519,7 @@ init_vectorized_lexer (void)
and VSX unaligned loads (when VSX is available). This is otherwise
the same as the pre-GCC 5 version. */
+ATTRIBUTE_NO_SANITIZE_UNDEFINED
static const uchar *
search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
{