Hi Rainer, > On 16 Aug 2023, at 20:13, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > > Since Xcode 15 beta 6, ld -v output differs from previous versions: > > * macOS 13/Xcode 14: > > @(#)PROGRAM:ld PROJECT:ld64-857.1 > > * macOS 14/Xcode 15: > > @(#)PROGRAM:ld PROJECT:dyld-1015.1 > > configure cannot handle the new form, so LD64_VERSION isn't set. > > This patch fixes this. The autoconf manual states that sed doesn't > portably support alternation, so I'm using two separate expressions to > extract the version number. > > Tested on x86_64-apple-darwin23.0.0. > > Ok for trunk?
OK, thanks (I do not yet have an xcode-15 or darwin23 setup) After some bake time, this will need backporting to open branches, to avoid those also failing in the same way, > Note however that the new ld isn't yet usable to build gcc: for a > trivial testcase which amounts to > > ld -dynamic -o conftest conftest.o libstdc++.a -lSystem -no_compact_unwind > > it dies with an assertion failure. I've filed a bug for this issue: > > ld assertion failure in ld::AtomPlacement::findAtom (FB12978804) > > Instead there's ld-classic which still works as usual. I’m assuming ‘ld-classic’ in this context means ‘ld64’? in which case, ld-classic now has two meanings :) .. (the older ld_classic is part of cctools) thanks for the patch, Iain > > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University > > > 2023-08-16 Rainer Orth <r...@cebitec.uni-bielefeld.de> > > gcc: > * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v > output. > * configure: Regenerate. > > # HG changeset patch > # Parent 97d64120b89e921db84ade7f8c75d9e18072d768 > build: Allow for Xcode 15 ld -v output > > diff --git a/gcc/configure.ac b/gcc/configure.ac > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -6263,7 +6263,8 @@ if test x"$ld64_flag" = x"yes"; then > # If the version was not specified, try to find it. > AC_MSG_CHECKING(linker version) > if test x"${gcc_cv_ld64_version}" = x; then > - gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | grep ld64 | sed s/.*ld64-// > | awk '{print $1}'` > + gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \ > + | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'` > fi > AC_MSG_RESULT($gcc_cv_ld64_version) >