This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/18010] bad unwind info due to multiple returns (missing epilogue)
- From: "davidm at hpl dot hp dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Nov 2004 18:06:58 -0000
- Subject: [Bug target/18010] bad unwind info due to multiple returns (missing epilogue)
- References: <20041015111408.18010.davidm@hpl.hp.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From davidm at hpl dot hp dot com 2004-11-04 18:06 -------
(In reply to comment #18)
> On Thu, 2004-10-28 at 02:24, davidm at hpl dot hp dot com wrote:
> > # of unexpected failures 115
>
> This is a lot more failures than we should have. I didn't have any luck
> in reproducing this though. I did an apt-get update and dist-upgrade on
> my debian/unstable partition, rebooted just in case, built and installed
> libunwind-0.98 from source, then did a gcc bootstrap and make check, and
> got 46 gcc failures. This is from gcc mainline, last updated on Monday.
I tried this again, on two different Debian/unstable systems and it now worked
much better. On the first (which had the 115 failures before), I got:
# of unexpected failures 47
On the second, which has a "better" libc and gas installed I get:
# of unexpected failures 41
Here, by "better" I mean a glibc which has some unwind-info fixes and a gas
which handles the psp-relative unwind directives correctly. Though I should say
that I did not try to verify that the additional passes are due to these
differences.
In any case, I agree now: GCC head looks pretty good!
Also, you might like to know that as of last Friday, I was for the first time
able to successfully complete a test which single-steps through a program from
the beginning to the end (including all the ld.so startup/shutdown!), getting a
backtrace after each instruction without detecting any failures! Of course,
that doesn't prove that the unwind-info is 100% correct, but it _is_ a tough test.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18010