Really remove file.
[deliverable/binutils-gdb.git] / gdb / solib-osf.c
index 805254f5383400a9fcaac9b39889b8b327489aa9..b5dca60750d0160cdb560a57f4ec15e4e40629b2 100644 (file)
@@ -321,7 +321,7 @@ osf_solib_create_inferior_hook (void)
      out what we need to know about them. */
 
   clear_proceed_status ();
-  stop_soon_quietly = 1;
+  stop_soon = STOP_QUIETLY;
   stop_signal = TARGET_SIGNAL_0;
   do
     {
@@ -334,11 +334,10 @@ osf_solib_create_inferior_hook (void)
      But we are stopped in the runtime loader and we do not have symbols
      for the runtime loader. So heuristic_proc_start will be called
      and will put out an annoying warning.
-     Delaying the resetting of stop_soon_quietly until after symbol loading
+     Delaying the resetting of stop_soon until after symbol loading
      suppresses the warning.  */
-  if (auto_solib_add)
-    solib_add ((char *) 0, 0, (struct target_ops *) 0);
-  stop_soon_quietly = 0;
+  solib_add ((char *) 0, 0, (struct target_ops *) 0, auto_solib_add);
+  stop_soon = NO_STOP_QUIETLY;
 
   /* Enable breakpoints disabled (unnecessarily) by clear_solib().  */
   re_enable_breakpoints_in_shlibs ();
@@ -360,7 +359,14 @@ static int
 open_map (struct read_map_ctxt *ctxt)
 {
 #ifdef USE_LDR_ROUTINES
-  ctxt->proc = ldr_my_process ();
+  /* Note: As originally written, ldr_my_process() was used to obtain
+     the value for ctxt->proc.  This is incorrect, however, since
+     ldr_my_process() retrieves the "unique identifier" associated
+     with the current process (i.e. GDB) and not the one being
+     debugged.  Presumably, the pid of the process being debugged is
+     compatible with the "unique identifier" used by the ldr_
+     routines, so we use that.  */
+  ctxt->proc = ptid_get_pid (inferior_ptid);
   if (ldr_xattach (ctxt->proc) != 0)
     return 0;
   ctxt->next = LDR_NULL_MODULE;
@@ -589,6 +595,12 @@ osf_open_symbol_file_object (void *from_ttyp)
 static int
 osf_in_dynsym_resolve_code (CORE_ADDR pc)
 {
+  /* This function currently always return False. This is a temporary
+     solution which only consequence is to introduce a minor incovenience
+     for the user: When stepping inside a subprogram located in a shared
+     library, gdb might stop inside the dynamic loader code instead of
+     inside the subprogram itself. See the explanations in infrun.c about
+     the IN_SOLIB_DYNSYM_RESOLVE_CODE macro for more details. */
   return 0;
 }
 
This page took 0.026312 seconds and 4 git commands to generate.