public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "ro at CeBiTec dot Uni-Bielefeld.DE" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug sanitizer/112563] [14 regression] libsanitizer doesn't assemble with Solaris/sparc as
Date: Mon, 27 Nov 2023 10:41:21 +0000	[thread overview]
Message-ID: <bug-112563-4-byUmwwa6M1@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-112563-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #12 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot
> Uni-Bielefeld.DE> ---
>> --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
>> (In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #9)
[...]
>> If it works, nice.  Can you file it on github.com/llvm/llvm-project as an issue
>> and see if upstream is willing to accept it?  I think they'll want some
>
> Can do, either as an issue or directly as a pull request.  I'll run it
> through a full llvm build, too, first.

Unfortunately, this didn't work out at all.  Initially, I had only
rebuilt libsanitizer with the patch, checking that there were only the
exepected number of calls to mem* functions in libasan.so.

The LLVM build on Solaris/sparcv9, while successful, doesn't tell you
much, unfortunately: due to a clang bug on sparc, the asan tests are
never run there.

When I ran a full Solaris/SPARC bootstrap, all asan tests FAILed with

AddressSanitizer: CHECK failed: asan_rtl.cpp:397 "((!AsanInitIsRunning() &&
"ASan init calls itself!")) != (0)" (0x0, 0x0) (tid=1)

I've once had the misfortune of debugging such a initializion order
issue in LLVM, and that was an long and painful experience which I'd
rather not repeat here.  The fix found in that case (build both
libasan.so and all asan tests with -z now) didn't work here, either:
this just turned the assertion failures into SEGVs.

This reliance on init order is a total nightmare: the details are
completely platform-specific and not portable at all.

Given all this, I've instead developed a patch that checks for assembler
a = b support in the libsanitizer configury and uses the result in
sanitizer_redefine_builtins.h.  This way, only the one configuration
that has an issue here is punished.  However, this has to stay local to
libsanitizer for obvious reasons.

  parent reply	other threads:[~2023-11-27 10:41 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-16 10:20 [Bug sanitizer/112563] New: " ro at gcc dot gnu.org
2023-11-16 10:20 ` [Bug sanitizer/112563] " ro at gcc dot gnu.org
2023-11-16 12:47 ` rguenth at gcc dot gnu.org
2023-11-19 21:16 ` jakub at gcc dot gnu.org
2023-11-20  9:28 ` jakub at gcc dot gnu.org
2023-11-20 13:42 ` ro at CeBiTec dot Uni-Bielefeld.DE
2023-11-20 15:47 ` jakub at gcc dot gnu.org
2023-11-20 19:29 ` jakub at gcc dot gnu.org
2023-11-20 19:38 ` jakub at gcc dot gnu.org
2023-11-20 20:09 ` jakub at gcc dot gnu.org
2023-11-21 17:31 ` jakub at gcc dot gnu.org
2023-11-22 13:22 ` ro at CeBiTec dot Uni-Bielefeld.DE
2023-11-22 13:29 ` jakub at gcc dot gnu.org
2023-11-22 13:37 ` ro at CeBiTec dot Uni-Bielefeld.DE
2023-11-27 10:41 ` ro at CeBiTec dot Uni-Bielefeld.DE [this message]
2023-11-27 12:57 ` ro at gcc dot gnu.org
2023-11-28 13:54 ` cvs-commit at gcc dot gnu.org
2023-11-28 13:56 ` cvs-commit at gcc dot gnu.org
2023-11-28 15:07 ` ro at gcc dot gnu.org

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-112563-4-byUmwwa6M1@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).