[pushed] Darwin : Adjust defaults for the linker.

Message ID 53CC93F0-A677-42B6-B789-7C505441C4ED@sandoe.co.uk
State New
Headers show
Series
  • [pushed] Darwin : Adjust defaults for the linker.
Related show

Commit Message

Iain Sandoe Jan. 2, 2021, 8:19 p.m.
Hi,

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.

tested on dariwn8, 9, 18, 20, x86_64-linux-gnu
pushed to master
Iain

gcc/ChangeLog:

	* config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust.
	Amend handling for LD64_VERSION fallback defaults.
---
 gcc/config/darwin.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

-- 
2.24.1

Patch

diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 0eabd3f19eb..e40a98394d3 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -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 */