commit: 81985363c3e3d01321ab75291d7c827ffff4dcab Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Fri Mar 8 16:03:27 2024 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Fri Mar 8 21:13:17 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=81985363
sys-devel/binutils-config: revbump for CLT 15.3 ld fix Possibly this problem existed longer before, but it's a bit shady when what ld is used. Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> ...utils-config-5.1-r9.ebuild => binutils-config-5.1-r10.ebuild} | 0 sys-devel/binutils-config/files/ldwrapper.c | 9 ++++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys-devel/binutils-config/binutils-config-5.1-r9.ebuild b/sys-devel/binutils-config/binutils-config-5.1-r10.ebuild similarity index 100% rename from sys-devel/binutils-config/binutils-config-5.1-r9.ebuild rename to sys-devel/binutils-config/binutils-config-5.1-r10.ebuild diff --git a/sys-devel/binutils-config/files/ldwrapper.c b/sys-devel/binutils-config/files/ldwrapper.c index 00d4a69f73..c799b4cdd9 100644 --- a/sys-devel/binutils-config/files/ldwrapper.c +++ b/sys-devel/binutils-config/files/ldwrapper.c @@ -405,8 +405,9 @@ main(int argc, char *argv[]) * 14.2: 820.1 * 14.3.1: 857.1 * 15.0: 907 1022.1 Sanoma 23, platform_version iso sdk_version + * 15.3 1053.12 called ld * all to be found from the PROJECT:ld64-650.9 or - * PROJECT:dyld-1022.1 bit from the first line + * PROJECT:dyld-1022.1 or PROJECT:ld-1053.12 bit from the first line * NOTE: e.g. my Sanoma mac with CommandLineTools has 650.9 * which is not a version from any Developer Tools ?!? * Currently we need to distinguish XCode 15 according to @@ -423,11 +424,13 @@ main(int argc, char *argv[]) long comp; if (fgets(target, sizeof(target), ld64out) != 0 && ((proj = strstr(target, "PROJECT:ld64-")) != NULL || - (proj = strstr(target, "PROJECT:dyld-")) != NULL)) + (proj = strstr(target, "PROJECT:dyld-")) != NULL || + (proj = strstr(target, "PROJECT:ld-")) != NULL)) { /* we don't distinguish between ld64 and dyld here, for * now it seems the numbers line up for our logic */ - proj += sizeof("PROJECT:ld64-") - 1; + proj += sizeof("PROJECT:ld") - 1; + proj += *proj == '-' ? 1 : 3; comp = strtol(proj, &proj, 10); /* we currently have no need to parse fractions, the * major version is significant enough, so just stop */