libgtop2/libgtop-2.40.0-sw.patch
wzx a519f24393 Add sw64 architecture
Signed-off-by: wzx <wuzx1226@qq.com>
(cherry picked from commit f19799ed1cecb77b9f7f5b35f7b47e22b24b6979)
2022-11-17 21:16:00 +08:00

31 lines
1.2 KiB
Diff
Executable File

diff -Naur libgtop-2.40.0.org/sysdeps/bsd/prockernel.c libgtop-2.40.0.sw/sysdeps/bsd/prockernel.c
--- libgtop-2.40.0.org/sysdeps/bsd/prockernel.c 2022-03-02 01:48:18.960000000 +0000
+++ libgtop-2.40.0.sw/sysdeps/bsd/prockernel.c 2022-03-02 01:54:03.870000000 +0000
@@ -33,7 +33,7 @@
#if (!defined __OpenBSD__) && (!defined __bsdi__)
#include <sys/user.h>
#endif
-#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) && \
+#if !defined(__bsdi__) && !(defined(__FreeBSD__) && (defined(__alpha__) || defined(__sw_64__))) && \
!defined(__NetBSD__)
#include <machine/pcb.h>
#endif
@@ -204,7 +204,7 @@
(char *) &pcb, sizeof (pcb)) == sizeof (pcb))
{
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-#ifndef __alpha__
+#if !defined __alpha__ && !defined __sw_64__
#if (__FreeBSD_version >= 300003) || defined(__FreeBSD_kernel__)
buf->kstk_esp = (guint64) pcb.pcb_esp;
buf->kstk_eip = (guint64) pcb.pcb_eip;
@@ -240,7 +240,7 @@
#elif defined(__sparc__)
buf->kstk_esp = (guint64) pcb.pcb_sp;
buf->kstk_eip = (guint64) pcb.pcb_pc;
-#elif defined(__alpha__)
+#elif defined(__alpha__) || defined(__sw_64__)
buf->kstk_esp = (guint64) pcb.pcb_context[9];
buf->kstk_eip = (guint64) pcb.pcb_context[8];
#else