summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/s390/sys
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-12-06 00:20:16 +0000
committerUlrich Drepper <drepper@redhat.com>2003-12-06 00:20:16 +0000
commit844a34a2ae4b493f86ed1e79c5992329b54a5511 (patch)
tree4c28fbeb9a311bd9acfa4a7a7d11f133ae516603 /sysdeps/unix/sysv/linux/s390/sys
parentdd17514ce7a10d785b977586224d31563888cb9d (diff)
Update.
2003-12-05 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/elf/setjmp.S (setjmp, __setjmp): Add END statements. * sysdeps/s390/s390-64/elf/setjmp.S (setjmp, __setjmp): Likewise. * sysdeps/s390/s390-32/sysdep.h (ENTRY): Add cfi_startproc directive. (END): Add cfi_endproc directive. * sysdeps/s390/s390-64/sysdep.h (ENTRY, END): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Remove cfi_startproc and cfi_endproc directive. * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise. * sysdeps/s390/s390-32/addmul_1.S (__mpn_addmul_1): Add CFI directives. * sysdeps/s390/s390-32/add_n.S (__mpn_add_n): Likewise. * sysdeps/s390/s390-64/add_n.S (__mpn_add_n): Likewise. * sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. * sysdeps/s390/s390-64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. * sysdeps/s390/s390-32/mul_1.S (__mpn_mul_1): Likewise. * sysdeps/s390/s390-32/sub_n.S (__mpn_sub_n): Likewise. * sysdeps/s390/s390-64/sub_n.S (__mpn_sub_n): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S (__mmap64): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S (__mmap): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add CFI directives. Move thread_start out of ENTRY/PSEUDO_END block to make backchain terminate. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise. * sysdeps/s390/s390-32/backtrace.c (trace_arg): New structure. (unwind_backtrace, unwind_getip): New variables. (init, __backchain_backtrace, backtrace_helper): New functions. (__backtrace): Use unwind info for backtrace instead of backchain walking if the unwind functions can be found. * sysdeps/s390/s390-64/backtrace.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file. * sysdeps/unix/sysv/linux/s390/sys/procfs.h (ELF_NGREG32): New #define. (elf_greg_t32, elf_gregset_t32, elf_fpregset_t32): New types. (elf_prstatus32, elf_prpsinfo32): New structures. (prgregset32_t, prfpregset32_t, prstatus32_t, prpsinfo32_t): New types. * scripts/data/c++-types-s390-linux-gnu.data: New file. * scripts/data/c++-types-s390x-linux-gnu.data: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/sys')
-rw-r--r--sysdeps/unix/sysv/linux/s390/sys/procfs.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/sys/procfs.h b/sysdeps/unix/sysv/linux/s390/sys/procfs.h
index e4aaa39fe1..9c6caacaea 100644
--- a/sysdeps/unix/sysv/linux/s390/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/s390/sys/procfs.h
@@ -118,6 +118,59 @@ typedef __pid_t lwpid_t;
typedef struct elf_prstatus prstatus_t;
typedef struct elf_prpsinfo prpsinfo_t;
+#if __WORDSIZE == 64
+
+/* Provide 32-bit variants so that BFD can read 32-bit
+ core files. */
+#define ELF_NGREG32 36
+typedef unsigned int elf_greg_t32;
+typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32];
+typedef elf_fpregset_t elf_fpregset_t32;
+
+struct elf_prstatus32
+ {
+ struct elf_siginfo pr_info; /* Info associated with signal. */
+ short int pr_cursig; /* Current signal. */
+ unsigned int pr_sigpend; /* Set of pending signals. */
+ unsigned int pr_sighold; /* Set of held signals. */
+ __pid_t pr_pid;
+ __pid_t pr_ppid;
+ __pid_t pr_pgrp;
+ __pid_t pr_sid;
+ struct
+ {
+ int tv_sec, tv_usec;
+ } pr_utime, /* User time. */
+ pr_stime, /* System time. */
+ pr_cutime, /* Cumulative user time. */
+ pr_cstime; /* Cumulative system time. */
+ elf_gregset_t32 pr_reg; /* GP registers. */
+ int pr_fpvalid; /* True if math copro being used. */
+ };
+
+struct elf_prpsinfo32
+ {
+ char pr_state; /* Numeric process state. */
+ char pr_sname; /* Char for pr_state. */
+ char pr_zomb; /* Zombie. */
+ char pr_nice; /* Nice val. */
+ unsigned int pr_flag; /* Flags. */
+ unsigned short int pr_uid;
+ unsigned short int pr_gid;
+ int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+ /* Lots missing */
+ char pr_fname[16]; /* Filename of executable. */
+ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
+ };
+
+typedef elf_gregset_t32 prgregset32_t;
+typedef elf_fpregset_t32 prfpregset32_t;
+
+typedef struct elf_prstatus32 prstatus32_t;
+typedef struct elf_prpsinfo32 prpsinfo32_t;
+
+#endif
+
__END_DECLS
#endif /* sys/procfs.h */