This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix alpha-linux unwind info


On Fri, Aug 5, 2011 at 8:08 PM, Richard Henderson <rth@redhat.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 [1].

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) 2.21.52.20110623 assertion fail
elf.c:2826^M
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".

[1] http://gcc.gnu.org/ml/gcc-testresults/2011-08/msg00614.html

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]