This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix sparc-linux -m32 -mlong-double-128 support
- From: Jakub Jelinek <jakub at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: mark at codesourcery dot com, gdr at integrable-solutions dot net
- Date: Tue, 23 Mar 2004 12:42:27 +0100
- Subject: [PATCH] Fix sparc-linux -m32 -mlong-double-128 support
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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