From ca557f44a0548248b83712ade658eefe9c976923 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sun, 24 Feb 2002 22:31:19 +0000 Subject: [PATCH] s/Linux/.../ Fix PR gdb/378. --- gdb/ChangeLog | 3 +++ gdb/i386-linux-tdep.c | 34 ++++++++++++++++++---------------- gdb/i386v-nat.c | 16 ++++++++-------- gdb/ia64-linux-nat.c | 6 ++++-- gdb/ia64-tdep.c | 28 +++++++++++++++------------- gdb/infrun.c | 15 ++++++++------- gdb/linux-proc.c | 3 ++- gdb/ppc-linux-tdep.c | 23 ++++++++++++----------- gdb/proc-service.c | 7 ++++--- gdb/s390-tdep.c | 20 ++++++++++++-------- 10 files changed, 86 insertions(+), 69 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f11564c59ad..d64fe17b137 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -4,6 +4,9 @@ with either ``GNU/Linux'' or ``Linux kernel''. Update copyright. * m68klinux-nat.c, sparc-linux-nat.c, x86-64-linux-nat.c: Ditto. * x86-64-linux-tdep.c, gregset.h, gdb_wait.h: Ditto. + * ia64-linux-nat.c, infrun.c, linux-proc.c: Ditto. + * proc-service.c, i386-linux-tdep.c, ppc-linux-tdep.c: Ditto. + * s390-tdep.c: Ditto. Fix PR gdb/378. 2002-02-23 Andrew Cagney diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c index a8bc52f66f2..d67c01c2d59 100644 --- a/gdb/i386-linux-tdep.c +++ b/gdb/i386-linux-tdep.c @@ -1,5 +1,6 @@ -/* Target-dependent code for Linux running on i386's, for GDB. - Copyright 2000, 2001 Free Software Foundation, Inc. +/* Target-dependent code for GNU/Linux running on i386's, for GDB. + + Copyright 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -67,12 +68,12 @@ i386_linux_register_raw_size (int reg) /* Recognizing signal handler frames. */ -/* Linux has two flavors of signals. Normal signal handlers, and +/* GNU/Linux has two flavors of signals. Normal signal handlers, and "realtime" (RT) signals. The RT signals can provide additional information to the signal handler if the SA_SIGINFO flag is set when establishing a signal handler using `sigaction'. It is not - unlikely that future versions of Linux will support SA_SIGINFO for - normal signals too. */ + unlikely that future versions of GNU/Linux will support SA_SIGINFO + for normal signals too. */ /* When the i386 Linux kernel calls a signal handler and the SA_RESTORER flag isn't set, the return address points to a bit of @@ -221,7 +222,7 @@ i386_linux_rt_sigtramp_start (CORE_ADDR pc) return pc; } -/* Return whether PC is in a Linux sigtramp routine. */ +/* Return whether PC is in a GNU/Linux sigtramp routine. */ int i386_linux_in_sigtramp (CORE_ADDR pc, char *name) @@ -233,8 +234,8 @@ i386_linux_in_sigtramp (CORE_ADDR pc, char *name) || i386_linux_rt_sigtramp_start (pc) != 0); } -/* Assuming FRAME is for a Linux sigtramp routine, return the address - of the associated sigcontext structure. */ +/* Assuming FRAME is for a GNU/Linux sigtramp routine, return the + address of the associated sigcontext structure. */ CORE_ADDR i386_linux_sigcontext_addr (struct frame_info *frame) @@ -285,8 +286,8 @@ i386_linux_sigcontext_addr (struct frame_info *frame) /* Offset to saved PC in sigcontext, from . */ #define LINUX_SIGCONTEXT_PC_OFFSET (56) -/* Assuming FRAME is for a Linux sigtramp routine, return the saved - program counter. */ +/* Assuming FRAME is for a GNU/Linux sigtramp routine, return the + saved program counter. */ static CORE_ADDR i386_linux_sigtramp_saved_pc (struct frame_info *frame) @@ -299,8 +300,8 @@ i386_linux_sigtramp_saved_pc (struct frame_info *frame) /* Offset to saved SP in sigcontext, from . */ #define LINUX_SIGCONTEXT_SP_OFFSET (28) -/* Assuming FRAME is for a Linux sigtramp routine, return the saved - stack pointer. */ +/* Assuming FRAME is for a GNU/Linux sigtramp routine, return the + saved stack pointer. */ static CORE_ADDR i386_linux_sigtramp_saved_sp (struct frame_info *frame) @@ -448,7 +449,7 @@ skip_hurd_resolver (CORE_ADDR pc) It's kind of gross to do all these checks every time we're called, since they don't change once the executable has gotten started. But this is only a temporary hack --- upcoming versions - of Linux will provide a portable, efficient interface for + of GNU/Linux will provide a portable, efficient interface for debugging programs that use shared libraries. */ struct objfile *objfile; @@ -488,11 +489,12 @@ i386_linux_skip_solib_resolver (CORE_ADDR pc) } /* Fetch (and possibly build) an appropriate link_map_offsets - structure for native Linux/x86 targets using the struct offsets + structure for native GNU/Linux x86 targets using the struct offsets defined in link.h (but without actual reference to that file). - This makes it possible to access Linux/x86 shared libraries from a - GDB that was not built on an Linux/x86 host (for cross debugging). */ + This makes it possible to access GNU/Linux x86 shared libraries + from a GDB that was not built on an GNU/Linux x86 host (for cross + debugging). */ struct link_map_offsets * i386_linux_svr4_fetch_link_map_offsets (void) diff --git a/gdb/i386v-nat.c b/gdb/i386v-nat.c index 3f75085e1d4..672ddfbf808 100644 --- a/gdb/i386v-nat.c +++ b/gdb/i386v-nat.c @@ -1,6 +1,7 @@ /* Intel 386 native support for SYSV systems (pre-SVR4). - Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, - 2000 Free Software Foundation, Inc. + + Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1998, + 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -46,12 +47,11 @@ #include -/* FIXME: The following used to be just "#include ", but - * the the Linux 2.1.x kernel and glibc 2.0.x are not in sync; including - * will result in an error. With luck, these losers - * will get their act together and we can trash this hack in the near future. - * --jsm 1998-10-21 - */ +/* FIXME: 1998-10-21/jsm: The following used to be just "#include + ", but the the Linux kernel (version 2.1.x) and + glibc 2.0.x are not in sync; including will result + in an error. With luck, these losers will get their act together + and we can trash this hack in the near future. */ #ifdef TARGET_HAS_HARDWARE_WATCHPOINTS #ifdef HAVE_ASM_DEBUGREG_H diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c index 338adbe44ac..ff0557b87e3 100644 --- a/gdb/ia64-linux-nat.c +++ b/gdb/ia64-linux-nat.c @@ -1,5 +1,7 @@ -/* Functions specific to running gdb native on IA-64 running Linux. - Copyright 1999, 2000, 2001 Free Software Foundation, Inc. +/* Functions specific to running gdb native on IA-64 running + GNU/Linux. + + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 8b027e01ad3..7ca7fe71a4d 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for the IA-64 for GDB, the GNU debugger. - Copyright 1999, 2000, 2001 - Free Software Foundation, Inc. + + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -1990,7 +1990,7 @@ ia64_pop_frame_regular (struct frame_info *frame) size of the frame and the size of the locals (both wrt the frame that we're going back to). This seems kind of strange, especially since it seems like we ought to be subtracting the - size of the locals... and we should; but the linux kernel + size of the locals... and we should; but the Linux kernel wants bsp to be set at the end of all used registers. It's likely that this code will need to be revised to accomodate other operating systems. */ @@ -2072,10 +2072,11 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { os_ident = elf_elfheader (info.abfd)->e_ident[EI_OSABI]; - /* If os_ident is 0, it is not necessarily the case that we're on a - SYSV system. (ELFOSABI_NONE is defined to be 0.) GNU/Linux uses - a note section to record OS/ABI info, but leaves e_ident[EI_OSABI] - zero. So we have to check for note sections too. */ + /* If os_ident is 0, it is not necessarily the case that we're + on a SYSV system. (ELFOSABI_NONE is defined to be 0.) + GNU/Linux uses a note section to record OS/ABI info, but + leaves e_ident[EI_OSABI] zero. So we have to check for note + sections too. */ if (os_ident == 0) { bfd_map_over_sections (info.abfd, @@ -2112,12 +2113,13 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) else tdep->sigcontext_register_address = 0; - /* We know that Linux won't have to resort to the native_find_global_pointer - hackery. But that's the only one we know about so far, so if - native_find_global_pointer is set to something non-zero, then use - it. Otherwise fall back to using generic_elf_find_global_pointer. - This arrangement should (in theory) allow us to cross debug Linux - binaries from an AIX machine. */ + /* We know that GNU/Linux won't have to resort to the + native_find_global_pointer hackery. But that's the only one we + know about so far, so if native_find_global_pointer is set to + something non-zero, then use it. Otherwise fall back to using + generic_elf_find_global_pointer. This arrangement should (in + theory) allow us to cross debug GNU/Linux binaries from an AIX + machine. */ if (os_ident == ELFOSABI_LINUX) tdep->find_global_pointer = generic_elf_find_global_pointer; else if (native_find_global_pointer != 0) diff --git a/gdb/infrun.c b/gdb/infrun.c index 1efe87b9367..6ae8f7c468b 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1,4 +1,5 @@ -/* Target-struct-independent code to start (run) and stop an inferior process. +/* Target-struct-independent code to start (run) and stop an inferior + process. Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software @@ -142,12 +143,12 @@ static int may_follow_exec = MAY_FOLLOW_EXEC; The simple approach is to single-step until control leaves the dynamic linker. - However, on some systems (e.g., Red Hat Linux 5.2) the dynamic - linker calls functions in the shared C library, so you can't tell - from the PC alone whether the dynamic linker is still running. In - this case, we use a step-resume breakpoint to get us past the - dynamic linker, as if we were using "next" to step over a function - call. + However, on some systems (e.g., Red Hat's 5.2 distribution) the + dynamic linker calls functions in the shared C library, so you + can't tell from the PC alone whether the dynamic linker is still + running. In this case, we use a step-resume breakpoint to get us + past the dynamic linker, as if we were using "next" to step over a + function call. IN_SOLIB_DYNSYM_RESOLVE_CODE says whether we're in the dynamic linker code or not. Normally, this means we single-step. However, diff --git a/gdb/linux-proc.c b/gdb/linux-proc.c index 4a565731835..d6f88d33ce0 100644 --- a/gdb/linux-proc.c +++ b/gdb/linux-proc.c @@ -1,4 +1,5 @@ -/* Linux-specific methods for using the /proc file system. +/* GNU/Linux specific methods for using the /proc file system. + Copyright 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 5c1fa2807c4..b12cffd5971 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -1,7 +1,7 @@ /* Target-dependent code for GDB, the GNU debugger. - Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 2000, 2001 Free Software Foundation, Inc. + Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, + 1997, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -36,7 +36,7 @@ #include "ppc-tdep.h" /* The following two instructions are used in the signal trampoline - code on linux/ppc */ + code on GNU/Linux PPC. */ #define INSTR_LI_R0_0x7777 0x38007777 #define INSTR_SC 0x44000002 @@ -105,11 +105,11 @@ static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc); /* Determine if pc is in a signal trampoline... - Ha! That's not what this does at all. wait_for_inferior in infrun.c - calls IN_SIGTRAMP in order to detect entry into a signal trampoline - just after delivery of a signal. But on linux, signal trampolines - are used for the return path only. The kernel sets things up so that - the signal handler is called directly. + Ha! That's not what this does at all. wait_for_inferior in + infrun.c calls IN_SIGTRAMP in order to detect entry into a signal + trampoline just after delivery of a signal. But on GNU/Linux, + signal trampolines are used for the return path only. The kernel + sets things up so that the signal handler is called directly. If we use in_sigtramp2() in place of in_sigtramp() (see below) we'll (often) end up with stop_pc in the trampoline and prev_pc in @@ -773,11 +773,12 @@ ppc_linux_memory_remove_breakpoint (CORE_ADDR addr, char *contents_cache) } /* Fetch (and possibly build) an appropriate link_map_offsets - structure for Linux/PPC targets using the struct offsets + structure for GNU/Linux PPC targets using the struct offsets defined in link.h (but without actual reference to that file). - This makes it possible to access Linux/PPC shared libraries from a - GDB that was not built on an Linux/PPC host (for cross debugging). */ + This makes it possible to access GNU/Linux PPC shared libraries + from a GDB that was not built on an GNU/Linux PPC host (for cross + debugging). */ struct link_map_offsets * ppc_linux_svr4_fetch_link_map_offsets (void) diff --git a/gdb/proc-service.c b/gdb/proc-service.c index 8d63e982196..d7cd1aaf91b 100644 --- a/gdb/proc-service.c +++ b/gdb/proc-service.c @@ -1,5 +1,6 @@ /* implementation. - Copyright 1999, 2000 Free Software Foundation, Inc. + + Copyright 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -294,8 +295,8 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, return PS_OK; } -/* Return overall process id of the target PH. - Special for Linux -- not used on Solaris. */ +/* Return overall process id of the target PH. Special for GNU/Linux + -- not used on Solaris. */ pid_t ps_getpid (gdb_ps_prochandle_t ph) diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 41da9a45ae4..3f02e2a7a29 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1,5 +1,7 @@ /* Target-dependent code for GDB, the GNU debugger. - Copyright 2001 Free Software Foundation, Inc. + + Copyright 2001, 2002 Free Software Foundation, Inc. + Contributed by D.J. Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) for IBM Deutschland Entwicklung GmbH, IBM Corporation. @@ -1354,7 +1356,7 @@ is_float_like (struct type *type) /* Return non-zero if TYPE is considered a `DOUBLE_OR_FLOAT', as defined by the parameter passing conventions described in the - "Linux for S/390 ELF Application Binary Interface Supplement". + "GNU/Linux for S/390 ELF Application Binary Interface Supplement". Otherwise, return zero. */ static int is_double_or_float (struct type *type) @@ -1366,8 +1368,9 @@ is_double_or_float (struct type *type) /* Return non-zero if TYPE is considered a `SIMPLE_ARG', as defined by - the parameter passing conventions described in the "Linux for S/390 - ELF Application Binary Interface Supplement". Return zero otherwise. */ + the parameter passing conventions described in the "GNU/Linux for + S/390 ELF Application Binary Interface Supplement". Return zero + otherwise. */ static int is_simple_arg (struct type *type) { @@ -1415,8 +1418,9 @@ extend_simple_arg (struct value *arg) /* Return non-zero if TYPE is a `DOUBLE_ARG', as defined by the - parameter passing conventions described in the "Linux for S/390 ELF - Application Binary Interface Supplement". Return zero otherwise. */ + parameter passing conventions described in the "GNU/Linux for S/390 + ELF Application Binary Interface Supplement". Return zero + otherwise. */ static int is_double_arg (struct type *type) { @@ -1487,8 +1491,8 @@ alignment_of (struct type *type) /* Put the actual parameter values pointed to by ARGS[0..NARGS-1] in - place to be passed to a function, as specified by the "Linux for - S/390 ELF Application Binary Interface Supplement". + place to be passed to a function, as specified by the "GNU/Linux + for S/390 ELF Application Binary Interface Supplement". SP is the current stack pointer. We must put arguments, links, padding, etc. whereever they belong, and return the new stack -- 2.34.1