This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug libgcj/40860] [4.4/4.5/4.6 regression] regressions in libjava testsuite on arm-linux



------- Comment #33 from mikpe at it dot uu dot se  2010-04-08 12:14 -------
Created an attachment (id=20333)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20333&action=view)
eliminate use of _Unwind_GetRegionStart on ARM, part 1

Here's a preliminary patch to eliminate the functional dependency on
_Unwind_GetRegionStart on ARM.  There are two key changes:
output_function_exception_table outputs a proper @LPStart pointer in each LSDA
blob, and every PR's parse_lsda_header sets @Start to @LPstart if @Start is
NULL.

Without these updates making _Unwind_GetRegionStart return NULL on ARM causes
massive regressions in the c++/objc/obj-c++ test suites, and some in the c and
libffi test suites.  With these updates those regressions are eliminated.

There are however two new regressions:

1. There are several orders of magnitude more alignment exceptions during the
test suite run, probably in the read_encoded_value calls that now trigger.

2. For initial testing I ran this on i686 with its _Unwind_GetRegionStart made
to return NULL too, and while it worked the g++.old-deja/g++.law/weak.C test
case failed with a linkage error.  It looks like gcc emitted exception table
data for a discarded piece of code.  On my ARM box the test suite considered
that test case UNSUPPORTED so never ran it.

The first regression can probably be fixed by avoiding to define unneeded
@LPStart pointers and making read_encoded_value mis-alignment safe.

The second regression might be fixable by making the @LPStart symbol references
weak.

More fixes will be needed for libjava's stacktrace mess though.


-- 


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


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