As detailed in the PR notes, this test behaves differently on linux vs hpux targets due to differences in how they handle the space/segment registers.
By changing the test slightly we can remove that difference in behaviour across the platforms without compromising the test.
Installed on the trunk after verifying hppa.exp passes with crosses to hpux and linux.
Jeff
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d2d51ae..37f3724 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-07-08 Jeff Law <l...@redhat.com> + + PR testsuite/66796 + * gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as + to have a single memory reference. + 2015-07-08 Eric Botcazou <ebotca...@adacore.com> * g++.dg/other/dump-ada-spec-9.C: New test. diff --git a/gcc/testsuite/gcc.target/hppa/shadd-1.c b/gcc/testsuite/gcc.target/hppa/shadd-1.c index de4776b..55115b4 100644 --- a/gcc/testsuite/gcc.target/hppa/shadd-1.c +++ b/gcc/testsuite/gcc.target/hppa/shadd-1.c @@ -12,5 +12,5 @@ __sigaddset (__sigset_t * __set, int __sig, int __stuff) { unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); - return __set->__val[__word] |= __stuff; + return __set->__val[__word] = __stuff; }