summaryrefslogtreecommitdiff
path: root/libc/include/sys/procfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/include/sys/procfs.h')
-rw-r--r--libc/include/sys/procfs.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/libc/include/sys/procfs.h b/libc/include/sys/procfs.h
index 75a1e986e..a082e97e0 100644
--- a/libc/include/sys/procfs.h
+++ b/libc/include/sys/procfs.h
@@ -26,16 +26,24 @@
* SUCH DAMAGE.
*/
-#ifndef _SYS_PROCFS_H_
-#define _SYS_PROCFS_H_
+#pragma once
#include <sys/cdefs.h>
+#include <sys/ptrace.h>
#include <sys/ucontext.h>
__BEGIN_DECLS
+#if defined(__arm__)
+#define ELF_NGREG (sizeof(struct user_regs) / sizeof(elf_greg_t))
+#elif defined(__aarch64__)
+#define ELF_NGREG (sizeof(struct user_pt_regs) / sizeof(elf_greg_t))
+#else
+#define ELF_NGREG (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
+#endif
+
typedef unsigned long elf_greg_t;
-typedef elf_greg_t elf_gregset_t[NGREG];
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
typedef fpregset_t elf_fpregset_t;
@@ -58,5 +66,3 @@ struct elf_siginfo {
#define ELF_PRARGSZ 80
__END_DECLS
-
-#endif