1# Build a shared libgcc library for ELF with symbol versioning 2# with the Solaris linker. 3 4SHLIB_LDFLAGS = -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \ 5 -Wl,-M,$(SHLIB_MAP) 6 7ifeq ($(enable_shared),yes) 8 9# Linker mapfile to enforce direct binding to libgcc_s unwinder 10# (PR target/59788). 11libgcc-unwind.map: libgcc-std.ver 12 @(echo "{"; \ 13 for f in `grep _Unwind_ $< | sort`; do \ 14 echo " $$f = EXTERN DIRECT;"; \ 15 done; \ 16 echo "};" ) > $@ 17 18# Copy libgcc-unwind.map to the place where gcc will look for it at build-time. 19install-libgcc-unwind-map-forbuild: libgcc-unwind.map 20 dest=$(gcc_objdir)/tmp$$$$-$<; \ 21 cp $< $$dest; \ 22 chmod a+r $$dest; \ 23 sh $(srcdir)/../move-if-change $$dest $(gcc_objdir)/$< 24 25all: install-libgcc-unwind-map-forbuild 26 27install-libgcc-unwind-map: libgcc-unwind.map 28 $(INSTALL_DATA) $< $(DESTDIR)$(slibdir) 29 30install: install-libgcc-unwind-map 31 32endif 33