xref: /NextBSD/contrib/gcc/config/ia64/t-hpux (revision eb1a5f8de9f7ea602c373a710f531abbf81141c4)
1# We need multilib support for HPUX's ILP32 & LP64 modes.
2
3LIBGCC = stmp-multilib
4INSTALL_LIBGCC = install-multilib
5
6MULTILIB_OPTIONS = milp32/mlp64
7MULTILIB_DIRNAMES = hpux32 hpux64
8MULTILIB_MATCHES =
9
10# On HP-UX we do not want _fixtfdi, _fixunstfdi, or _floatditf from
11# LIB1ASMSRC.  These functions map the 128 bit conversion function names
12# to 80 bit conversions and were done for Linux backwards compatibility.
13
14LIB1ASMFUNCS := $(filter-out _fixtfdi _fixunstfdi _floatditf,$(LIB1ASMFUNCS))
15
16# Support routines for HP-UX 128 bit floats.
17
18LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c
19
20quadlib.c: $(srcdir)/config/ia64/quadlib.c
21	cat $(srcdir)/config/ia64/quadlib.c > quadlib.c
22
23# We get an undefined main when building a cross compiler because our
24# linkspec has "-u main" and we want that for linking but it makes
25# LIBGCC1_TEST fail because it uses -nostdlib -nostartup.
26
27LIBGCC1_TEST =
28
29# We do not want to include the EH stuff that linux uses, we want to use
30# the HP-UX libunwind library.
31
32T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
33
34LIB2ADDEH =
35
36SHLIB_EXT = .so
37# Must include -lunwind in the link, so that libgcc_s.so has the necessary
38# DT_NEEDED entry for libunwind.
39SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
40	-Wl,+h,@shlib_base_name@.so.0 \
41	-o @multilib_dir@/@shlib_base_name@.so @multilib_flags@ \
42	@shlib_objs@ -lunwind -lc && \
43	rm -f @multilib_dir@/@shlib_base_name@.so.0 && \
44	$(LN_S) @shlib_base_name@.so @multilib_dir@/@shlib_base_name@.so.0
45# $(slibdir) double quoted to protect it from expansion while building
46# libgcc.mk.  We want this delayed until actual install time.
47SHLIB_INSTALL = \
48        $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@; \
49	$(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \
50	$$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so.0; \
51	rm -f $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \
52	$(LN_S) @shlib_base_name@.so.0 \
53	$$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \
54	chmod +x $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so
55
56SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
57