This is the mail archive of the 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 <> wrote:
> See
> 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) 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 <> for instructions.^M
compiler exited with status 1

On x86 linux this testcase only reports assembler error, without ICE in "as".



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