diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2024-08-05 13:19:28 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2024-08-07 20:28:59 +0100 |
commit | 4cec7bc79db52bae159c3c60a415e2aea48051d8 (patch) | |
tree | 5864d831e5dd780397dc406146f4264302c02103 | |
parent | d1fc9816df81e953308428641685d6ec6d84c9ac (diff) | |
download | gcc-4cec7bc79db52bae159c3c60a415e2aea48051d8.zip gcc-4cec7bc79db52bae159c3c60a415e2aea48051d8.tar.gz gcc-4cec7bc79db52bae159c3c60a415e2aea48051d8.tar.bz2 |
Darwin: Recognise -weak_framework in the driver [PR116237].
XCode compilers recognise the weak_framework linker option in the driver
and forward it. This patch makes GCC adopt the same behaviour.
PR target/116237
gcc/ChangeLog:
* config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Add a spec for
weak_framework.
* config/darwin.opt: Handle weak_framework driver option.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
-rw-r--r-- | gcc/config/darwin.h | 2 | ||||
-rw-r--r-- | gcc/config/darwin.opt | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index c09b9e9..3775990 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -264,6 +264,8 @@ extern GTY(()) int darwin_ms_struct; "%{weak_reference_mismatches*:\ -Xlinker -weak_reference_mismatches -Xlinker %*} \ %<weak_reference_mismatches*", \ + "%{weak_framework*: -Xlinker -weak_framework -Xlinker %*} \ + %<weak_framework*", \ "%{whyload:-Xlinker -whyload} %<whyload", \ "%{whatsloaded:-Xlinker -whatsloaded} %<whatsloaded", \ "%{w:-Xlinker -w}", \ diff --git a/gcc/config/darwin.opt b/gcc/config/darwin.opt index 307a760..1140480 100644 --- a/gcc/config/darwin.opt +++ b/gcc/config/darwin.opt @@ -381,6 +381,10 @@ unexported_symbols_list Driver RejectNegative Separate -unexported_symbols_list <filename> Do not export the global symbols listed in <filename>. +weak_framework +Driver RejectNegative Separate +-weak_framework <framework> Make a weak link to the specified framework. + weak_reference_mismatches Driver RejectNegative Separate -weak_reference_mismatches <treatment> Specifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak. |