On 15-Nov-13, at 9:51 AM, Jakub Jelinek wrote:

On Fri, Nov 15, 2013 at 08:16:47AM -0600, Peter Bergner wrote:
On Wed, 2013-11-13 at 11:25 -0600, Peter Bergner wrote:
On Wed, 2013-11-13 at 00:49 +0100, Jakub Jelinek wrote:
2013-11-12  Jakub Jelinek  <ja...@redhat.com>

        * sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
        ifdef out almost the whole source.
        * sanitizer_common/sanitizer_common_syscalls.inc: Likewise.

That helps, but as Pat reported in the bugzilla, it still is failing.
With the following patch, we can now bootstrap on powerpc64-linux.

Is this ok for trunk?

Does this help the other architectures that are failing for the same
build error?

Ok, Dave reported in PR59009 that my last patch still left a few build problems on HPPA. Dave tested the patch below and confirmed this cleans

How can there be problems on HPPA? libsanitizer/configure.tgt says that
hppa* is UNSUPPORTED, so libsanitizer should never be built there.
Furthermore, it would be nice to understand why the sigaction is different.


Actually, it turns out I have had a patch in my tree enabling it.

Dave
--
John David Anglin       dave.ang...@bell.net


Index: asan/asan_linux.cc
===================================================================
--- asan/asan_linux.cc  (revision 204829)
+++ asan/asan_linux.cc  (working copy)
@@ -56,6 +56,12 @@
   *pc = ucontext->uc_mcontext.arm_pc;
   *bp = ucontext->uc_mcontext.arm_fp;
   *sp = ucontext->uc_mcontext.arm_sp;
+# elif defined(__hppa__)
+  ucontext_t *ucontext = (ucontext_t*)context;
+  *pc = ucontext->uc_mcontext.sc_iaoq[0];
+  /* GCC uses %r3 whenever a frame pointer is needed.  */
+  *bp = ucontext->uc_mcontext.sc_gr[3];
+  *sp = ucontext->uc_mcontext.sc_gr[30];
 # elif defined(__x86_64__)
   ucontext_t *ucontext = (ucontext_t*)context;
   *pc = ucontext->uc_mcontext.gregs[REG_RIP];
Index: configure.tgt
===================================================================
--- configure.tgt       (revision 204829)
+++ configure.tgt       (working copy)
@@ -20,6 +20,8 @@
 
 # Filter out unsupported systems.
 case "${target}" in
+  hppa*-*-linux*)
+       ;;
   x86_64-*-linux* | i?86-*-linux*)
        if test x$ac_cv_sizeof_void_p = x8; then
                TSAN_SUPPORTED=yes

Reply via email to