Sorry, I forgot to cc libstdc++ on https://gcc.gnu.org/pipermail/gcc-patches/2022-October/603182.html
which includes a regen of libstdc++-v3/configure after an update libtool.m4. Not committed yet. With Kind Regards, Olivier > On 10 Oct 2022, at 19:05, Olivier Hainque <hain...@adacore.com> wrote: > > Hello, > > This change introduces configury infrastructure allowing the > production of shared libraries for VxWorks, amenable to use with > non-static rtps (linked with "-non-static"). > > The ability to produce PIC code is not a given on all VxWorks > configurations, so activating this has to be explicitly requested > by configuring with --enable-shared > (https://gcc.gnu.org/pipermail/gcc-patches/2022-September/602523.html). > > This requirement is then leveraged to factorize the configuration > processing in a mostly cpu independant manner, which makes maintenance > a lot easier. > > When activated, shared libs are built for the rtp mode only > (the only kind of entity for which they are supported by the > VxWorks environment), for code model != large at this stage as > large and PIC still don't play well together. > > We have been using this for about a year with gcc-11 based toolchains, > with support activated for aarch64, x86_64 and ppc64-vxworks7r2, and > not activated for the corresponding 32bit variants (arm, i686, ppc). > Aarch64 proved an interesting challenge with the gcc/gcc_eh split > for lse features. > > I obtained good test results with a gcc-12 based compiler for ppc64 > and could get a successful sanity check build with mainline for that > cpu as well. > > Will commit to mainline shortly. > > Cheers, > > Olivier > > 2022-10-09 Olivier Hainque <hain...@adacore.com> > > gcc/ > * config.gcc (*vxworks*): Add t-slibgcc fragment > if enable_shared. > > libgcc/ > * config.host (*vxworks*): When enable_shared, add > libgcc and crtstuff "shared" fragments for rtp except > large code model. > (aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from > the list of fragments. > > toplevel/ > * libtool.m4 (*vxworks*): When enable_shared, set dynamic_linker > and friends for rtp !large. Assume the linker has the required > abilities and set lt_cv_deplibs_check_method. > > > Then, regenerating configure scripts to reflect the libtool.m4 update. > > 2022-10-09 Olivier Hainque <hain...@adacore.com> > > gcc/ > * configure: Regenerate. > > libatomic/ > * configure: Regenerate. > > libbacktrace/ > * configure: Regenerate. > > libcc1/ > * configure: Regenerate. > > libffi/ > * configure: Regenerate. > > libgfortran/ > * configure: Regenerate. > > libgomp/ > * configure: Regenerate. > > libitm/ > * configure: Regenerate. > > libobjc/ > * configure: Regenerate. > > liboffloadmic/ > * configure: Regenerate. > > liboffloadmic/ > * plugin/configure: Regenerate. > > libphobos/ > * configure: Regenerate. > > libquadmath/ > * configure: Regenerate. > > libsanitizer/ > * configure: Regenerate. > > libssp/ > * configure: Regenerate. > > libstdc++-v3/ > * configure: Regenerate. > > libvtv/ > * configure: Regenerate. > > lto-plugin/ > * configure: Regenerate. > > zlib/ > * configure: Regenerate. > > <0002-Generic-configury-support-for-shared-libs-on-VxWorks.patch> > >