~ubuntu-branches/debian/jessie/gdb/jessie

« back to all changes in this revision

Viewing changes to gdb/solib-frv.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2010-03-20 01:21:29 UTC
  • mfrom: (1.3.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100320012129-t7h25y8zgr8c2369
Tags: 7.1-1
* New upstream release, including:
  - PIE support (Closes: #346409).
  - C++ improvements, including static_cast<> et al, namespace imports,
    and bug fixes in printing virtual base classes.
  - Multi-program debugging.  One GDB can now debug multiple programs
    at the same time.
  - Python scripting improvements, including gdb.parse_and_eval.
  - Updated MIPS Linux signal frame layout (Closes: #570875).
  - No internal error stepping over _dl_debug_state (Closes: #569551).
* Update to Standards-Version: 3.8.4 (no changes required).
* Include more relevant (and smaller) docs in the gdbserver package
  (Closes: #571132).
* Do not duplicate documentation in gdb64, gdb-source, and libgdb-dev.
* Fix crash when switching into TUI mode (Closes: #568489).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
2
 
   Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 
2
   Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
3
3
 
4
4
   This file is part of GDB.
5
5
 
822
822
     may have changed since the last time we ran the program.  */
823
823
  remove_solib_event_breakpoints ();
824
824
 
 
825
  if (symfile_objfile == NULL)
 
826
    {
 
827
      if (solib_frv_debug)
 
828
        fprintf_unfiltered (gdb_stdlog,
 
829
                            "enable_break: No symbol file found.\n");
 
830
      return 0;
 
831
    }
 
832
 
 
833
  if (!symfile_objfile->ei.entry_point_p)
 
834
    {
 
835
      if (solib_frv_debug)
 
836
        fprintf_unfiltered (gdb_stdlog,
 
837
                            "enable_break: Symbol file has no entry point.\n");
 
838
      return 0;
 
839
    }
 
840
 
825
841
  /* Check for the presence of a .interp section.  If there is no
826
842
     such section, the executable is statically linked.  */
827
843
 
828
844
  interp_sect = bfd_get_section_by_name (exec_bfd, ".interp");
829
845
 
830
 
  if (interp_sect)
831
 
    {
832
 
      enable_break1_done = 1;
833
 
      create_solib_event_breakpoint (target_gdbarch,
834
 
                                     symfile_objfile->ei.entry_point);
835
 
 
836
 
      if (solib_frv_debug)
837
 
        fprintf_unfiltered (gdb_stdlog,
838
 
                            "enable_break: solib event breakpoint placed at entry point: %s\n",
839
 
                            hex_string_custom
840
 
                              (symfile_objfile->ei.entry_point, 8));
841
 
    }
842
 
  else
843
 
    {
844
 
      if (solib_frv_debug)
845
 
        fprintf_unfiltered (gdb_stdlog,
846
 
                            "enable_break: No .interp section found.\n");
847
 
    }
848
 
 
 
846
  if (interp_sect == NULL)
 
847
    {
 
848
      if (solib_frv_debug)
 
849
        fprintf_unfiltered (gdb_stdlog,
 
850
                            "enable_break: No .interp section found.\n");
 
851
      return 0;
 
852
    }
 
853
 
 
854
  enable_break1_done = 1;
 
855
  create_solib_event_breakpoint (target_gdbarch,
 
856
                                 symfile_objfile->ei.entry_point);
 
857
 
 
858
  if (solib_frv_debug)
 
859
    fprintf_unfiltered (gdb_stdlog,
 
860
                        "enable_break: solib event breakpoint placed at entry point: %s\n",
 
861
                        hex_string_custom (symfile_objfile->ei.entry_point, 8));
849
862
  return 1;
850
863
}
851
864
 
971
984
 */
972
985
 
973
986
static void
974
 
frv_solib_create_inferior_hook (void)
 
987
frv_solib_create_inferior_hook (int from_tty)
975
988
{
976
989
  /* Relocate main executable.  */
977
990
  frv_relocate_main_executable ();