2003-09-19 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Fri, 19 Sep 2003 20:09:45 +0000 (20:09 +0000)
committerAndrew Cagney <cagney@redhat.com>
Fri, 19 Sep 2003 20:09:45 +0000 (20:09 +0000)
* config/pa/nm-hppah.h (NEED_TEXT_START_END): Delete.
(DEPRECATED_HPUX_TEXT_END): Define.
(deprecated_hpux_text_end): Declare.
(struct target_ops): Declare opaque.
* hppah-nat.c (text_end): Make static.
(deprecated_hpux_text_end): New function.
* exec.c (text_end): Delete global variable.
(NEED_TEXT_START_END): Do not define.
(exec_file_attach): Replace code computing "text_end" code with
call to DEPRECATED_HPUX_TEXT_END.

2003-09-19  Andrew Cagney  <cagney@redhat.com>

* gdbint.texinfo (Target Architecture Definition): Delete
documentation for NEED_TEXT_START_END.

gdb/ChangeLog
gdb/config/pa/nm-hppah.h
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo
gdb/exec.c
gdb/hppah-nat.c

index 734c8ae35f0031f5e172a6b367ac9cf3c3993092..6e5885451b37f4a666a1dc68b9161cb1d945f966 100644 (file)
@@ -1,3 +1,16 @@
+2003-09-19  Andrew Cagney  <cagney@redhat.com>
+
+       * config/pa/nm-hppah.h (NEED_TEXT_START_END): Delete.
+       (DEPRECATED_HPUX_TEXT_END): Define.
+       (deprecated_hpux_text_end): Declare.
+       (struct target_ops): Declare opaque.
+       * hppah-nat.c (text_end): Make static.
+       (deprecated_hpux_text_end): New function.
+       * exec.c (text_end): Delete global variable.
+       (NEED_TEXT_START_END): Do not define.
+       (exec_file_attach): Replace code computing "text_end" code with
+       call to DEPRECATED_HPUX_TEXT_END.
+
 2003-09-19  Andrew Cagney  <cagney@redhat.com>
 
        * utils.c (align_up, align_down): New functions.
index 29a52dfcf729efcaba5effc27c1d5bdc934c4994..bf4fd3c475f9cfa23ed4b810634c75166f0d4452 100644 (file)
@@ -19,6 +19,8 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+struct target_ops;
+
 #define U_REGS_OFFSET 0
 
 #define KERNEL_U_ADDR 0
 #define FIVE_ARG_PTRACE
 
 /* We need to figure out where the text region is so that we use the
-   appropriate ptrace operator to manipulate text.  Simply reading/writing
-   user space will crap out HPUX.  */
-#define NEED_TEXT_START_END 1
+   appropriate ptrace operator to manipulate text.  Simply
+   reading/writing user space will crap out HPUX.  */
+#define DEPRECATED_HPUX_TEXT_END deprecated_hpux_text_end
+extern void deprecated_hpux_text_end (struct target_ops *exec_ops);
 
 /* In hppah-nat.c: */
 #define FETCH_INFERIOR_REGISTERS
index b471806c2a37b698556df17d01a84561b3981edd..18b31b87cfe9bfb97a4200e4ef7abf236849ff91 100644 (file)
@@ -1,3 +1,8 @@
+2003-09-19  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbint.texinfo (Target Architecture Definition): Delete
+       documentation for NEED_TEXT_START_END.
+
 2003-09-18  Andrew Cagney  <cagney@redhat.com>
 
        * gdbint.texinfo (Target Architecture Definition): Delete
index e58bab41edd5db944b502fbd592f91a39ec3999b..537965ba29ef34de352f446a7c56de4f26d96141 100644 (file)
@@ -3483,11 +3483,6 @@ method like @code{INTEGER_TO_ADDRESS} certainly makes it possible for
 @xref{Target Architecture Definition, , Pointers Are Not Always
 Addresses}.
 
-@item NEED_TEXT_START_END
-@findex NEED_TEXT_START_END
-Define this if @value{GDBN} should determine the start and end addresses of the
-text section.  (Seems dubious.)
-
 @item NO_HIF_SUPPORT
 @findex NO_HIF_SUPPORT
 (Specific to the a29k.)
index 468b0ea299bc48e730b250dab6de7a0f6f0b6ff5..b48c6c04d9b672a201553acda6134d41d6ee7963 100644 (file)
@@ -85,13 +85,6 @@ bfd *exec_bfd = NULL;
 
 int write_files = 0;
 
-/* Text start and end addresses (KLUDGE) if needed */
-
-#ifndef NEED_TEXT_START_END
-#define NEED_TEXT_START_END (0)
-#endif
-CORE_ADDR text_end = 0;
-
 struct vmap *vmap;
 
 void
@@ -266,30 +259,9 @@ exec_file_attach (char *filename, int from_tty)
                 scratch_pathname, bfd_errmsg (bfd_get_error ()));
        }
 
-      /* text_end is sometimes used for where to put call dummies.  A
-         few ports use these for other purposes too.  */
-      if (NEED_TEXT_START_END)
-       {
-         struct section_table *p;
-
-         /* Set text_start to the lowest address of the start of any
-            readonly code section and set text_end to the highest
-            address of the end of any readonly code section.  */
-         /* FIXME: The comment above does not match the code.  The
-            code checks for sections with are either code *or*
-            readonly.  */
-         CORE_ADDR text_start = ~(CORE_ADDR) 0;
-         text_end = (CORE_ADDR) 0;
-         for (p = exec_ops.to_sections; p < exec_ops.to_sections_end; p++)
-           if (bfd_get_section_flags (p->bfd, p->the_bfd_section)
-               & (SEC_CODE | SEC_READONLY))
-             {
-               if (text_start > p->addr)
-                 text_start = p->addr;
-               if (text_end < p->endaddr)
-                 text_end = p->endaddr;
-             }
-       }
+#ifdef DEPRECATED_HPUX_TEXT_END
+      DEPRECATED_HPUX_TEXT_END (&exec_ops);
+#endif
 
       validate_files ();
 
index 53599499c25d3324ee970a21e340f2cc5dcb17a4..28ec350f1705f61e2e228c1ca2e82deb57922e9a 100644 (file)
 #include "gdb_string.h"
 #include <signal.h>
 
-extern CORE_ADDR text_end;
-
 extern int hpux_has_forked (int pid, int *childpid);
 extern int hpux_has_vforked (int pid, int *childpid);
 extern int hpux_has_execd (int pid, char **execd_pathname);
 extern int hpux_has_syscall_event (int pid, enum target_waitkind *kind,
                                   int *syscall_id);
 
+static CORE_ADDR text_end;
+
+void
+deprecated_hpux_text_end (struct target_ops *exec_ops)
+{
+  struct section_table *p;
+
+  /* Set text_end to the highest address of the end of any readonly
+     code section.  */
+  /* FIXME: The comment above does not match the code.  The code
+     checks for sections with are either code *or* readonly.  */
+  text_end = (CORE_ADDR) 0;
+  for (p = exec_ops->to_sections; p < exec_ops->to_sections_end; p++)
+    if (bfd_get_section_flags (p->bfd, p->the_bfd_section)
+       & (SEC_CODE | SEC_READONLY))
+      {
+       if (text_end < p->endaddr)
+         text_end = p->endaddr;
+      }
+}
+
+
 static void fetch_register (int);
 
 void