diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-01-08 10:21:17 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-01-08 17:09:36 -0300 |
commit | 460860f457e2a889785c506e8c77d4a7dff24d3e (patch) | |
tree | 02d5f760aa8ebee152f3acc4ae564348d57d3528 /sysdeps/unix/sysv/linux/ia64/sys | |
parent | e171ad7d596878d0d4f21a0713d8dbb8d8788d7e (diff) | |
download | glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar.gz glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar.xz glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.zip |
Remove ia64-linux-gnu
Linux 6.7 removed ia64 from the official tree [1], following the general principle that a glibc port needs upstream support for the architecture in all the components it depends on (binutils, GCC, and the Linux kernel). Apart from the removal of sysdeps/ia64 and sysdeps/unix/sysv/linux/ia64, there are updates to various comments referencing ia64 for which removal of those references seemed appropriate. The configuration is removed from README and build-many-glibcs.py. The CONTRIBUTED-BY, elf/elf.h, manual/contrib.texi (the porting mention), *.po files, config.guess, and longlong.h are not changed. For Linux it allows cleanup some clone2 support on multiple files. The following bug can be closed as WONTFIX: BZ 22634 [2], BZ 14250 [3], BZ 21634 [4], BZ 10163 [5], BZ 16401 [6], and BZ 11585 [7]. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43ff221426d33db909f7159fdf620c3b052e2d1c [2] https://sourceware.org/bugzilla/show_bug.cgi?id=22634 [3] https://sourceware.org/bugzilla/show_bug.cgi?id=14250 [4] https://sourceware.org/bugzilla/show_bug.cgi?id=21634 [5] https://sourceware.org/bugzilla/show_bug.cgi?id=10163 [6] https://sourceware.org/bugzilla/show_bug.cgi?id=16401 [7] https://sourceware.org/bugzilla/show_bug.cgi?id=11585 Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64/sys')
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/io.h | 66 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/ptrace.h | 194 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/rse.h | 76 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/ucontext.h | 106 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/user.h | 47 |
5 files changed, 0 insertions, 489 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/sys/io.h b/sysdeps/unix/sysv/linux/ia64/sys/io.h deleted file mode 100644 index 5d6d45471f..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/sys/io.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (C) 1999-2024 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_IO_H -#define _SYS_IO_H 1 - -#include <features.h> - -__BEGIN_DECLS - -/* If TURN_ON is TRUE, request for permission to do direct i/o on the - port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O - permission off for that range. This call requires root privileges. - - Portability note: not all Linux platforms support this call. Most - platforms based on the PC I/O architecture probably will, however. - E.g., Linux/Alpha for Alpha PCs supports this. */ -extern int ioperm (unsigned long int __from, unsigned long int __num, - int __turn_on); - -/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to - access any I/O port is granted. This call requires root - privileges. */ -extern int iopl (int __level); - -extern unsigned int _inb (unsigned long int __port); -extern unsigned int _inb (unsigned long int __port); -extern unsigned int _inw (unsigned long int __port); -extern unsigned int _inl (unsigned long int __port); -extern void _outb (unsigned char __val, unsigned long int __port); -extern void _outw (unsigned short __val, unsigned long int __port); -extern void _outl (unsigned int __val, unsigned long int __port); - -#define inb _inb -#define inw _inw -#define inl _inl -#define outb _outb -#define outw _outw -#define outl _outl - -/* Access PCI space protected from machine checks. */ -extern int pciconfig_read (unsigned long int __bus, unsigned long int __dfn, - unsigned long int __off, unsigned long int __len, - unsigned char *__buf); - -extern int pciconfig_write (unsigned long int __bus, unsigned long int __dfn, - unsigned long int __off, unsigned long int __len, - unsigned char *__buf); - -__END_DECLS - -#endif /* _SYS_IO_H */ diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h deleted file mode 100644 index 773cd69861..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +++ /dev/null @@ -1,194 +0,0 @@ -/* `ptrace' debugger support interface. Linux/ia64 version. - Copyright (C) 2001-2024 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 <sys/ucontext.h> -#include <bits/sigcontext.h> -#include <bits/types.h> - -__BEGIN_DECLS - -/* 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 - - /* Execute process until next taken branch. */ - PTRACE_SINGLEBLOCK = 12, -#define PT_STEPBLOCK PTRACE_SINGLEBLOCK - - /* 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 registers (pt_all_user_regs) in one shot */ - PTRACE_GETREGS = 18, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all registers (pt_all_user_regs) in one shot */ - PTRACE_SETREGS = 19, -#define PT_SETREGS PTRACE_SETREGS - - /* Continue and stop at the next entry to or return from syscall. */ - PTRACE_SYSCALL = 24, -#define PT_SYSCALL PTRACE_SYSCALL - - /* 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 -}; - - -/* pt_all_user_regs is used for PTRACE_GETREGS/PTRACE_SETREGS. */ -struct __pt_all_user_regs - { - unsigned long nat; - unsigned long cr_iip; - unsigned long cfm; - unsigned long cr_ipsr; - unsigned long pr; - - unsigned long gr[32]; - unsigned long br[8]; - unsigned long ar[128]; - struct __ia64_fpreg fr[128]; - }; - -#include <bits/ptrace-shared.h> - -__END_DECLS - -#endif /* _SYS_PTRACE_H */ diff --git a/sysdeps/unix/sysv/linux/ia64/sys/rse.h b/sysdeps/unix/sysv/linux/ia64/sys/rse.h deleted file mode 100644 index 3b14565e85..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/sys/rse.h +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (C) 2001-2024 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 _ia64_rse_h -#define _ia64_rse_h - -#include <features.h> - -/* Register stack engine related helper functions. This file may be - used in applications, so be careful about the name-space and give - some consideration to non-GNU C compilers (though __inline is - fine). */ - -static __inline unsigned long -ia64_rse_slot_num (unsigned long *addr) -{ - return (((unsigned long) addr) >> 3) & 0x3f; -} - -/* Return TRUE if ADDR is the address of an RNAT slot. */ - -static __inline unsigned long -ia64_rse_is_rnat_slot (unsigned long *addr) -{ - return ia64_rse_slot_num (addr) == 0x3f; -} - -/* Returns the address of the RNAT slot that covers the slot at - address SLOT_ADDR. */ - -static __inline unsigned long * -ia64_rse_rnat_addr (unsigned long *slot_addr) -{ - return (unsigned long *) ((unsigned long) slot_addr | (0x3f << 3)); -} - -/* Calculate the number of registers in the dirty partition starting at - BSPSTORE with a size of DIRTY bytes. This isn't simply DIRTY - divided by eight because the 64th slot is used to store ar.rnat. */ - -static __inline unsigned long -ia64_rse_num_regs (unsigned long *bspstore, unsigned long *bsp) -{ - unsigned long slots = (bsp - bspstore); - - return slots - (ia64_rse_slot_num(bspstore) + slots)/0x40; -} - -/* The inverse of the above: given bspstore and the number of - registers, calculate ar.bsp. */ - -static __inline unsigned long * -ia64_rse_skip_regs (unsigned long *addr, long num_regs) -{ - long delta = ia64_rse_slot_num(addr) + num_regs; - - if (num_regs < 0) - delta -= 0x3e; - return addr + num_regs + delta/0x3f; -} - -#endif /* _ia64_rse_h */ diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h b/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h deleted file mode 100644 index 40eaee4d46..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h +++ /dev/null @@ -1,106 +0,0 @@ -/* Copyright (C) 1998-2024 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 - -/* - * These are here mostly for backwards compatibility with older Unices. - * IA-64 Linux does not distinguish between "mcontext_t" and - * "ucontext_t" as all the necessary info is inside the former. - */ - -struct __ia64_fpreg_mcontext - { - union - { - unsigned long __ctx(bits)[2]; - } __ctx(u); - } __attribute__ ((__aligned__ (16))); - -typedef struct - { - unsigned long int __ctx(sc_flags); - unsigned long int __ctx(sc_nat); - stack_t __ctx(sc_stack); - unsigned long int __ctx(sc_ip); - unsigned long int __ctx(sc_cfm); - unsigned long int __ctx(sc_um); - unsigned long int __ctx(sc_ar_rsc); - unsigned long int __ctx(sc_ar_bsp); - unsigned long int __ctx(sc_ar_rnat); - unsigned long int __ctx(sc_ar_ccv); - unsigned long int __ctx(sc_ar_unat); - unsigned long int __ctx(sc_ar_fpsr); - unsigned long int __ctx(sc_ar_pfs); - unsigned long int __ctx(sc_ar_lc); - unsigned long int __ctx(sc_pr); - unsigned long int __ctx(sc_br)[8]; - unsigned long int __ctx(sc_gr)[32]; - struct __ia64_fpreg_mcontext __ctx(sc_fr)[128]; - unsigned long int __ctx(sc_rbs_base); - unsigned long int __ctx(sc_loadrs); - unsigned long int __ctx(sc_ar25); - unsigned long int __ctx(sc_ar26); - unsigned long int __ctx(sc_rsvd)[12]; - unsigned long int __ctx(sc_mask); - } mcontext_t; - -#if __GNUC_PREREQ (3, 5) -# define _SC_GR0_OFFSET \ - __builtin_offsetof (mcontext_t, __ctx(sc_gr)[0]) -#elif defined __GNUC__ -# define _SC_GR0_OFFSET \ - (((char *) &((mcontext_t *) 0)->__ctx(sc_gr)[0]) - (char *) 0) -#else -# define _SC_GR0_OFFSET 0xc8 /* pray that this is correct... */ -#endif - -typedef struct ucontext_t - { - union - { - mcontext_t _mc; - struct - { - unsigned long _pad[_SC_GR0_OFFSET/8]; - struct ucontext_t *_link; /* this should overlay sc_gr[0] */ - } - _uc; - } - _u; - } -ucontext_t; - -#define uc_mcontext _u._mc -#define uc_sigmask _u._mc.__ctx(sc_mask) -#define uc_stack _u._mc.__ctx(sc_stack) -#define uc_link _u._uc._link - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/linux/ia64/sys/user.h b/sysdeps/unix/sysv/linux/ia64/sys/user.h deleted file mode 100644 index 7320cc60a6..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/sys/user.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 2002-2024 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 <features.h> -#include <sys/types.h> - -/* This definition comes directly from the kernel headers. If - anything changes in them this header has to be changed, too. */ - - -/* The definition in the kernel has the comment "XXX fix me". */ -#define EF_SIZE 3072 - - -struct user -{ - unsigned long int regs[EF_SIZE / 8 + 32]; /* Integer and fp regs. */ - size_t u_tsize; /* Text size (pages). */ - size_t u_dsize; /* Data size (pages). */ - size_t u_ssize; /* Stack size (pages). */ - unsigned long int start_code; /* Text starting address. */ - unsigned long int start_data; /* Data starting address. */ - unsigned long int start_stack; /* Stack starting address. */ - long int signal; /* Signal causing core dump. */ - struct regs *u_ar0; /* Help gdb find registers. */ - unsigned long int magic; /* Identifies a core file. */ - char u_comm[32]; /* User command name. */ -}; - -#endif /* sys/user.h */ |