Allow to build libgccjit with a soname bound to the GCC major version
David Malcolm
dmalcolm@redhat.com
Wed Mar 5 23:25:32 GMT 2025
On Sat, 2025-02-08 at 10:33 +0100, Matthias Klose wrote:
> When configuring GCC with --program-suffix=-$(BASE_VERSION) to allow
> installation multiple GCC versions in parallel, the executable of the
> driver (gcc-$(BASE_VERSION)) gets recorded in the libgccjit.so.0
> library. Assuming, that you only install the libgccjit.so.0 library
> from the newest GCC, you have a libgccjit installed, which always
> calls
> back to the newest installed version of GCC. I'm not saying that the
> ABI is changing, but I'd like to see the libgccjit calling out to the
> corresponding compiler, and therefore installing a libgccjit with a
> soname that matches the GCC major version.
>
> The downside is having to rebuild packages built against libgccjit
> with
> each major GCC version, but looking at the reverse dependencies, at
> least for package builds, only emacs is using libgccjit.
>
> My plan to use this feature is to build a libgccjit0 using the
> default
> GCC (e.g. gcc-14), and a libgccjit15, when building a newer GCC. When
> changing the GCC default to 15, building a libgccjit0 from gcc-15,
> and a
> libgccjit14 from gcc-14.
>
> When configuring without --enable-versioned-jit, the behavior is
> unchanged.
>
> Ok for the trunk?
Thanks; LGTM.
Dave
More information about the Jit
mailing list