Hi,

On Wed, 17 Jul 2019, Romain Geissler wrote:

> However at scale, I think this can become a problem. What will happen
> when in gcc 9.3 we change the version to 8.2 ? Will Tumbleweed recompile
> 100% of the static libraris it ships ?

Every compiler change causes the whole distro to be rebuilt.  So for us 
the LTO byte stream instability is no problem.

> What about all users of Tumbleweed having their own private libs with 
> LTO as well ?

LTO is currently not designed for this use case, you can use fat objects 
to get around the limitation, as you say, but a stable LTO byte stream is 
currently not a focus.  But with time I indeed also hope that some 
backward compatiblity can be achieved, with degrading modes like you 
suggested.

> I am totally fine with having the major version mismatch as a 
> showstopper for the link. People will usually not combine a gcc 8 built 
> binary with a gcc 9 one.

That's actually not too far off from what people will want to do in the 
future.  Say some HPC vendor ships their libs as static archives, 
containing LTO byte code compiled by gcc 9.  Then a distro user might get 
gcc 10 at some point later, and it's reasonable to expect that the HPC 
libs still are working.  We aren't there yet, but we eventually want to be 
there.


Ciao,
Michael.

Reply via email to