Message ID | 1574032465-12186-1-git-send-email-tsimpson@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Modify tests to work with clang | expand |
On 18/11/2019 00.14, Taylor Simpson wrote: > Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> > --- > tests/tcg/multiarch/float_helpers.c | 2 -- > tests/tcg/multiarch/linux-test.c | 6 +++++- > 2 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/float_helpers.c > index 8ee7903..bc530e5 100644 > --- a/tests/tcg/multiarch/float_helpers.c > +++ b/tests/tcg/multiarch/float_helpers.c > @@ -79,11 +79,9 @@ char *fmt_16(uint16_t num) > > #ifndef SNANF > /* Signaling NaN macros, if supported. */ > -# if __GNUC_PREREQ(3, 3) > # define SNANF (__builtin_nansf ("")) > # define SNAN (__builtin_nans ("")) > # define SNANL (__builtin_nansl ("")) > -# endif > #endif > > static float f32_numbers[] = { > diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c > index 673d7c8..8a7c15c 100644 > --- a/tests/tcg/multiarch/linux-test.c > +++ b/tests/tcg/multiarch/linux-test.c > @@ -485,7 +485,11 @@ static void test_signal(void) > act.sa_flags = SA_SIGINFO; > chk_error(sigaction(SIGSEGV, &act, NULL)); > if (setjmp(jmp_env) == 0) { > - *(uint8_t *)0 = 0; > + /* > + * clang requires volatile or it will turn this into a > + * call to abort() instead of forcing a SIGSEGV. > + */ > + *(volatile uint8_t *)0 = 0; > } > > act.sa_handler = SIG_DFL; > Reviewed-by: Thomas Huth <thuth@redhat.com>
On 11/18/19 12:14 AM, Taylor Simpson wrote: > Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> > --- > tests/tcg/multiarch/float_helpers.c | 2 -- > tests/tcg/multiarch/linux-test.c | 6 +++++- > 2 files changed, 5 insertions(+), 3 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
Taylor Simpson <tsimpson@quicinc.com> writes: > Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> Queued to 4.2/for-rc2, thanks. > --- > tests/tcg/multiarch/float_helpers.c | 2 -- > tests/tcg/multiarch/linux-test.c | 6 +++++- > 2 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/float_helpers.c > index 8ee7903..bc530e5 100644 > --- a/tests/tcg/multiarch/float_helpers.c > +++ b/tests/tcg/multiarch/float_helpers.c > @@ -79,11 +79,9 @@ char *fmt_16(uint16_t num) > > #ifndef SNANF > /* Signaling NaN macros, if supported. */ > -# if __GNUC_PREREQ(3, 3) > # define SNANF (__builtin_nansf ("")) > # define SNAN (__builtin_nans ("")) > # define SNANL (__builtin_nansl ("")) > -# endif > #endif > > static float f32_numbers[] = { > diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c > index 673d7c8..8a7c15c 100644 > --- a/tests/tcg/multiarch/linux-test.c > +++ b/tests/tcg/multiarch/linux-test.c > @@ -485,7 +485,11 @@ static void test_signal(void) > act.sa_flags = SA_SIGINFO; > chk_error(sigaction(SIGSEGV, &act, NULL)); > if (setjmp(jmp_env) == 0) { > - *(uint8_t *)0 = 0; > + /* > + * clang requires volatile or it will turn this into a > + * call to abort() instead of forcing a SIGSEGV. > + */ > + *(volatile uint8_t *)0 = 0; > } > > act.sa_handler = SIG_DFL; -- Alex Bennée
diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/float_helpers.c index 8ee7903..bc530e5 100644 --- a/tests/tcg/multiarch/float_helpers.c +++ b/tests/tcg/multiarch/float_helpers.c @@ -79,11 +79,9 @@ char *fmt_16(uint16_t num) #ifndef SNANF /* Signaling NaN macros, if supported. */ -# if __GNUC_PREREQ(3, 3) # define SNANF (__builtin_nansf ("")) # define SNAN (__builtin_nans ("")) # define SNANL (__builtin_nansl ("")) -# endif #endif static float f32_numbers[] = { diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c index 673d7c8..8a7c15c 100644 --- a/tests/tcg/multiarch/linux-test.c +++ b/tests/tcg/multiarch/linux-test.c @@ -485,7 +485,11 @@ static void test_signal(void) act.sa_flags = SA_SIGINFO; chk_error(sigaction(SIGSEGV, &act, NULL)); if (setjmp(jmp_env) == 0) { - *(uint8_t *)0 = 0; + /* + * clang requires volatile or it will turn this into a + * call to abort() instead of forcing a SIGSEGV. + */ + *(volatile uint8_t *)0 = 0; } act.sa_handler = SIG_DFL;
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> --- tests/tcg/multiarch/float_helpers.c | 2 -- tests/tcg/multiarch/linux-test.c | 6 +++++- 2 files changed, 5 insertions(+), 3 deletions(-)