gdb/dwarf: Ensure the target type of ranges is not void
[deliverable/binutils-gdb.git] / gdb / solib-frv.c
index f0265e3f25b0d50cdbd67a78bd98572bd2d9cd17..fdd4b3453057023755d155f11fa8f084dc36bf93 100644 (file)
@@ -1,5 +1,5 @@
 /* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2019 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -246,7 +246,7 @@ static int enable_break2 (void);
 /* Implement the "open_symbol_file_object" target_so_ops method.  */
 
 static int
-open_symbol_file_object (void *from_ttyp)
+open_symbol_file_object (int from_tty)
 {
   /* Unimplemented.  */
   return 0;
@@ -377,7 +377,7 @@ frv_current_sos (void)
       if (got_addr != mgot)
        {
          int errcode;
-         char *name_buf;
+         gdb::unique_xmalloc_ptr<char> name_buf;
          struct int_elf32_fdpic_loadmap *loadmap;
          struct so_list *sop;
          CORE_ADDR addr;
@@ -409,16 +409,16 @@ frv_current_sos (void)
 
          if (solib_frv_debug)
            fprintf_unfiltered (gdb_stdlog, "current_sos: name = %s\n",
-                               name_buf);
+                               name_buf.get ());
          
          if (errcode != 0)
            warning (_("Can't read pathname for link map entry: %s."),
                     safe_strerror (errcode));
          else
            {
-             strncpy (sop->so_name, name_buf, SO_NAME_MAX_PATH_SIZE - 1);
+             strncpy (sop->so_name, name_buf.get (),
+                      SO_NAME_MAX_PATH_SIZE - 1);
              sop->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
-             xfree (name_buf);
              strcpy (sop->so_original_name, sop->so_name);
            }
 
@@ -561,14 +561,13 @@ enable_break2 (void)
          mechanism to find the dynamic linker's base address.  */
 
       gdb_bfd_ref_ptr tmp_bfd;
-      TRY
+      try
         {
           tmp_bfd = solib_bfd_open (buf);
         }
-      CATCH (ex, RETURN_MASK_ALL)
+      catch (const gdb_exception &ex)
        {
        }
-      END_CATCH
 
       if (tmp_bfd == NULL)
        {
@@ -769,8 +768,6 @@ frv_relocate_main_executable (void)
   int status;
   CORE_ADDR exec_addr, interp_addr;
   struct int_elf32_fdpic_loadmap *ldm;
-  struct cleanup *old_chain;
-  struct section_offsets *new_offsets;
   int changed;
   struct obj_section *osect;
 
@@ -792,9 +789,8 @@ frv_relocate_main_executable (void)
   main_executable_lm_info = new lm_info_frv;
   main_executable_lm_info->map = ldm;
 
-  new_offsets = XCNEWVEC (struct section_offsets,
-                         symfile_objfile->num_sections);
-  old_chain = make_cleanup (xfree, new_offsets);
+  gdb::unique_xmalloc_ptr<struct section_offsets> new_offsets
+    (XCNEWVEC (struct section_offsets, symfile_objfile->num_sections));
   changed = 0;
 
   ALL_OBJFILE_OSECTIONS (symfile_objfile, osect)
@@ -828,9 +824,7 @@ frv_relocate_main_executable (void)
     }
 
   if (changed)
-    objfile_relocate (symfile_objfile, new_offsets);
-
-  do_cleanups (old_chain);
+    objfile_relocate (symfile_objfile, new_offsets.get ());
 
   /* Now that symfile_objfile has been relocated, we can compute the
      GOT value and stash it away.  */
@@ -1153,9 +1147,6 @@ frv_fetch_objfile_link_map (struct objfile *objfile)
 
 struct target_so_ops frv_so_ops;
 
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-extern initialize_file_ftype _initialize_frv_solib;
-
 void
 _initialize_frv_solib (void)
 {
This page took 0.032288 seconds and 4 git commands to generate.