Hi Martin, > On 30 Oct 2023, at 16:17, Martin Jambor <[email protected]> wrote:
> On Tue, Aug 15 2023, FX Coudert via Gcc-patches wrote: >> > > [...] > >> From e1cf04cadb9fa065fb3f7d6bccf9ed6f1e9e3fc1 Mon Sep 17 00:00:00 2001 >> From: Iain Sandoe <[email protected]> >> Date: Sun, 28 Mar 2021 14:48:17 +0100 >> Subject: [PATCH 2/4] Darwin: Allow for configuring Darwin to use embedded >> runpath. > > our buildbot checker found that after this patch, there is an > uncommitted auto(re)conf generated hunk in fixincludes/configure: > > diff --git a/fixincludes/configure b/fixincludes/configure > index b9770489adc..1bb547a1724 100755 > --- a/fixincludes/configure > +++ b/fixincludes/configure > @@ -3027,6 +3027,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please > don't use this var. > # --------------------------- > # _LT_COMPILER_PIC > > +enable_darwin_at_rpath_$1=no > > # _LT_LINKER_SHLIBS([TAGNAME]) > # ---------------------------- > @@ -3049,7 +3050,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please > don't use this var. > # the compiler configuration to `libtool'. > # _LT_LANG_CXX_CONFIG > > - > # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) > # --------------------------------- > # Figure out "hidden" library dependencies from verbose > > > Can I commit it (with an appropriate ChangeLog message) or do you want > to take care of it yourself? Sorry for the omission, I’ll take care of it later today, thanks for spotting it. Iain > > Thanks, > > Martin > > >> >> Recent Darwin versions place contraints on the use of run paths >> specified in environment variables. This breaks some assumptions >> in the GCC build. >> >> This change allows the user to configure a Darwin build to use >> '@rpath/libraryname.dylib' in library names and then to add an >> embedded runpath to executables (and libraries with dependents). >> >> The embedded runpath is added by default unless the user adds >> '-nodefaultrpaths' to the link line. >> >> For an installed compiler, it means that any executable built with >> that compiler will reference the runtimes installed with the >> compiler (equivalent to hard-coding the library path into the name >> of the library). >> >> During build-time configurations any "-B" entries will be added to >> the runpath thus the newly-built libraries will be found by exes. >> >> Since the install name is set in libtool, that decision needs to be >> available here (but might also cause dependent ones in Makefiles, >> so we need to export a conditional). >> >> This facility is not available for Darwin 8 or earlier, however the >> existing environment variable runpath does work there. >> >> We default this on for systems where the external DYLD_LIBRARY_PATH >> does not work and off for Darwin 8 or earlier. For systems that can >> use either method, if the value is unset, we use the default (which >> is currently DYLD_LIBRARY_PATH). >> >> ---- >> >> Ada changes: >> add paths relative to @loader-path >> >> JIT changes: >> >> This patch expects DARWIN_RPATH to be computed and available; which >> means that we will use @rpath or ${libdir} as the name prefix >> depending on the system version and the setting of >> --enable-darwin-at-rpath. For branches that do not have this >> available, the value should be set to ${libdir}. >> >> added m2 library changes. >> >> ChangeLog: >> >> * configure: Regenerate. >> * configure.ac: Do not add default runpaths to GCC exes >> when we are building -static-libstdc++/-static-libgcc (the >> default). >> * libtool.m4: Add 'enable-darwin-at-runpath'. Act on the >> enable flag to alter Darwin libraries to use @rpath names. >> >> fixincludes/ChangeLog: >> >> * configure: Regenerate. >> >> gcc/ChangeLog: >> >> * aclocal.m4: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> * config/darwin-driver.cc: Handle Darwin rpaths. >> * config/darwin.h: Handle Darwin rpaths. >> * config/darwin.opt: Handle Darwin rpaths. >> * Makefile.in: Handle Darwin rpaths. >> >> gcc/ada/ChangeLog: >> >> * gcc-interface/Makefile.in: Handle Darwin rpaths. >> >> gcc/jit/ChangeLog: >> * Make-lang.in: Handle Darwin rpaths. >> >> libatomic/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> libbacktrace/ChangeLog: >> >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> libcc1/ChangeLog: >> >> * configure: Regenerate. >> >> libffi/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> >> libgcc/ChangeLog: >> >> * config/t-slibgcc-darwin: Generate libgcc_s >> with an @rpath name. >> * config.host: Handle Darwin rpaths. >> >> libgfortran/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths >> >> libgm2/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * aclocal.m4: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> * libm2cor/Makefile.am: Handle Darwin rpaths. >> * libm2cor/Makefile.in: Regenerate. >> * libm2iso/Makefile.am: Handle Darwin rpaths. >> * libm2iso/Makefile.in: Regenerate. >> * libm2log/Makefile.am: Handle Darwin rpaths. >> * libm2log/Makefile.in: Regenerate. >> * libm2min/Makefile.am: Handle Darwin rpaths. >> * libm2min/Makefile.in: Regenerate. >> * libm2pim/Makefile.am: Handle Darwin rpaths. >> * libm2pim/Makefile.in: Regenerate. >> >> libgomp/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths >> >> libitm/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> libobjc/ChangeLog: >> >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> libphobos/ChangeLog: >> >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> * libdruntime/Makefile.am: Handle Darwin rpaths. >> * libdruntime/Makefile.in: Regenerate. >> * src/Makefile.am: Handle Darwin rpaths. >> * src/Makefile.in: Regenerate. >> >> libquadmath/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> libsanitizer/ChangeLog: >> >> * asan/Makefile.am: Handle Darwin rpaths. >> * asan/Makefile.in: Regenerate. >> * configure: Regenerate. >> * hwasan/Makefile.am: Handle Darwin rpaths. >> * hwasan/Makefile.in: Regenerate. >> * lsan/Makefile.am: Handle Darwin rpaths. >> * lsan/Makefile.in: Regenerate. >> * tsan/Makefile.am: Handle Darwin rpaths. >> * tsan/Makefile.in: Regenerate. >> * ubsan/Makefile.am: Handle Darwin rpaths. >> * ubsan/Makefile.in: Regenerate. >> >> libssp/ChangeLog: >> >> * Makefile.am: Handle Darwin rpaths. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> libstdc++-v3/ChangeLog: >> >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> * src/Makefile.am: Handle Darwin rpaths. >> * src/Makefile.in: Regenerate. >> >> libvtv/ChangeLog: >> >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> lto-plugin/ChangeLog: >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths. >> >> zlib/ChangeLog: >> * configure: Regenerate. >> * configure.ac: Handle Darwin rpaths.
