summaryrefslogtreecommitdiff
path: root/soltools
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@novell.com>2011-02-09 15:23:07 +0200
committerTor Lillqvist <tlillqvist@novell.com>2011-02-09 21:30:17 +0200
commit1e4649eeaef6a84c5315455a15cbfe23af1f9572 (patch)
tree89ffe4e8ea63fd27a3f32d1b3c34502c3333aa4e /soltools
parentfca25e4c4cc0b95227d967b7418ec77888980ba3 (diff)
Ignore __real@ and __TI3? prefixed symbols in ldump
The __real@ ones are storage of (shared?) floating-point constants. The __TI3? ones are related to throwing exceptions, TI perhaps means type information. Trying to export them causes unresolved externals problems, and most likely it would be insane to export them from a LO DLL anyway. I came across the problem with some framework DLLs. Why this issue has popped up now, after the big stlport/boost/etc change, I have no idea. One would think we have had floating-point constants all the time in the code, and we throw exceptions all over the place. Oh well.
Diffstat (limited to 'soltools')
-rw-r--r--soltools/ldump/ldump.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/soltools/ldump/ldump.cxx b/soltools/ldump/ldump.cxx
index c19f50e08087..4d5a8f1b811e 100644
--- a/soltools/ldump/ldump.cxx
+++ b/soltools/ldump/ldump.cxx
@@ -192,7 +192,9 @@ bool LibDump::Dump()
// und raus damit
PrintSym( aName, bExportByName );
}
- else if ( bAll == true )
+ else if ( bAll == true &&
+ strncmp(aBuf, "__real@", 7) != 0 &&
+ strncmp(aBuf, "__TI3?", 6) != 0 )
{
int nPreLen = (int) strlen( cAPrefix );