Bug 10695

Summary: [2.20 regression] ld links libgcc3_uno.so which results in non-working uno2cpp bridge
Product: binutils Reporter: Matthias Klose <doko>
Component: ldAssignee: unassigned
Status: RESOLVED INVALID    
Severity: normal CC: bug-binutils, caolanm, lool, paul
Priority: P2    
Version: 2.20   
Target Milestone: ---   
Host: Target: arm-linux-gnueabi
Build: Last reconfirmed:
Attachments: reversion of the unwinder changes

Description Matthias Klose 2009-09-25 13:30:30 UTC
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
   library.
 - 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.
Comment 1 Matthias Klose 2009-09-25 13:31:06 UTC
Created attachment 4230 [details]
reversion of the unwinder changes
Comment 2 Matthias Klose 2009-09-27 07:09:35 UTC
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.
Comment 3 Matthias Klose 2009-10-08 15:07:44 UTC
this is fixed in 2.20 and trunk by Jakub's cfi_sections patch, and the fix for
GCC PR 40521
Comment 4 Matthias Klose 2009-10-21 11:28:49 UTC
I made a mistake with testing, 40521 didn't fix this.
Comment 5 Matthias Klose 2009-10-21 11:30:01 UTC
I see now the same exception with the unwinder changes reverted. So start again ...
Comment 6 Matthias Klose 2010-02-16 16:32:22 UTC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40860 shows regressions in the
libjava tests, which were tracked down to this change.

Comment 7 Matthew Gretton-Dann 2010-03-15 14:39:10 UTC
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:
http://www.openoffice.org/issues/show_bug.cgi?id=105359 and
https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/417009