Darwin, crts: Build Darwin10 unwinder shim as a library.
We have a small unwinder shim that is only used for Darwin10 (and only then in quite specific cases). To avoid linking this code for every executable or DSO, we can present the crt as a convenience library (rather than a .o file). Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> gcc/ChangeLog: * config/darwin.h (LINK_COMMAND_SPEC_A): Use Darwin10 unwinder shim as a convenience library. libgcc/ChangeLog: * config.host: Use convenience library for Darwin10 unwinder shim. * config/t-darwin: Build Darwin10 unwinder shim as a convenience library.
This commit is contained in:
parent
f75b237254
commit
8738543878
@ -231,7 +231,7 @@ extern GTY(()) int darwin_ms_struct;
|
||||
%{%:sanitize(address): -lasan } \
|
||||
%{%:sanitize(undefined): -lubsan } \
|
||||
%(link_ssp) \
|
||||
%:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef.o) \
|
||||
%:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \
|
||||
%(link_gcc_c_sequence) \
|
||||
}}}\
|
||||
%{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} %{F*} "\
|
||||
|
@ -215,7 +215,7 @@ case ${host} in
|
||||
*-*-darwin*)
|
||||
asm_hidden_op=.private_extern
|
||||
tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
|
||||
extra_parts="crt3.o d10-uwfef.o crttms.o crttme.o"
|
||||
extra_parts="crt3.o libd10-uwfef.a crttms.o crttme.o"
|
||||
;;
|
||||
*-*-dragonfly*)
|
||||
tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
|
||||
|
@ -18,3 +18,9 @@ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
|
||||
# Patch to __Unwind_Find_Enclosing_Function for Darwin10.
|
||||
d10-uwfef.o: $(srcdir)/config/darwin10-unwind-find-enc-func.c
|
||||
$(crt_compile) -mmacosx-version-min=10.6 -c $<
|
||||
|
||||
# Using this crt as a library means that it will not be added to an exe
|
||||
# (or module) unless needed.
|
||||
libd10-uwfef.a: d10-uwfef.o
|
||||
$(AR_CREATE_FOR_TARGET) $@ d10-uwfef.o
|
||||
$(RANLIB_FOR_TARGET) $@
|
||||
|
Loading…
Reference in New Issue
Block a user