public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "dvyukov at google dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug sanitizer/63850] Building TSAN for Aarch64 results in assembler Error
Date: Thu, 13 Nov 2014 12:51:00 -0000	[thread overview]
Message-ID: <bug-63850-4-VMVBWXtpTL@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-63850-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63850

Dmitry Vyukov <dvyukov at google dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dvyukov at google dot com

--- Comment #1 from Dmitry Vyukov <dvyukov at google dot com> ---
Hi,

The easiest way to disable disable the assembly is to switch hacky call to
normal call:

#if TSAN_DEBUG == 0
#define HACKY_CALL(f) \
  __asm__ __volatile__("sub $1024, %%rsp;" \
                       CFI_INL_ADJUST_CFA_OFFSET(1024) \
                       ".hidden " #f "_thunk;" \
                       "call " #f "_thunk;" \
                       "add $1024, %%rsp;" \
                       CFI_INL_ADJUST_CFA_OFFSET(-1024) \
                       ::: "memory", "cc");
#else
#define HACKY_CALL(f) f()
#endif

It should work, but just will be a bit slower.
We use this mode for Go language:

#ifndef TSAN_GO
    HACKY_CALL(__tsan_trace_switch);
#else
    TraceSwitch(thr);
#endif


But note that tsan is tested only on amd64 so far. So there can be other
issues. In particular, shadow memory layout and atomic operations.

Also any changes to tsan must go to llvm repo first and then be integrated into
gcc. Please refer to:
https://code.google.com/p/address-sanitizer/wiki/HowToContribute


  reply	other threads:[~2014-11-13 12:51 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-13 12:09 [Bug sanitizer/63850] New: Building TSAN for Aarch64 results in assembler venkataramanan.kumar at amd dot com
2014-11-13 12:51 ` dvyukov at google dot com [this message]
2014-11-13 13:12 ` [Bug sanitizer/63850] Building TSAN for Aarch64 results in assembler Error clyon at gcc dot gnu.org
2014-11-13 14:32 ` dvyukov at google dot com
2015-01-19  7:36 ` vekumar at gcc dot gnu.org
2015-01-19  7:49 ` dvyukov at google dot com
2015-01-19 20:46 ` clyon at gcc dot gnu.org
2015-01-20  6:06 ` vekumar at gcc dot gnu.org
2015-01-20  6:44 ` dvyukov at google dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-63850-4-VMVBWXtpTL@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).