Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes
@ 2019-07-16 18:26 voidlinux-github
  2019-07-16 19:25 ` voidlinux-github
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: voidlinux-github @ 2019-07-16 18:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 401 bytes --]

There is a new pull request by q66 against master on the void-packages repository

https://github.com/void-ppc/void-packages higan-elfv2
https://github.com/void-linux/void-packages/pull/13158

higan: add a patch to prevent elfv2 ppc64(le) crashes
I was able to load an SNES ROM without segfaulting after this.

A patch file from https://github.com/void-linux/void-packages/pull/13158.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-higan-elfv2-13158.patch --]
[-- Type: application/text/x-diff, Size: 1206 bytes --]

From 6d772d4fdbe022199470dcd0773e82de8b1f71a3 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 16 Jul 2019 20:18:55 +0200
Subject: [PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes

[ci skip]
---
 srcpkgs/higan/patches/ppc64-no-asm.patch | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 srcpkgs/higan/patches/ppc64-no-asm.patch

diff --git a/srcpkgs/higan/patches/ppc64-no-asm.patch b/srcpkgs/higan/patches/ppc64-no-asm.patch
new file mode 100644
index 00000000000..96287aaeb9b
--- /dev/null
+++ b/srcpkgs/higan/patches/ppc64-no-asm.patch
@@ -0,0 +1,16 @@
+Higan does not have matching assembly for ELFv2 ppc64 systems, so default
+to portable sjlj implementation before the bad ppc assembly can kick in.
+
+--- libco/libco.c
++++ libco/libco.c
+@@ -9,7 +9,9 @@
+     #include "amd64.c"
+   #elif defined(__arm__)
+     #include "arm.c"
+-  #elif defined(_ARCH_PPC)
++  #elif defined(_ARCH_PPC) && (!defined(__powerpc64__) || \
++                               !defined(_CALL_ELF) || (_CALL_ELF == 1))
++    /* this implementation is only for 32-bit ppc and ELFv1 ppc64 */
+     #include "ppc.c"
+   #elif defined(_WIN32)
+     #include "fiber.c"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: higan: add a patch to prevent elfv2 ppc64(le) crashes
  2019-07-16 18:26 [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes voidlinux-github
@ 2019-07-16 19:25 ` voidlinux-github
  2019-07-16 19:38 ` voidlinux-github
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: voidlinux-github @ 2019-07-16 19:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/13158#issuecomment-511952260
Comment:
Don't merge yet, I might have a better patch

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: higan: add a patch to prevent elfv2 ppc64(le) crashes
  2019-07-16 18:26 [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes voidlinux-github
  2019-07-16 19:25 ` voidlinux-github
@ 2019-07-16 19:38 ` voidlinux-github
  2019-07-17  2:31 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: voidlinux-github @ 2019-07-16 19:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 167 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/13158#issuecomment-511956418
Comment:
Ok, guess not. This one is fine

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] higan: add a patch to prevent elfv2 ppc64(le) crashes
  2019-07-16 18:26 [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes voidlinux-github
                   ` (2 preceding siblings ...)
  2019-07-17  2:31 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-07-17  2:31 ` voidlinux-github
  2019-07-18  5:38 ` [PR PATCH] [Merged]: " voidlinux-github
  4 siblings, 0 replies; 6+ messages in thread
From: voidlinux-github @ 2019-07-17  2:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

There is an updated pull request by q66 against master on the void-packages repository

https://github.com/void-ppc/void-packages higan-elfv2
https://github.com/void-linux/void-packages/pull/13158

higan: add a patch to prevent elfv2 ppc64(le) crashes
I was able to load an SNES ROM without segfaulting after this.

A patch file from https://github.com/void-linux/void-packages/pull/13158.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-higan-elfv2-13158.patch --]
[-- Type: application/text/x-diff, Size: 1509 bytes --]

