12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # 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
|