]> Git Repo - binutils.git/blobdiff - gdb/exec.c
* frv-tdep.c (max_instrs_per_bundle, frv_instr_size): New constants.
[binutils.git] / gdb / exec.c
index 16b7e5f4e8d8347c40785382f720965e7fc118dd..0eba0ee2e7ab6c5191e8bddd54cf2e58a6ddc0e6 100644 (file)
@@ -55,7 +55,7 @@ void (*file_changed_hook) (char *);
 
 /* Prototypes for local functions */
 
-static void add_to_section_table (bfd *, sec_ptr, PTR);
+static void add_to_section_table (bfd *, sec_ptr, void *);
 
 static void exec_close (int);
 
@@ -65,7 +65,7 @@ static void set_section_command (char *, int);
 
 static void exec_files_info (struct target_ops *);
 
-static void bfdsec_to_vmap (bfd *, sec_ptr, PTR);
+static void bfdsec_to_vmap (bfd *, sec_ptr, void *);
 
 static int ignore (CORE_ADDR, char *);
 
@@ -85,14 +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_start = 0;
-CORE_ADDR text_end = 0;
-
 struct vmap *vmap;
 
 void
@@ -102,7 +94,6 @@ exec_open (char *args, int from_tty)
   exec_file_attach (args, from_tty);
 }
 
-/* ARGSUSED */
 static void
 exec_close (int quitting)
 {
@@ -243,7 +234,7 @@ exec_file_attach (char *filename, int from_tty)
 
       /* FIXME - This should only be run for RS6000, but the ifdef is a poor
          way to accomplish.  */
-#ifdef IBM6000_TARGET
+#ifdef DEPRECATED_IBM6000_TARGET
       /* Setup initial vmap. */
 
       map_vmap (exec_bfd, 0);
@@ -255,7 +246,7 @@ exec_file_attach (char *filename, int from_tty)
          error ("\"%s\": can't find the file sections: %s",
                 scratch_pathname, bfd_errmsg (bfd_get_error ()));
        }
-#endif /* IBM6000_TARGET */
+#endif /* DEPRECATED_IBM6000_TARGET */
 
       if (build_section_table (exec_bfd, &exec_ops.to_sections,
                               &exec_ops.to_sections_end))
@@ -267,30 +258,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.  */
-         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 ();
 
@@ -366,7 +336,7 @@ file_command (char *arg, int from_tty)
    we cast it back to its proper type.  */
 
 static void
-add_to_section_table (bfd *abfd, sec_ptr asect, PTR table_pp_char)
+add_to_section_table (bfd *abfd, sec_ptr asect, void *table_pp_char)
 {
   struct section_table **table_pp = (struct section_table **) table_pp_char;
   flagword aflag;
@@ -405,7 +375,7 @@ build_section_table (bfd *some_bfd, struct section_table **start,
 }
 \f
 static void
-bfdsec_to_vmap (bfd *abfd, sec_ptr sect, PTR arg3)
+bfdsec_to_vmap (bfd *abfd, sec_ptr sect, void *arg3)
 {
   struct vmap_and_bfd *vmap_bfd = (struct vmap_and_bfd *) arg3;
   struct vmap *vp;
@@ -485,7 +455,7 @@ xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
   int res;
   struct section_table *p;
   CORE_ADDR nextsectaddr, memend;
-  int (*xfer_fn) (bfd *, sec_ptr, PTR, file_ptr, bfd_size_type);
+  int (*xfer_fn) (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
   asection *section = NULL;
 
   if (len <= 0)
@@ -545,6 +515,7 @@ void
 print_section_info (struct target_ops *t, bfd *abfd)
 {
   struct section_table *p;
+  /* FIXME: "016l" is not wide enough when TARGET_ADDR_BIT > 64.  */
   char *fmt = TARGET_ADDR_BIT <= 32 ? "08l" : "016l";
 
   printf_filtered ("\t`%s', ", bfd_get_filename (abfd));
@@ -560,6 +531,12 @@ print_section_info (struct target_ops *t, bfd *abfd)
     {
       printf_filtered ("\t%s", local_hex_string_custom (p->addr, fmt));
       printf_filtered (" - %s", local_hex_string_custom (p->endaddr, fmt));
+
+      /* FIXME: A format of "08l" is not wide enough for file offsets
+        larger than 4GB.  OTOH, making it "016l" isn't desirable either
+        since most output will then be much wider than necessary.  It
+        may make sense to test the size of the file and choose the
+        format string accordingly.  */
       if (info_verbose)
        printf_filtered (" @ %s",
                         local_hex_string_custom (p->the_bfd_section->filepos, "08l"));
This page took 0.032045 seconds and 4 git commands to generate.