mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-26 04:35:39 +03:00
86 lines
2.7 KiB
Diff
86 lines
2.7 KiB
Diff
diff --git a/3rdparty/hts_engine_API/lib/HTS_misc.c b/3rdparty/hts_engine_API/lib/HTS_misc.c
|
|
index b0d112d..6de47ee 100644
|
|
--- a/3rdparty/hts_engine_API/lib/HTS_misc.c
|
|
+++ b/3rdparty/hts_engine_API/lib/HTS_misc.c
|
|
@@ -247,8 +247,10 @@ size_t HTS_ftell(HTS_File * fp)
|
|
fgetpos((FILE *) fp->pointer, &pos);
|
|
#if defined(_WIN32) || defined(__CYGWIN__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__ANDROID__)
|
|
return (size_t) pos;
|
|
-#else
|
|
+#elif defined(__GLIBC__)
|
|
return (size_t) pos.__pos;
|
|
+#else
|
|
+ return (size_t) ftell(fp->pointer);
|
|
#endif /* _WIN32 || __CYGWIN__ || __APPLE__ || __ANDROID__ */
|
|
} else if (fp->type == HTS_DATA) {
|
|
HTS_Data *d = (HTS_Data *) fp->pointer;
|
|
diff --git a/3rdparty/iaxclient/lib/libiax2/src/iax.c b/3rdparty/iaxclient/lib/libiax2/src/iax.c
|
|
index 0bfd2e4..39eea99 100644
|
|
--- a/3rdparty/iaxclient/lib/libiax2/src/iax.c
|
|
+++ b/3rdparty/iaxclient/lib/libiax2/src/iax.c
|
|
@@ -75,7 +75,7 @@
|
|
// FlightGear: Modified to include FreeBSD
|
|
#if !defined(MACOSX) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
|
|
#include <malloc.h>
|
|
-#if !defined(SOLARIS)
|
|
+#if !defined(SOLARIS) && defined(__GLIBC__)
|
|
#include <error.h>
|
|
#endif
|
|
#endif
|
|
diff --git a/src/FDM/JSBSim/JSBSim.cpp b/src/FDM/JSBSim/JSBSim.cpp
|
|
index 87b5e6e..ea39ca6 100644
|
|
--- a/src/FDM/JSBSim/JSBSim.cpp
|
|
+++ b/src/FDM/JSBSim/JSBSim.cpp
|
|
@@ -287,7 +287,7 @@ int main(int argc, char* argv[])
|
|
_clearfp();
|
|
_controlfp(_controlfp(0, 0) & ~(_EM_INVALID | _EM_ZERODIVIDE | _EM_OVERFLOW),
|
|
_MCW_EM);
|
|
-#elif defined(__GNUC__) && !defined(sgi) && !defined(__APPLE__)
|
|
+#elif defined(__GLIBC__)
|
|
feenableexcept(FE_DIVBYZERO | FE_INVALID);
|
|
#endif
|
|
|
|
diff --git a/src/Main/bootstrap.cxx b/src/Main/bootstrap.cxx
|
|
index 550d028..db369ea 100644
|
|
--- a/src/Main/bootstrap.cxx
|
|
+++ b/src/Main/bootstrap.cxx
|
|
@@ -93,12 +93,16 @@ static void handleFPE(int);
|
|
static void
|
|
initFPE (bool fpeAbort)
|
|
{
|
|
+#if defined(__GLIBC__)
|
|
if (fpeAbort) {
|
|
int except = fegetexcept();
|
|
feenableexcept(except | FE_DIVBYZERO | FE_INVALID);
|
|
} else {
|
|
signal(SIGFPE, handleFPE);
|
|
}
|
|
+#else
|
|
+ signal(SIGFPE, handleFPE);
|
|
+#endif
|
|
}
|
|
|
|
static void handleFPE(int)
|
|
@@ -137,7 +141,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
|
|
}
|
|
#endif
|
|
|
|
-#if defined(__GNUC__)
|
|
+#if defined(__GLIBC__)
|
|
#include <execinfo.h>
|
|
#include <cxxabi.h>
|
|
void segfault_handler(int signo) {
|
|
@@ -182,7 +186,12 @@ void segfault_handler(int signo) {
|
|
free(fname);
|
|
free(list);
|
|
}
|
|
-
|
|
+ exit(1);
|
|
+}
|
|
+#else
|
|
+/* musl doesn't have execinfo */
|
|
+void segfault_handler(int signo) {
|
|
+ fprintf(stderr, "Error: caught signal %d:\n", signo);
|
|
exit(1);
|
|
}
|
|
#endif
|