From d6164528879d5cc68e8b13f35dc2ae11bdaae4d2 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 16 Jul 2019 20:18:55 +0200
Subject: [PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes

[ci skip]
---
 srcpkgs/higan/patches/ppc64-no-asm.patch | 26 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/higan/patches/ppc64-no-asm.patch

diff --git a/srcpkgs/higan/patches/ppc64-no-asm.patch b/srcpkgs/higan/patches/ppc64-no-asm.patch
new file mode 100644
index 00000000000..e2a58d5f3df
--- /dev/null
+++ b/srcpkgs/higan/patches/ppc64-no-asm.patch
@@ -0,0 +1,26 @@
+Higan's ppc code assumes big endian, so fall back to sjlj for that. ELFv2 big
+endian just needs a small patch to function.
+
+--- libco/libco.c
++++ libco/libco.c
+@@ -9,7 +9,7 @@
+     #include "amd64.c"
+   #elif defined(__arm__)
+     #include "arm.c"
+-  #elif defined(_ARCH_PPC)
++  #elif defined(_ARCH_PPC) && !defined(__LITTLE_ENDIAN__)
+     #include "ppc.c"
+   #elif defined(_WIN32)
+     #include "fiber.c"
+--- libco/ppc.c
++++ libco/ppc.c
+@@ -36,7 +36,8 @@ static thread_local cothread_t co_active_handle = 0;
+ 
+ /* whether function calls are indirect through a descriptor, or are directly to function */
+ #ifndef LIBCO_PPCDESC
+-  #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || LIBCO_PPC64)
++  #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || \
++      (LIBCO_PPC64 && (!defined(_CALL_ELF) || _CALL_ELF == 1)))
+     #define LIBCO_PPCDESC 1
+   #endif
+ #endif

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] higan: add a patch to prevent elfv2 ppc64(le) crashes
  2019-07-16 18:26 [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes voidlinux-github
  2019-07-16 19:25 ` voidlinux-github
  2019-07-16 19:38 ` voidlinux-github
@ 2019-07-17  2:31 ` voidlinux-github
  2019-07-17  2:31 ` voidlinux-github
  2019-07-18  5:38 ` [PR PATCH] [Merged]: " voidlinux-github
  4 siblings, 0 replies; 6+ messages in thread
From: voidlinux-github @ 2019-07-17  2:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

There is an updated pull request by q66 against master on the void-packages repository

https://github.com/void-ppc/void-packages higan-elfv2
https://github.com/void-linux/void-packages/pull/13158

higan: add a patch to prevent elfv2 ppc64(le) crashes
I was able to load an SNES ROM without segfaulting after this.

A patch file from https://github.com/void-linux/void-packages/pull/13158.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-higan-elfv2-13158.patch --]
[-- Type: application/text/x-diff, Size: 1509 bytes --]

From d6164528879d5cc68e8b13f35dc2ae11bdaae4d2 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 16 Jul 2019 20:18:55 +0200
Subject: [PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes

[ci skip]
---
 srcpkgs/higan/patches/ppc64-no-asm.patch | 26 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/higan/patches/ppc64-no-asm.patch

diff --git a/srcpkgs/higan/patches/ppc64-no-asm.patch b/srcpkgs/higan/patches/ppc64-no-asm.patch
new file mode 100644
index 00000000000..e2a58d5f3df
--- /dev/null
+++ b/srcpkgs/higan/patches/ppc64-no-asm.patch
@@ -0,0 +1,26 @@
+Higan's ppc code assumes big endian, so fall back to sjlj for that. ELFv2 big
+endian just needs a small patch to function.
+
+--- libco/libco.c
++++ libco/libco.c
+@@ -9,7 +9,7 @@
+     #include "amd64.c"
+   #elif defined(__arm__)
+     #include "arm.c"
+-  #elif defined(_ARCH_PPC)
++  #elif defined(_ARCH_PPC) && !defined(__LITTLE_ENDIAN__)
+     #include "ppc.c"
+   #elif defined(_WIN32)
+     #include "fiber.c"
+--- libco/ppc.c
++++ libco/ppc.c
+@@ -36,7 +36,8 @@ static thread_local cothread_t co_active_handle = 0;
+ 
+ /* whether function calls are indirect through a descriptor, or are directly to function */
+ #ifndef LIBCO_PPCDESC
+-  #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || LIBCO_PPC64)
++  #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || \
++      (LIBCO_PPC64 && (!defined(_CALL_ELF) || _CALL_ELF == 1)))
+     #define LIBCO_PPCDESC 1
+   #endif
+ #endif

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Merged]: higan: add a patch to prevent elfv2 ppc64(le) crashes
  2019-07-16 18:26 [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes voidlinux-github
                   ` (3 preceding siblings ...)
  2019-07-17  2:31 ` voidlinux-github
@ 2019-07-18  5:38 ` voidlinux-github
  4 siblings, 0 replies; 6+ messages in thread
From: voidlinux-github @ 2019-07-18  5:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 248 bytes --]

There's a merged pull request on the void-packages repository

higan: add a patch to prevent elfv2 ppc64(le) crashes
https://github.com/void-linux/void-packages/pull/13158
Description: I was able to load an SNES ROM without segfaulting after this.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-07-18  5:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-16 18:26 [PR PATCH] higan: add a patch to prevent elfv2 ppc64(le) crashes voidlinux-github
2019-07-16 19:25 ` voidlinux-github
2019-07-16 19:38 ` voidlinux-github
2019-07-17  2:31 ` [PR PATCH] [Updated] " voidlinux-github
2019-07-17  2:31 ` voidlinux-github
2019-07-18  5:38 ` [PR PATCH] [Merged]: " voidlinux-github

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).