This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix sparc-linux -m32 -mlong-double-128 support


Hi!

I've commited following patch to HEAD (well, slightly different version,
this is 3.4 patch), so that libgcc is built with -mlong-double-128
option.  Without that libgcc{.a,_s.so} lacks __fixtfdi, __fixunstfdi
and __floatditf functions which code generated with -mlong-double-128
might use.
Ok for 3.4/3.3?

2004-03-23  Jakub Jelinek  <jakub@redhat.com>

	* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
	* config/sparc/t-linux: New file.

--- gcc/config.gcc.jj	2004-03-23 14:38:59.000000000 +0100
+++ gcc/config.gcc	2004-03-23 14:41:23.336595332 +0100
@@ -2009,7 +2009,7 @@ sparc-*-elf*)
 	;;
 sparc-*-linux*)		# SPARC's running GNU/Linux, libc6
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
-	tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
+	tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux sparc/t-crtfm"
 	;;
 sparc-*-rtems*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
--- gcc/config/sparc/t-linux64.jj	2002-10-12 23:46:56.000000000 +0200
+++ gcc/config/sparc/t-linux64	2004-03-23 14:40:51.335330391 +0100
@@ -17,3 +17,7 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ve
 CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \
 				 -print-multi-os-directory) \
 			= x../lib64; then echo -mcmodel=medany; fi`
+
+# Compile libgcc2.a with pic and for -m32 also IEEE quad long double.
+# -m64 implies -mlong-double-128, so this is no change for 64-bit.
+TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128
--- gcc/config/sparc/t-linux.jj	2004-03-23 14:40:14.950850981 +0100
+++ gcc/config/sparc/t-linux	2004-03-23 14:40:39.563440072 +0100
@@ -0,0 +1,2 @@
+# Compile libgcc2.a with pic and IEEE quad long double.
+TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]