diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-03-15 17:32:46 +0000 |
---|---|---|
committer | Arjun Shankar <arjun.is@lostca.se> | 2017-06-05 15:14:35 +0200 |
commit | 34b6f41c14d09fe627c6a6224880d76d0959079e (patch) | |
tree | 26caac97feb3ced6fa8ecd8e1ec5c50d9703be7e /NEWS | |
parent | ccb4fd7a657b0fbc4890c98f4586d58a135fc583 (diff) | |
download | glibc-34b6f41c14d09fe627c6a6224880d76d0959079e.zip glibc-34b6f41c14d09fe627c6a6224880d76d0959079e.tar.gz glibc-34b6f41c14d09fe627c6a6224880d76d0959079e.tar.bz2 |
Fix test-math-vector-sincos.h aliasing.
x86_64 libmvec tests have been failing to build lately with GCC
mainline with -Wuninitialized errors, and Markus Trippelsdorf traced
this to an aliasing issue
<https://sourceware.org/ml/libc-alpha/2017-03/msg00169.html>.
This patch fixes the aliasing issue, so that the vectors-of-pointers
are initialized using a union instead of pointer casts. This also
fixes the testsuite build failures with GCC mainline.
Tested for x86_64 (full testsuite with GCC 6; testsuite build with GCC
mainline with build-many-glibcs.py).
* sysdeps/x86/fpu/test-math-vector-sincos.h (INIT_VEC_PTRS_LOOP):
Use a union when storing pointers.
(VECTOR_WRAPPER_fFF_2): Do not take address of integer vector and
cast result when passing to INIT_VEC_PTRS_LOOP.
(VECTOR_WRAPPER_fFF_3): Likewise.
(VECTOR_WRAPPER_fFF_4): Likewise.
(cherry picked from commit ffe308e4fcf2f276c87fd405596569ba52ad0a29)
Diffstat (limited to 'NEWS')
0 files changed, 0 insertions, 0 deletions