aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-12-01 15:34:11 +0000
committerIain Sandoe <iain@sandoe.co.uk>2020-12-01 19:58:21 +0000
commit9c17474c1efd4825adfeb415b527ead8cf19700b (patch)
tree1c555ec38a0d7f3b578acd50dea0ed45000773f4 /gcc
parentefd1d4f8ae2850e5cd8028531dfe4eced628489e (diff)
downloadgcc-9c17474c1efd4825adfeb415b527ead8cf19700b.zip
gcc-9c17474c1efd4825adfeb415b527ead8cf19700b.tar.gz
gcc-9c17474c1efd4825adfeb415b527ead8cf19700b.tar.bz2
Darwin, D : Adjust the X spec to cater for duplicate use.
The '-X' flag is an obsolete spelling for a command to tell the linker to 'strip local symbols'. This has been the default action for a long time - but, as per the usual GCC approach, although the flag is retired, we have not removed it; rather, we just delete it in the driver self-spec. The D language adds this flag as a front end option (to emit json) which means that deleting it in the driver disables that function in D. This patch works around the duplication by removing the unused flag in the link_spec instead of the driver self-spec. gcc/ChangeLog: * config/darwin.h: Remove unused 'X' specs in the link spec rather than driver self-specs.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/darwin.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 5a76631..da40a08 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -135,7 +135,7 @@ extern GTY(()) int darwin_ms_struct;
"%{shared:-Zdynamiclib} %<shared", \
"%{static:%{Zdynamic:%e conflicting code gen style switches are used}}",\
"%{y*:%nthe y option is obsolete and ignored} %<y*", \
-"%<Mach %<X"
+"%<Mach "
#if LD64_HAS_EXPORT_DYNAMIC
#define DARWIN_RDYNAMIC "%{rdynamic:-export_dynamic}"
@@ -237,7 +237,7 @@ extern GTY(()) int darwin_ms_struct;
DARWIN_NOPIE_SPEC \
DARWIN_RDYNAMIC \
DARWIN_NOCOMPACT_UNWIND \
- "}}}}}}} %<pie %<no-pie %<rdynamic "
+ "}}}}}}} %<pie %<no-pie %<rdynamic %<X "
#define DSYMUTIL "\ndsymutil"