mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Fix for non deleted files
This commit is contained in:
@@ -1,58 +0,0 @@
|
||||
diff --git a/config/picflag.m4 b/config/picflag.m4
|
||||
--- a/config/picflag.m4
|
||||
+++ b/config/picflag.m4
|
||||
@@ -34,7 +22,7 @@
|
||||
i[[34567]]86-*-nto-qnx*)
|
||||
# QNX uses GNU C++, but need to define -shared option too, otherwise
|
||||
# it will coredump.
|
||||
- $1='-fPIC -shared'
|
||||
+ $1='-fno-PIC'
|
||||
;;
|
||||
i[[34567]]86-pc-msdosdjgpp*)
|
||||
# DJGPP does not support shared libraries at all.
|
||||
@@ -42,7 +30,7 @@
|
||||
ia64*-*-hpux*)
|
||||
# On IA64 HP-UX, PIC is the default but the pic flag
|
||||
# sets the default TLS model and affects inlining.
|
||||
- $1=-fPIC
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
mips-sgi-irix6*)
|
||||
# PIC is the default.
|
||||
@@ -54,30 +42,30 @@
|
||||
# Some targets support both -fPIC and -fpic, but prefer the latter.
|
||||
# FIXME: Why?
|
||||
i[[34567]]86-*-* | x86_64-*-*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
# FIXME: Override -fPIC default in libgcc only?
|
||||
sh-*-linux* | sh[[2346lbe]]*-*-linux*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
# FIXME: Simplify to sh*-*-netbsd*?
|
||||
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
||||
sh64-*-netbsd* | sh64l*-*-netbsd*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
# Default to -fPIC unless specified otherwise.
|
||||
*)
|
||||
- $1=-fPIC
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
esac
|
||||
|
||||
# If the user explicitly uses -fpic/-fPIC, keep that.
|
||||
case "${m4_bpatsubsts($1, PICFLAG, CFLAGS)}" in
|
||||
*-fpic*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
*-fPIC*)
|
||||
- $1=-fPIC
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
esac
|
||||
])
|
||||
@@ -1,10 +0,0 @@
|
||||
--- a/gcc/config/mips/mips.c
|
||||
+++ b/gcc/config/mips/mips.c
|
||||
@@ -20007,7 +20007,7 @@
|
||||
/* The effect of -mabicalls isn't defined for the EABI. */
|
||||
if (mips_abi == ABI_EABI && TARGET_ABICALLS)
|
||||
{
|
||||
- error ("unsupported combination: %s", "-mabicalls -mabi=eabi");
|
||||
+ /* error ("unsupported combination: %s", "-mabicalls -mabi=eabi");*/
|
||||
target_flags &= ~MASK_ABICALLS;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/libgcc/Makefile.in
|
||||
+++ n/libgcc/Makefile.in
|
||||
@@ -253,7 +253,7 @@
|
||||
# Additional target-dependent options for compiling libgcc2.a.
|
||||
HOST_LIBGCC2_CFLAGS =
|
||||
|
||||
-PICFLAG = @PICFLAG@
|
||||
+PICFLAG =
|
||||
|
||||
CET_FLAGS = @CET_FLAGS@
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
--- a/libgcc/config/t-libgcc-pic
|
||||
+++ b/libgcc/config/t-libgcc-pic
|
||||
@@ -1,2 +1,2 @@
|
||||
# Compile libgcc2.a with pic.
|
||||
-HOST_LIBGCC2_CFLAGS += $(PICFLAG)
|
||||
+HOST_LIBGCC2_CFLAGS +=
|
||||
@@ -1,58 +0,0 @@
|
||||
diff --git a/config/picflag.m4 b/config/picflag.m4
|
||||
--- a/config/picflag.m4
|
||||
+++ b/config/picflag.m4
|
||||
@@ -34,7 +22,7 @@
|
||||
i[[34567]]86-*-nto-qnx*)
|
||||
# QNX uses GNU C++, but need to define -shared option too, otherwise
|
||||
# it will coredump.
|
||||
- $1='-fPIC -shared'
|
||||
+ $1='-fno-PIC'
|
||||
;;
|
||||
i[[34567]]86-pc-msdosdjgpp*)
|
||||
# DJGPP does not support shared libraries at all.
|
||||
@@ -42,7 +30,7 @@
|
||||
ia64*-*-hpux*)
|
||||
# On IA64 HP-UX, PIC is the default but the pic flag
|
||||
# sets the default TLS model and affects inlining.
|
||||
- $1=-fPIC
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
mips-sgi-irix6*)
|
||||
# PIC is the default.
|
||||
@@ -54,30 +42,30 @@
|
||||
# Some targets support both -fPIC and -fpic, but prefer the latter.
|
||||
# FIXME: Why?
|
||||
i[[34567]]86-*-* | x86_64-*-*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
# FIXME: Override -fPIC default in libgcc only?
|
||||
sh-*-linux* | sh[[2346lbe]]*-*-linux*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
# FIXME: Simplify to sh*-*-netbsd*?
|
||||
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
||||
sh64-*-netbsd* | sh64l*-*-netbsd*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
# Default to -fPIC unless specified otherwise.
|
||||
*)
|
||||
- $1=-fPIC
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
esac
|
||||
|
||||
# If the user explicitly uses -fpic/-fPIC, keep that.
|
||||
case "${m4_bpatsubsts($1, PICFLAG, CFLAGS)}" in
|
||||
*-fpic*)
|
||||
- $1=-fpic
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
*-fPIC*)
|
||||
- $1=-fPIC
|
||||
+ $1=-fno-PIC
|
||||
;;
|
||||
esac
|
||||
])
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/libgcc/Makefile.in
|
||||
+++ n/libgcc/Makefile.in
|
||||
@@ -253,7 +253,7 @@
|
||||
# Additional target-dependent options for compiling libgcc2.a.
|
||||
HOST_LIBGCC2_CFLAGS =
|
||||
|
||||
-PICFLAG = @PICFLAG@
|
||||
+PICFLAG =
|
||||
|
||||
CET_FLAGS = @CET_FLAGS@
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
--- a/libgcc/config/t-libgcc-pic
|
||||
+++ b/libgcc/config/t-libgcc-pic
|
||||
@@ -1,2 +1,2 @@
|
||||
# Compile libgcc2.a with pic.
|
||||
-HOST_LIBGCC2_CFLAGS += $(PICFLAG)
|
||||
+HOST_LIBGCC2_CFLAGS +=
|
||||
@@ -1,61 +0,0 @@
|
||||
From 8acc688548b27151c45ee8a80f3a0b75f4a761c0 Mon Sep 17 00:00:00 2001
|
||||
From: Baruch Siach <baruch@tkos.co.il>
|
||||
Date: Tue, 6 Aug 2019 08:51:13 +0300
|
||||
Subject: [PATCH] fix risc64 conflict with kernel headers
|
||||
|
||||
Rename user registers struct definitions to avoid conflict with the
|
||||
asm/ptrace.h kernel header that defines the same structs. Use the
|
||||
__riscv_mc prefix as glibc does.
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: commit 8acc688548b
|
||||
|
||||
arch/riscv64/bits/signal.h | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/riscv64/bits/signal.h b/arch/riscv64/bits/signal.h
|
||||
index 4c94a8f02edc..76d7ad80c8cd 100644
|
||||
--- a/arch/riscv64/bits/signal.h
|
||||
+++ b/arch/riscv64/bits/signal.h
|
||||
@@ -12,29 +12,29 @@
|
||||
typedef unsigned long greg_t;
|
||||
typedef unsigned long gregset_t[32];
|
||||
|
||||
-struct __riscv_f_ext_state {
|
||||
+struct __riscv_mc_f_ext_state {
|
||||
unsigned int f[32];
|
||||
unsigned int fcsr;
|
||||
};
|
||||
|
||||
-struct __riscv_d_ext_state {
|
||||
+struct __riscv_mc_d_ext_state {
|
||||
unsigned long long f[32];
|
||||
unsigned int fcsr;
|
||||
};
|
||||
|
||||
-struct __riscv_q_ext_state {
|
||||
+struct __riscv_mc_q_ext_state {
|
||||
unsigned long long f[64] __attribute__((aligned(16)));
|
||||
unsigned int fcsr;
|
||||
unsigned int reserved[3];
|
||||
};
|
||||
|
||||
-union __riscv_fp_state {
|
||||
- struct __riscv_f_ext_state f;
|
||||
- struct __riscv_d_ext_state d;
|
||||
- struct __riscv_q_ext_state q;
|
||||
+union __riscv_mc_fp_state {
|
||||
+ struct __riscv_mc_f_ext_state f;
|
||||
+ struct __riscv_mc_d_ext_state d;
|
||||
+ struct __riscv_mc_q_ext_state q;
|
||||
};
|
||||
|
||||
-typedef union __riscv_fp_state fpregset_t;
|
||||
+typedef union __riscv_mc_fp_state fpregset_t;
|
||||
|
||||
typedef struct sigcontext {
|
||||
gregset_t gregs;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
From 414b512c60706e34473edd58fe876037ea77138c Mon Sep 17 00:00:00 2001
|
||||
From: Rich Felker <dalias@aerifal.cx>
|
||||
Date: Tue, 6 Aug 2019 12:50:38 -0400
|
||||
Subject: [PATCH] remove riscv64 bits/user.h contents
|
||||
|
||||
the contents conflicted with asm/ptrace.h. glibc does not provide
|
||||
anything in user.h for riscv, so software cannot be depending on it.
|
||||
|
||||
simplified from patch submitted by Baruch Siach.
|
||||
|
||||
[ baruch: add empty line so that 'patch -E' doesn't delete user.h ]
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: commit d493206de7df
|
||||
|
||||
arch/riscv64/bits/user.h | 42 ----------------------------------------
|
||||
1 file changed, 42 deletions(-)
|
||||
|
||||
diff --git a/arch/riscv64/bits/user.h b/arch/riscv64/bits/user.h
|
||||
index bd0f0fc7027f..8b137891791f 100644
|
||||
--- a/arch/riscv64/bits/user.h
|
||||
+++ b/arch/riscv64/bits/user.h
|
||||
@@ -1,43 +1 @@
|
||||
-struct user_regs_struct {
|
||||
- unsigned long pc;
|
||||
- unsigned long ra;
|
||||
- unsigned long sp;
|
||||
- unsigned long gp;
|
||||
- unsigned long tp;
|
||||
- unsigned long t0;
|
||||
- unsigned long t1;
|
||||
- unsigned long t2;
|
||||
- unsigned long s0;
|
||||
- unsigned long s1;
|
||||
- unsigned long a0;
|
||||
- unsigned long a1;
|
||||
- unsigned long a2;
|
||||
- unsigned long a3;
|
||||
- unsigned long a4;
|
||||
- unsigned long a5;
|
||||
- unsigned long a6;
|
||||
- unsigned long a7;
|
||||
- unsigned long s2;
|
||||
- unsigned long s3;
|
||||
- unsigned long s4;
|
||||
- unsigned long s5;
|
||||
- unsigned long s6;
|
||||
- unsigned long s7;
|
||||
- unsigned long s8;
|
||||
- unsigned long s9;
|
||||
- unsigned long s10;
|
||||
- unsigned long s11;
|
||||
- unsigned long t3;
|
||||
- unsigned long t4;
|
||||
- unsigned long t5;
|
||||
- unsigned long t6;
|
||||
-};
|
||||
|
||||
-struct user_fpregs_struct {
|
||||
- double f[32];
|
||||
- unsigned int fcsr;
|
||||
-};
|
||||
-
|
||||
-#define ELF_NGREG 32
|
||||
-typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
|
||||
-typedef struct user_fpregs_struct elf_fpregset_t;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,200 +0,0 @@
|
||||
From f3ed8bfe8a82af1870ddc8696ed4cc1d5aa6b441 Mon Sep 17 00:00:00 2001
|
||||
From: Rich Felker <dalias@aerifal.cx>
|
||||
Date: Mon, 5 Aug 2019 18:41:47 -0400
|
||||
Subject: [PATCH] fix x87 stack imbalance in corner cases of i386 math asm
|
||||
|
||||
commit 31c5fb80b9eae86f801be4f46025bc6532a554c5 introduced underflow
|
||||
code paths for the i386 math asm, along with checks on the fpu status
|
||||
word to skip the underflow-generation instructions if the underflow
|
||||
flag was already raised. unfortunately, at least one such path, in
|
||||
log1p, returned with 2 items on the x87 stack rather than just 1 item
|
||||
for the return value. this is a violation of the ABI's calling
|
||||
convention, and could cause subsequent floating point code to produce
|
||||
NANs due to x87 stack overflow. if floating point results are used in
|
||||
flow control, this can lead to runaway wrong code execution.
|
||||
|
||||
rather than reviewing each "underflow already raised" code path for
|
||||
correctness, remove them all. they're likely slower than just
|
||||
performing the underflow code unconditionally, and significantly more
|
||||
complex.
|
||||
|
||||
all of this code should be ripped out and replaced by C source files
|
||||
with inline asm. doing so would preclude this kind of error by having
|
||||
the compiler perform all x87 stack register allocation and stack
|
||||
manipulation, and would produce comparable or better code. however
|
||||
such a change is a much larger project.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
src/math/i386/asin.s | 10 ++--------
|
||||
src/math/i386/atan.s | 7 ++-----
|
||||
src/math/i386/atan2.s | 5 +----
|
||||
src/math/i386/atan2f.s | 5 +----
|
||||
src/math/i386/atanf.s | 7 ++-----
|
||||
src/math/i386/exp.s | 10 ++--------
|
||||
src/math/i386/log1p.s | 7 ++-----
|
||||
src/math/i386/log1pf.s | 7 ++-----
|
||||
8 files changed, 14 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/src/math/i386/asin.s b/src/math/i386/asin.s
|
||||
index a9f691bf..920d967a 100644
|
||||
--- a/src/math/i386/asin.s
|
||||
+++ b/src/math/i386/asin.s
|
||||
@@ -7,13 +7,10 @@ asinf:
|
||||
cmp $0x01000000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
- fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 2f
|
||||
fld %st(0)
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
-2: ret
|
||||
+ ret
|
||||
|
||||
.global asinl
|
||||
.type asinl,@function
|
||||
@@ -30,11 +27,8 @@ asin:
|
||||
cmp $0x00200000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
- fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 2f
|
||||
fsts 4(%esp)
|
||||
-2: ret
|
||||
+ ret
|
||||
1: fld %st(0)
|
||||
fld1
|
||||
fsub %st(0),%st(1)
|
||||
diff --git a/src/math/i386/atan.s b/src/math/i386/atan.s
|
||||
index d73137b2..a26feae1 100644
|
||||
--- a/src/math/i386/atan.s
|
||||
+++ b/src/math/i386/atan.s
|
||||
@@ -10,8 +10,5 @@ atan:
|
||||
fpatan
|
||||
ret
|
||||
# subnormal x, return x with underflow
|
||||
-1: fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 2f
|
||||
- fsts 4(%esp)
|
||||
-2: ret
|
||||
+1: fsts 4(%esp)
|
||||
+ ret
|
||||
diff --git a/src/math/i386/atan2.s b/src/math/i386/atan2.s
|
||||
index a7d2979b..1fa0524d 100644
|
||||
--- a/src/math/i386/atan2.s
|
||||
+++ b/src/math/i386/atan2.s
|
||||
@@ -10,8 +10,5 @@ atan2:
|
||||
cmp $0x00200000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
- fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 1f
|
||||
fsts 4(%esp)
|
||||
-1: ret
|
||||
+ ret
|
||||
diff --git a/src/math/i386/atan2f.s b/src/math/i386/atan2f.s
|
||||
index 14b88ce5..0b264726 100644
|
||||
--- a/src/math/i386/atan2f.s
|
||||
+++ b/src/math/i386/atan2f.s
|
||||
@@ -10,10 +10,7 @@ atan2f:
|
||||
cmp $0x01000000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
- fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 1f
|
||||
fld %st(0)
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
-1: ret
|
||||
+ ret
|
||||
diff --git a/src/math/i386/atanf.s b/src/math/i386/atanf.s
|
||||
index 8caddefa..893beac5 100644
|
||||
--- a/src/math/i386/atanf.s
|
||||
+++ b/src/math/i386/atanf.s
|
||||
@@ -10,10 +10,7 @@ atanf:
|
||||
fpatan
|
||||
ret
|
||||
# subnormal x, return x with underflow
|
||||
-1: fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 2f
|
||||
- fld %st(0)
|
||||
+1: fld %st(0)
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
-2: ret
|
||||
+ ret
|
||||
diff --git a/src/math/i386/exp.s b/src/math/i386/exp.s
|
||||
index c7aa5b6e..df87c497 100644
|
||||
--- a/src/math/i386/exp.s
|
||||
+++ b/src/math/i386/exp.s
|
||||
@@ -7,13 +7,10 @@ expm1f:
|
||||
cmp $0x01000000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
- fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 2f
|
||||
fld %st(0)
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
-2: ret
|
||||
+ ret
|
||||
|
||||
.global expm1l
|
||||
.type expm1l,@function
|
||||
@@ -30,11 +27,8 @@ expm1:
|
||||
cmp $0x00200000,%eax
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
- fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 2f
|
||||
fsts 4(%esp)
|
||||
-2: ret
|
||||
+ ret
|
||||
1: fldl2e
|
||||
fmulp
|
||||
mov $0xc2820000,%eax
|
||||
diff --git a/src/math/i386/log1p.s b/src/math/i386/log1p.s
|
||||
index 6b6929c7..354f391a 100644
|
||||
--- a/src/math/i386/log1p.s
|
||||
+++ b/src/math/i386/log1p.s
|
||||
@@ -16,9 +16,6 @@ log1p:
|
||||
fyl2x
|
||||
ret
|
||||
# subnormal x, return x with underflow
|
||||
-2: fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 1f
|
||||
- fsts 4(%esp)
|
||||
+2: fsts 4(%esp)
|
||||
fstp %st(1)
|
||||
-1: ret
|
||||
+ ret
|
||||
diff --git a/src/math/i386/log1pf.s b/src/math/i386/log1pf.s
|
||||
index c0bcd30f..4d3484cd 100644
|
||||
--- a/src/math/i386/log1pf.s
|
||||
+++ b/src/math/i386/log1pf.s
|
||||
@@ -16,10 +16,7 @@ log1pf:
|
||||
fyl2x
|
||||
ret
|
||||
# subnormal x, return x with underflow
|
||||
-2: fnstsw %ax
|
||||
- and $16,%ax
|
||||
- jnz 1f
|
||||
- fxch
|
||||
+2: fxch
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
-1: ret
|
||||
+ ret
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From 6818c31c9bc4bbad5357f1de14bedf781e5b349e Mon Sep 17 00:00:00 2001
|
||||
From: Rich Felker <dalias@aerifal.cx>
|
||||
Date: Mon, 5 Aug 2019 19:57:07 -0400
|
||||
Subject: [PATCH] fix build regression in i386 asm for atan2, atan2f
|
||||
|
||||
commit f3ed8bfe8a82af1870ddc8696ed4cc1d5aa6b441 inadvertently removed
|
||||
labels that were still needed.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
src/math/i386/atan2.s | 2 +-
|
||||
src/math/i386/atan2f.s | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/math/i386/atan2.s b/src/math/i386/atan2.s
|
||||
index 1fa0524d..76b95f31 100644
|
||||
--- a/src/math/i386/atan2.s
|
||||
+++ b/src/math/i386/atan2.s
|
||||
@@ -11,4 +11,4 @@ atan2:
|
||||
jae 1f
|
||||
# subnormal x, return x with underflow
|
||||
fsts 4(%esp)
|
||||
- ret
|
||||
+1: ret
|
||||
diff --git a/src/math/i386/atan2f.s b/src/math/i386/atan2f.s
|
||||
index 0b264726..c9408a90 100644
|
||||
--- a/src/math/i386/atan2f.s
|
||||
+++ b/src/math/i386/atan2f.s
|
||||
@@ -13,4 +13,4 @@ atan2f:
|
||||
fld %st(0)
|
||||
fmul %st(1)
|
||||
fstps 4(%esp)
|
||||
- ret
|
||||
+1: ret
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
Damnit, this shit is broken !
|
||||
On other platforms, this is usually implied but not here !
|
||||
For some reasons, some OGG files would simply refuse to play without Mix_Init.
|
||||
Some games even need that you call Mix_Init twice in very specific places
|
||||
before sound works properly.
|
||||
|
||||
Also, we make sure that we are using the sound format.
|
||||
You never know, some could try to run it big-endian on our little endian toolchain !
|
||||
|
||||
Also, make sure to fix broken userspace...
|
||||
We really shouldn't allow weird frequencies on that console because it simply does not work.
|
||||
|
||||
Btw, this took me days before i eventually found these workarounds.
|
||||
I still couldn't find the cause for this but to be fair, i don't care
|
||||
anymore and i suspect it's a kernel/sound driver issue.
|
||||
|
||||
Gameblabla, 2018
|
||||
|
||||
diff -Nur SDL_mixer-1.2.13.orig/mixer.c SDL_mixer-1.2.13/mixer.c
|
||||
--- SDL_mixer-1.2.13.orig/mixer.c
|
||||
+++ SDL_mixer-1.2.13/mixer.c
|
||||
@@ -420,6 +420,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ if (format == AUDIO_S16 || format == AUDIO_S16MSB || format == AUDIO_S16SYS)
|
||||
+ format = AUDIO_S16LSB;
|
||||
+ Mix_Init(MIX_INIT_OGG|MIX_INIT_MOD);
|
||||
+
|
||||
/* Set the desired format and frequency */
|
||||
desired.freq = frequency;
|
||||
desired.format = format;
|
||||
@@ -476,6 +480,9 @@
|
||||
|
||||
audio_opened = 1;
|
||||
SDL_PauseAudio(0);
|
||||
+
|
||||
+ Mix_Init(MIX_INIT_OGG|MIX_INIT_MOD);
|
||||
+
|
||||
return(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user