ooo-build r11396 - in trunk: . doc patches/src680



Author: michael
Date: Thu Jan 24 11:28:26 2008
New Revision: 11396
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11396&view=rev

Log:
2008-01-24  Michael Meeks  <michael meeks novell com>

        * patches/src680/suse-vtreloc-binutils.diff,
        * patches/src680/suse-vtreloc-glibc.diff,
        * patches/src680/suse-vtreloc-gcc.diff: add prototypes.

        * patches/src680/link-symb-funct.diff,
        * patches/src680/apply: add linking tweak, relegate -Bdirect to
        ArkOnly and GentooOnly (it's really not a good win).

        * doc/link.txt: scratch notes.



Modified:
   trunk/ChangeLog
   trunk/doc/bdirect.txt
   trunk/doc/link.txt
   trunk/patches/src680/apply

Modified: trunk/doc/bdirect.txt
==============================================================================
--- trunk/doc/bdirect.txt	(original)
+++ trunk/doc/bdirect.txt	Thu Jan 24 11:28:26 2008
@@ -164,7 +164,7 @@
    + add to glibc/version.h:
 	#define CVSDATE "cvsdate"
 	#define CONFHOST "i586-suse-linux"
-   + hack glibc/Makeconfig - all-subdirs: put 'elf' first.
+   + hack sysd-sorted: move 'elf' to the front
 
 + binutils
 	+ readelf ...

Modified: trunk/doc/link.txt
==============================================================================
--- trunk/doc/link.txt	(original)
+++ trunk/doc/link.txt	Thu Jan 24 11:28:26 2008
@@ -465,4 +465,2255 @@
       5524:     symbol=_ZN18SvxWritingModeItemD1Ev; nurk lookup in file=./libvcl645li.so
       5524:     symbol=_ZN18SvxWritingModeItemD1Ev; nurk lookup in file=./libsvl645li.so
       5524:     symbol=_ZN18SvxWritingModeItemD1Ev; nurk lookup in file=./libsvt645li.so
-...
\ No newline at end of file
+...
+
+
+* glibc/
+    + dl-reloc.c
+	+ _dl_relocate_object ...
+    + where are copy relocs processed ?
+
+    + build & get glibc testing working - go around a devel
+      iteration & make it work nicely
+    + use the 'gcc --with-linker' thing ? [ somehow ? ]
+	+ and LD_LIBRARY_PATH etc.
+
+
+* re-diff glibc
+* re-diff binutils
+* ... get gcc patched & working (!) ... *
+
+
+* re-apply 'revert.diff' ?
+
+* FIXME: lost elf-vtreloc.c [!] ...
+
+
+(gdb) finish
+Run till exit from #0  call_init (l=0xb7f222e8, argc=1, argv=0xbf93c964, env=0xbf93c96c) at dl-init.c:74
+_dl_init (main_map=0xb7f3e660, argc=1, argv=0xbf93c964, env=0xbf93c96c) at dl-init.c:133
+133       while (i-- > 0)
+(gdb) p i
+$2 = 7
+(gdb) n
+134         call_init (main_map->l_initfini[i], argc, argv, env);
+(gdb) s
+0x080486f0 in __do_global_dtors_aux ()
+(gdb) s
+Single stepping until exit from function __do_global_dtors_aux, 
+which has no line number information.
+0x08048787 in __i686.get_pc_thunk.bx ()
+(gdb) s
+Single stepping until exit from function __i686.get_pc_thunk.bx, 
+which has no line number information.
+0x080486f9 in __do_global_dtors_aux ()
+(gdb) s
+Single stepping until exit from function __do_global_dtors_aux, 
+which has no line number information.
+     11004:     symbol=__cxa_finalize;  lookup in file=/home/opt/gcc/src/vtable/tests/copyrel [0]
+     11004:     symbol=__cxa_finalize;  lookup in file=/usr/lib/libstdc++.so.6 [0]
+     11004:     symbol=__cxa_finalize;  lookup in file=./libfoo.so [0]
+     11004:     symbol=__cxa_finalize;  lookup in file=/lib/libm.so.6 [0]
+     11004:     symbol=__cxa_finalize;  lookup in file=/lib/libgcc_s.so.1 [0]
+     11004:     symbol=__cxa_finalize;  lookup in file=/lib/libc.so.6 [0]
+     11004:     binding file /home/opt/gcc/src/vtable/tests/copyrel [0] to /lib/libc.so.6 [0]: normal symbol `__cxa_finalize' [GLIBC_2.1.3]
+__cxa_finalize (d=0x804b01c) at cxa_finalize.c:35
+35        for (funcs = __exit_funcs; funcs; funcs = funcs->next)
+(gdb) l
+30      __cxa_finalize (void *d)
+31      {
+32        struct exit_function_list *funcs;
+33
+34       restart:
+35        for (funcs = __exit_funcs; funcs; funcs = funcs->next)
+36          {
+37            struct exit_function *f;
+38
+39            for (f = &funcs->fns[funcs->idx - 1]; f >= &funcs->fns[0]; --f)
+
+
+** Some exception got thrown ?? ! ?? **
+
+(gdb) bt
+#0  __cxa_finalize (d=0x804b01c) at cxa_finalize.c:35
+#1  0x08048723 in __do_global_dtors_aux ()
+(gdb) l
+40              {
+41                void (*cxafn) (void *arg, int status);
+42                void *cxaarg;
+43
+44                if ((d == NULL || d == f->func.cxa.dso_handle)
+45                    /* We don't want to run this cleanup more than once.  */
+46                    && (cxafn = f->func.cxa.fn,
+47                        cxaarg = f->func.cxa.arg,
+48                        ! catomic_compare_and_exchange_bool_acq (&f->flavor, ef_free,
+49                                                                 ef_cxa)))
+
+The IA64 C++ ABI (and the new g++ ABI) require two additional routines
+in the C library (__cxa_atexit and __cxa_finalize).  These routines
+handle destructors for static objects when a shared library is
+unloaded.
+
+
+(gdb) c
+Continuing.
+     11591:     symbol=__cxa_finalize;  lookup in file=/home/opt/gcc/src/vtable/tests/copyrel [0]
+     11591:     symbol=__cxa_finalize;  lookup in file=/usr/lib/libstdc++.so.6 [0]
+     11591:     symbol=__cxa_finalize;  lookup in file=./libfoo.so [0]
+     11591:     symbol=__cxa_finalize;  lookup in file=/lib/libm.so.6 [0]
+     11591:     symbol=__cxa_finalize;  lookup in file=/lib/libgcc_s.so.1 [0]
+     11591:     symbol=__cxa_finalize;  lookup in file=/lib/libc.so.6 [0]
+     11591:     binding file /home/opt/gcc/src/vtable/tests/copyrel [0] to /lib/libc.so.6 [0]: normal symbol `__cxa_finalize' [GLIBC_2.1.3]
+
+__do_global_dtors_aux - how did we get here !?
+    + how/why are we called !?
+
+080486f0 <__do_global_dtors_aux>:
+ 80486f0:       55                      push   %ebp
+ 80486f1:       89 e5                   mov    %esp,%ebp
+ 80486f3:       53                      push   %ebx
+ 80486f4:       e8 8e 00 00 00          call   8048787 <__i686.get_pc_thunk.bx>
+ 80486f9:       81 c3 fb 28 00 00       add    $0x28fb,%ebx
+ 80486ff:       83 ec 04                sub    $0x4,%esp
+ 8048702:       80 bb b8 00 00 00 00    cmpb   $0x0,0xb8(%ebx)
+ 8048709:       75 38                   jne    8048743 <__do_global_dtors_aux+0x53>
+ 804870b:       8b 83 fc ff ff ff       mov    -0x4(%ebx),%eax
+ 8048711:       85 c0                   test   %eax,%eax
+ 8048713:       74 1b                   je     8048730 <__do_global_dtors_aux+0x40>
+ 8048715:       8b 83 28 00 00 00       mov    0x28(%ebx),%eax
+ 804871b:       89 04 24                mov    %eax,(%esp)
+ 804871e:       e8 b5 ff ff ff          call   80486d8 <__cxa_finalize plt>
+ 8048723:       eb 0b                   jmp    8048730 <__do_global_dtors_aux+0x40>
+ 8048725:       83 c0 04                add    $0x4,%eax
+ 8048728:       89 83 2c 00 00 00       mov    %eax,0x2c(%ebx)
+ 804872e:       ff d2                   call   *%edx
+ 8048730:       8b 83 2c 00 00 00       mov    0x2c(%ebx),%eax
+ 8048736:       8b 10                   mov    (%eax),%edx
+ 8048738:       85 d2                   test   %edx,%edx
+ 804873a:       75 e9                   jne    8048725 <__do_global_dtors_aux+0x35>
+ 804873c:       c6 83 b8 00 00 00 01    movb   $0x1,0xb8(%ebx)
+ 8048743:       83 c4 04                add    $0x4,%esp
+ 8048746:       5b                      pop    %ebx
+ 8048747:       5d                      pop    %ebp
+ 8048748:       c3                      ret    
+ 8048749:       8d b4 26 00 00 00 00    lea    0x0(%esi,%eiz,1),%esi
+
+(gdb) bt
+#0  _dl_lookup_symbol_x (undef_name=0x8048453 "__cxa_finalize", undef_map=0xb7f02660, ref=0xbfe0f5f4, symbol_scope=0xb7f0281c, version=0xb7ee6ee0, 
+    type_class=1, flags=1, skip_map=0x0) at dl-lookup.c:414
+#1  0xb7ef42ef in _dl_fixup (l=0xb7f02660, reloc_offset=<value optimized out>) at dl-runtime.c:105
+#2  0xb7ef9b40 in _dl_runtime_resolve () from /lib/ld-linux.so.2
+#3  0x08048723 in __do_global_dtors_aux ()
+
+[ from where !? ... ]
+
+** Is it some libstdc++ version mismatch foo ?
+    + does it happen if we have no vtlink ?
+
+collect2 version 4.2.1 (SUSE Linux) (i386 Linux/ELF)
+ld_file_name        = /opt/gcc/bin/ld
+c_file_name         = /opt/gcc/bin/g++
+nm_file_name        = /opt/gcc/bin/nm
+strip_file_name     = /opt/gcc/bin/strip
+c_file              = /tmp/ccLjjwqC.c
+o_file              = /tmp/ccq5w1G4.o
+COLLECT_GCC_OPTIONS = '-shared' '-L../../unxlngi6.pro/lib' '-L../lib' '-L/opt/OpenOffice/ooh680-m1/solenv/unxlngi6/lib' '-L/opt/OpenOffice/ooh680-m1/solver/68
+0/unxlngi6.pro/lib' '-L/opt/OpenOffice/ooh680-m1/solenv/unxlngi6/lib' '-L/usr/lib/jvm/java/lib' '-L/usr/lib/jvm/java/jre/lib/i386' '-L/usr/lib/jvm/java/jre/li
+b/i386/client' '-L/usr/lib/jvm/java/jre/lib/i386/native_threads' '-L/usr/lib' '-L/usr/lib/xulrunner-1.8.1.4' '-o' '../../unxlngi6.pro/lib/libspl_unx680li.so' 
+'-shared-libgcc' '-mtune=generic'
+COLLECT_GCC         = g++
+COMPILER_PATH       = /home/opt/gcc/bin/../libexec/gcc/i686-pc-linux-gnu/4.2.1/:/home/opt/gcc/bin/../libexec/gcc/:/opt/gcc/libexec/gcc/i686-pc-linux-gnu/4.2.1
+/:/opt/gcc/libexec/gcc/i686-pc-linux-gnu/4.2.1/:/opt/gcc/libexec/gcc/i686-pc-linux-gnu/:/opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.1/:/opt/gcc/lib/gcc/i686-pc-lin
+ux-gnu/
+LIBRARY_PATH        = /home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1/:/home/opt/gcc/bin/../lib/gcc/:/opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.1/:/home/opt/
+gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1/../../../:/opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../:/lib/:/usr/lib/
+
+/opt/gcc/bin/ld --eh-frame-hdr -m elf_i386 -shared -o ../../unxlngi6.pro/lib/libspl_unx680li.so /usr/lib/crti.o /home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu
+/4.2.1/crtbeginS.o -L../../unxlngi6.pro/lib -L../lib -L/opt/OpenOffice/ooh680-m1/solenv/unxlngi6/lib -L/opt/OpenOffice/ooh680-m1/solver/680/unxlngi6.pro/lib -
+L/opt/OpenOffice/ooh680-m1/solenv/unxlngi6/lib -L/usr/lib/jvm/java/lib -L/usr/lib/jvm/java/jre/lib/i386 -L/usr/lib/jvm/java/jre/lib/i386/client -L/usr/lib/jvm
+/java/jre/lib/i386/native_threads -L/usr/lib -L/usr/lib/xulrunner-1.8.1.4 -L/home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1 -L/home/opt/gcc/bin/../lib/gc
+c -L/opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.1 -L/home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1/../../.. -L/opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.1/../../
+.. -z noexecstack -z combreloc -z defs --hash-style=gnu -rpath $ORIGIN:$ORIGIN/../ure-link/lib -O1 --version-script ../../unxlngi6.pro/misc/exports_spl_unx680
+li.map ../../unxlngi6.pro/slo/unxsplash.o ../../unxlngi6.pro/slo/services_unxsplash.o ../../unxlngi6.pro/slo/spl_unx_dflt_version.o -lvos3gcc3 -luno_cppuhelpe
+rgcc3 -luno_cppu -luno_sal -ldl -lpthread -Bdynamic -lstlport_gcc -lstdc++ -lm -lgcc_s -lc -lgcc_s /home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1/crtend
+S.o /usr/lib/crtn.o
+...
+Reloc 'vtable for SvRefBase' 1 0 0 0 i:47 
+Reloc 'vtable for SvWeakHdl' 0 1 0 0 i:-1 '.data.rel.ro._ZTV9SvWeakHdl' vma 0x5bb8 offset 0 output off 0
+Reloc 'vtable for SvRefBase' 1 0 0 0 i:47 
+Reloc 'vtable for SvCompatWeakHdl' 0 1 0 0 i:-1 '.data.rel.ro._ZTV15SvCompatWeakHdl' vma 0x5bb8 offset 0 output off 0
+../../unxlngi6.pro/slo/unxsplash.o: In function `SvWeakHdl::~SvWeakHdl()':
+unxsplash.cxx:(.text._ZN9SvWeakHdlD0Ev[SvWeakHdl::~SvWeakHdl()]+0x23): undefined reference to `SvRefBase::~SvRefBase()'
+../../unxlngi6.pro/slo/unxsplash.o: In function `SvWeakHdl::~SvWeakHdl()':
+unxsplash.cxx:(.text._ZN9SvWeakHdlD1Ev[SvWeakHdl::~SvWeakHdl()]+0x22): undefined reference to `SvRefBase::~SvRefBase()'
+../../unxlngi6.pro/slo/unxsplash.o: In function `SvCompatWeakHdl::~SvCompatWeakHdl()':
+unxsplash.cxx:(.text._ZN15SvCompatWeakHdlD0Ev[SvCompatWeakHdl::~SvCompatWeakHdl()]+0x23): undefined reference to `SvRefBase::~SvRefBase()'
+../../unxlngi6.pro/slo/unxsplash.o: In function `SvCompatWeakHdl::~SvCompatWeakHdl()':
+unxsplash.cxx:(.text._ZN15SvCompatWeakHdlD1Ev[SvCompatWeakHdl::~SvCompatWeakHdl()]+0x22): undefined reference to `SvRefBase::~SvRefBase()'
+../../unxlngi6.pro/slo/unxsplash.o:(.data.rel.ro._ZTI9SvWeakHdl[typeinfo for SvWeakHdl]+0x8): undefined reference to `typeinfo for SvRefBase'
+../../unxlngi6.pro/slo/unxsplash.o:(.data.rel.ro._ZTI15SvCompatWeakHdl[typeinfo for SvCompatWeakHdl]+0x8): undefined reference to `typeinfo for SvRefBase'
+
+
+** FIXME:
+    + generate a test from the splash thing it ...
+	+ is it the map file ?
+	+ what's going on !?
+
+
+** FIXME:
+    + how do we do the GC on this ?
+
+$2 = {root = {root = {next = 0x0, string = 0x80f22e3 "_ZTV9SvRefBase", hash = 290430804}, type = bfd_link_hash_undefined, u = {undef = {next = 0x80f0f48, 
+        abfd = 0x80f0508, weak = 0x0}, def = {next = 0x80f0f48, section = 0x80f0508, value = 0}, i = {next = 0x80f0f48, link = 0x80f0508, warning = 0x0}, 
+      c = {next = 0x80f0f48, p = 0x80f0508, size = 0}}}, indx = -1, dynindx = -1, got = {refcount = -1, offset = 18446744073709551615, glist = 0xffffffff, 
+    plist = 0xffffffff}, plt = {refcount = -1, offset = 18446744073709551615, glist = 0xffffffff, plist = 0xffffffff}, size = 0, type = 0, other = 0, 
+  ref_regular = 1, def_regular = 0, ref_dynamic = 0, def_dynamic = 0, ref_regular_nonweak = 1, dynamic_adjusted = 0, needs_copy = 0, needs_plt = 0, 
+  non_elf = 0, hidden = 0, forced_local = 0, dynamic = 0, mark = 0, non_got_ref = 1, dynamic_def = 0, dynamic_weak = 0, pointer_equality_needed = 1, 
+  dynstr_index = 0, u = {weakdef = 0x0, elf_hash_value = 0}, verinfo = {verdef = 0x0, vertree = 0x0}, vtable = 0x0}
+
+
+* test asm output ...
+
+
+** FIXME:
+    + the GC seems to be done in gcc here ...
+	+ interesting [!]
+    + our new reference / section screws that up unfortunately.
+    + FIXME: we -know- that this isn't an issue with the stmt stuff
+	+ only with the DECL generation - since we do the stmts
+	  earlier
+
+    + FIXME: we need to find a similar situation
+	+ outputting some auto-generated foo, but only iff - used (eg.)
+
+** TypeInfo - for RTTI (surely?) **
+	+ if a vtable is not referred to:
+	    + we don't want to construct it - surely (!?)
+		+ must be a 'GC' phase here, where dead stuff is pruned
+		+ find the code (?!)
+		+ must avoid the built-in typeinfo: identically ...
+
+    + are we doing this in the wrong place ?
+	+ can we associate a constructor-list to each vtable (somehow)
+	+ then do something clever as/when/if it's emitted
+
+
+
+* Research rtti goodness:
+
+/* 1 iff VAR_DECL node NODE is a type-info decl.  This flag is set for
+   both the primary typeinfo object and the associated NTBS name.  */
+#define DECL_TINFO_P(NODE) TREE_LANG_FLAG_4 (VAR_DECL_CHECK (NODE))
+
+/* 1 iff VAR_DECL node NODE is virtual table or VTT.  */
+#define DECL_VTABLE_OR_VTT_P(NODE) TREE_LANG_FLAG_5 (VAR_DECL_CHECK (NODE))
+
+/* DECL_EXTERNAL must be set on a decl until the decl is actually emitted,
+   so that assemble_external will work properly.  So we have this flag to
+   tell us whether the decl is really not external.  */
+#define DECL_NOT_REALLY_EXTERN(NODE) \
+  (DECL_LANG_SPECIFIC (NODE)->decl_flags.not_really_extern)
+
+[ interesting ! ;-]
+
+    + maybe_emit_vtables ?
+	+ do the goodness here ? ...
+	    + unfortunately - this is still called for
+	      vtables that are not (ultimately) emitted ! ;-)
+
+    + can we force the vtable to refer to this, by appending
+      a reference to us at the end ? ;->
+	+ will that work ?
+	+ will it keep us around ?
+	    + can we do this another way ?
+
+    ++ where does -Wunused-variable get triggered ? ++
+
+  /* Before we remove the declarations first check for unused variables.  */
+  if (warn_unused_variable
+      && !processing_template_decl)
+    for (decl = getdecls (); decl; decl = TREE_CHAIN (decl))
+      if (TREE_CODE (decl) == VAR_DECL
+	  && ! TREE_USED (decl)
+	  && ! DECL_IN_SYSTEM_HEADER (decl)
+	  && DECL_NAME (decl) && ! DECL_ARTIFICIAL (decl))
+	warning (OPT_Wunused_variable, "unused variable %q+D", decl);
+
+	+ TREE_USED ?
+
+<richi> I suppose that happens somewhere in cgraph which analyzes the whole unit
+*** <richi> look for cgraph_ and varpool_ there's sth like 'mark_needed'
+
+<michael_> thanks;
+<michael_> and, final - follow-on / silly question,
+<michael_> I would like to have this strange relocation data (in a magic variable, in a '.vtreloc' section) dependant on the vtable,
+<michael_> so if the vtable is dropped - the strange section is dropped too...
+<michael_> .
+<michael_> does that sound horribly hard
+<richi> uh
+<richi> so it's a separate decl?
+<michael_> yep
+<richi> if it is not referenced it should not be emitted -- if it is not marked extern
+<michael_> I guess a little like rtti - although, there is no pointer in the vtable to it
+<richi> so you need to make it local to the CU
+<michael_> sure; OTOH - if the vtable is not emitted, I don't want to emit it :-) - hence the problem ...
+<michael_> I guess I could perhaps add a bogus reference to this data at the end of the vtable (?)
+<michael_> at least as a quick hack for now: that would work I guess (?)
+<richi> how would an extra reference help?
+<michael_> oh, it would then refer to this new decl
+<michael_> so vtable -> (rtti and .vtreloc decl)
+<michael_> so, hopefully if the vtable is not referenced, the compiler would notice all this was dead & throw it out.
+<michael_> otherwise, if it is referenced, it'll be referenced & retained (?)
+<richi> err, yes? ;)
+<michael_> thanks :-)
+* michael_ stops wasting time & starts typing again ...
+
+
+
+** FIXME: follow RTTI ..
+	+ unemitted_tinfo_decls ...
+		+ get emitted one by one.
+
+** FIXME:
+	+ add our output to 'maybe_emit_vtables' ...
+		+ [foo]
+
+get_tinfo_decl
+	+ sets 'CLASSTYPE_TYPEINFO_VAR' on type ...
+	+ caches the beastie ... [ also a cache on the name though ... ]
+		+ why have both ?
+
+FIXME: changes & breaks the ABI ...
+	+ but tests still run (apparently) ;-)
+	+ will need to fix (somehow)
+		+ pwrt. deriving classes etc.
+
+gdb --args /home/opt/gcc/bin/../libexec/gcc/i686-pc-linux-gnu/4.2.1/cc1plus -quiet -I. -iprefix /home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1/ -D_GNU_SOURCE unused.cxx -quiet -dumpbase unused.cxx -mtune=generic -auxbase-strip unused.S -O0 -fdump-tree-all -o unused.S
+
+Breakpoint 1, cgraph_varpool_mark_needed_node (node=0xb7dd8498) at ../.././gcc/cgraph.c:931
+931       if (getenv ("DEBUG"))
+(gdb) n
+932         fprintf (stderr, "Mark node '%s' as needed\n",
+(gdb) 
+Mark node '__vt_copy_slot_relocs _ZVTR9SvRefBase [2]' as needed
+934       if (!node->needed && node->finalized
+(gdb) bt
+#0  cgraph_varpool_mark_needed_node (node=0xb7dd8498) at ../.././gcc/cgraph.c:934
+#1  0x0841f088 in cgraph_varpool_finalize_decl (decl=0xb7cf3630) at ../.././gcc/cgraph.c:1009
+#2  0x083db122 in rest_of_decl_compilation (decl=0xb7cf3630, top_level=1, at_end=0) at ../.././gcc/passes.c:162
+#3  0x08059c4a in make_rtl_for_nonlocal_decl (decl=0xb7cf3630, init=0x0, asmspec=0x0) at ../.././gcc/cp/decl.c:5036
+#4  0x08064845 in cp_finish_decl (decl=0xb7cf3630, init=0x0, init_const_expr_p=0 '\0', asmspec_tree=0x0, flags=0) at ../.././gcc/cp/decl.c:5394
+#5  0x080659af in finish_decl (decl=0xb7cf3630, init=0x0, asmspec_tree=0x0) at ../.././gcc/cp/decl.c:5476
+#6  0x080d56ee in pushdecl_top_level_1 (x=0xb7cf3630, init=0xbfcf97a4, is_friend=<value optimized out>) at ../.././gcc/cp/name-lookup.c:3405
+#7  0x080d5742 in pushdecl_top_level_and_finish (x=0xb7cf3630, init=0x0) at ../.././gcc/cp/name-lookup.c:3433
+#8  0x0807f47f in get_vtreloc_decl (t=0xb7dd59b4, slot_relocs=0xb7dd8450) at ../.././gcc/cp/class.c:6392
+#9  0x08082fd7 in finish_vtbls (t=0xb7dd59b4) at ../.././gcc/cp/class.c:6699
+#10 0x08083e0e in finish_struct_1 (t=0xb7dd59b4) at ../.././gcc/cp/class.c:5113
+#11 0x08084a40 in finish_struct (t=0xb7dd59b4, attributes=0x0) at ../.././gcc/cp/class.c:5227
+#12 0x08092c6c in cp_parser_type_specifier (parser=0xb7dbba5c, flags=<value optimized out>, decl_specs=0xbfcf9948, is_declaration=1 '\001', 
+    declares_class_or_enum=0xbfcf9904, is_cv_qualifier=0xbfcf990b "") at ../.././gcc/cp/parser.c:13172
+#13 0x08093349 in cp_parser_decl_specifier_seq (parser=0xb7dbba5c, flags=CP_PARSER_FLAGS_OPTIONAL, decl_specs=0xbfcf9948, declares_class_or_enum=0xbfcf9994)
+    at ../.././gcc/cp/parser.c:7668
+#14 0x08093770 in cp_parser_simple_declaration (parser=0xb7dbba5c, function_definition_allowed_p=1 '\001') at ../.././gcc/cp/parser.c:7370
+#15 0x0809a3eb in cp_parser_block_declaration (parser=0xb7dbba5c, statement_p=0 '\0') at ../.././gcc/cp/parser.c:7331
+#16 0x0809efa1 in cp_parser_declaration (parser=0xb7dbba5c) at ../.././gcc/cp/parser.c:7247
+#17 0x0809f3de in cp_parser_declaration_seq_opt (parser=0xb7dbba5c) at ../.././gcc/cp/parser.c:7142
+#18 0x0809f89c in c_parse_file () at ../.././gcc/cp/parser.c:2845
+#19 0x08100d5a in c_common_parse_file (set_yydebug=0) at ../.././gcc/c-opts.c:1183
+#20 0x083bb3c0 in toplev_main (argc=17, argv=0xbfcf9b94) at ../.././gcc/toplev.c:1042
+#21 0x0810b19f in main (argc=Cannot access memory at address 0xffffffff
+
+** FIXME:
+	+ now it works ! ;-)
+	+ can we avoid mangling the vtables ?
+	+ .vtrelocs - can we get defined symbols out of these sections
+	  & mangle them to point elsewhere ? :-)
+
+
+FIXME:
+	+ optimisation:
+		+ elide 'zero' copies ... [ do we do that anyway ? ]
+		+ can it be that we screw this up in gcc !? ...
+
+	+ why does the beastie crash ?
+	+ mismatching sizes (odd):
+ERROR: mismatching vtreloc sec & reloc count 0x2d4, 0x22 -> 10
+ERROR: mismatching vtreloc sec & reloc count 0x1b4, 0x18 -> 4
+ERROR: mismatching vtreloc sec & reloc count 0xd0, 0xc -> 4
+
+	+ Just broken !
+		+ clearly ordering is broken, need to
+		  copy stuff in a zane order:
+     20074:	do copy 0xdeadbeef to 0xdeadbeef match [&0xb7c90bb4 -> &0xb7c90a54]
+
+		+ we have got stray muck creeping in ...
+
+* The plan:
+	+ generate the inits earlier - so we know what they are
+		+ keep them around, get the sizing perfect ...
+		+ elide '0' copies ...
+	+ build better tests:
+		+ why is the ordering broken ?
+	+ check numerical results from tests/
+		+ call each vmethod etc. see what it returns.
+	+ check linker: how do we get so many '00000s' in here ?
+		+ sort out the 'internal' vs. 'external' symbol stuff.
+
+
+* binutils error:
+
+_ZVTRN17_GLOBAL__N_global1BE:
+	.long	_ZTVN17_GLOBAL__N_global5VBaseE+28
+	.long	_ZTVN17_GLOBAL__N_global1BE+324
+	.long	3
+	.long	_ZTVN17_GLOBAL__N_global1AE+140
+	.long	_ZTVN17_GLOBAL__N_global1BE+232
+	.long	183
+	.long	_ZTVN17_GLOBAL__N_global1AE+12
+	.long	_ZTVN17_GLOBAL__N_global1BE+104
+	.long	1011087613
+	.long	_ZTVN17_GLOBAL__N_global12VOffsetDerivE+20
+	.long	_ZTVN17_GLOBAL__N_global1BE+20
+	.long	7
+	.zero	12
+: vtable for (anonymous namespace)::VBase
+
+	+ Can't get these right ... [!?]
+
+	+ 2 purposes for the reloc info:
+		+ a) to get the sorting / initialization right.
+		+ b) to propagate this to the children ...
+
+	+ this -used- to work (surely!?), why not now ?
+
+	+ FIXME: surely we know what section the
+	         reloc goes into, and it's offset (?)
+
+** FIXME:
+   + do we really want to be sorting relocations ?
+	+ why can't we sort sections instead ?
+		+ would make *lots* more sense ... [!]
+		+ save re-writing the sections.
+		+ => can do it with opaque addresses
+
+   + can we do this with an <N> way tree of some sort.
+	+ create a single ordering ...
+
+   + can we terminate the section ?
+   
+* TODO:
+	+ -ffunction-sections
+		+ we want to emit a new .vtrelocs section -per- vtable
+		+ we relocate, do we do that ?
+			+ currently no.
+		+ need to force it somehow.
+
+	+ then - we need to look at the .text section sorting logic
+
+	+ then - bingo ! ;-)
+		+ we only have to ensure all .src and all .dest
+		  are sorted & all is good.
+
+<micha> Let's say end of february is feature freeze.
+<micha> Bugfixes are possible till april.
+
+
+(gdb) p m_pContext
+$1 = (class ConfigurationErrorHandler::Context *) 0x814a588
+(gdb) p *(m_pContext)
+$2 = {<(anonymous namespace)::SimpleCurrentContext> = {<cppu::WeakImplHelper1<com::sun::star::uno::XCurrentContext>> = {<cppu::OWeakObject> = {<com::sun::star::uno::XWeak> = {<com::sun::star::uno::XInterface> = {_vptr.XInterface = 0x8097e88}, <No data fields>}, m_refCount = 0, m_pWeakConnectionPoint = 0x0, 
+        m_pReserved = 0x5f564e45}, <com::sun::star::lang::XTypeProvider> = {<com::sun::star::uno::XInterface> = {
+          _vptr.XInterface = 0x8097eb4}, <No data fields>}, <com::sun::star::uno::XCurrentContext> = {<com::sun::star::uno::XInterface> = {
+          _vptr.XInterface = 0x8097ed0}, <No data fields>}, <No data fields>}, m_xChainedContext = {<com::sun::star::uno::BaseReference> = {
+        _pInterface = 0x814112c}, <No data fields>}}, m_xHandler = {<com::sun::star::uno::BaseReference> = {_pInterface = 0x0}, <No data fields>}}
+(gdb) bt
+#0  0xdeadbeef in ?? ()
+#1  0x0808d55c in ConfigurationErrorHandler::activate (this=0xbfb3f6d0) at /home/opt/OpenOffice/ooh680-m1/desktop/source/app/configinit.cxx:287
+#2  0x0806e68e in desktop::Desktop::Main (this=0xbfb3f8c4) at /home/opt/OpenOffice/ooh680-m1/desktop/source/app/app.cxx:1337
+#3  0xb7d03259 in ImplSVMain () from ./libvcl680li.so
+#4  0xb7d03367 in SVMain () from ./libvcl680li.so
+#5  0x080608ba in sal_main_with_args () at /home/opt/OpenOffice/ooh680-m1/desktop/source/app/main.cxx:61
+#6  0x08060946 in main (argc=1, argv=0xbfb3f9d4) at /home/opt/OpenOffice/ooh680-m1/desktop/source/app/main.cxx:52
+(gdb) up
+#1  0x0808d55c in ConfigurationErrorHandler::activate (this=0xbfb3f6d0) at /home/opt/OpenOffice/ooh680-m1/desktop/source/app/configinit.cxx:287
+287             m_pContext->acquire();
+(gdb) l
+
+** FIXME: related to a sorting issue:
+	+ FIXME: surely we should get a 'Bug' warning here though ?
+
+	+ this order observed:
+
+ErrorHandlerContext VTR ! ( derived from SimpleCurrentContext )
+	
+_ZVTRN25ConfigurationErrorHandler7ContextE:
+	.long	_ZTVN93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_E68E979820SimpleCurrentContextE+8
+	.long	_ZTVN25ConfigurationErrorHandler7ContextE+8
+
+SimpleCurrentContext VTR !
+	
+_ZVTRN93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_E68E979820SimpleCurrentContextE:
+	.long	_ZTVN4cppu15WeakImplHelper1IN3com3sun4star3uno15XCurrentContextEEE+8
+	.long	_ZTVN93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_E68E979820SimpleCurrentContextE+8
+	.long	207
+
+     29119:     copy from 0x8097d48 to 0x8097e88 mask 0xcf
+     29119:     do copy 0xdeadbeef to 0xdeadbeef match [&0x8097d48 -> &0x8097e88]
+     29119:     do copy 0xdeadbeef to 0xdeadbeef match [&0x8097d4c -> &0x8097e8c]
+     29119:     do copy 0xdeadbeef to 0xdeadbeef match [&0x8097d50 -> &0x8097e90]
+     29119:     do copy 0xdeadbeef to 0xdeadbeef match [&0x8097d54 -> &0x8097e94]
+
+
+
+	.section	.vtrelocs._ZVTR_00000001_N25ConfigurationErrorHandler7ContextE,"aG",@progbits,_ZVTR_00000001_N25ConfigurationErrorHandler7ContextE,comdat
+	.type	_ZVTR_00000001_N25ConfigurationErrorHandler7ContextE, @object
+	.size	_ZVTR_00000001_N25ConfigurationErrorHandler7ContextE, 12
+_ZVTR_00000001_N25ConfigurationErrorHandler7ContextE:
+	.long	_ZTVN93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE+8
+	.long	_ZTVN25ConfigurationErrorHandler7ContextE+8
+	.long	207
+
+	.section	.vtrelocs._ZVTR_00000001_N93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE,"aG",@progbits,_ZVTR_00000001_N93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE,comdat
+	.type	_ZVTR_00000001_N93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE, @object
+	.size	_ZVTR_00000001_N93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE, 12
+_ZVTR_00000001_N93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE:
+	.long	_ZTVN4cppu15WeakImplHelper1IN3com3sun4star3uno15XCurrentContextEEE+8
+	.long	_ZTVN93_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_app_configinit.cxx_00000000_793747DB20SimpleCurrentContextE+8
+	.long	207
+
+** Nice idea ! - but same number :-(
+
+class ConfigurationErrorHandler::Context : public SimpleCurrentContext
+{
+public:
+    Context()
+    : SimpleCurrentContext( uno::getCurrentContext() )
+    {
+    }
+
+FIXME:
+	+ should warn on that in glibc [!] ...
+
+** sort via the linker script ...
+	+ ld/ldlang.c 'sort_common' ?
+
+** FIXME:
+	+ remove the __vtrelocs symbol in the link.
+
+** FIXME:
+	+ can we be cunning ! ;-)
+		+ oh yes !
+
+	+ can we add a magic-number in the symbol name
+		+ max-distance-from-parent ?
+	+ that will increment with inheritance ?
+		+ we have the full inheritance graph
+
+	+ is it is always the case that a derived class has more slots
+	  than it's parent: no.
+
+	+ slot_count is a pretty good approximation though,
+		+ better ? a count of inherited parents ?
+
+	+ then sort by that.
+		+ we have a 'SortByName'
+		+ so simply prepend a string to the section name:
+			+ including the inherited table count.
+
+	+ VCL problem:
+		+ if outside 'me' don't fixup
+
+
+./soffice.bin: Symbol `_ZTV8OKButton' has different size in shared object, consider re-linking
+./soffice.bin: Symbol `_ZTV9FixedText' has different size in shared object, consider re-linking
+./soffice.bin: Symbol `_ZTV7MessBox' has different size in shared object, consider re-linking
+./soffice.bin: Symbol `_ZTV11Application' has different size in shared object, consider re-linking
+./soffice.bin: Symbol `_ZTV6Dialog' has different size in shared object, consider re-linking
+./soffice.bin: Symbol `_ZTV11IntroWindow' has different size in shared object, consider re-linking
+
+
+* Debug svx compile-time crash ... [ garbage-collection ? / string management ? ]
+
+* check ordering in soffice.bin fixes foo !
+
+* Check that 
+
+#0  0xdeadbeef in ?? ()
+#1  0xa2d12bf1 in desktop::SplashScreen::initialize (this=0x814e938, aArguments= 0xbfbffe14)
+    at /home/opt/OpenOffice/ooh680-m1/desktop/source/splash/splash.cxx:198
+#2  0xb74f1fc7 in cppu::OSingleFactoryHelper::createInstanceWithArgumentsAndContext () from ./libuno_cppuhelpergcc3.so.3
+
+
+    23241:     new vtcopy-reloc processing on './soffice.bin' offset 0x0 map 0x8048000
+     23241:     vtreloc section found in '' at 0x80a3d14 (0x80a3d14) mapped at 0x0
+
+order:
+	'.vtrelocs._ZVTR_00000003_N7desktop7DesktopE':
+	'.vtrelocs._ZVTR_00000004_N7desktop32SalMainPipeExchangeSignalHandlerE':
+	'.vtrelocs._ZVTR_00000005_N7desktop15OfficeIPCThreadE':
+	'.vtrelocs._ZVTR_00000007_11ModalDialog':
+	'.vtrelocs._ZVTR_00000008_N7desktop16IntroWindow_ImplE':
+	'.vtrelocs._ZVTR_00000008_N7desktop17CmdlineHelpDialogE':
+	'.vtrelocs._ZVTR_00000009_7InfoBox':
+	'.vtrelocs._ZVTR_00000009_8ErrorBox':
+	'.vtrelocs._ZVTR_00000009_8QueryBox':
+
+
+	'.vtrelocs._ZVTR_00000003_N7desktop7DesktopE':
+     23241:     copy from 0x80a4c40 to 0x80957d8 mask 0x81ff
+     23241:     do copy 0xb7d24592 to 0xdeadbeef match [&0x80a4c40 -> &0x80957d8]
+     23241:     do copy 0xb7d245a4 to 0xdeadbeef match [&0x80a4c44 -> &0x80957dc]
+     23241:     do copy 0xb7d245aa to 0xdeadbeef match [&0x80a4c48 -> &0x80957e0]
+     23241:     do copy 0xb7d24598 to 0xdeadbeef match [&0x80a4c4c -> &0x80957e4]
+     23241:     do copy 0xb7d245b0 to 0xdeadbeef match [&0x80a4c50 -> &0x80957e8]
+     23241:     do copy 0xb7d2459e to 0xdeadbeef match [&0x80a4c54 -> &0x80957ec]
+     23241:     do copy 0xb7d245b6 to 0xdeadbeef match [&0x80a4c58 -> &0x80957f0]
+     23241:     do copy 0xb7d245bc to 0xdeadbeef match [&0x80a4c5c -> &0x80957f4]
+     23241:     do copy 0xb7d245c2 to 0xdeadbeef match [&0x80a4c60 -> &0x80957f8]
+     23241:     no copy 0xb7d245c8 to 0x8069f1a skip
+     23241:     no copy 0xb7d245ce to 0x8060aaa skip
+     23241:     no copy 0xb7d245d4 to 0x80671ae skip
+     23241:     no copy 0xb7d24f52 to 0x8069b4c skip
+     23241:     no copy 0xb7d245da to 0x8065bd0 skip
+     23241:     no copy 0xb7d246b4 to 0x8069290 skip
+     23241:     do copy 0xb7d24686 to 0xdeadbeef match [&0x80a4c7c -> &0x8095814]
+     23241:     move to next vtrel entry
+
+	'.vtrelocs._ZVTR_00000004_N7desktop32SalMainPipeExchangeSignalHandlerE':
+     23241:     copy from 0x80a4ca0 to 0x80968f0 mask 0x1
+     23241:     do copy 0xb7683e8e to 0xdeadbeef match [&0x80a4ca0 -> &0x80968f0]
+     23241:     move to next vtrel entry
+
+	'.vtrelocs._ZVTR_00000005_N7desktop15OfficeIPCThreadE':
+     23241:     copy from 0x80a4b14 to 0x8096814 mask 0x1f
+     23241:     do copy 0xb767f760 to 0xdeadbeef match [&0x80a4b14 -> &0x8096814]
+     23241:     do copy 0xb767fb0a to 0xdeadbeef match [&0x80a4b18 -> &0x8096818]
+     23241:     do copy 0xb767fbee to 0xdeadbeef match [&0x80a4b1c -> &0x809681c]
+     23241:     do copy 0xb767fae4 to 0xdeadbeef match [&0x80a4b20 -> &0x8096820]
+     23241:     do copy 0xb767f77c to 0xdeadbeef match [&0x80a4b24 -> &0x8096824]
+     23241:     move to next vtrel entry
+
+**** Herein lies the error ! ****
+	'.vtrelocs._ZVTR_00000007_11ModalDialog':
+     23241:     copy from 0x80a4d38 to 0x8098d30 mask 0x3fffffff
+     23241:     do copy 0xdeadbeef to 0xdeadbeef match [&0x80a4d38 -> &0x8098d30]
+     23241:     do copy 0xdeadbeef to 0xdeadbeef match [&0x80a4d3c -> &0x8098d34]
+     23241:     do copy 0xdeadbeef to 0xdeadbeef match [&0x80a4d40 -> &0x8098d38]
+     23241:     do copy 0xdeadbeef to 0xdeadbeef match [&0x80a4d44 -> &0x8098d3c]
+     23241:     do copy 0xdeadbeef to 0xdeadbeef match [&0x80a4d48 -> &0x8098d40]
+     23241:     do copy 0xdeadbeef to 0xdeadbeef match [&0x80a4d4c -> &0x8098d44]
+
+
+** FIXME: test for shlibs, not for apps
+	+ 'data' relocations [ are evil ! ]
+	+ can that even be done ? how is the data one done ?
+	  where does the data come from ?
+
+** Chase the error !
+	+ think - what is the order of relocations ?
+	+ what is the linkage order ?
+	+ when do 'copy' relocs get processed ?
+
+soffice.bin's copy relocs:
+
+Relocation section '.rel.dyn' at offset 0x16f44 contains 24 entries:
+ Offset     Info    Type                Sym. Value  Symbol's Name
+0808ffe0  00039f06 R_386_GLOB_DAT         08060174   _ZNSt9bad_allocD1Ev
+0808ffe4  00004706 R_386_GLOB_DAT         00000000   _ZTVSt9exception
+0808ffe8  00006a06 R_386_GLOB_DAT         00000000   __gmon_start__
+0808ffec  0003bf06 R_386_GLOB_DAT         08090b20   _ZTVSt9bad_alloc
+08090b20  0003bf05 R_386_COPY             08090b20   _ZTVSt9bad_alloc
+0808fff0  00046306 R_386_GLOB_DAT         08090b64   _ZTISt9bad_alloc
+08090b64  00046305 R_386_COPY             08090b64   _ZTISt9bad_alloc
+08090880  0001f605 R_386_COPY             08090880   _ZTV8OKButton
+08090980  00021b05 R_386_COPY             08090980   _ZTV9FixedText
+08090a70  00019605 R_386_COPY             08090a70   _ZTVN4cppu11OWeakObjectE
+08090aa0  00020605 R_386_COPY             08090aa0   _ZTVN10__cxxabiv121__vmi_class_type_infoE
+08090ae0  00022c05 R_386_COPY             08090ae0   _ZTVN10__cxxabiv117__class_type_infoE
+08090b38  00029b05 R_386_COPY             08090b38   _ZN19SvtTabAppearanceCfg12bInitializedE
+08090b40  0004a405 R_386_COPY             08090b40   _ZTVN3utl22OConfigurationTreeRootE
+08090b58  00032505 R_386_COPY             08090b58   _ZTI7MessBox
+08090b70  00026b05 R_386_COPY             08090b70   _ZTIN4cppu11OWeakObjectE
+08090b7c  0001f705 R_386_COPY             08090b7c   _ZTI5Timer
+08090b88  00037005 R_386_COPY             08090b88   _ZTIN3vos7OThreadE
+08090ba8  00027e05 R_386_COPY             08090ba8   stderr
+08090bb0  0002ed05 R_386_COPY             08090bb0   _ZTI11Application
+08090bc0  00024c05 R_386_COPY             08090bc0   _ZTVN10__cxxabiv120__si_class_type_infoE
+08090bf0  00037205 R_386_COPY             08090bf0   _ZTI6Dialog
+08090c00  0003a905 R_386_COPY             08090c00   _ZTIN3vos14OSignalHandlerE
+08090c10  00038c05 R_386_COPY             08090c10   _ZTI11IntroWindow
+
+
+
+
+
+* First: fix the gtk+ issue ...
+
+** libvclplug_gtk ...
+
+	'.vtrelocs._ZVTR_00000003_13GtkSalDisplay':
+	'.vtrelocs._ZVTR_00000004_11GtkInstance':
+	'.vtrelocs._ZVTR_00000004_12GtkSalSystem':
+	'.vtrelocs._ZVTR_00000004_14GtkSalGraphics':
+	'.vtrelocs._ZVTR_00000006_13GtkYieldMutex':
+	'.vtrelocs._ZVTR_00000007_19GtkHookedYieldMutex':
+	'.vtrelocs._ZVTR_00000011_11AtkListener':
+	'.vtrelocs._ZVTR_00000011_21DocumentFocusListener':
+	'.vtrelocs._ZVTR_00000012_N4cppu15WeakImplHelper1IN3com3sun4star13accessibility24XAccessibleEventListenerEEE':
+
+     28115:	new vtcopy-reloc processing on '/opt/OOInstall/program/libvclplug_gtk680li.so' offset 0xb63d4000 map 0xb63d4000
+     28115:	vtreloc section found in '/opt/OOInstall/program/libvclplug_gtk680li.so' at 0xb641831c (0x4431c) mapped at 0xb63d4000
+     28115:	copy from 0xb5dd69a4 to 0xb64185cc mask 0x1
+     28115:	do copy 0xb5db2aa4 to 0xdeadbeef match [&0xb5dd69a4 -> &0xb64185cc]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb5dd6a08 to 0xb6418668 mask 0x1ffefffd
+     28115:	do copy 0xb5dbb89c to 0xdeadbeef match [&0xb5dd6a08 -> &0xb6418668]
+     28115:	no copy 0xb5d901e2 to 0xb63e89c8 skip
+     28115:	do copy 0xb5d8f4f0 to 0xdeadbeef match [&0xb5dd6a10 -> &0xb6418670]
+     28115:	do copy 0xb5d96a1c to 0xdeadbeef match [&0xb5dd6a14 -> &0xb6418674]
+     28115:	do copy 0xb5d96450 to 0xdeadbeef match [&0xb5dd6a18 -> &0xb6418678]
+     28115:	do copy 0xb5da898c to 0xdeadbeef match [&0xb5dd6a1c -> &0xb641867c]
+     28115:	do copy 0xb5da71ac to 0xdeadbeef match [&0xb5dd6a20 -> &0xb6418680]
+     28115:	do copy 0xb5da80da to 0xdeadbeef match [&0xb5dd6a24 -> &0xb6418684]
+     28115:	do copy 0xb5da71c8 to 0xdeadbeef match [&0xb5dd6a28 -> &0xb6418688]
+     28115:	do copy 0xb5da9d78 to 0xdeadbeef match [&0xb5dd6a2c -> &0xb641868c]
+     28115:	do copy 0xb5da71e4 to 0xdeadbeef match [&0xb5dd6a30 -> &0xb6418690]
+     28115:	do copy 0xb5da895a to 0xdeadbeef match [&0xb5dd6a34 -> &0xb6418694]
+     28115:	do copy 0xb5da72e2 to 0xdeadbeef match [&0xb5dd6a38 -> &0xb6418698]
+     28115:	do copy 0xb5db2554 to 0xdeadbeef match [&0xb5dd6a3c -> &0xb641869c]
+     28115:	do copy 0xb5dbb8b8 to 0xdeadbeef match [&0xb5dd6a40 -> &0xb64186a0]
+     28115:	do copy 0xb5dae55c to 0xdeadbeef match [&0xb5dd6a44 -> &0xb64186a4]
+     28115:	no copy 0xb5dbbf70 to 0xb63e948a skip
+     28115:	do copy 0xb5d936ae to 0xdeadbeef match [&0xb5dd6a4c -> &0xb64186ac]
+     28115:	do copy 0xb5dbb860 to 0xdeadbeef match [&0xb5dd6a50 -> &0xb64186b0]
+     28115:	do copy 0xb5dbb9e2 to 0xdeadbeef match [&0xb5dd6a54 -> &0xb64186b4]
+     28115:	do copy 0xb5dbb874 to 0xdeadbeef match [&0xb5dd6a58 -> &0xb64186b8]
+     28115:	do copy 0xb5dbbc00 to 0xdeadbeef match [&0xb5dd6a5c -> &0xb64186bc]
+     28115:	do copy 0xb5dbbdcc to 0xdeadbeef match [&0xb5dd6a60 -> &0xb64186c0]
+     28115:	do copy 0xb5d90490 to 0xdeadbeef match [&0xb5dd6a64 -> &0xb64186c4]
+     28115:	do copy 0xb5d90498 to 0xdeadbeef match [&0xb5dd6a68 -> &0xb64186c8]
+     28115:	do copy 0xb5d904b4 to 0xdeadbeef match [&0xb5dd6a6c -> &0xb64186cc]
+     28115:	do copy 0xb5d904bc to 0xdeadbeef match [&0xb5dd6a70 -> &0xb64186d0]
+     28115:	do copy 0xb5dbe334 to 0xdeadbeef match [&0xb5dd6a74 -> &0xb64186d4]
+     28115:	do copy 0xb5dbb954 to 0xdeadbeef match [&0xb5dd6a78 -> &0xb64186d8]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb5dd6ae8 to 0xb6418760 mask 0x7f
+     28115:	do copy 0xb5dbc14c to 0xdeadbeef match [&0xb5dd6ae8 -> &0xb6418760]
+     28115:	do copy 0xb5dbc1a8 to 0xdeadbeef match [&0xb5dd6aec -> &0xb6418764]
+     28115:	do copy 0xb5dbc188 to 0xdeadbeef match [&0xb5dd6af0 -> &0xb6418768]
+     28115:	do copy 0xb5dbc1e8 to 0xdeadbeef match [&0xb5dd6af4 -> &0xb641876c]
+     28115:	do copy 0xb5dbbf50 to 0xdeadbeef match [&0xb5dd6af8 -> &0xb6418770]
+     28115:	do copy 0xb5dbc2a4 to 0xdeadbeef match [&0xb5dd6afc -> &0xb6418774]
+     28115:	do copy 0xb5dbc532 to 0xdeadbeef match [&0xb5dd6b00 -> &0xb6418778]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb5dd5d24 to 0xb6418b44 mask 0x7fffffc
+     28115:	no copy 0xb5d94bb6 to 0xb63fcce6 skip
+     28115:	no copy 0xb5d94b10 to 0xb63fcc9c skip
+     28115:	do copy 0xb5d949f0 to 0xdeadbeef match [&0xb5dd5d2c -> &0xb6418b4c]
+     28115:	do copy 0xb5d94ae0 to 0xdeadbeef match [&0xb5dd5d30 -> &0xb6418b50]
+     28115:	do copy 0xb5d94a0c to 0xdeadbeef match [&0xb5dd5d34 -> &0xb6418b54]
+     28115:	do copy 0xb5d95f84 to 0xdeadbeef match [&0xb5dd5d38 -> &0xb6418b58]
+     28115:	do copy 0xb5d94a36 to 0xdeadbeef match [&0xb5dd5d3c -> &0xb6418b5c]
+     28115:	do copy 0xb5d9576c to 0xdeadbeef match [&0xb5dd5d40 -> &0xb6418b60]
+     28115:	do copy 0xb5d956f6 to 0xdeadbeef match [&0xb5dd5d44 -> &0xb6418b64]
+     28115:	do copy 0xb5d9e8b4 to 0xdeadbeef match [&0xb5dd5d48 -> &0xb6418b68]
+     28115:	do copy 0xb5d9f95c to 0xdeadbeef match [&0xb5dd5d4c -> &0xb6418b6c]
+     28115:	do copy 0xb5d9f2ae to 0xdeadbeef match [&0xb5dd5d50 -> &0xb6418b70]
+     28115:	do copy 0xb5d9e542 to 0xdeadbeef match [&0xb5dd5d54 -> &0xb6418b74]
+     28115:	do copy 0xb5d9f1ea to 0xdeadbeef match [&0xb5dd5d58 -> &0xb6418b78]
+     28115:	do copy 0xb5da09f0 to 0xdeadbeef match [&0xb5dd5d5c -> &0xb6418b7c]
+     28115:	do copy 0xb5d9e0a8 to 0xdeadbeef match [&0xb5dd5d60 -> &0xb6418b80]
+     28115:	do copy 0xb5d9e6b0 to 0xdeadbeef match [&0xb5dd5d64 -> &0xb6418b84]
+     28115:	do copy 0xb5d9e504 to 0xdeadbeef match [&0xb5dd5d68 -> &0xb6418b88]
+     28115:	do copy 0xb5d9e47e to 0xdeadbeef match [&0xb5dd5d6c -> &0xb6418b8c]
+     28115:	do copy 0xb5d9e4d0 to 0xdeadbeef match [&0xb5dd5d70 -> &0xb6418b90]
+     28115:	do copy 0xb5d9e4aa to 0xdeadbeef match [&0xb5dd5d74 -> &0xb6418b94]
+     28115:	do copy 0xb5d9e440 to 0xdeadbeef match [&0xb5dd5d78 -> &0xb6418b98]
+     28115:	do copy 0xb5d9f3aa to 0xdeadbeef match [&0xb5dd5d7c -> &0xb6418b9c]
+     28115:	do copy 0xb5d9e0ae to 0xdeadbeef match [&0xb5dd5d80 -> &0xb6418ba0]
+     28115:	do copy 0xb5d9ee16 to 0xdeadbeef match [&0xb5dd5d84 -> &0xb6418ba4]
+     28115:	do copy 0xb5da026c to 0xdeadbeef match [&0xb5dd5d88 -> &0xb6418ba8]
+     28115:	do copy 0xb7e2cc58 to 0xdeadbeef match [&0xb5dd5d8c -> &0xb6418bac]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb5dd5ca4 to 0xb6418ac4 mask 0x7e1ff7ff
+     28115:	do copy 0xb5d953be to 0xdeadbeef match [&0xb5dd5ca4 -> &0xb6418ac4]
+     28115:	do copy 0xb5d952e0 to 0xdeadbeef match [&0xb5dd5ca8 -> &0xb6418ac8]
+     28115:	do copy 0xb5d95606 to 0xdeadbeef match [&0xb5dd5cac -> &0xb6418acc]
+     28115:	do copy 0xb5d95be8 to 0xdeadbeef match [&0xb5dd5cb0 -> &0xb6418ad0]
+     28115:	do copy 0xb5d955ac to 0xdeadbeef match [&0xb5dd5cb4 -> &0xb6418ad4]
+     28115:	do copy 0xb5d95a66 to 0xdeadbeef match [&0xb5dd5cb8 -> &0xb6418ad8]
+     28115:	do copy 0xb5d95902 to 0xdeadbeef match [&0xb5dd5cbc -> &0xb6418adc]
+     28115:	do copy 0xb5d94a7c to 0xdeadbeef match [&0xb5dd5cc0 -> &0xb6418ae0]
+     28115:	do copy 0xb5d94a84 to 0xdeadbeef match [&0xb5dd5cc4 -> &0xb6418ae4]
+     28115:	do copy 0xb5d94a8c to 0xdeadbeef match [&0xb5dd5cc8 -> &0xb6418ae8]
+     28115:	do copy 0xb5d9065a to 0xdeadbeef match [&0xb5dd5ccc -> &0xb6418aec]
+     28115:	no copy 0xb5d91dda to 0xb63feffe skip
+     28115:	do copy 0xb5d91124 to 0xdeadbeef match [&0xb5dd5cd4 -> &0xb6418af4]
+     28115:	do copy 0xb5d906a2 to 0xdeadbeef match [&0xb5dd5cd8 -> &0xb6418af8]
+     28115:	do copy 0xb5d910c2 to 0xdeadbeef match [&0xb5dd5cdc -> &0xb6418afc]
+     28115:	do copy 0xb5d913ac to 0xdeadbeef match [&0xb5dd5ce0 -> &0xb6418b00]
+     28115:	do copy 0xb5d9197e to 0xdeadbeef match [&0xb5dd5ce4 -> &0xb6418b04]
+     28115:	do copy 0xb5d909e6 to 0xdeadbeef match [&0xb5dd5ce8 -> &0xb6418b08]
+     28115:	do copy 0xb5d91320 to 0xdeadbeef match [&0xb5dd5cec -> &0xb6418b0c]
+     28115:	do copy 0xb5d954f2 to 0xdeadbeef match [&0xb5dd5cf0 -> &0xb6418b10]
+     28115:	do copy 0xb5d94a94 to 0xdeadbeef match [&0xb5dd5cf4 -> &0xb6418b14]
+     28115:	no copy 0xb7e45890 to 0xb63fe328 skip
+     28115:	no copy 0xb7e45898 to 0xb63fe750 skip
+     28115:	no copy 0xb7e458a0 to 0xb63f7d8a skip
+     28115:	no copy 0xb7e458a8 to 0xb63fd804 skip
+     28115:	do copy 0xb5d9152c to 0xdeadbeef match [&0xb5dd5d08 -> &0xb6418b28]
+     28115:	do copy 0xb5d91b28 to 0xdeadbeef match [&0xb5dd5d0c -> &0xb6418b2c]
+     28115:	do copy 0xb5d95c72 to 0xdeadbeef match [&0xb5dd5d10 -> &0xb6418b30]
+     28115:	do copy 0xb5d956b8 to 0xdeadbeef match [&0xb5dd5d14 -> &0xb6418b34]
+     28115:	do copy 0xb5d956e6 to 0xdeadbeef match [&0xb5dd5d18 -> &0xb6418b38]
+     28115:	do copy 0xb5d949d0 to 0xdeadbeef match [&0xb5dd5d1c -> &0xb6418b3c]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb5dd6a90 to 0xb6418618 mask 0x1
+     28115:	do copy 0xb769b1fa to 0xdeadbeef match [&0xb5dd6a90 -> &0xb6418618]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb6418618 to 0xb64186f0 mask 0x1
+     28115:	do copy 0xb769b1fa to 0xdeadbeef match [&0xb6418618 -> &0xb64186f0]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb6418858 to 0xb64187b8 mask 0xcf
+     28115:	do copy 0xb63ee3d4 to 0xdeadbeef match [&0xb6418858 -> &0xb64187b8]
+     28115:	do copy 0xb63ee3a2 to 0xdeadbeef match [&0xb641885c -> &0xb64187bc]
+     28115:	do copy 0xb63ee370 to 0xdeadbeef match [&0xb6418860 -> &0xb64187c0]
+     28115:	do copy 0xdeadbeef to 0xdeadbeef match [&0xb6418864 -> &0xb64187c4]
+     28115:	no copy 0xb63ee2ec to 0xb63ecec6 skip
+     28115:	no copy 0xb63ee2a8 to 0xb63ece60 skip
+     28115:	do copy 0xb63ee25a to 0xdeadbeef match [&0xb6418870 -> &0xb64187d0]
+     28115:	do copy 0xb63ee226 to 0xdeadbeef matchg [&0xb6418874 -> &0xb64187d4]
+     28115:	move to next vtrel entry
+     28115:	copy from 0xb6418858 to 0xb6418988 mask 0xcf
+     28115:	do copy 0xb63ee3d4 to 0xdeadbeef match [&0xb6418858 -> &0xb6418988]
+     28115:	do copy 0xb63ee3a2 to 0xdeadbeef match [&0xb641885c -> &0xb641898c]
+     28115:	do copy 0xb63ee370 to 0xdeadbeef match [&0xb6418860 -> &0xb6418990]
+     28115:	do copy 0xdeadbeef to 0xdeadbeef match [&0xb6418864 -> &0xb6418994]
+     28115:	no copy 0xb63ee2ec to 0xb63f50dc skip
+     28115:	no copy 0xb63ee2a8 to 0xb63f5076 skip
+     28115:	do copy 0xb63ee25a to 0xdeadbeef match [&0xb6418870 -> &0xb64189a0]
+     28115:	do copy 0xb63ee226 to 0xdeadbeef match [&0xb6418874 -> &0xb64189a4]
+     28115:	move to next vtrel entry
+     28115:	copy from 0x8090a84 to 0xb6418864 mask 0x1
+     28115:	do copy 0x80619e4 to 0xdeadbeef match [&0x8090a84 -> &0xb6418864]
+     28115:	move to next vtrel entry
+
+
+These two are confused:
+
+	'.vtrelocs._ZVTR_00000011_21DocumentFocusListener':
+
+     28115:	copy from 0xb6418858 to 0xb6418988 mask 0xcf
+     28115:	do copy 0xb63ee3d4 to 0xdeadbeef match [&0xb6418858 -> &0xb6418988]
+     28115:	do copy 0xb63ee3a2 to 0xdeadbeef match [&0xb641885c -> &0xb641898c]
+     28115:	do copy 0xb63ee370 to 0xdeadbeef match [&0xb6418860 -> &0xb6418990]
+     28115:	do copy 0xdeadbeef to 0xdeadbeef match [***&0xb6418864*** -> &0xb6418994]
+     28115:	no copy 0xb63ee2ec to 0xb63f50dc skip
+     28115:	no copy 0xb63ee2a8 to 0xb63f5076 skip
+     28115:	do copy 0xb63ee25a to 0xdeadbeef match [&0xb6418870 -> &0xb64189a0]
+     28115:	do copy 0xb63ee226 to 0xdeadbeef match [&0xb6418874 -> &0xb64189a4]
+     28115:	move to next vtrel entry
+
+	'.vtrelocs._ZVTR_00000012_N4cppu15WeakImplHelper1IN3com3sun4star13accessibility24XAccessibleEventListenerEEE':
+     28115:	copy from 0x8090a84 to 0xb6418864 mask 0x1
+     28115:	do copy 0x80619e4 to 0xdeadbeef match [&0x8090a84 -> ***&0xb6418864***]
+
+** Build a test:
+
+
+	'.vtrelocs._ZVTR_00000008_8ErrorBox':
+	'.vtrelocs._ZVTR_00000008_8QueryBox':
+
+/home/opt/gcc/bin/../libexec/gcc/i686-pc-linux-gnu/4.2.1/cc1plus -quiet -I. -I../../unxlngi6.pro/inc/svdraw -I../inc -I../../inc/pch -I../../inc -I../../unx/inc -I../../unxlngi6.pro/inc -I. -I/opt/OpenOffice/ooh680-m1/solver/680/unxlngi6.pro/inc/stl -I/opt/OpenOffice/ooh680-m1/solver/680/unxlngi6.pro/inc/external -I/opt/OpenOffice/ooh680-m1/solver/680/unxlngi6.pro/inc -I/opt/OpenOffice/ooh680-m1/solenv/unxlngi6/inc -I/opt/OpenOffice/ooh680-m1/solenv/inc -I/opt/OpenOffice/ooh680-m1/res -I/opt/OpenOffice/ooh680-m1/solver/680/unxlngi6.pro/inc/stl -I/opt/OpenOffice/ooh680-m1/solenv/inc/Xp31 -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux -I/usr/lib/jvm/java/include/native_threads/include -I/usr/include -I/opt/OpenOffice/ooh680-m1/solver/680/unxlngi6.pro/inc/offuh -I. -I../../res -I. -iprefix /home/opt/gcc/bin/../lib/gcc/i686-pc-linux-gnu/4.2.1/ -D_GNU_SOURCE -DENABLE_GTK -DLINUX -DUNX -DVCL -DGCC -DC341 -DINTEL -DCVER=C341 -DNPTL -DGLIBC=2 -DX86 -D_PTHREADS -D_REEN
 TRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DGXX_INCLUDE_PATH=/usr/include/c++/4.2.1 -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DGSTREAMER -DCUI -DSOLAR_JAVA -DOOH680=OOH680 -DSVX_DLLIMPLEMENTATION -DSHAREDLIB -D_DLL_ -DEXCEPTIONS_ON /home/opt/OpenOffice/ooh680-m1/svx/source/svdraw/svdobj.cxx -quiet -dumpbase svdobj.cxx -mtune=pentiumpro -auxbase-strip ../../unxlngi6.pro/slo/svdobj.o -Os -Wall -Wextra -Wendif-labels -Wshadow -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fmessage-length=0 -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fpic -fexceptions -fno-enforce-eh-specs -o -
+
+Generate vtreloc variable '_ZVTR_00000002_15SvCompatWeakHdl' comdat? 1name '_ZVTR_00000002_9SvWeakHdl'
+Generate vtreloc variable '_ZVTR_00000002_9SvWeakHdl' comdat? 1
+Program received signal SIGSEGV, Segmentation fault.
+cgraph_node_remove_callees (node=0xb1713000) at ../.././gcc/cgraph.c:436
+436       if (e->prev_caller)
+(gdb) bt
+#0  cgraph_node_remove_callees (node=0xb1713000) at ../.././gcc/cgraph.c:436
+#1  0x084204ea in cgraph_remove_node (node=0xb1713000) at ../.././gcc/cgraph.c:535
+#2  0x0842272e in cgraph_finalize_compilation_unit () at ../.././gcc/cgraphunit.c:1167
+#3  0x080892f5 in cp_finish_file () at ../.././gcc/cp/decl2.c:3414
+#4  0x0810102f in c_common_parse_file (set_yydebug=0) at ../.././gcc/c-opts.c:1184
+#5  0x083bb5d0 in toplev_main (argc=87, argv=0xbf969944) at ../.././gcc/toplev.c:1033
+#6  0x0810b46f in main (argc=1, argv=0x0) at ../.././gcc/main.c:35
+
+
+SVX:
+
+../unxlngi6.pro/slo/xmlxtexp.o:(.data.rel.ro._ZTV27SvxXMLXTableExportComponent[vtable
+for SvxXMLXTableExportComponent]+0x16c): undefined reference to
+`non-virtual thunk to
+cppu::WeakImplHelper6<com::sun::star::document::XFilter,
+com::sun::star::lang::XServiceInfo,
+com::sun::star::document::XExporter,
+com::sun::star::lang::XInitialization,
+com::sun::star::container::XNamed,
+com::sun::star::lang::XUnoTunnel>::release()'
+
+_ZTV27SvxXMLXTableExportComponent:
+->
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star8document7XFilterENS3_4lang12XServiceInfoENS4_9XExporterENS6_15XInitializationENS3_9container6XNamedENS6_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	+ simply not in the .s file [ most odd ]
+
+
+** Turn on & try construction vtable bits ? :-)
+
+** FIXME:
+	+ should we be copying thunks from our parents ?
+
+method.c: 'emit_associated_thunks' ...
+	+ hmm ;-)
+method.c: 'make_thunk' ... - called from where ?
+
+** FIXME: make_thunk - called, but not 'finish_thunk' ...
+
+* we have 195 'make_thunk' calls
+* we have 8 'generate thunk' calls.
+	+ most odd [!]
+
+grep '_ZThn' /tmp/xmlxtexp.s.pristine | wc -l
+196
+grep '_ZThn' /tmp/xmlxtexp.s-shrink | wc -l
+81
+
+	+ Interesting.
+
+
+** Chase how thunks are generated
+	+ can we defer our generation of _ZVTR stuff
+	  until a -lot- later ?
+
+** FIXME: why are we not generating thunks !?
+	+ they seem to be associated with functions
+	+ but ... why? they don't call functions.
+
+** The --real-- question from xmlxtexp.cxx is:
+	+ *Why* do we not get an SvXMLExport vtable ?
+
+_ZVTR_00000006_27SvxXMLXTableExportComponent:
+	.long	_ZTV11SvXMLExport+136
+	.long	_ZTV27SvxXMLXTableExportComponent+136
+	.long	4095
+
+	+ *That* should have the missing thunks [!]
+	+ Or better [!]
+		+ we should generate copy relocs for the thunks
+		+ they are after all - just the same ...
+		+ *But* why are we missing that vtable too ?
+		+ it is external ... [!?]
+
+	+ FIXME:
+		+ make test case:
+		+ hide the parent classs
+		+ first force some thunk generation (!?)
+
+** FIXME:
+	+ specified in libxo680li ... [!]
+
+** FIXME:
+	+ regression test with visibility markup ! ;-)
+
+
+** FIXME:
+	+ working nicely now -except- [!]
+		+ define SAL_NO_VTABLE
+	+ abstract base classes - don't need copying ?
+		+ they won't have a vtable emitted ...
+
+
+
+** FIXME:
+   +
+	../unxlngi6.pro/slo/xmlxtexp.o:(.data.rel.ro._ZTV27SvxXMLXTableExportComponent[vtable
+	for SvxXMLXTableExportComponent]+0x16c): undefined reference
+	to `non-virtual thunk to
+	cppu::WeakImplHelper6<com::sun::star::document::XFilter,
+	com::sun::star::lang::XServiceInfo,
+	com::sun::star::document::XExporter,
+	com::sun::star::lang::XInitialization,
+	com::sun::star::container::XNamed,
+	com::sun::star::lang::XUnoTunnel>::release()'
+
+
+	.long	-40
+	.long	_ZTI27SvxXMLXTableExportComponent
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star8document7XFilterENS3_4lang12XServiceInfoENS4_9XExporterENS6_15XInitializationENS3_9container6XNamedENS6_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star8document7XFilterENS3_4lang12XServiceInfoENS4_9XExporterENS6_15XInitializationENS3_9container6XNamedENS6_10XUnoTunnelEE7acquireEv
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star8document7XFilterENS3_4lang12XServiceInfoENS4_9XExporterENS6_15XInitializationENS3_9container6XNamedENS6_10XUnoTunnelEE7releaseEv
+	.long	_ZThn40_N11SvXMLExport12getSomethingERKN3com3sun4star3uno8SequenceIaEE
+	.long	_ZVTR_00000006_27SvxXMLXTableExportComponent
+
+Thunk!: 1 1 1 1
+ cppu::WeakImplHelper6<com::sun::star::document::XFilter,
+ com::sun::star::lang::XServiceInfo,
+ com::sun::star::document::XExporter,
+ com::sun::star::lang::XInitialization,
+ com::sun::star::container::XNamed,
+ com::sun::star::lang::XUnoTunnel>::_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star8document7XFilterENS3_4lang12XServiceInfoENS4_9XExporterENS6_15XInitializationENS3_9container6XNamedENS6_10XUnoTunnelEE7releaseEv
+ : com::sun::star::uno::XInterface !=?
+ cppu::WeakImplHelper6<com::sun::star::document::XFilter,
+ com::sun::star::lang::XServiceInfo,
+ com::sun::star::document::XExporter,
+ com::sun::star::lang::XInitialization,
+ com::sun::star::container::XNamed, com::sun::star::lang::XUnoTunnel>
+ 0xb6a89bdc !=? 0xb4f84564 !=? 0xb4f82780 !=? 0xb4f82780 !=?
+ 0xb4f66e70 (nil) !=? 0x32040200 !=? 0xb4f66e70 !=? 0xb4f66e70 !=?
+ (nil)
+
+** Hard to determine overriding by thetimewe get here ...
+so- instead-update_vtable_entry_for_fn (?)
+
+finish_struct_1 ? ... :-)
+
+../unxlngi6.pro/slo/xmlxtimp.o:(.vtrelocs._ZVTR_00000006_18SvxXMLXTableImport[_ZVTR_00000006_18SvxXMLXTableImport]+0x3c):
+undefined reference to `vtable for com::sun::star::xml::sax::XExtendedDocumentHandler'
+
+FIXME: this is just bogus !
+SvxXMLXTableImport does indeed inherit from XExtendedDocumentHandler
+	+ but not here
+	+ and only 'via' a template class:
+		.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+
+	class SvxXMLXTableImport : public SvXMLImport
+
+Copy SvXMLImport + 2 =>  SvxXMLXTableImport + 2 mask 0xfffffecf
+Copy SvXMLImport + 34 =>  SvxXMLXTableImport + 34 mask 0x7f
+Copy com::sun::star::lang::XTypeProvider + 2 =>  SvxXMLXTableImport + 43 mask 0x1f
+Copy com::sun::star::xml::sax::XExtendedDocumentHandler + 2 =>  SvxXMLXTableImport + 50 mask 0xffff
+Copy com::sun::star::lang::XServiceInfo + 2 =>  SvxXMLXTableImport + 68 mask 0x3f
+Copy com::sun::star::lang::XInitialization + 2 =>  SvxXMLXTableImport + 76 mask 0xf
+Copy com::sun::star::document::XImporter + 2 =>  SvxXMLXTableImport + 82 mask 0xf
+Copy com::sun::star::document::XFilter + 2 =>  SvxXMLXTableImport + 88 mask 0x1f
+Copy com::sun::star::lang::XUnoTunnel + 2 =>  SvxXMLXTableImport + 95 mask 0xf
+
+** Just a nonsense ! :-)
+
+FIXME: why so hard to generate test cases ?
+
+FIXME: it's all rubbish!
+	+ thunk namemangling *looks* like it's inheritingsomething,
+ 	  but it'snot.
+	+there is (apparently) no vtablefor:
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+
+
+eg. xmlxtimp.s.pristine:
+	.long	-20
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+
+	these guys above should be there.
+	below - notso.
+
+	.long	_ZThn20_N11SvXMLImport13startDocumentEv
+	.long	_ZThn20_N11SvXMLImport11endDocumentEv
+	.long	_ZThn20_N11SvXMLImport12startElementERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZThn20_N11SvXMLImport10endElementERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport10charactersERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport19ignorableWhitespaceERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport21processingInstructionERKN3rtl8OUStringES3_
+	.long	_ZThn20_N11SvXMLImport18setDocumentLocatorERKN3com3sun4star3uno9ReferenceINS2_3xml3sax8XLocatorEEE
+	.long	_ZThn20_N11SvXMLImport10startCDATAEv
+	.long	_ZThn20_N11SvXMLImport8endCDATAEv
+	.long	_ZThn20_N11SvXMLImport7commentERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport14allowLineBreakEv
+	.long	_ZThn20_N11SvXMLImport7unknownERKN3rtl8OUStringE
+
+
+
+hacked:
+
+_ZTV18SvxXMLXTableImport:
+	.long	0
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	_ZN18SvxXMLXTableImportD1Ev
+	.long	_ZN18SvxXMLXTableImportD0Ev
+	.long	-559038737
+	.long	-559038737
+	.long	_ZN18SvxXMLXTableImport13CreateContextEtRKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-559038737
+	.long	-16
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE8getTypesEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE19getImplementationIdEv
+	.long	-20
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn20_N11SvXMLImport10startCDATAEv
+	.long	_ZThn20_N11SvXMLImport8endCDATAEv
+	.long	_ZThn20_N11SvXMLImport7commentERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport14allowLineBreakEv
+	.long	_ZThn20_N11SvXMLImport7unknownERKN3rtl8OUStringE
+	.long	-24
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn24_N11SvXMLImport21getImplementationNameEv
+	.long	_ZThn24_N11SvXMLImport15supportsServiceERKN3rtl8OUStringE
+	.long	_ZThn24_N11SvXMLImport24getSupportedServiceNamesEv
+	.long	-28
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn28_N11SvXMLImport10initializeERKN3com3sun4star3uno8SequenceINS3_3AnyEEE
+	.long	-32
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn32_N11SvXMLImport17setTargetDocumentERKN3com3sun4star3uno9ReferenceINS2_4lang10XComponentEEE
+	.long	-36
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn36_N11SvXMLImport6filterERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZThn36_N11SvXMLImport6cancelEv
+	.long	-40
+	.long	_ZTI18SvxXMLXTableImport
+	.long	-559026176
+	.long	-559026176
+	.long	-559026176
+	.long	_ZThn40_N11SvXMLImport12getSomethingERKN3com3sun4star3uno8SequenceIaEE
+	.long	_ZVTR_00000006_18SvxXMLXTableImport
+	.hidden	_ZTV24SvxXMLTableImportContext
+
+pristine:
+
+_ZTV18SvxXMLXTableImport:
+	.long	0
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZN4cppu11OWeakObject12queryAdapterEv
+	.long	_ZN18SvxXMLXTableImportD1Ev
+	.long	_ZN18SvxXMLXTableImportD0Ev
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE8getTypesEv
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE19getImplementationIdEv
+	.long	_ZN18SvxXMLXTableImport13CreateContextEtRKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZN11SvXMLImport16CreateTextImportEv
+	.long	_ZN11SvXMLImport17CreateShapeImportEv
+	.long	_ZN11SvXMLImport17CreateChartImportEv
+	.long	_ZN11SvXMLImport16CreateFormImportEv
+	.long	_ZN11SvXMLImport13startDocumentEv
+	.long	_ZN11SvXMLImport11endDocumentEv
+	.long	_ZN11SvXMLImport12startElementERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZN11SvXMLImport10endElementERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport10charactersERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport19ignorableWhitespaceERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport21processingInstructionERKN3rtl8OUStringES3_
+	.long	_ZN11SvXMLImport18setDocumentLocatorERKN3com3sun4star3uno9ReferenceINS2_3xml3sax8XLocatorEEE
+	.long	_ZN11SvXMLImport10startCDATAEv
+	.long	_ZN11SvXMLImport8endCDATAEv
+	.long	_ZN11SvXMLImport7commentERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport14allowLineBreakEv
+	.long	_ZN11SvXMLImport7unknownERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport17setTargetDocumentERKN3com3sun4star3uno9ReferenceINS2_4lang10XComponentEEE
+	.long	_ZN11SvXMLImport6filterERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZN11SvXMLImport6cancelEv
+	.long	_ZN11SvXMLImport10initializeERKN3com3sun4star3uno8SequenceINS3_3AnyEEE
+	.long	_ZN11SvXMLImport12getSomethingERKN3com3sun4star3uno8SequenceIaEE
+	.long	_ZN11SvXMLImport21getImplementationNameEv
+	.long	_ZN11SvXMLImport15supportsServiceERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport24getSupportedServiceNamesEv
+	.long	_ZN11SvXMLImport22SetStatisticAttributesERKN3com3sun4star3uno9ReferenceINS2_3xml3sax14XAttributeListEEE
+	.long	_ZN11SvXMLImport15SetViewSettingsERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZN11SvXMLImport24SetConfigurationSettingsERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZN11SvXMLImport14DisposingModelEv
+	.long	_ZN11SvXMLImport10initXFormsEv
+	.long	-16
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE8getTypesEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE19getImplementationIdEv
+	.long	-20
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn20_N11SvXMLImport13startDocumentEv
+	.long	_ZThn20_N11SvXMLImport11endDocumentEv
+	.long	_ZThn20_N11SvXMLImport12startElementERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZThn20_N11SvXMLImport10endElementERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport10charactersERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport19ignorableWhitespaceERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport21processingInstructionERKN3rtl8OUStringES3_
+	.long	_ZThn20_N11SvXMLImport18setDocumentLocatorERKN3com3sun4star3uno9ReferenceINS2_3xml3sax8XLocatorEEE
+	.long	_ZThn20_N11SvXMLImport10startCDATAEv
+	.long	_ZThn20_N11SvXMLImport8endCDATAEv
+	.long	_ZThn20_N11SvXMLImport7commentERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport14allowLineBreakEv
+	.long	_ZThn20_N11SvXMLImport7unknownERKN3rtl8OUStringE
+	.long	-24
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn24_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn24_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn24_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn24_N11SvXMLImport21getImplementationNameEv
+	.long	_ZThn24_N11SvXMLImport15supportsServiceERKN3rtl8OUStringE
+	.long	_ZThn24_N11SvXMLImport24getSupportedServiceNamesEv
+	.long	-28
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn28_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn28_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn28_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn28_N11SvXMLImport10initializeERKN3com3sun4star3uno8SequenceINS3_3AnyEEE
+	.long	-32
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn32_N11SvXMLImport17setTargetDocumentERKN3com3sun4star3uno9ReferenceINS2_4lang10XComponentEEE
+	.long	-36
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn36_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn36_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn36_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn36_N11SvXMLImport6filterERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZThn36_N11SvXMLImport6cancelEv
+	.long	-40
+	.long	_ZTI18SvxXMLXTableImport
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn40_N11SvXMLImport12getSomethingERKN3com3sun4star3uno8SequenceIaEE
+	.hidden	_ZTV24SvxXMLTableImportContext
+	.weak	_ZTV24SvxXMLTableImportContext
+	.section	.data.rel.ro._ZTV24SvxXMLTableImportContext,"awG",@progbits,_ZTV24SvxXMLTableImportContext,comdat
+
+
+parent:
+
+_ZTV11SvXMLImport:
+	.long	0
+	.long	_ZTI11SvXMLImport
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZN4cppu11OWeakObject12queryAdapterEv
+	.long	_ZN11SvXMLImportD1Ev
+	.long	_ZN11SvXMLImportD0Ev
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE8getTypesEv
+	.long	_ZN4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE19getImplementationIdEv
+	.long	_ZN11SvXMLImport13CreateContextEtRKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZN11SvXMLImport16CreateTextImportEv
+	.long	_ZN11SvXMLImport17CreateShapeImportEv
+	.long	_ZN11SvXMLImport17CreateChartImportEv
+	.long	_ZN11SvXMLImport16CreateFormImportEv
+	.long	_ZN11SvXMLImport13startDocumentEv
+	.long	_ZN11SvXMLImport11endDocumentEv
+	.long	_ZN11SvXMLImport12startElementERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZN11SvXMLImport10endElementERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport10charactersERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport19ignorableWhitespaceERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport21processingInstructionERKN3rtl8OUStringES3_
+	.long	_ZN11SvXMLImport18setDocumentLocatorERKN3com3sun4star3uno9ReferenceINS2_3xml3sax8XLocatorEEE
+	.long	_ZN11SvXMLImport10startCDATAEv
+	.long	_ZN11SvXMLImport8endCDATAEv
+	.long	_ZN11SvXMLImport7commentERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport14allowLineBreakEv
+	.long	_ZN11SvXMLImport7unknownERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport17setTargetDocumentERKN3com3sun4star3uno9ReferenceINS2_4lang10XComponentEEE
+	.long	_ZN11SvXMLImport6filterERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZN11SvXMLImport6cancelEv
+	.long	_ZN11SvXMLImport10initializeERKN3com3sun4star3uno8SequenceINS3_3AnyEEE
+	.long	_ZN11SvXMLImport12getSomethingERKN3com3sun4star3uno8SequenceIaEE
+	.long	_ZN11SvXMLImport21getImplementationNameEv
+	.long	_ZN11SvXMLImport15supportsServiceERKN3rtl8OUStringE
+	.long	_ZN11SvXMLImport24getSupportedServiceNamesEv
+	.long	_ZN11SvXMLImport22SetStatisticAttributesERKN3com3sun4star3uno9ReferenceINS2_3xml3sax14XAttributeListEEE
+	.long	_ZN11SvXMLImport15SetViewSettingsERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZN11SvXMLImport24SetConfigurationSettingsERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZN11SvXMLImport14DisposingModelEv
+	.long	_ZN11SvXMLImport10initXFormsEv
+	.long	-16
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE8getTypesEv
+	.long	_ZThn16_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE19getImplementationIdEv
+	.long	-20
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn20_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn20_N11SvXMLImport13startDocumentEv
+	.long	_ZThn20_N11SvXMLImport11endDocumentEv
+	.long	_ZThn20_N11SvXMLImport12startElementERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS6_3xml3sax14XAttributeListEEE
+	.long	_ZThn20_N11SvXMLImport10endElementERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport10charactersERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport19ignorableWhitespaceERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport21processingInstructionERKN3rtl8OUStringES3_
+	.long	_ZThn20_N11SvXMLImport18setDocumentLocatorERKN3com3sun4star3uno9ReferenceINS2_3xml3sax8XLocatorEEE
+	.long	_ZThn20_N11SvXMLImport10startCDATAEv
+	.long	_ZThn20_N11SvXMLImport8endCDATAEv
+	.long	_ZThn20_N11SvXMLImport7commentERKN3rtl8OUStringE
+	.long	_ZThn20_N11SvXMLImport14allowLineBreakEv
+	.long	_ZThn20_N11SvXMLImport7unknownERKN3rtl8OUStringE
+	.long	-24
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn24_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn24_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn24_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn24_N11SvXMLImport21getImplementationNameEv
+	.long	_ZThn24_N11SvXMLImport15supportsServiceERKN3rtl8OUStringE
+	.long	_ZThn24_N11SvXMLImport24getSupportedServiceNamesEv
+	.long	-28
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn28_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn28_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn28_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn28_N11SvXMLImport10initializeERKN3com3sun4star3uno8SequenceINS3_3AnyEEE
+	.long	-32
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn32_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn32_N11SvXMLImport17setTargetDocumentERKN3com3sun4star3uno9ReferenceINS2_4lang10XComponentEEE
+	.long	-36
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn36_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn36_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn36_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn36_N11SvXMLImport6filterERKN3com3sun4star3uno8SequenceINS2_5beans13PropertyValueEEE
+	.long	_ZThn36_N11SvXMLImport6cancelEv
+	.long	-40
+	.long	_ZTI11SvXMLImport
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE14queryInterfaceERKNS3_3uno4TypeE
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7acquireEv
+	.long	_ZThn40_N4cppu15WeakImplHelper6IN3com3sun4star3xml3sax24XExtendedDocumentHandlerENS3_4lang12XServiceInfoENS7_15XInitializationENS3_8document9XImporterENSA_7XFilterENS7_10XUnoTunnelEE7releaseEv
+	.long	_ZThn40_N11SvXMLImport12getSomethingERKN3com3sun4star3uno8SequenceIaEE
+	.hidden	_ZTV24SvXMLImportEventListener
+	.weak	_ZTV24SvXMLImportEventListener
+
+// Herein lies the problem:
+// 
+Init vtable idx 2:  
+     t - (SvxXMLXTableImport)
+     binfo - (com::sun::star::xml::sax::XExtendedDocumentHandler)
+     orig_binfo - (com::sun::star::xml::sax::XExtendedDocumentHandler)
+     rtti-binfo - (SvxXMLXTableImport)
+     primary-binfo (com::sun::star::xml::sax::XDocumentHandler)** 2 inits **
+
+  /* Write details about vtable inheritance, if we have any parent entries */
+  if (slot_relocs)
+  {
+      unsigned i;
+      tree copy_parent = orig_binfo;
+      if (orig_binfo == TYPE_BINFO (t))
+          copy_parent = get_primary_binfo (orig_binfo);
+
+
+** FIXME:intests,definekey method in.cxx ...
+
+crashes on:
+86        pWeak->getTypes();
+
+(gdb) p (void (void) **)&_ZTV15DerivedFromWeak
+
+
+** Broken copy offset: [!?]
+
+(gdb) p $17[8]
+$43 = (void (*)(void)) 0x8048fe4 <typeinfo for DerivedFromWeak>
+(gdb) p $17[9]
+$44 = (void (*)(void)) 0x804876c <XTypeProvider::getTypes()>
+(gdb) p $17[10]
+$45 = (void (*)(void)) 0xffffffec
+
+From XTypeProvider [!]
+
+_ZVTR_00000005_15DerivedFromWeak:
+	.long	_ZTV15WeakImplHelper1I24XAccessibleEventListenerE+8
+	.long	_ZTV15DerivedFromWeak+8
+	.long	14723
+
+should be:
+	.long	-12
+	.long	_ZTI15DerivedFromWeak
+	.long	_ZN13XTypeProvider7acquireEv
+	.long	_ZN13XTypeProvider8getTypesEv
+
+_ZTV15WeakImplHelper1I24XAccessibleEventListenerE:
+	.long	0
+	.long	_ZTI15WeakImplHelper1I24XAccessibleEventListenerE
+	.long	_ZN5XWeak7acquireEv
+	.long	_ZN5XWeak12queryAdapterEv
+	.long	_ZN15WeakImplHelper1I24XAccessibleEventListenerED1Ev
+	.long	_ZN15WeakImplHelper1I24XAccessibleEventListenerED0Ev
+	.long	-12
+	.long	_ZTI15WeakImplHelper1I24XAccessibleEventListenerE
+	.long	_ZN13XTypeProvider7acquireEv
+	.long	_ZN13XTypeProvider8getTypesEv
+	.long	-20
+	.long	_ZTI15WeakImplHelper1I24XAccessibleEventListenerE
+	.long	_ZN14XEventListener7acquireEv
+	.long	_ZN14XEventListener9disposingEv
+	.long	_ZN24XAccessibleEventListener11notifyEventEv
+	[end]
+
+_ZTV15DerivedFromWeak:
+	.long	0
+	.long	_ZTI15DerivedFromWeak
+	.long	_ZN5XWeak7acquireEv
+	.long	_ZN5XWeak12queryAdapterEv
+	.long	_ZN15DerivedFromWeakD1Ev
+	.long	_ZN15DerivedFromWeakD0Ev
+	.long	_ZN15DerivedFromWeak9thunkfestEv  !!!!!!!!!!! new method !!!!!!!!!!
+	.long	-12
+	.long	_ZTI15DerivedFromWeak
+	.long	_ZN13XTypeProvider7acquireEv
+	.long	_ZN13XTypeProvider8getTypesEv
+	.long	-20
+	.long	_ZTI15DerivedFromWeak
+	.long	_ZN14XEventListener7acquireEv
+	.long	_ZN14XEventListener9disposingEv
+	.long	_ZN24XAccessibleEventListener11notifyEventEv
+	[end]
+
+ie. vtables can grow in the middle - *because* we find
+    vmethods from the instance, and this has fixed up
+    pointers.
+	+ the instance fixup numbers are stored in
+	  BINFO_OFFSET - but this is an instance fixup
+	  offset: not what we want in fact.
+
+* What data do we have to hand ? *
+	* What data do we need to get through to this thing ? *
+
+* FIXME: how does a virtual function call, find which fn
+  it is in a vtable ?
+
+	* FIXME: if we could just compare lists of
+	  inits straight ? would that be easier ?
+		* and zap them later ?
+		* could include the int csts etc. ?
+		* very simple & generic ?
+
+DerivedFromWeak (0xb7dd4740) 0
+  WeakImplHelper1<XAccessibleEventListener> (0xb7dd1510) 0
+      primary-for DerivedFromWeak (0xb7dd4740)
+    OWeakObject (0xb7dd4780) 0
+        primary-for WeakImplHelper1<XAccessibleEventListener> (0xb7dd1510)
+      XWeak (0xb7dd47c0) 0
+          primary-for OWeakObject (0xb7dd4780)
+        XInterface (0xb7dd4800) 0 nearly-empty
+            primary-for XWeak (0xb7dd47c0)
+    XTypeProvider (0xb7dd4840) 12
+      XInterface (0xb7dd4880) 12 nearly-empty
+          primary-for XTypeProvider (0xb7dd4840)
+    XAccessibleEventListener (0xb7dd48c0) 20
+      XEventListener (0xb7dd4900) 20
+          primary-for XAccessibleEventListener (0xb7dd48c0)
+        XInterface (0xb7dd4940) 20 nearly-empty
+            primary-for XEventListener (0xb7dd4900)
+
+ie.
+	+ We cannot do a linear copy from 
+		_ZTV15WeakImplHelper1I24XAccessibleEventListenerE:
+	+ to 
+		_ZTV15DerivedFromWeak:
+
+	+ we need to skip pieces ... ! :-)
+		+ our new vtable is longer.
+		+ SOOoooo .... :-)
+		+ need to notice & calc the difference [?]
+
+Mismatch vs:
+	from WeakImplHelper1<XAccessibleEventListener> (16) entries
+	  0	NULL
+	  1	NULL
+	  2	XWeak::acquire [ 0 ]
+	  3	XWeak::queryAdapter [ 1 ]
+	  4	NULL
+	  5	NULL
+	  6	NULL
+	  7	NULL	** One too many here ! **
+	  8	NULL
+	  9	XTypeProvider::acquire [ 0 ]
+	 10	XTypeProvider::getTypes [ 1 ]
+	 11	NULL
+	 12	NULL
+	 13	XEventListener::acquire [ 0 ]
+	 14	XEventListener::disposing [ 1 ]
+	 15	XAccessibleEventListener::notifyEvent [ 2 ]
+
+
+*** FIXME:
+	+ a nice generic algorithm for comparing classes ...
+
+	+ a set of inits can be seen as:
+		+ [[<offsets>]+<type-info>[method+]]+
+		+ => we can use the type-info pieces to
+		     thunk this pleasantly.
+		+ this substantially shrinks the search space ...
+		+ <type-info> is prolly optional - 
+
+	+ FIXME: print-out a set of examples & hack up an algorithm ...
+	+ compile a.cxx and b.cxx etc.
+
+
+VTable for 'VVirt'
+	0     28u
+	4     (int (*)(...))0
+	8     (int (*)(...))(& _ZTI5VVirt)
+	12    XTypeProvider::acquire
+	16    XTypeProvider::getTypes
+	20    VVirt::~VVirt
+	24    VVirt::~VVirt
+	28    16u
+	32    (int (*)(...))-0x00000000c
+	36    (int (*)(...))(& _ZTI5VVirt)
+	40    XEventListener::acquire
+	44    XEventListener::disposing
+	48    XAccessibleEventListener::notifyEvent
+	52    VVirt::_ZThn12_N5VVirtD1Ev
+	56    VVirt::_ZThn12_N5VVirtD0Ev
+	60    -28u
+	64    0u
+	68    0u
+	72    (int (*)(...))-0x00000001c
+	76    (int (*)(...))(& _ZTI5VVirt)
+	80    XWeak::acquire
+	84    XWeak::queryAdapter
+	88    VVirt::_ZTv0_n20_N5VVirtD1Ev
+	92    VVirt::_ZTv0_n20_N5VVirtD0Ev
+	96    -267522035u
+Inherited from:
+VTable for 'VBase1'
+	0     12u
+	4     (int (*)(...))0
+	8     (int (*)(...))(& _ZTI6VBase1)
+	12    XTypeProvider::acquire
+	16    XTypeProvider::getTypes
+	20    VBase1::~VBase1
+	24    VBase1::~VBase1
+	28    -12u
+	32    0u
+	36    0u
+	40    (int (*)(...))-0x00000000c
+	44    (int (*)(...))(& _ZTI6VBase1)
+	48    XWeak::acquire
+	52    XWeak::queryAdapter
+	56    VBase1::_ZTv0_n20_N6VBase1D1Ev
+	60    VBase1::_ZTv0_n20_N6VBase1D0Ev
+	64    -267522035u
+same ? 0 or super-type
+VTable for 'VBase2'
+	0     16u
+	4     (int (*)(...))0
+	8     (int (*)(...))(& _ZTI6VBase2)
+	12    XEventListener::acquire
+	16    XEventListener::disposing
+	20    XAccessibleEventListener::notifyEvent
+	24    VBase2::~VBase2
+	28    VBase2::~VBase2
+	32    -16u
+	36    0u
+	40    0u
+	44    (int (*)(...))-0x000000010
+	48    (int (*)(...))(& _ZTI6VBase2)
+	52    XWeak::acquire
+	56    XWeak::queryAdapter
+	60    VBase2::_ZTv0_n20_N6VBase2D1Ev
+	64    VBase2::_ZTv0_n20_N6VBase2D0Ev
+	68    -267522035u
+
+FIXME: bitmask or bitmap ? ...
+FIXME: Look at construction vtables: turn them off ? ...
+	+ or does it work ok ?
+
+
+Compiling desktop, we get horrors like:
+
+vtcopies: 2 records
+	copy from MessBox+3 to MessBox+3 mask 0xffffffff
+	copy from MessBox+36 to MessBox+36 mask 0x7fffffff
+
+
+../../unxlngi6.pro/slo/dp_package.o:(.data.rel.ro+0x1f0): undefined reference to `non-virtual thunk to dp_registry::backend::bundle::(anonymous namespace)::BackendImpl::PackageImpl::getVersion()'
+
+** FIXME: we're clobbering the wrong things ! :-)
+
+	0     (int (*)(...))0
+!!	1     (int (*)(...))(& _ZTIN11dp_registry7backend6bundle117_GLOBAL__N__home_opt_OpenOffice_ooh680_m1_desktop_source_deployment_registry_package_dp_package.cxx_00000000_CEA456DD11BackendImpl11PackageImplE)
+!!	2     cppu::WeakComponentImplHelper1<Ifc1>::queryInterface [with Ifc1 = com::sun::star::deployment::XPackage]
+!!	3     cppu::WeakComponentImplHelper1<Ifc1>::acquire [with Ifc1 = com::sun::star::deployment::XPackage]
+!!	4     cppu::WeakComponentImplHelper1<Ifc1>::release [with Ifc1 = com::sun::star::deployment::XPackage]
+	5     cppu::OWeakObject::queryAdapter
+	6     dp_registry::backend::bundle::<unnamed>::BackendImpl::PackageImpl::~PackageImpl
+	7     dp_registry::backend::bundle::<unnamed>::BackendImpl::PackageImpl::~PackageImpl
+!!	8     dp_registry::backend::bundle::<unnamed>::BackendImpl::PackageImpl::disposing
+!!	9     dp_registry::backend::Package::dispose
+!!	10    dp_registry::backend::Package::addEventListener
+!!	11    dp_registry::backend::Package::removeEventListener
+!!	12    cppu::WeakComponentImplHelper1<Ifc1>::getTypes [with Ifc1 = com::sun::star::deployment::XPackage]
+	13    cppu::WeakComponentImplHelper1<Ifc1>::getImplementationId [with Ifc1 = com::sun::star::deployment::XPackage]
+	14    dp_registry::backend::bundle::<unnamed>::BackendImpl::PackageImpl::isRegistered_
+!!	15    dp_registry::backend::bundle::<unnamed>::BackendImpl::PackageImpl::processPackage_
+!!	16    dp_registry::backend::Package::addModifyListener
+!!	17    dp_registry::backend::Package::removeModifyListener
+!!	18    dp_registry::backend::Package::createAbortChannel
+	19    dp_registry::backend::Package::isRegistered
+
+An offset of 1 (somehow) [urgh!] - why ? mismatch with bitmask ?
+
+
+
+** Well !!!
+	+ now we have it working well ...
+		+ everything is broken :-)
+	+ and we get the copy-relocs problem again ...
+	+ [ FIXME: should we just have a hidden visibility
+	    symbol / label that points into the vtable
+	    and link our vtrelocs to that ? ]
+
+
+** FIXME:
+	+ build test 
+		+ why do our tests not work here ?
+		+ ho hum ...
+
+
+** Binutils hack:
+	+ post-process the section, and downgrade the reloc ?
+		+ in per-backend specific foo ?
+	+ re-write the relocs ?
+
+	+ load the section - force in the relocs,
+		+ clobber them just before we sort relocs (?)
+		+ doesn't change the section size of course.
+
+	+ FIXME: chase visibility through linking ...
+		+ look at reloc sorting etc.
+		+ look at targets ...
+			+ can we easily locate .suse.vtrelocs ?
+			+ can we find relocations into it ?
+			+ can we determine -which- are the 'dest'
+			  relocs %3 or something ?
+
+A typical soffice.bin symbol search:
+
+	* what is obvious:
+		+ ordering is *totally* crack smoking ...
+		+ if a vtable is defined - then we have the info to fix it up.
+
+		+ the problem is ...
+			+ copy relocs [!]
+
+		+ if *dest* is clobbered ...
+			+ we still -copy- **from** (potentially) soffice.bin ...
+				+ can give a chain-of-poisoning - that runs
+				  well outside soffice.bin ...
+			+ *so* !?
+			+ urgh ... do we need to manual symbol lookup
+			  avoiding soffice.bin ?
+				+ does that fix it ?
+
+	* Apparently ...
+		+ relocation processing happens in a pseudo-random
+		  order too [!]
+		+ ** Surely **
+			+ there must be an 'init' order that we can
+			  bootstrap off ?
+			+ perhaps that happens after copy-reloc
+			  processing too !?
+			+ can we re-use that order in advance ?
+
+lookup in file=/usr/lib/ooo-2.0/program/soffice.bin [0]
+
+lookup in file=/usr/lib/ooo-2.0/program/libvcl680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsvl680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsvt680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libutl680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libtl680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libi18nisolang1gcc3.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libcomphelp4gcc3.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libucbhelper4gcc3.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libvos3gcc3.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libuno_cppuhelpergcc3.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libuno_cppu.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libuno_sal.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libtk680li.so [0]
+lookup in file=/usr/lib/libXext.so.6 [0]
+lookup in file=/usr/lib/libSM.so.6 [0]
+lookup in file=/usr/lib/libICE.so.6 [0]
+lookup in file=/usr/lib/libX11.so.6 [0]
+lookup in file=/lib/libdl.so.2 [0]
+lookup in file=/lib/libpthread.so.0 [0]
+lookup in file=/usr/lib/libstdc++.so.6 [0]
+lookup in file=/lib/libm.so.6 [0]
+lookup in file=/lib/libgcc_s.so.1 [0]
+lookup in file=/lib/libc.so.6 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libpsp680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsot680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libbasegfx680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libicuuc.so.36 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libicule.so.36 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libjvmaccessgcc3.so.3 [0]
+lookup in file=/usr/lib/libfreetype.so.6 [0]
+lookup in file=/lib/libz.so.1 [0]
+lookup in file=/usr/lib/libjpeg.so.62 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libjvmfwk.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libuno_salhelpergcc3.so.3 [0]
+lookup in file=/lib/libcrypt.so.1 [0]
+lookup in file=/usr/lib/libXau.so.6 [0]
+lookup in file=/usr/lib/libxcb-xlib.so.0 [0]
+lookup in file=/usr/lib/libxcb.so.1 [0]
+lookup in file=/lib/ld-linux.so.2 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libicudata.so.36 [0]
+lookup in file=/usr/lib/libxml2.so.2 [0]
+lookup in file=/usr/lib/dri/fglrx_dri.so [0]
+lookup in file=/usr/lib/libstdc++.so.5 [0]
+lookup in file=/lib/librt.so.1 [0]
+lookup in file=/usr/lib/xorg/libGL.so.1 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libgcc3_uno.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libexlink680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libreg.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libstore.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/libunsafe_uno_uno.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libuno_purpenvhelpergcc3.so.3 [0]
+lookup in file=/usr/lib/ooo-2.0/program/desktopbe1.uno.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libspl_unx680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libfwl680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libfwi680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsfx680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libfwe680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsb680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libxcr680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libj680li_g.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libfwk680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libspl680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libfilterconfig1.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsvx680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libavmedia680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libxo680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libgo680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/liblng680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libi18nutilgcc3.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libdtransX11680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libuui680li.so [0]
+lookup in file=/usr/lib/ooo-2.0/program/libsw680li.so [0]
+
+** Processing relocs **
+
+      9962:	relocation processing: /usr/lib/libxml2.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libicudata.so.36 (lazy)
+      9962:	relocation processing: /usr/lib/libxcb.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libxcb-xlib.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libXau.so.6 (lazy)
+      9962:	relocation processing: /lib/libcrypt.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libuno_salhelpergcc3.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libjvmfwk.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/libjpeg.so.62 (lazy)
+      9962:	relocation processing: /lib/libz.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libfreetype.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libjvmaccessgcc3.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libicule.so.36 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libicuuc.so.36 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libbasegfx680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsot680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libpsp680li.so (lazy)
+      9962:	relocation processing: /lib/libc.so.6 (lazy)
+      9962:	relocation processing: /lib/libgcc_s.so.1 (lazy)
+      9962:	relocation processing: /lib/libm.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/libstdc++.so.6 (lazy)
+      9962:	relocation processing: /lib/libpthread.so.0 (lazy)
+      9962:	relocation processing: /lib/libdl.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libX11.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/libICE.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/libSM.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/libXext.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libtk680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libuno_sal.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libuno_cppu.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libuno_cppuhelpergcc3.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libvos3gcc3.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libucbhelper4gcc3.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libcomphelp4gcc3.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libi18nisolang1gcc3.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libtl680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libutl680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsvt680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsvl680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libvcl680li.so (lazy)
+      9962:	relocation processing: ./soffice.bin (lazy)
+      9962:	relocation processing: /lib/ld-linux.so.2
+      9962:	relocation processing: /usr/lib/libogg.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libjack.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libasound.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libFLAC.so.8 (lazy)
+      9962:	relocation processing: /lib/libexpat.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libstartup-notification-1.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libportaudio.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libsndfile.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libpcre.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libxcb-render.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libxcb-render-util.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libpng12.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libglitz.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libpangoft2-1.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libXcursor.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libXrandr.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libXi.so.6 (lazy)
+      9962:	relocation processing: /usr/lib/libXinerama.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libXrender.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libfontconfig.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libXfixes.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/libXdamage.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libXcomposite.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libvclplug_gen680li.so (lazy)
+      9962:	relocation processing: /usr/lib/libglib-2.0.so.0 (lazy)
+      9962:	relocation processing: /lib/librt.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libgthread-2.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libgmodule-2.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libgobject-2.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libcairo.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libpango-1.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libpangocairo-1.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libgdk_pixbuf-2.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libatk-1.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libgdk-x11-2.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libgtk-x11-2.0.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libvclplug_gtk680li.so (lazy)
+      9962:	relocation processing: /lib/libnsl.so.1 (lazy)
+      9962:	relocation processing: /lib/libnss_compat.so.2 (lazy)
+      9962:	relocation processing: /lib/libnss_files.so.2 (lazy)
+      9962:	relocation processing: /lib/libnss_nis.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libelf.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/bug-buddy/libbreakpad.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/gtk-2.0/modules/libgnomebreakpad.so (lazy)
+      9962:	relocation processing: /usr/lib/gconv/ISO8859-1.so (lazy)
+      9962:	relocation processing: /usr/lib/xorg/libGL.so.1
+      9962:	relocation processing: /usr/lib/libstdc++.so.5
+      9962:	relocation processing: /usr/lib/dri/fglrx_dri.so
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libgcc3_uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libstore.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libreg.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libexlink680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/servicemgr.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/shlibloader.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/simplereg.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/nestedreg.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/typemgr.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/implreg.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/security.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libuno_purpenvhelpergcc3.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libunsafe_uno_uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/regtypeprov.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/configmgr2.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/typeconverter.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/sysmgr1.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/desktopbe1.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/libORBit-2.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/libgconf-2.so.4 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/gconfbe1.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/behelper.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/sax.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/localebe1.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/uriproc.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libspl680li.so (lazy)
+      9962:	relocation processing: /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so (lazy)
+      9962:	relocation processing: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libpackage2.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfwi680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfwl680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfileacc.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libucb1.so (lazy)
+      9962:	relocation processing: /lib/libutil.so.1 (lazy)
+      9962:	relocation processing: /lib/libresolv.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libavahi-client.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/libavahi-common.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/libavahi-glib.so.1 (lazy)
+      9962:	relocation processing: /usr/lib/libcrypto.so.0.9.8 (lazy)
+      9962:	relocation processing: /usr/lib/libssl.so.0.9.8 (lazy)
+      9962:	relocation processing: /lib/libdbus-1.so.3 (lazy)
+      9962:	relocation processing: /usr/lib/libdbus-glib-1.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libgnomevfs-2.so.0 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/ucpgvfs1.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libucpfile1.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libj680li_g.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libxcr680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsb680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfwe680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsfx680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfwk680li.so (lazy)
+      9962:	relocation processing: /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so (lazy)
+      9962:	relocation processing: /usr/lib/pango/1.6.0/modules/pango-basic-fc.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libi18nutilgcc3.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/liblng680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libgo680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libxo680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libavmedia680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsvx680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libuui680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfilterconfig1.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libdtransX11680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libsw680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libicui18n.so.36 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/i18npool.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/liblocaledata_en.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/fsstorage.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libxstor.so (lazy)
+      9962:	relocation processing: /usr/lib/libcups.so.2 (lazy)
+      9969:	relocation processing: /lib/libc.so.6 (lazy)
+      9969:	relocation processing: /lib/libdl.so.2 (lazy)
+      9969:	relocation processing: /lib/libncurses.so.5 (lazy)
+      9969:	relocation processing: /lib/libhistory.so.5 (lazy)
+      9969:	relocation processing: /lib/libreadline.so.5 (lazy)
+      9969:	relocation processing: sh (lazy)
+      9969:	relocation processing: /lib/ld-linux.so.2
+      9962:	relocation processing: /usr/lib/libsasl2.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/liblber-2.4.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/libldap-2.4.so.2 (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/ldapbe2.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/vbaevents680li.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libdbtools680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libfrm680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/introspection.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/reflection.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libevtatt.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libmcnttype.so (lazy)
+      9962:	relocation processing: /usr/lib/libdb-4.5.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/libdeploymentmisc680li.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/deployment680li.uno.so (lazy)
+      9962:	relocation processing: /usr/lib/ooo-2.0/program/ucpexpand1.uno.so (lazy)
+
+
+
+
+ldd ./libvcl680li.so 
+        linux-gate.so.1 =>  (0xffffe000)
+        libpsp680li.so => /opt/OOInstall/program/./libpsp680li.so (0xb7c15000)
+        libsot680li.so => /opt/OOInstall/program/./libsot680li.so (0xb7bc7000)
+        libutl680li.so => /opt/OOInstall/program/./libutl680li.so (0xb7b56000)
+        libtl680li.so => /opt/OOInstall/program/./libtl680li.so (0xb7ad2000)
+        libi18nisolang1gcc3.so => /opt/OOInstall/program/./libi18nisolang1gcc3.so (0xb7acb000)
+        libcomphelp4gcc3.so => /opt/OOInstall/program/./libcomphelp4gcc3.so (0xb79f1000)
+        libucbhelper4gcc3.so => /opt/OOInstall/program/./libucbhelper4gcc3.so (0xb7994000)
+        libuno_cppuhelpergcc3.so.3 => /opt/OOInstall/program/./libuno_cppuhelpergcc3.so.3 (0xb7911000)
+        libuno_cppu.so.3 => /opt/OOInstall/program/./libuno_cppu.so.3 (0xb78e3000)
+        libvos3gcc3.so => /opt/OOInstall/program/./libvos3gcc3.so (0xb78c0000)
+        libuno_sal.so.3 => /opt/OOInstall/program/./libuno_sal.so.3 (0xb787a000)
+        libbasegfx680li.so => /opt/OOInstall/program/./libbasegfx680li.so (0xb7825000)
+        libicuuc.so.36 => /opt/OOInstall/program/./libicuuc.so.36 (0xb7714000)
+        libicule.so.36 => /opt/OOInstall/program/./libicule.so.36 (0xb76d4000)
+        libjvmaccessgcc3.so.3 => /opt/OOInstall/program/./libjvmaccessgcc3.so.3 (0xb76cb000)
+        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb763f000)
+        libz.so.1 => /lib/libz.so.1 (0xb762c000)
+        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7511000)
+        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7502000)
+        libdl.so.2 => /lib/libdl.so.2 (0xb74fe000)
+        libpthread.so.0 => /lib/libpthread.so.0 (0xb74e6000)
+        libstlport_gcc.so => /opt/OOInstall/program/./libstlport_gcc.so (0xb741c000)
+        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb732e000)
+        libm.so.6 => /lib/libm.so.6 (0xb7309000)
+        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb72fb000)
+        libc.so.6 => /lib/libc.so.6 (0xb71c8000)
+        libjvmfwk.so.3 => /opt/OOInstall/program/./libjvmfwk.so.3 (0xb71af000)
+        libuno_salhelpergcc3.so.3 => /opt/OOInstall/program/./libuno_salhelpergcc3.so.3 (0xb71aa000)
+        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7178000)
+        libicudata.so.36 => /opt/OOInstall/program/./libicudata.so.36 (0xb6b56000)
+        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb6b53000)
+        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6b3a000)
+        libXau.so.6 => /usr/lib/libXau.so.6 (0xb6b36000)
+        /lib/ld-linux.so.2 (0x80000000)
+        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb69f6000)
+
+** FIXME: 'inits' **
+   ... are a far better fit ...
+
+	OTOH - memory protection etc. ? ... ;-)
+
+
+
+     10963:	calling init: /lib/libpthread.so.0
+     10963:	calling init: /lib/libc.so.6
+     10963:	calling init: /usr/lib/libXau.so.6
+     10963:	calling init: /usr/lib/libxcb.so.1
+     10963:	calling init: /usr/lib/libxcb-xlib.so.0
+     10963:	calling init: /lib/libcrypt.so.1
+     10963:	calling init: /usr/lib/libjpeg.so.62
+     10963:	calling init: /lib/libz.so.1
+     10963:	calling init: /usr/lib/libfreetype.so.6
+     10963:	calling init: /lib/libgcc_s.so.1
+     10963:	calling init: /lib/libm.so.6
+     10963:	calling init: /usr/lib/libstdc++.so.6
+     10963:	calling init: /usr/lib/ooo-2.0/program/libicuuc.so.36
+     10963:	calling init: /usr/lib/ooo-2.0/program/libicule.so.36
+     10963:	calling init: /lib/libdl.so.2
+     10963:	calling init: /usr/lib/libxml2.so.2
+     10963:	calling init: /usr/lib/libX11.so.6
+     10963:	calling init: /usr/lib/libICE.so.6
+     10963:	calling init: /usr/lib/libSM.so.6
+     10963:	calling init: /usr/lib/libXext.so.6
+     10963:	calling init: /usr/lib/ooo-2.0/program/libuno_sal.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libuno_salhelpergcc3.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libuno_cppu.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libjvmaccessgcc3.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libuno_cppuhelpergcc3.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libjvmfwk.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libbasegfx680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libvos3gcc3.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libucbhelper4gcc3.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libcomphelp4gcc3.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libi18nisolang1gcc3.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libtl680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libutl680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsot680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libpsp680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libvcl680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libtk680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsvl680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsvt680li.so
+     10963:	initialize program: ./soffice.bin
+     10963:	calling init: /usr/lib/libogg.so.0
+     10963:	calling init: /lib/libexpat.so.1
+     10963:	calling init: /usr/lib/libpcre.so.0
+     10963:	calling init: /usr/lib/libxcb-render.so.0
+     10963:	calling init: /usr/lib/libxcb-render-util.so.0
+     10963:	calling init: /usr/lib/libfontconfig.so.1
+     10963:	calling init: /usr/lib/libFLAC.so.8
+     10963:	calling init: /usr/lib/libsndfile.so.1
+     10963:	calling init: /usr/lib/libpng12.so.0
+     10963:	calling init: /usr/lib/libglitz.so.1
+     10963:	calling init: /usr/lib/libglib-2.0.so.0
+     10963:	calling init: /lib/librt.so.1
+     10963:	calling init: /usr/lib/libgthread-2.0.so.0
+     10963:	calling init: /usr/lib/libjack.so.0
+     10963:	calling init: /usr/lib/libasound.so.2
+     10963:	calling init: /usr/lib/libportaudio.so.2
+     10963:	calling init: /usr/lib/libstartup-notification-1.so.0
+     10963:	calling init: /usr/lib/libXrender.so.1
+     10963:	calling init: /usr/lib/libXfixes.so.3
+     10963:	calling init: /usr/lib/libXcursor.so.1
+     10963:	calling init: /usr/lib/libXdamage.so.1
+     10963:	calling init: /usr/lib/libXrandr.so.2
+     10963:	calling init: /usr/lib/libXi.so.6
+     10963:	calling init: /usr/lib/libXinerama.so.1
+     10963:	calling init: /usr/lib/libXcomposite.so.1
+     10963:	calling init: /usr/lib/ooo-2.0/program/libvclplug_gen680li.so
+     10963:	calling init: /usr/lib/libgmodule-2.0.so.0
+     10963:	calling init: /usr/lib/libgobject-2.0.so.0
+     10963:	calling init: /usr/lib/libcairo.so.2
+     10963:	calling init: /usr/lib/libpango-1.0.so.0
+     10963:	calling init: /usr/lib/libpangoft2-1.0.so.0
+     10963:	calling init: /usr/lib/libpangocairo-1.0.so.0
+     10963:	calling init: /usr/lib/libgdk_pixbuf-2.0.so.0
+     10963:	calling init: /usr/lib/libatk-1.0.so.0
+     10963:	calling init: /usr/lib/libgdk-x11-2.0.so.0
+     10963:	calling init: /usr/lib/libgtk-x11-2.0.so.0
+     10963:	calling init: /usr/lib/ooo-2.0/program/libvclplug_gtk680li.so
+     10963:	calling init: /lib/libnsl.so.1
+     10963:	calling init: /lib/libnss_compat.so.2
+     10963:	calling init: /lib/libnss_files.so.2
+     10963:	calling init: /lib/libnss_nis.so.2
+     10963:	calling init: /usr/lib/libelf.so.1
+     10963:	calling init: /usr/lib/bug-buddy/libbreakpad.so.0
+     10963:	calling init: /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
+     10963:	calling init: /usr/lib/gconv/ISO8859-1.so
+     10963:	calling init: /usr/lib/xorg/libGL.so.1
+     10963:	calling init: /usr/lib/libstdc++.so.5
+     10963:	calling init: /usr/lib/dri/fglrx_dri.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libgcc3_uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libstore.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libreg.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libexlink680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/servicemgr.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/shlibloader.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/simplereg.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/nestedreg.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/typemgr.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/implreg.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/security.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libuno_purpenvhelpergcc3.so.3
+     10963:	calling init: /usr/lib/ooo-2.0/program/libunsafe_uno_uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/regtypeprov.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/configmgr2.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/typeconverter.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/sysmgr1.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/desktopbe1.uno.so
+     10963:	calling init: /usr/lib/libORBit-2.so.0
+     10963:	calling init: /usr/lib/libgconf-2.so.4
+     10963:	calling init: /usr/lib/ooo-2.0/program/gconfbe1.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/behelper.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/sax.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/localebe1.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/uriproc.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libspl680li.so
+     10963:	calling init: /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
+     10963:	calling init: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libpackage2.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfwi680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfwl680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfileacc.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libucb1.so
+     10963:	calling init: /lib/libutil.so.1
+     10963:	calling init: /lib/libresolv.so.2
+     10963:	calling init: /lib/libdbus-1.so.3
+     10963:	calling init: /usr/lib/libavahi-common.so.3
+     10963:	calling init: /usr/lib/libavahi-glib.so.1
+     10963:	calling init: /usr/lib/libdbus-glib-1.so.2
+     10963:	calling init: /usr/lib/libavahi-client.so.3
+     10963:	calling init: /usr/lib/libcrypto.so.0.9.8
+     10963:	calling init: /usr/lib/libssl.so.0.9.8
+     10963:	calling init: /usr/lib/libgnomevfs-2.so.0
+     10963:	calling init: /usr/lib/ooo-2.0/program/ucpgvfs1.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libucpfile1.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libj680li_g.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libxcr680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsb680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfwe680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsfx680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfwk680li.so
+     10963:	calling init: /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so
+     10963:	calling init: /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libi18nutilgcc3.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libgo680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libxo680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/liblng680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libavmedia680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsvx680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libuui680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfilterconfig1.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libdtransX11680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libsw680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libicui18n.so.36
+     10963:	calling init: /usr/lib/ooo-2.0/program/i18npool.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/liblocaledata_en.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/fsstorage.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libxstor.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/vbaevents680li.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libdbtools680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libfrm680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/introspection.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/reflection.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libevtatt.so
+     10963:	calling init: /usr/lib/libcups.so.2
+     10970:	calling init: /lib/libc.so.6
+     10970:	calling init: /lib/libdl.so.2
+     10970:	calling init: /lib/libncurses.so.5
+     10970:	calling init: /lib/libhistory.so.5
+     10970:	calling init: /lib/libreadline.so.5
+     10963:	calling init: /usr/lib/libdb-4.5.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libdeploymentmisc680li.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/deployment680li.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/ucpexpand1.uno.so
+     10963:	calling init: /usr/lib/liblber-2.4.so.2
+     10963:	calling init: /usr/lib/libsasl2.so.2
+     10963:	calling init: /usr/lib/libldap-2.4.so.2
+     10963:	calling init: /usr/lib/ooo-2.0/program/ldapbe2.uno.so
+     10963:	calling init: /usr/lib/ooo-2.0/program/libmcnttype.so
+
+
+** FIXME:
+	+ working well ... but we now export a -load- of named relocs to
+	  vtables that we didn't (apparently) before (?)
+		+ is this good in the long run ? (comdat?)
+		+ how can that have changed ? [ of course our own relocations ... but ... ;-]
+	+ diff /tmp/old -> /tmp/new ...
+	+ will this clobber linking in fact ?
+		+ all these are 'dest' vtables ...
+		+ [ FIXME: ugly hacks to resolve internally ? ;-]
+			+ falls over the copy-reloc problem again ... ;-)
+		+ unless we re-do glibc foo ...
+
+
+
+FIXME use:
+	-Wl,--Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
+	
+FIXME: why does it crash ?
+
+
+FIXME:
+	PropertySetMixin ...
+		+ has no vtable to copy from ! :-)
+		+ but then defines no virtual methods either ...
+		+ so - surely, we should copy from the next parent up ?
+			+ how does gcc know not to emit a vtable ?
+			+ is there just no trigger method ?
+		+ can we build a test ? ...
+	
+
+
+TODO:
+	gcc - do we need the custom 'decl' logic ?
+		+ is it enough just to initialize the decl in class.c ?
+		+ add a command-line option, and bin the environment variables ...
+			+ add a 'debug foo' env. var in 1 place
+	binutils ...
+		+ SEC_EXCLUDE - if we don't have anything in the section ...
+
+
+** FIXME: 
+     29526:     binding file /opt/NNInstall/program/libsvt680li.so [0] to /opt/NNInstall/program/libsvt680li.so [0]: normal symbol `sRTF_SHADOW'
+
+	svtools/source/svrtf/rtfkeywd.hxx [ fix me ! ]
+		+ broken - linking wise...
+cf.	sw/source/filter/rtf/ ...
+
+	svtools/inc/htmlkeywd
+
+		+ 2.5% of the total ! ;-)
+		+ 1481 unique named relocs ... [!]
+			+ and a ton of symbols and size etc.
+
+		+ 911 - 'sHTML' relocations as well [!]

Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply	(original)
+++ trunk/patches/src680/apply	Thu Jan 24 11:28:26 2008
@@ -196,9 +196,6 @@
 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20624
 warning-return-values-stlport.diff, jholesov
 
-# Use -Bdirect linking - this is a really marginal win.
-speed-bdirect.diff, i#58119, brosenk
-
 # Fix linkoo, the ultimate hacker tool
 fix-linkoo.diff, i#83548, jholesov
 
@@ -883,6 +880,9 @@
 # Push fonts into the ps stream always
 pushfont-psstream.diff, i#84481, michael
 
+# accelerate run-time linking, somewhat experimental ...
+link-symb-funct.diff, michael
+
 # search also /usr/share for icons
 # it is a temporary hack; we should do more clean FHS compliant installation
 # we need a good plan before, though ;-)
@@ -1040,6 +1040,9 @@
 [ ArkOnly ]
 SectionOwner => brosenk
 
+# Use -Bdirect linking - this is a really marginal win.
+speed-bdirect.diff, i#58119, brosenk
+
 # Db 4.3/4.4 needs -lpthread
 system-db-4.3-use-lpthread.diff, i#58474, rengelha
 
@@ -1251,6 +1254,8 @@
 vcl_font-NO_LIST.diff
 # linux-headers-2.6.22 issue?!
 linux-headers.diff
+# Use -Bdirect linking - this is a really marginal win.
+speed-bdirect.diff, i#58119, brosenk
 
 [ DebianBaseOnly ]
 SectionOwner => rengelha



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