public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "victor.donascimento at arm dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug other/113336] libatomic (testsuite) regressions on armv6-linux-gnueabihf
Date: Thu, 25 Jan 2024 17:09:26 +0000	[thread overview]
Message-ID: <bug-113336-4-ZaK9GnNfRV@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-113336-4@http.gcc.gnu.org/bugzilla/>

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

Victor Do Nascimento <victor.donascimento at arm dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |victor.donascimento at arm dot com

--- Comment #3 from Victor Do Nascimento <victor.donascimento at arm dot com> ---
For what it's worth, I just so happened to stumble upon the same issue when
compiling and running Libatomic for the armv8l-unknown-linux-gnueabihf triplet
on a Cortex-A72 machine inside a 32-bit Docker container, so the issue is
clearly is clearly prevalent on a wider range of targets than perhaps alluded
to by the bug report title.

The patch provided does appear to fix all regressions.

Here are my initial thoughts on the issue and the proposed fix.

My only concern at the moment is that if the regression is caused by
HAVE_ATOMIC_TAS now being detected as false, then perhaps a more directed
solution is called for, specific to tas, as opposed to generating _i2 variants
for *all* atomic ops via $(addsuffix _1_2_.lo,$(SIZEOBJS))

If you look at the very end of tas_n.c at the `if !DONE' clause, you'll see
that for `SIZE(libat_test_and_set)', irrespective of the SIZE value,
SIZE(libat_test_and_set) always falls back onto `libat_test_and_set_1',
explaining why tas_1_2_.lo is needed.

This unconditional dependence on the *_1 does not, however, appear the norm. 
One example of this is seen with `SIZE(libat_compare_exchange)'.

With this in mind, I notice that adding `tas_1_2_.lo' to the
`libatomic_la_LIBADD' variable in Makefile.am, i.e.

  libatomic_la_LIBADD += tas_1_2_.lo

is apparently sufficient to fix all regressions on my machine.

  parent reply	other threads:[~2024-01-25 17:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-11 15:42 [Bug other/113336] New: " roger at nextmovesoftware dot com
2024-01-14 12:15 ` [Bug other/113336] " roger at nextmovesoftware dot com
2024-01-21 16:40 ` hp at gcc dot gnu.org
2024-01-25 17:09 ` victor.donascimento at arm dot com [this message]
2024-01-25 18:18 ` [Bug other/113336] libatomic (testsuite) regressions on arm roger at nextmovesoftware dot com
2024-01-28 11:31 ` doko at gcc dot gnu.org
2024-01-28 11:32 ` [Bug other/113336] [14 Regression] " doko at gcc dot gnu.org
2024-01-28 16:29 ` roger at nextmovesoftware dot com
2024-02-14 19:12 ` cvs-commit at gcc dot gnu.org
2024-02-17 16:45 ` roger at nextmovesoftware 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-113336-4-ZaK9GnNfRV@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).