Darwin : Adjust defaults for the linker.
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 31 Dec 2020 14:51:56 +0000 (14:51 +0000)
committerIain Sandoe <iain@sandoe.co.uk>
Sat, 2 Jan 2021 19:56:19 +0000 (19:56 +0000)
Ideally, the linker will be queried for its version and that will be
used to determine capabilities that cannot be discovered from
reasonable configuration testing.

When building cross tools, this might not be possible, and we have
strategies for providing useful defaults.  These are adjusted here to
refect current choices.

gcc/ChangeLog:

* config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust.
Amend handling for LD64_VERSION fallback defaults.

gcc/config/darwin.h

index 0eabd3f19eb9d4db8f8136cd8bc581f6e0c4d238..e40a98394d3da6a46a516864f5f4c37cadb4153b 100644 (file)
@@ -1094,16 +1094,20 @@ extern void darwin_driver_init (unsigned int *,struct cl_decoded_option **);
 /* Later versions of ld64 support coalescing weak code/data without requiring
    that they be placed in specially identified sections.  This is the earliest
    _tested_ version known to support this so far.  */
-#define MIN_LD64_NO_COAL_SECTS "236.4"
+#define MIN_LD64_NO_COAL_SECTS "236.3"
 
 /* From at least version 62.1, ld64 can build symbol indirection stubs as
    needed, and there is no need for the compiler to emit them.  */
 #define MIN_LD64_OMIT_STUBS "62.1"
 
+/* If we have no definition for the linker version, pick the minimum version
+   that will bootstrap the compiler.  */
 #ifndef LD64_VERSION
-#define LD64_VERSION "62.1"
-#else
-#define DEF_LD64 LD64_VERSION
+# ifndef  DEF_LD64
+#  define LD64_VERSION "85.2.1"
+# else
+#  define LD64_VERSION DEF_LD64
+# endif
 #endif
 
 #endif /* CONFIG_DARWIN_H */