public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/97653] [11 Regression] Incorrect long double calculation with -mabi=ibmlongdouble
Date: Tue, 20 Apr 2021 09:45:37 +0000	[thread overview]
Message-ID: <bug-97653-4-ZDzQoxKuGy@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-97653-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:8642b73a0f0df1f8e1e2d2102d67a76f8ed0a255

commit r10-9720-g8642b73a0f0df1f8e1e2d2102d67a76f8ed0a255
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Apr 3 10:05:32 2021 +0200

    rs6000: Fix up libgcc ABI when built with --with-long-double-format=ieee
[PR97653]

    __floatunditf and __fixtfdi and a couple of other libgcc{.a,_s.so}
    entrypoints for backwards compatibility should mean IBM double double
    handling (i.e. IFmode), gcc emits such calls for that format and
    form IEEE long double emits *kf* instead.
    When gcc is configured without --with-long-double-format=ieee ,
    everything is fine, but when it is not, we need to compile those
    libgcc sources with -mno-gnu-attribute -mabi=ibmlongdouble.
    The following snippet in libgcc/config/rs6000/t-linux was attempting
    to ensure that, and for some routines it works fine (e.g. for _powitf2).
    But, due to 4 different types of bugs it doesn't work for most of those
    functions, which means that in --with-long-double-format=ieee
    configured gcc those *tf* entrypoints instead handle the long double
    arguments as if they were KFmode.

    The bugs are:
    1) the first few objs properly use $(objext) as suffix, but
       several other contain a typo and use $(object) instead,
       which is a variable that isn't set to anything, so we don't
       add .o etc. extensions
    2) while unsigned fix are properly called _fixuns*, unsigned float
       are called _floatun* (without s), but the var was using there
       the extra s and so didn't match
    3) the variable didn't cover any of the TF <-> TI conversions,
       only TF <-> DI conversions
    4) nothing in libgcc_s.so was handled, as those object files are
       called *_s.o rather than *.o and IBM128_SHARED_OBJS used wrong
       syntax of the GNU make substitution reference, which should be
       $(var:a=b) standing for $(patsubst a,b,$(var)) but it used
       $(var:a:b) instead

    2021-04-03  Jakub Jelinek  <jakub@redhat.com>

            PR target/97653
            * config/rs6000/t-linux (IBM128_STATIC_OBJS): Fix spelling, use
            $(objext) instead of $(object).  Use _floatunditf instead of
            _floatunsditf.  Add tf <-> ti conversion objects.
            (IBM128_SHARED_OBJS): Use proper substitution reference syntax.

    (cherry picked from commit cda41ce0e8414aec59e6b9fbe645d96e6e8193e2)

      parent reply	other threads:[~2021-04-20  9:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-31  8:57 [Bug target/97653] New: " redi at gcc dot gnu.org
2020-10-31  8:58 ` [Bug target/97653] " redi at gcc dot gnu.org
2020-10-31  9:00 ` redi at gcc dot gnu.org
2020-10-31  9:12 ` redi at gcc dot gnu.org
2020-11-03 19:51 ` meissner at gcc dot gnu.org
2020-11-03 19:58 ` meissner at gcc dot gnu.org
2020-11-04 12:02 ` redi at gcc dot gnu.org
2020-12-08 14:09 ` redi at gcc dot gnu.org
2021-01-21  1:41 ` meissner at gcc dot gnu.org
2021-01-21  1:44 ` meissner at gcc dot gnu.org
2021-03-23 18:07 ` redi at gcc dot gnu.org
2021-03-23 18:08 ` redi at gcc dot gnu.org
2021-03-30 11:28 ` jakub at gcc dot gnu.org
2021-03-30 11:44 ` redi at gcc dot gnu.org
2021-03-30 11:49 ` redi at gcc dot gnu.org
2021-03-30 12:02 ` jakub at gcc dot gnu.org
2021-03-31 10:58 ` [Bug target/97653] [11 Regression] " jakub at gcc dot gnu.org
2021-03-31 11:59 ` jakub at gcc dot gnu.org
2021-03-31 12:24 ` jakub at gcc dot gnu.org
2021-04-03  8:06 ` cvs-commit at gcc dot gnu.org
2021-04-03  8:16 ` jakub at gcc dot gnu.org
2021-04-20  9:45 ` cvs-commit at gcc dot gnu.org [this message]

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-97653-4-ZDzQoxKuGy@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).