plans with libmerged

Michael Meeks michael.meeks at suse.com
Tue Apr 9 02:57:14 PDT 2013


Hi guys,

On Mon, 2013-04-08 at 17:08 -0400, Peter Foley wrote:
> On Mon, Apr 8, 2013 at 10:19 AM, Tomáš Chvátal <tomas.chvatal at gmail.com> wrote:
> > This  switch all/core/no sound pretty cool.
> > Libreoffice is currently built with mergedlib enabled on opensuse and gentoo
> > in production and there are no visible issues (currently master fails tests
> > [so i turned off my tinderbox after having it fail for a week] but hey the
> > app still runs fine).
> 
> Right now libmerged seems to be causing very strange crashes in the unit tests.
> I'm trying to figure out what exactly is going wrong, but any help
> would be appreciated.

	IMHO we really do need a small re-think here; the primary use-case I
was aware of for libmerged is to enable more LTO, and faster start-up.

	I rather suspect that merging all the components: base, writer, calc
etc. into the libmerged may not help startup on lots of hardware; so I'm
curious as to the plan there.

	If we break the unit tests by doing that, almost certainly we'll break
the run-time functionality too :-) so - prolly rather better to back
that stuff out until it works. So I'll merge this:

	https://gerrit.libreoffice.org/3280

	Peter - any chance of tweaking your use-case to include those libraries
that you want merged in there (assuming you do) conditionally with a
non-default configure switch as Matus suggests ?

	I believe Matus is trying to get this into a more reliable and
ship-able state for Raspberry Pi, so until we've nailed the regressions
and thought this through some more, I'd prefer to take a step back and
re-think if that's ok ?

	Peter - did you get any further with the graphics filters ? at some
stage, I suspect that they are doing some oslLoadModule to load the
graphics driver pieces - that might be going wrong.

	If there is some symbol overlap problem, you could try to find that
like this:

for a in *.so; do echo $a ; readelf -s $a --wide  | grep -v UND | cut -c52-; done > /tmp/symbols.txt
sort /tmp/symbols.txt | uniq -c | sort -n | less

	I'd start by using readelf --dyn-syms perhaps and then use -s if that
fails; of course you want to reverse grep _ZThn and _ZTV etc. and
manually ignore inlined methods which are expected to be duplicated but
are hopefully the same everywhere (due to the ODR).

	Beyond that - debugging, and careful unwinding back to what is going
wrong with image load/export would be good - I'd use gdb to see where
your pointer got corrupted (IIRC I gave some pointers to that in the
past on the list?).

	HTH,

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list