libgcc3_uno.so is built as part of OpenOffice.org; when built with 2.19.91 an
exception is thrown; when built with 2.19.1, the application starts fine.
Tracked down to the patches for the ARM unwind table linker processing.
- attaching revert.diff, when applied to the 2.20 branch, builds a working
- http://people.canonical.com/~doko/tmp/test.tar.gz has the testcase,
together with two prebuilt libraries.
I don't know if this is a bug in binutils, or in the uno2cpp bridge for ARM.
Created attachment 4230 [details]
reversion of the unwinder changes
filed as well http://www.openoffice.org/issues/show_bug.cgi?id=105359
Comment from Paul Brook on irc:
I guess you get to debug it then. Figure out what's wrong with
the unwind tables, and where that bogosity comes from. My WAG
would be that it works by chance before because it's picking up
an unwind table from some other funciton. After the patch we're
inserting cantunwind markers for code that can't be unwound,
so the latent failure is exposed.
this is fixed in 2.20 and trunk by Jakub's cfi_sections patch, and the fix for
GCC PR 40521
I made a mistake with testing, 40521 didn't fix this.
I see now the same exception with the unwinder changes reverted. So start again ...
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40860 shows regressions in the
libjava tests, which were tracked down to this change.
Following discussion and investigation this has been shown to be a problem in
OpenOffice's codebase and not a problem with ld.
See the following pages for mote information: