[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug libstdc++/40133] exception propagation support not enabled in libstdc++ 4.4 on {armeabi,hppa}-linux




------- Comment #8 from mikpe at it dot uu dot se  2009-05-22 19:18 -------
Created an attachment (id=17902)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17902&action=view)
always pass -lgcc to linker

The link error reported by Matthias Klose is caused by the following:
1. g++ links shared libraries with -shared-libgcc, which apparently is
important      whenever exceptions are possible.
2. -shared-libgcc by definition excludes the static libgcc from the link
command.
3. Since the __sync__ procedures are only present in the static libgcc, it
follows that they cannot be used by -shared-libgcc objects like libstdc++.so.

One way around this is to redefine -shared-libgcc to actually link against the
static libgcc, contrary to its intention. Both mingw32 and cygwin do this, so
it's not unheard of. The attached patch updates ARM EABI to do just that.
Passes a bootstrap and light testing here.

However, I would strongly prefer to just move the __sync__ procedures to the
shared libgcc (with symbol versions of course).


-- 


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

------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.


Reply to: