# Build a shared libgcc library for ELF with symbol versioning # with the Solaris linker. SHLIB_LDFLAGS = -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \ -Wl,-M,$(SHLIB_MAP) ifeq ($(enable_shared),yes) # Linker mapfile to enforce direct binding to libgcc_s unwinder # (PR target/59788). # Emit v2 mapfile syntax if possible, otherwise ld -z guidance complains # every time the mapfile is used. libgcc-unwind.map: libgcc-std.ver ifeq ($(solaris_ld_v2_maps),yes) @(echo '$$mapfile_version 2'; \ echo "SYMBOL_SCOPE {"; \ for f in `grep _Unwind_ $< | sort`; do \ echo " $$f { FLAGS = EXTERN DIRECT };"; \ done; \ echo "};" ) > $@ else @(echo "{"; \ for f in `grep _Unwind_ $< | sort`; do \ echo " $$f = EXTERN DIRECT;"; \ done; \ echo "};" ) > $@ endif # Copy libgcc-unwind.map to the place where gcc will look for it at build-time. install-libgcc-unwind-map-forbuild: libgcc-unwind.map dest=$(gcc_objdir)/tmp$$$$-$<; \ cp $< $$dest; \ chmod a+r $$dest; \ sh $(srcdir)/../move-if-change $$dest $(gcc_objdir)/$< all: install-libgcc-unwind-map-forbuild install-libgcc-unwind-map: libgcc-unwind.map $(INSTALL_DATA) $< $(DESTDIR)$(slibdir) install: install-libgcc-unwind-map endif |