summaryrefslogtreecommitdiff
path: root/patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-02-28 08:57:53 (GMT)
committerAlexey Neyman <stilor@att.net>2017-02-28 08:57:53 (GMT)
commit99283866cc84102f22324a751a2ba3afb9221cb6 (patch)
treeee8b04c33cf0797e985d0f5476d310e9abb8ba78 /patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch
parent439cab379e169f505494376f55f1438d12de94fa (diff)
Add patches to Linaro GCC
Same as the base release as long as they applied. MUSL patches didn't, removed. Also, unobsolete Linaro GCC5 now that they rolled out a new release. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch')
-rw-r--r--patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch b/patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch
new file mode 100644
index 0000000..5efa7fd
--- /dev/null
+++ b/patches/gcc/linaro-6.3-2017.02/810-arm-softfloat-libgcc.patch
@@ -0,0 +1,30 @@
+Index: b/gcc/config/arm/linux-elf.h
+===================================================================
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -60,7 +60,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+Index: b/libgcc/config/arm/t-linux
+===================================================================
+--- a/libgcc/config/arm/t-linux
++++ b/libgcc/config/arm/t-linux
+@@ -1,6 +1,11 @@
+ LIB1ASMSRC = arm/lib1funcs.S
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
+- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
++ _arm_addsubdf3 _arm_addsubsf3 \
++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
++ _arm_fixsfsi _arm_fixunssfsi
+
+ # Just for these, we omit the frame pointer since it makes such a big
+ # difference.