public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/54723] New: test gcc.target/arm/div64-unwinding.c fails for GNU/Linux target
@ 2012-09-26 23:20 janis at gcc dot gnu.org
  2012-10-12 19:28 ` [Bug target/54723] " janis at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: janis at gcc dot gnu.org @ 2012-09-26 23:20 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54723

             Bug #: 54723
           Summary: test gcc.target/arm/div64-unwinding.c fails for
                    GNU/Linux target
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: janis@gcc.gnu.org
            Target: arm-none-linux-gnueabi


Test gcc.target/arm/div64-unwinding.c checks that performing a 64-bit division
does not pull in the unwinder.  When Julian Brown added the test he mentioned
that it was for use with bare-metal targets, but the test is not restricted to
them.  When asked about it recently he said "Actually the mechanism through
which the test fails for Linux/glibc is unknown: it might be worth trying to
figure out what causes the unwinder to be pulled into the binary for Linux
toolchains. Or it might not..."

I plan to XFAIL the test for GNU/Linux targets, so this PR provides a handy
place to record additional thoughts about the failure.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug target/54723] test gcc.target/arm/div64-unwinding.c fails for GNU/Linux target
  2012-09-26 23:20 [Bug target/54723] New: test gcc.target/arm/div64-unwinding.c fails for GNU/Linux target janis at gcc dot gnu.org
@ 2012-10-12 19:28 ` janis at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: janis at gcc dot gnu.org @ 2012-10-12 19:28 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54723

Janis Johnson <janis at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #1 from Janis Johnson <janis at gcc dot gnu.org> 2012-10-12 19:27:49 UTC ---
I'm declaring this Not a Bug based on this response from Richard Earnshaw in
<http://gcc.gnu.org/ml/gcc-patches/2012-10/msg00966.html>:

I don't believe there's a bug here.   The ARM EABI defines __aeabi_idiv0 
as a hook that will be called if division by zero occurs.  While the 
default implementation simply raises SIGFPE on linux, it is perfectly 
possible to provide your own definition of this hook and then throw() a 
C++ exception.  In order to do that you'd need unwind information in the 
divdi implementation ([u]divsi tailcalls the hook).

Technically you could argue the same for bare metal, but in that case 
the arguments against the code bloat outweigh this very small corner 
case and users wanting this will have to rebuild their support code.

On linux, I think the presence of the unwind information is correct, 
since the code bloat problem is very much a secondary concern.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-10-12 19:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-26 23:20 [Bug target/54723] New: test gcc.target/arm/div64-unwinding.c fails for GNU/Linux target janis at gcc dot gnu.org
2012-10-12 19:28 ` [Bug target/54723] " janis at gcc dot gnu.org

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).