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 */