summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-01-14 02:34:35 +0000
committerMike Frysinger <vapier@gentoo.org>2006-01-14 02:34:35 +0000
commit208e69dc6f7caf9970027db158394967cc948c84 (patch)
tree08657d8c6ae0b997681b87fc9bb8deade979216e /sys-devel/gcc
parentclean out old files (diff)
downloadhistorical-208e69dc6f7caf9970027db158394967cc948c84.tar.gz
historical-208e69dc6f7caf9970027db158394967cc948c84.tar.bz2
historical-208e69dc6f7caf9970027db158394967cc948c84.zip
Update softfloat patch from yuri.
Package-Manager: portage-2.1_pre3-r1
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/ChangeLog6
-rw-r--r--sys-devel/gcc/Manifest11
-rw-r--r--sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch84
-rw-r--r--sys-devel/gcc/gcc-4.0.2-r3.ebuild5
4 files changed, 99 insertions, 7 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index 940ca555039d..1d357e3a4d6f 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-devel/gcc
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.487 2006/01/14 01:42:16 halcy0n Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.488 2006/01/14 02:34:35 vapier Exp $
+
+ 14 Jan 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/4.0.2/gcc-4.0.2-softfloat.patch, gcc-4.0.2-r3.ebuild:
+ Update softfloat patch from yuri.
*gcc-4.1.0_beta20060113 (14 Jan 2006)
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 4068cc9af810..9b5b7d28adfe 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,7 +1,7 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 ec27613f2df2e6eeeaa9b95156172aba ChangeLog 99579
+MD5 b2397c8598281fb82a1e031bfbce11ff ChangeLog 99728
MD5 8ec9b0352d226e4693cabffe0fa5bba6 files/3.2.1/gcc31-loop-load-final-value.patch 3324
MD5 5e8f2122ef7f9ce187b0a0d50ac9d24a files/3.2.1/gcc32-arm-disable-mathf.patch 2229
MD5 044a164462d9392aa67cde6f9fd5c1bc files/3.2.1/gcc32-arm-reload1-fix.patch 932
@@ -51,6 +51,7 @@ MD5 7434140298091f759eba5e9706264130 files/3.4.3/libssp.patch 2029
MD5 520c8e6799b5c4bff0fdcb81e81fbe88 files/3.4.4/gcc-3.4.4-cross-compile.patch 1912
MD5 2c355d808b490994c6566b10f3c0ba27 files/3.4.4/gcc-3.4.4-softfloat.patch 5242
MD5 0acb1229f47bbb9e254a9824db17c25b files/4.0.2/gcc-4.0.2-cross-compile.patch 505
+MD5 ef916c0eb5549becda0d83e57dc426ad files/4.0.2/gcc-4.0.2-softfloat.patch 2769
MD5 fed3620378df7a876d6709ddf3f7bbec files/awk/fixlafiles.awk 7865
MD5 c672adb59a1f452475ab0a864b9d1bd1 files/awk/scanforssp.awk 5830
MD5 4ecf0f5cb735c81ca4b61a9c6db74269 files/digest-gcc-2.95.3-r9 139
@@ -88,13 +89,13 @@ MD5 af5f12b517a97a2185797f639bfc842f gcc-3.3.6.ebuild 3234
MD5 307b46ee9b86bb1d182824303c4b01f3 gcc-3.4.1-r3.ebuild 31283
MD5 c44289f25b99d3c631f97a8043826901 gcc-3.4.4-r1.ebuild 5203
MD5 d771594bed0108dd38d143656cbb52c4 gcc-3.4.5.ebuild 5111
-MD5 09ad17f87713308c00a3c2d3022e4abf gcc-4.0.2-r3.ebuild 1852
+MD5 59742ce47a4a3bc3ecd43fcb7517f7ed gcc-4.0.2-r3.ebuild 1946
MD5 a4704e476148185bb3321034043d0391 gcc-4.1.0_beta20060113.ebuild 2092
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
-iD8DBQFDyFcKCRZPokWLroQRAo8jAJ9zPaqda5nDq7L8G/e9lfuCYAlubwCfbCcU
-sSoZ8GYGRcKvUab0i06bZNk=
-=uc+W
+iD8DBQFDyGOj2+ySkm8kpY0RAsPgAJ4mKbOJX1jKY7jX5vfWFBEKgOxttACgi9dv
+FSHRaAM7nCOzo3ViMkmiI80=
+=3IrJ
-----END PGP SIGNATURE-----
diff --git a/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch b/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch
new file mode 100644
index 000000000000..1e01479ffcd9
--- /dev/null
+++ b/sys-devel/gcc/files/4.0.2/gcc-4.0.2-softfloat.patch
@@ -0,0 +1,84 @@
+The hunk for gcc/config/arm/t-linux comes from:
+http://gcc.gnu.org/PR14352
+
+The rest is a custom job by Yuri Vasilevski.
+
+The idea here is that we add soft float support into the spec file
+so that we don't have to worry about packages stripping out softfloat
+flags from CFLAGS/CXXFLAGS.
+
+http://bugs.gentoo.org/75585
+
+--- gcc-4.0.2/gcc/config/arm/elf.h
++++ gcc-4.0.2/gcc/config/arm/elf.h
+@@ -45,8 +45,9 @@
+ #endif
+
+ #ifndef SUBTARGET_ASM_FLOAT_SPEC
+-#define SUBTARGET_ASM_FLOAT_SPEC "\
+-%{mapcs-float:-mfloat}"
++#define SUBTARGET_ASM_FLOAT_SPEC "%{mapcs-float:-mfloat} \
++ %{mhard-float:-mfpu=fpa} \
++ %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
+ #endif
+
+ #ifndef ASM_SPEC
+@@ -58,8 +59,6 @@
+ %{mapcs-*:-mapcs-%*} \
+ %(subtarget_asm_float_spec) \
+ %{mthumb-interwork:-mthumb-interwork} \
+-%{msoft-float:-mfloat-abi=soft} %{mhard-float:-mfloat-abi=hard} \
+-%{mfloat-abi=*} %{mfpu=*} \
+ %(subtarget_extra_asm_spec)"
+ #endif
+
+--- gcc-4.0.2/gcc/config/arm/linux-elf.h
++++ gcc-4.0.2/gcc/config/arm/linux-elf.h
+@@ -32,18 +32,22 @@
+ #define NO_IMPLICIT_EXTERN_C
+
+ #undef TARGET_DEFAULT_FLOAT_ABI
+-#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
+
+ #undef TARGET_DEFAULT
+ #define TARGET_DEFAULT (0)
+
++#undef SUBTARGET_EXTRA_ASM_SPEC
++#define SUBTARGET_EXTRA_ASM_SPEC "%{mhard-float:-mfpu=fpa} \
++ %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
++
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+
+ #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
++ { "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork" }
+
+ /* The GNU C++ standard library requires that these macros be defined. */
+ #undef CPLUSPLUS_CPP_SPEC
+@@ -56,7 +60,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
+--- gcc-4.0.2/gcc/config/arm/t-linux
++++ gcc-4.0.2/gcc/config/arm/t-linux
+@@ -4,7 +4,10 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatdisf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/sys-devel/gcc/gcc-4.0.2-r3.ebuild b/sys-devel/gcc/gcc-4.0.2-r3.ebuild
index faf8f4e99714..eb96eb9b2762 100644
--- a/sys-devel/gcc/gcc-4.0.2-r3.ebuild
+++ b/sys-devel/gcc/gcc-4.0.2-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.0.2-r3.ebuild,v 1.4 2006/01/07 03:31:54 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.0.2-r3.ebuild,v 1.5 2006/01/14 02:34:35 vapier Exp $
PATCH_VER="1.5"
PATCH_GCC_VER="4.0.2"
@@ -62,5 +62,8 @@ src_unpack() {
# Fix cross-compiling
epatch "${FILESDIR}"/4.0.2/gcc-4.0.2-cross-compile.patch
+
+# [[ ${CTARGET} == *-softfloat-* ]] &&
+epatch "${FILESDIR}"/4.0.2/gcc-4.0.2-softfloat.patch
}