This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
IA64 HP-UX t-hpux patch
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 12 Sep 2002 14:29:19 -0700 (PDT)
- Subject: IA64 HP-UX t-hpux patch
- Reply-to: sje at cup dot hp dot com
This patch contains some changes we have made to t-hpux since the
initial implementation. It unsets some macros we don't want set
and allows us to build a shared libgcc.
Steve Ellcey
sje@cup.hp.com
2002-09-12 Steve Ellcey <sje@cup.hp.com>
* config/ia64/t-hpux (LIBGCC1_TEST, EXTRA_PARTS, STMP_FIXPROTO,
LIB2ADDEH): New, set to NULL.
(SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
*** gcc.orig/gcc/config/ia64/t-hpux Thu Sep 12 10:46:58 2002
--- gcc/gcc/config/ia64/t-hpux Thu Sep 12 14:28:09 2002
*************** LIB2FUNCS_EXTRA=quadlib.c
*** 13,15 ****
--- 13,54 ----
quadlib.c: $(srcdir)/config/ia64/quadlib.c
cat $(srcdir)/config/ia64/quadlib.c > quadlib.c
+
+ # We get an undefined main when building a cross compiler because our
+ # linkspec has "-u main" and we want that for linking but it makes
+ # LIBGCC1_TEST fail because it uses -nostdlib -nostartup.
+
+ LIBGCC1_TEST =
+
+ # For hp-ux we do not build any crtbegin/crtend files, we use HP
+ # crt files and .init_array and .fini_array sections.
+
+ EXTRA_PARTS=
+
+ # Do not run fix-headers, it is not needed.
+
+ STMP_FIXPROTO =
+
+ # We do not want to include the EH stuff that linux uses, we want to use
+ # the HP-UX libunwind library.
+
+ LIB2ADDEH =
+
+ # Build a shared libgcc library.
+
+ SHLIB_EXT = .so
+ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+ -Wl,+h,@shlib_base_name@.so.0 \
+ -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
+ rm -f @shlib_base_name@.so.0 && \
+ $(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
+
+ # $(slibdir) double quoted to protect it from expansion while building
+ # libgcc.mk. We want this delayed until actual install time.
+
+ SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so; \
+ chmod +x $$(slibdir)/@shlib_base_name@.so
+
+ SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk