aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/include/powerpc64le-linux-gnu/sys
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-06-04 05:14:21 +0200
committerGitHub <noreply@github.com>2025-06-04 05:14:21 +0200
commit3b2bef8a95190cb93f8edb6425dddbf845c3ad79 (patch)
treedc3bad477321bc47b93acc6d531cd3198c85d38a /lib/libc/include/powerpc64le-linux-gnu/sys
parentcd03a0a153aae3e0450b7878b67906fb41521d13 (diff)
parent63a9048baf64fd30c5e6d2c753bd7e584194bf7a (diff)
downloadzig-3b2bef8a95190cb93f8edb6425dddbf845c3ad79.tar.gz
zig-3b2bef8a95190cb93f8edb6425dddbf845c3ad79.zip
Merge pull request #24025 from alexrp/glibc-deduplication
`libc`: Merge header directories for glibc and NetBSD libc where applicable
Diffstat (limited to 'lib/libc/include/powerpc64le-linux-gnu/sys')
-rw-r--r--lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h289
-rw-r--r--lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h200
-rw-r--r--lib/libc/include/powerpc64le-linux-gnu/sys/user.h40
3 files changed, 0 insertions, 529 deletions
diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h b/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h
deleted file mode 100644
index 99cf115cb6..0000000000
--- a/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h
+++ /dev/null
@@ -1,289 +0,0 @@
-/* `ptrace' debugger support interface. Linux/PowerPC version.
- Copyright (C) 2001-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_PTRACE_H
-#define _SYS_PTRACE_H 1
-
-#include <features.h>
-#include <bits/types.h>
-
-__BEGIN_DECLS
-
-#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
-/* Do not let Linux headers macros interfere with enum __ptrace_request. */
-# undef PTRACE_ATTACH
-# undef PTRACE_CONT
-# undef PTRACE_DETACH
-# undef PTRACE_GET_DEBUGREG
-# undef PTRACE_GETEVENTMSG
-# undef PTRACE_GETEVRREGS
-# undef PTRACE_GETFPREGS
-# undef PTRACE_GETREGS
-# undef PTRACE_GETREGS64
-# undef PTRACE_GETREGSET
-# undef PTRACE_GET_RSEQ_CONFIGURATION
-# undef PTRACE_GETSIGINFO
-# undef PTRACE_GETSIGMASK
-# undef PTRACE_GET_SYSCALL_INFO
-# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
-# undef PTRACE_GETVRREGS
-# undef PTRACE_GETVSRREGS
-# undef PTRACE_INTERRUPT
-# undef PTRACE_KILL
-# undef PTRACE_LISTEN
-# undef PTRACE_PEEKDATA
-# undef PTRACE_PEEKSIGINFO
-# undef PTRACE_PEEKTEXT
-# undef PTRACE_POKEDATA
-# undef PTRACE_POKETEXT
-# undef PTRACE_SECCOMP_GET_FILTER
-# undef PTRACE_SECCOMP_GET_METADATA
-# undef PTRACE_SEIZE
-# undef PTRACE_SET_DEBUGREG
-# undef PTRACE_SETEVRREGS
-# undef PTRACE_SETFPREGS
-# undef PTRACE_SETOPTIONS
-# undef PTRACE_SETREGS
-# undef PTRACE_SETREGS64
-# undef PTRACE_SETREGSET
-# undef PTRACE_SETSIGINFO
-# undef PTRACE_SETSIGMASK
-# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
-# undef PTRACE_SETVRREGS
-# undef PTRACE_SETVSRREGS
-# undef PTRACE_SINGLEBLOCK
-# undef PTRACE_SINGLESTEP
-# undef PTRACE_SYSCALL
-# undef PTRACE_SYSCALL_INFO_NONE
-# undef PTRACE_SYSCALL_INFO_ENTRY
-# undef PTRACE_SYSCALL_INFO_EXIT
-# undef PTRACE_SYSCALL_INFO_SECCOMP
-# undef PTRACE_SYSEMU
-# undef PTRACE_SYSEMU_SINGLESTEP
-# undef PTRACE_TRACEME
-#endif
-
-/* Type of the REQUEST argument to `ptrace.' */
-enum __ptrace_request
-{
- /* Indicate that the process making this request should be traced.
- All signals received by this process can be intercepted by its
- parent, and its parent can use the other `ptrace' requests. */
- PTRACE_TRACEME = 0,
-#define PT_TRACE_ME PTRACE_TRACEME
-
- /* Return the word in the process's text space at address ADDR. */
- PTRACE_PEEKTEXT = 1,
-#define PT_READ_I PTRACE_PEEKTEXT
-
- /* Return the word in the process's data space at address ADDR. */
- PTRACE_PEEKDATA = 2,
-#define PT_READ_D PTRACE_PEEKDATA
-
- /* Return the word in the process's user area at offset ADDR. */
- PTRACE_PEEKUSER = 3,
-#define PT_READ_U PTRACE_PEEKUSER
-
- /* Write the word DATA into the process's text space at address ADDR. */
- PTRACE_POKETEXT = 4,
-#define PT_WRITE_I PTRACE_POKETEXT
-
- /* Write the word DATA into the process's data space at address ADDR. */
- PTRACE_POKEDATA = 5,
-#define PT_WRITE_D PTRACE_POKEDATA
-
- /* Write the word DATA into the process's user area at offset ADDR. */
- PTRACE_POKEUSER = 6,
-#define PT_WRITE_U PTRACE_POKEUSER
-
- /* Continue the process. */
- PTRACE_CONT = 7,
-#define PT_CONTINUE PTRACE_CONT
-
- /* Kill the process. */
- PTRACE_KILL = 8,
-#define PT_KILL PTRACE_KILL
-
- /* Single step the process. */
- PTRACE_SINGLESTEP = 9,
-#define PT_STEP PTRACE_SINGLESTEP
-
- /* Get all general purpose registers used by a process. */
- PTRACE_GETREGS = 12,
-#define PT_GETREGS PTRACE_GETREGS
-
- /* Set all general purpose registers used by a process. */
- PTRACE_SETREGS = 13,
-#define PT_SETREGS PTRACE_SETREGS
-
- /* Get all floating point registers used by a process. */
- PTRACE_GETFPREGS = 14,
-#define PT_GETFPREGS PTRACE_GETFPREGS
-
- /* Set all floating point registers used by a process. */
- PTRACE_SETFPREGS = 15,
-#define PT_SETFPREGS PTRACE_SETFPREGS
-
- /* Attach to a process that is already running. */
- PTRACE_ATTACH = 16,
-#define PT_ATTACH PTRACE_ATTACH
-
- /* Detach from a process attached to with PTRACE_ATTACH. */
- PTRACE_DETACH = 17,
-#define PT_DETACH PTRACE_DETACH
-
- /* Get all altivec registers used by a process. */
- PTRACE_GETVRREGS = 18,
-#define PT_GETVRREGS PTRACE_GETVRREGS
-
- /* Set all altivec registers used by a process. */
- PTRACE_SETVRREGS = 19,
-#define PT_SETVRREGS PTRACE_SETVRREGS
-
- /* Get all SPE registers used by a process. */
- PTRACE_GETEVRREGS = 20,
-#define PT_GETEVRREGS PTRACE_GETEVRREGS
-
- /* Set all SPE registers used by a process. */
- PTRACE_SETEVRREGS = 21,
-#define PT_SETEVRREGS PTRACE_SETEVRREGS
-
- /* Same as PTRACE_GETREGS except a 32-bit process will obtain
- the full 64-bit registers. Implemented by 64-bit kernels only. */
- PTRACE_GETREGS64 = 22,
-#define PT_GETREGS64 PTRACE_GETREGS64
-
- /* Same as PTRACE_SETREGS except a 32-bit process will set
- the full 64-bit registers. Implemented by 64-bit kernels only. */
- PTRACE_SETREGS64 = 23,
-#define PT_SETREGS64 PTRACE_SETREGS64
-
- /* Continue and stop at the next entry to or return from syscall. */
- PTRACE_SYSCALL = 24,
-#define PT_SYSCALL PTRACE_SYSCALL
-
- /* Get a debug register of a process. */
- PTRACE_GET_DEBUGREG = 25,
-#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
-
- /* Set a debug register of a process. */
- PTRACE_SET_DEBUGREG = 26,
-#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
-
- /* Get the first 32 VSX registers of a process. */
- PTRACE_GETVSRREGS = 27,
-#define PT_GETVSRREGS PTRACE_GETVSRREGS
-
- /* Set the first 32 VSX registers of a process. */
- PTRACE_SETVSRREGS = 28,
-#define PT_SETVSRREGS PTRACE_SETVSRREGS
-
- /* Continue and stop at the next syscall, it will not be executed. */
- PTRACE_SYSEMU = 29,
-#define PT_SYSEMU PTRACE_SYSEMU
-
- /* Single step the process, the next syscall will not be executed. */
- PTRACE_SYSEMU_SINGLESTEP = 30,
-#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
-
- /* Execute process until next taken branch. */
- PTRACE_SINGLEBLOCK = 256,
-#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
-
- /* Set ptrace filter options. */
- PTRACE_SETOPTIONS = 0x4200,
-#define PT_SETOPTIONS PTRACE_SETOPTIONS
-
- /* Get last ptrace message. */
- PTRACE_GETEVENTMSG = 0x4201,
-#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
-
- /* Get siginfo for process. */
- PTRACE_GETSIGINFO = 0x4202,
-#define PT_GETSIGINFO PTRACE_GETSIGINFO
-
- /* Set new siginfo for process. */
- PTRACE_SETSIGINFO = 0x4203,
-#define PT_SETSIGINFO PTRACE_SETSIGINFO
-
- /* Get register content. */
- PTRACE_GETREGSET = 0x4204,
-#define PTRACE_GETREGSET PTRACE_GETREGSET
-
- /* Set register content. */
- PTRACE_SETREGSET = 0x4205,
-#define PTRACE_SETREGSET PTRACE_SETREGSET
-
- /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
- signal or group stop state. */
- PTRACE_SEIZE = 0x4206,
-#define PTRACE_SEIZE PTRACE_SEIZE
-
- /* Trap seized tracee. */
- PTRACE_INTERRUPT = 0x4207,
-#define PTRACE_INTERRUPT PTRACE_INTERRUPT
-
- /* Wait for next group event. */
- PTRACE_LISTEN = 0x4208,
-#define PTRACE_LISTEN PTRACE_LISTEN
-
- /* Retrieve siginfo_t structures without removing signals from a queue. */
- PTRACE_PEEKSIGINFO = 0x4209,
-#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
-
- /* Get the mask of blocked signals. */
- PTRACE_GETSIGMASK = 0x420a,
-#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
-
- /* Change the mask of blocked signals. */
- PTRACE_SETSIGMASK = 0x420b,
-#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
-
- /* Get seccomp BPF filters. */
- PTRACE_SECCOMP_GET_FILTER = 0x420c,
-#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
-
- /* Get seccomp BPF filter metadata. */
- PTRACE_SECCOMP_GET_METADATA = 0x420d,
-#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
-
- /* Get information about system call. */
- PTRACE_GET_SYSCALL_INFO = 0x420e,
-#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
-
- /* Get rseq configuration information. */
- PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
-#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
-
- /* Set configuration for syscall user dispatch. */
- PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
-#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
- PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
-
- /* Get configuration for syscall user dispatch. */
- PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
-#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
- PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
-};
-
-
-#include <bits/ptrace-shared.h>
-
-__END_DECLS
-
-#endif /* _SYS_PTRACE_H */ \ No newline at end of file
diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h b/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h
deleted file mode 100644
index 7d354e529b..0000000000
--- a/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/* Copyright (C) 1998-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H 1
-
-#include <features.h>
-
-#include <bits/types/sigset_t.h>
-#include <bits/types/stack_t.h>
-
-
-#ifdef __USE_MISC
-# define __ctx(fld) fld
-#else
-# define __ctx(fld) __ ## fld
-#endif
-
-struct __ctx(pt_regs);
-
-#if __WORDSIZE == 32
-
-/* Number of general registers. */
-# define __NGREG 48
-# ifdef __USE_MISC
-# define NGREG __NGREG
-# endif
-
-/* Container for all general registers. */
-typedef unsigned long gregset_t[__NGREG];
-
-/* Container for floating-point registers and status */
-typedef struct _libc_fpstate
-{
- double __ctx(fpregs)[32];
- double __ctx(fpscr);
- unsigned int _pad[2];
-} fpregset_t;
-
-/* Container for Altivec/VMX registers and status.
- Needs to be aligned on a 16-byte boundary. */
-typedef struct _libc_vrstate
-{
- unsigned int __ctx(vrregs)[32][4];
- unsigned int __ctx(vrsave);
- unsigned int _pad[2];
- unsigned int __ctx(vscr);
-} vrregset_t;
-
-/* Context to describe whole processor state. */
-typedef struct
-{
- gregset_t __ctx(gregs);
- fpregset_t __ctx(fpregs);
- vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
-} mcontext_t;
-
-#else
-
-/* For 64-bit kernels with Altivec support, a machine context is exactly
- * a sigcontext. For older kernel (without Altivec) the sigcontext matches
- * the mcontext upto but not including the v_regs field. For kernels that
- * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
- * v_regs field may not exist and should not be referenced. The v_regs field
- * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
- * is set in AT_HWCAP. */
-
-/* Number of general registers. */
-# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
-# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
-# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
- split vectors */
-# ifdef __USE_MISC
-# define NGREG __NGREG
-# define NFPREG __NFPREG
-# define NVRREG __NVRREG
-# endif
-
-typedef unsigned long gregset_t[__NGREG];
-typedef double fpregset_t[__NFPREG];
-
-/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits
- but can only be copied to/from a 128-bit vector register. So we allocated
- a whole quadword speedup save/restore. */
-typedef struct _libc_vscr
-{
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
- unsigned int __pad[3];
- unsigned int __ctx(vscr_word);
-#else
- unsigned int __ctx(vscr_word);
- unsigned int __pad[3];
-#endif
-} vscr_t;
-
-/* Container for Altivec/VMX registers and status.
- Must to be aligned on a 16-byte boundary. */
-typedef struct _libc_vrstate
-{
- unsigned int __ctx(vrregs)[32][4];
- vscr_t __ctx(vscr);
- unsigned int __ctx(vrsave);
- unsigned int __pad[3];
-} vrregset_t __attribute__((__aligned__(16)));
-
-typedef struct {
- unsigned long __glibc_reserved[4];
- int __ctx(signal);
- int __pad0;
- unsigned long __ctx(handler);
- unsigned long __ctx(oldmask);
- struct __ctx(pt_regs) *__ctx(regs);
- gregset_t __ctx(gp_regs);
- fpregset_t __ctx(fp_regs);
-/*
- * To maintain compatibility with current implementations the sigcontext is
- * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
- * followed by an unstructured (vmx_reserve) field of 69 doublewords. This
- * allows the array of vector registers to be quadword aligned independent of
- * the alignment of the containing sigcontext or ucontext. It is the
- * responsibility of the code setting the sigcontext to set this pointer to
- * either NULL (if this processor does not support the VMX feature) or the
- * address of the first quadword within the allocated (vmx_reserve) area.
- *
- * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
- * an array of 34 quadword entries. The entries with
- * indexes 0-31 contain the corresponding vector registers. The entry with
- * index 32 contains the vscr as the last word (offset 12) within the
- * quadword. This allows the vscr to be stored as either a quadword (since
- * it must be copied via a vector register to/from storage) or as a word.
- * The entry with index 33 contains the vrsave as the first word (offset 0)
- * within the quadword.
- */
- vrregset_t *__ctx(v_regs);
- long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
-} mcontext_t;
-
-#endif
-
-/* Userlevel context. */
-typedef struct ucontext_t
- {
- unsigned long int __ctx(uc_flags);
- struct ucontext_t *uc_link;
- stack_t uc_stack;
-#if __WORDSIZE == 32
- /*
- * These fields are set up this way to maximize source and
- * binary compatibility with code written for the old
- * ucontext_t definition, which didn't include space for the
- * registers.
- *
- * Different versions of the kernel have stored the registers on
- * signal delivery at different offsets from the ucontext struct.
- * Programs should thus use the uc_mcontext.uc_regs pointer to
- * find where the registers are actually stored. The registers
- * will be stored within the ucontext_t struct but not necessarily
- * at a fixed address. As a side-effect, this lets us achieve
- * 16-byte alignment for the register storage space if the
- * Altivec registers are to be saved, without requiring 16-byte
- * alignment on the whole ucontext_t.
- *
- * The uc_mcontext.regs field is included for source compatibility
- * with programs written against the older ucontext_t definition,
- * and its name should therefore not change. The uc_pad field
- * is for binary compatibility with programs compiled against the
- * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
- * are at the same offset as previously.
- */
- int __glibc_reserved1[7];
- union __ctx(uc_regs_ptr) {
- struct __ctx(pt_regs) *__ctx(regs);
- mcontext_t *__ctx(uc_regs);
- } uc_mcontext;
- sigset_t uc_sigmask;
- /* last for extensibility */
- char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12];
-#else /* 64-bit */
- sigset_t uc_sigmask;
- mcontext_t uc_mcontext; /* last for extensibility */
-#endif
- } ucontext_t;
-
-#undef __ctx
-
-#endif /* sys/ucontext.h */ \ No newline at end of file
diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/user.h b/lib/libc/include/powerpc64le-linux-gnu/sys/user.h
deleted file mode 100644
index 19396e1bc3..0000000000
--- a/lib/libc/include/powerpc64le-linux-gnu/sys/user.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1998-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_USER_H
-
-#define _SYS_USER_H 1
-#include <stddef.h>
-#include <features.h>
-
-#include <asm/ptrace.h>
-
-struct user {
- struct pt_regs regs; /* entire machine state */
- size_t u_tsize; /* text size (pages) */
- size_t u_dsize; /* data size (pages) */
- size_t u_ssize; /* stack size (pages) */
- unsigned long start_code; /* text starting address */
- unsigned long start_data; /* data starting address */
- unsigned long start_stack; /* stack starting address */
- long int signal; /* signal causing core dump */
- struct regs * u_ar0; /* help gdb find registers */
- unsigned long magic; /* identifies a core file */
- char u_comm[32]; /* user command name */
-};
-
-#endif /* sys/user.h */ \ No newline at end of file