lmi
[Top][All Lists]
Advanced

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

Re: [lmi] Mystic fix for so-attributes linker error


From: Greg Chicares
Subject: Re: [lmi] Mystic fix for so-attributes linker error
Date: Mon, 6 Apr 2020 16:34:37 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 2020-04-05 00:34, Vadim Zeitlin wrote:
> On Sun, 5 Apr 2020 00:10:58 +0000 Greg Chicares <address@hidden> wrote:
> 
> GC> On 2017-03-08 04:25, Greg Chicares wrote:
> GC> > [Vadim--The mysticity is my only problem; maybe you can explain it?]
> GC> [...errors (worked around for now) with shared-object attributes...]
> GC> > /opt/lmi/src/lmi[0]$make $coefficiency all build_type=so_test 
> USE_SO_ATTRIBUTES=1
> GC> 
> GC> This led to
> GC>   https://github.com/vadz/lmi/pull/56
> GC> which I believe should not be applied.
> 
>  I think it might still need to be applied in a modified form, i.e. with
> LMI_SO replaced with LMI_SOMETHING_ELSE_SO, so I don't close it for now.

Okay.

> GC> [...] We already have these:
> GC> 
> GC>                       lmi_wx_new_so_attributes := -DLMI_WX_NEW_USE_SO
> GC> wx_new$(SHREXT)     : lmi_wx_new_so_attributes := -DLMI_WX_NEW_BUILD_SO
> GC> 
> GC> and need a similar set for "SKELETON" as you describe. We just didn't
> GC> think to add them when we refactored 'skeleton' into its own shared
> GC> library, as part of the changes needed to add 'wx_test'; someday, we
> GC> should do that.
> 
>  Do you think this day is relatively close? I.e. should I do this in the
> near future, after finishing the pending task?

By "someday", I mean as soon as today if you do it, or much later if I do it.
It's worthwhile. I just don't have time to explore it all myself right now.

These explorations should lead to improvements in lmi's physical design
(better encapsulation by groups of TUs, much as C++'s own facilities encourage
encapsulation at a lower level), which might also result in faster build times.

> GC> |  But I also thought of something else: we could also change the default
> GC> | visibility to hidden for the Unix builds.
[...]
> GC> Yes, someday we should do that, too.
> 
>  And would this day come before or after the one above it?

Before, after, or simultaneously would all be good.

> GC> | Why don't we use USE_SO_ATTRIBUTES=1 (and, ideally, 
> --disable-auto-import)
> GC> | by default?
> GC> 
> GC> I'm not sure what the historical reasons were, or whether they're
> GC> still relevant. In any event, it would be interesting to compare
> GC> build and run times with and without these options--maybe they'd
> GC> turn out to have worthwhile advantages.
> 
>  OK, so should we/I perhaps start by doing this?

I don't think it matters which comes first or last.

>  Of course, comparing the build speed is going to be a bit difficult when
> one of them doesn't build wx_test

[...or product_files$(EXEEXT)...]

> and the other one does, but I could just
> temporarily skip building it in the default build too.
> 
> GC> After reviewing that discussion, I felt confident that commit 655648d765,
> GC> just pushed, would be at least one step in the right direction.
> 
>  It probably is, but I wonder if we really want to use static libstdc++ or
> if we could somehow still link with the dynamic library. I tried to find
> the bug mentioned in the mailing list message linked from the commit
> message for that commit in the hope that it might at least mention some
> workaround, but couldn't. Would you already have a link to it by chance or
> should I keep looking?

No, sorry, I don't have a link.

>  More generally, it's not totally clear what is the plan here, i.e. what,
> if anything, should be done. My guess would be that we should start by
> measuring the performance (both build time and run-time or just the
> former?) of both build variants, but I'm not really sure about it, so I'd
> appreciate a confirmation.
I have no concrete plan, so you be the judge.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]