]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/gcc/config/ia64/t-hpux
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / gcc / config / ia64 / t-hpux
1 # We need multilib support for HPUX's ILP32 & LP64 modes.
2
3 LIBGCC = stmp-multilib
4 INSTALL_LIBGCC = install-multilib
5
6 MULTILIB_OPTIONS = milp32/mlp64
7 MULTILIB_DIRNAMES = hpux32 hpux64
8 MULTILIB_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
14 LIB1ASMFUNCS := $(filter-out _fixtfdi _fixunstfdi _floatditf,$(LIB1ASMFUNCS))
15
16 # Support routines for HP-UX 128 bit floats.
17
18 LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c
19
20 quadlib.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
27 LIBGCC1_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
32 T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
33
34 LIB2ADDEH =
35
36 SHLIB_EXT = .so
37 # Must include -lunwind in the link, so that libgcc_s.so has the necessary
38 # DT_NEEDED entry for libunwind.
39 SHLIB_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.
47 SHLIB_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
56 SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk