And DEV300_m14 results are available, with the integration of the binfilter fixes (thanks mba) unused symbol count has halved since DEV300_m13 and tumbles down the charts. I’ve extended callcatcher to understand basic map files so it can be used on non-terminal modules which have map files. Which extends the coverage to a further 25 modules.
Archive for May, 2008
See as gcc ate my starbasic with -fno-strict-aliasing it prompted me to check if we still need -fno-strict-aliasing anyway given all the warning cleanups of the last year. The short answer is definitely , but it looks doable to make it possible, and I’ve gotten it to at least launch with -fstrict-aliasing which should be sufficient to do some measurements on it next week to see if there is any measurable difference. Unfortunately while I can (probably) make Ooo -fstrict-aliasing good there are a gadzillion warnings from the stlport headers used on i386 builds so unless stlport was bumped up to one of the later versions where the warnings are fixed (or stlport dropped and gcc’s stl used like we did for x86_64) then only non-i386 users could get the benefit.
Some other random thoughts to look at to see if they’d matter a damn are:
- revisit the symbol ordering stuff again where symbols used during startup are sorted side by side in the .so
- Use -fshort-wchar and make a shadow struct for OUString which can take a
wchar_t string to stick pre-created OUStrings into the rodata section.
- somehow magically convert non-public symbols to a shorter name and/or reversed strings
As mentioned here in November I resuscitated Peter Naulls’s ARM oabi port of OOo 1.X.Y for 2.X.Y and extended it for ARM eabi and built some fedora rpms under qemu that functioned under that environment. I was sort of sceptical that they would actually fit into and work on a Nokia device, (not actually having one myself) but after a five day build (as rene tells me) for Debian armel, apparently it does actually work on an N800. Most excellent.
I extended callcatcher to understand linker map files, so the scan can be expanded to also include OOo modules which export symbols for external use and report on unexported symbols which are unusable outside the .so and unused within it., which means that configmgr decloaks and appears in the top four dead-code list.. DEV300_m13 results.
Up to date lists of the currently unreferenced symbols in OOo are available here. Currently 2823 methods, though a lot of these should go away when the submitted patches filter through.
So I finished off Jan’s initial gio OpenOffice.org integration work (i.e. issue 88090 as workspace ucpgio1)
The gio api is a far better fit to the OOo worldview than gnome-vfs is and was pretty straightforward to implement modulo my own bafflement as to why I had an error claiming that mounting share named “X” failed as not existing which incredibly had the root cause that the share named “X” was really called “Y”.