void-packages/srcpkgs/gcc/patches/mips-soft-float.patch
Jürgen Buchmüller e89ea5e453 gcc: remove i686 patch for stack_chk_fail_local
This patch was introduced with gcc 7.2.0 to circumvent problems
with strong stack protector enabled for gcc.

With the current version it is not just obsolete but outright
wrong and causes "strange" issues with builds failing for
no obvious reason.

One example is the mruby package which failed to build and
now, after the bad patch is removed, works out of the box.

Add a new patch libssp-musl.patch and with the same revbump
add two patches for mips32 header file sgidefs.h location
and soft-float for mips-musl and mipsel-musl.

[ci skip]
2020-06-08 22:14:04 +02:00

18 lines
443 B
Diff

--- libffi/src/mips/o32.S 2020-03-12 12:07:23.000000000 +0100
+++ libffi/src/mips/o32.S 2020-05-14 20:52:45.701809054 +0200
@@ -278,6 +278,7 @@
li $9, FFI_TYPE_VOID
beq $8, $9, closure_done
+#ifndef __mips_soft_float
li $13, 1 # FFI_O32
bne $16, $13, 1f # Skip fp restore if FFI_O32_SOFT_FLOAT
@@ -289,6 +290,7 @@
l.d $f0, V0_OFF2($fp)
beq $8, $9, closure_done
1:
+#endif
REG_L $3, V1_OFF2($fp)
REG_L $2, V0_OFF2($fp)