/usr/src/gcc-5/debian/patches/sparc64-biarch-long-double-128.diff is in gcc-5-source 5.5.0-12ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # DP: Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.
On sparc, the --with-long-double-128 option doesn't change anything for
a 64-bit compiler, as it always default to 128-bit long doubles. For
a 32/64-bit compiler defaulting to 32-bit this correctly control the
size of long double of the 32-bit compiler, however for a 32/64-bit
compiler defaulting to 64-bit, the built-in specs force the
-mlong-double-64 option. This makes the option useless in this case.
The patch below fixes that by removing the -mlong-double-64 from the
built-in spec, using the default instead.
Changelog gcc/
2013-12-04 Aurelien Jarno <aurelien@aurel32.net>
* config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
don't force -mlong-double-64 when -m32 or -mv8plus is given.
Index: b/src/gcc/config/sparc/linux64.h
===================================================================
--- a/src/gcc/config/sparc/linux64.h
+++ b/src/gcc/config/sparc/linux64.h
@@ -154,9 +154,9 @@ extern const char *host_detect_local_cpu
#else
#define CC1_SPEC "%{profile:-p} \
%{m32:%{m64:%emay not use both -m32 and -m64}} \
-%{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
+%{m32:-mptr32 -mno-stack-bias \
%{!mcpu*:-mcpu=cypress}} \
-%{mv8plus:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
+%{mv8plus:-mptr32 -mno-stack-bias \
%{!mcpu*:-mcpu=v9}} \
%{!m32:%{!mcpu*:-mcpu=ultrasparc}} \
%{!mno-vis:%{!m32:%{!mcpu=v9:-mvis}}} \
|