Signed-off-by: wzx <wuzx1226@qq.com> (cherry picked from commit f19799ed1cecb77b9f7f5b35f7b47e22b24b6979)
31 lines
1.2 KiB
Diff
Executable File
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
|