This is the mail archive of the
mailing list for the binutils project.
Re: Fix alpha-linux unwind info
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: binutils at sourceware dot org, Nick Clifton <nickc at redhat dot com>
- Date: Sat, 6 Aug 2011 08:22:58 +0200
- Subject: Re: Fix alpha-linux unwind info
- References: <4E3C3195.firstname.lastname@example.org>
On Fri, Aug 5, 2011 at 8:08 PM, Richard Henderson <email@example.com> wrote:
> See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49688
> It turns out that given both .ent/.end (aka "legacy unwind") directives
> and CFI directives, we were generating double .eh_frame entries. ?Given
> that the legacy directives are not able to represent personality data,
> this lead to a bit of random failure as the binary search selected one
> or the other of the two .eh_frame entries with equal start addresses.
> The existing test for the existance of .eh_frame did not work because
> we have not yet called cfi_finish.
> Exposing the dw2gencfi variable seems slightly hacky, but no worse
> than any other solution I could think of.
The patch works OK on native alpha .
BTW: An "as" assert was triggerd in BFD for:
FAIL: g++.dg/tree-prof/partition2.C compilation, -Os -fprofile-use
(internal compiler error)
UNRESOLVED: g++.dg/tree-prof/partition2.C execution, -Os -fprofile-use
/tmp/cccx2jTq.s: Assembler messages:^M
/tmp/cccx2jTq.s:122: Error: invalid operands (.text.unlikely and
.text.startup sections) for `-'^M
/home/uros/bin/as: BFD (GNU Binutils) 126.96.36.19910623 assertion fail
g++: internal compiler error: Segmentation fault (program as)^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See <http://gcc.gnu.org/bugs.html> for instructions.^M
compiler exited with status 1
On x86 linux this testcase only reports assembler error, without ICE in "as".