aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexander Ivchenko <aivchenk@gcc.gnu.org>2016-12-27 15:35:19 +0000
committerAlexander Ivchenko <aivchenk@gcc.gnu.org>2016-12-27 15:35:19 +0000
commitbffa6b6c6214169d8d10f05a418f9f072235f068 (patch)
treee2879c0655bdacaf6b2e1c5755568957d0b3f79d /gcc
parent2700d0e3ab767c765246cdc480ff7ad5792eb2e6 (diff)
downloadgcc-bffa6b6c6214169d8d10f05a418f9f072235f068.zip
gcc-bffa6b6c6214169d8d10f05a418f9f072235f068.tar.gz
gcc-bffa6b6c6214169d8d10f05a418f9f072235f068.tar.bz2
libtool-version: New version.
libmpx/ 2016-12-27 H.J. Lu <hongjiu.lu@intel.com> Alexander Ivchenko <alexander.ivchenko@intel.com> * mpxwrap/libtool-version: New version. * mpxwrap/mpx_wrappers.c (__mpx_wrapper_realloc): Make it static with external alias. (__mpx_wrapper_bzero): Ditto. (mpx_wrapper_memcpy): Ditto. (__mpx_wrapper_mempcpy): Ditto. From-SVN: r243942
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/i386/mpx/memcpy-1.c23
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6fb5b25..fd5ca94 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -5,6 +5,10 @@
2016-12-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ * gcc.target/i386/mpx/memcpy-1.c: New test.
+
+2016-12-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
+
* gcc.target/i386/mpx/vla-trailing-1-lbv.c: New test.
* gcc.target/i386/mpx/vla-trailing-1-nov.c: Ditto.
* gcc.target/i386/mpx/vla-trailing-1-ubv.c: Ditto.
diff --git a/gcc/testsuite/gcc.target/i386/mpx/memcpy-1.c b/gcc/testsuite/gcc.target/i386/mpx/memcpy-1.c
new file mode 100644
index 0000000..1691348
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/mpx/memcpy-1.c
@@ -0,0 +1,23 @@
+/* { dg-do run } */
+/* { dg-shouldfail "bounds violation" } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx" } */
+
+/* Fix for PR78631 */
+
+#define SHOULDFAIL
+
+#include <stdio.h>
+#include <string.h>
+
+char s[10];
+char d[10];
+__attribute__((noinline))
+
+char* foo(char* dst, char* src, size_t size) {
+ return memcpy(dst, src, size);
+}
+int main() {
+ char* r = foo(d, s, 11);
+ printf("r = %p\n", r);
+ return 0;
+}