revert 1.9. Not approved.
[deliverable/binutils-gdb.git] / gdb / symfile.c
index c3dc12286be1851fc5c98dde0f3c80e028d7c74c..108695a338e6cf825649e6e8decfe58e5eff389b 100644 (file)
@@ -478,13 +478,6 @@ build_section_addr_info_from_section_table (const struct section_table *start,
 
   for (stp = start, oidx = 0; stp != end; stp++)
     {
-      if (strcmp (stp->the_bfd_section->name, ".text") == 0)
-       sap->text_addr = stp->addr;
-      else if (strcmp (stp->the_bfd_section->name, ".data") == 0)
-       sap->data_addr = stp->addr;
-      else if (strcmp (stp->the_bfd_section->name, ".bss") == 0)
-       sap->bss_addr = stp->addr;
-
       if (stp->the_bfd_section->flags & (SEC_ALLOC | SEC_LOAD)
          && oidx < MAX_SECTIONS)
        {
@@ -531,15 +524,6 @@ default_symfile_offsets (objfile, addrs)
     obstack_alloc (&objfile->psymbol_obstack, SIZEOF_SECTION_OFFSETS);
   memset (objfile->section_offsets, 0, SIZEOF_SECTION_OFFSETS);
 
-  /* If user explicitly specified values for data and bss, set them here. */
-  
-  if (addrs->text_addr)
-    ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT) = addrs->text_addr;
-  if (addrs->data_addr)
-    ANOFFSET (objfile->section_offsets, SECT_OFF_DATA) = addrs->data_addr;
-  if (addrs->bss_addr)
-    ANOFFSET (objfile->section_offsets, SECT_OFF_BSS)  = addrs->bss_addr;
-    
   /* Now calculate offsets for other sections. */
   for (i = 0; i < MAX_SECTIONS && addrs->other[i].name; i++)
     {
@@ -635,14 +619,7 @@ syms_from_objfile (objfile, addrs, mainline, verbo)
 
      We no longer warn if the lowest section is not a text segment (as
      happens for the PA64 port.  */
-  if (mainline)
-    {
-      /* No offset from objfile addresses.  */
-      addrs -> text_addr = 0;
-      addrs -> data_addr = 0;
-      addrs -> bss_addr = 0;
-    }
-  else
+  if (!mainline)
     {
       /* Find lowest loadable section to be used as starting point for 
          continguous sections. FIXME!! won't work without call to find
@@ -675,57 +652,17 @@ syms_from_objfile (objfile, addrs, mainline, verbo)
         (the loadable section directly below it in memory).
         this_offset = lower_offset = lower_addr - lower_orig_addr */
 
-      /* FIXME: These sections will not need special treatment because ALL
-        sections are in the other sections table */
-      if (addrs->text_addr != 0)
-       {
-         sect = bfd_get_section_by_name (objfile->obfd, ".text");
-         if (sect)
-           {
-             addrs->text_addr -= bfd_section_vma (objfile->obfd, sect);
-             lower_offset = addrs->text_addr;
-           }
-       }
-      else 
-       /* ??? who's below me? */
-       addrs->text_addr = lower_offset;
-      if (addrs->data_addr != 0)
-       {
-         sect = bfd_get_section_by_name (objfile->obfd, ".data");
-         if (sect)
-           {
-             addrs->data_addr -= bfd_section_vma (objfile->obfd, sect);
-             lower_offset = addrs->data_addr;
-           }
-       }
-      else
-       addrs->data_addr = lower_offset;
-      if (addrs->bss_addr != 0)
-       {
-         sect = bfd_get_section_by_name (objfile->obfd, ".bss");
-         if (sect)
-           {
-             addrs->bss_addr -= bfd_section_vma (objfile->obfd, sect);
-             lower_offset = addrs->bss_addr;
-           }
-       }
-      else
-       addrs->bss_addr = lower_offset;
-  
-       /* Now calculate offsets for other sections. */
+       /* Calculate offsets for sections. */
       for (i=0 ; i < MAX_SECTIONS && addrs->other[i].name; i++)
        {
-        
-         if (addrs->other[i].addr != 0)
+         if (addrs->other[i].addr != 0)
            {
-             sect=bfd_get_section_by_name(objfile->obfd, addrs->other[i].name);
+             sect = bfd_get_section_by_name (objfile->obfd, addrs->other[i].name);
              if (sect)
                {
                  addrs->other[i].addr -= bfd_section_vma (objfile->obfd, sect);
                  lower_offset = addrs->other[i].addr;
+                 /* This is the index used by BFD. */
                  addrs->other[i].sectindex = sect->index ;
                }
              else
@@ -782,13 +719,6 @@ syms_from_objfile (objfile, addrs, mainline, verbo)
          CORE_ADDR s_addr = 0;
          int i;
 
-         if (strcmp (s->the_bfd_section->name, ".text") == 0)
-           s_addr = addrs->text_addr;
-         else if (strcmp (s->the_bfd_section->name, ".data") == 0)
-           s_addr = addrs->data_addr;
-         else if (strcmp (s->the_bfd_section->name, ".bss") == 0)
-           s_addr = addrs->bss_addr;
-         else 
            for (i = 0; 
                 !s_addr && i < MAX_SECTIONS && addrs->other[i].name;
                 i++)
@@ -993,6 +923,10 @@ symbol_file_add (name, from_tty, addrs, mainline, flags)
    used in GDB (perhaps "set mapped on", "set readnow on" would be
    better), (3) the order of options matters, which is contrary to GNU
    conventions (because it is confusing and inconvenient).  */
+/* Note: ezannoni 2000-04-17. This function used to have support for
+   rombug (see remote-os9k.c). It consisted of a call to target_link()
+   (target.c) to get the address of the text segment from the target,
+   and pass that to symbol_file_add(). This is no longer supported. */
 
 void
 symbol_file_command (args, from_tty)
@@ -1001,7 +935,6 @@ symbol_file_command (args, from_tty)
 {
   char **argv;
   char *name = NULL;
-  CORE_ADDR text_relocation = 0;       /* text_relocation */
   struct cleanup *cleanups;
   int flags = OBJF_USERLOADED;
 
@@ -1026,9 +959,7 @@ symbol_file_command (args, from_tty)
 
       symfile_objfile = NULL;
       if (from_tty)
-       {
          printf_unfiltered ("No symbol file now.\n");
-       }
 #ifdef HPUXHPPA
       RESET_HP_UX_GLOBALS ();
 #endif
@@ -1043,56 +974,26 @@ symbol_file_command (args, from_tty)
       while (*argv != NULL)
        {
          if (STREQ (*argv, "-mapped"))
-           {
-             flags |= OBJF_MAPPED;
-           }
-         else if (STREQ (*argv, "-readnow"))
-           {
+           flags |= OBJF_MAPPED;
+         else 
+           if (STREQ (*argv, "-readnow"))
              flags |= OBJF_READNOW;
-           }
-         else if (**argv == '-')
-           {
-             error ("unknown option `%s'", *argv);
-           }
-         else
-           {
-             char *p;
-
-             name = *argv;
-
-             /* this is for rombug remote only, to get the text relocation by
-                using link command */
-             p = strrchr (name, '/');
-             if (p != NULL)
-               p++;
+           else 
+             if (**argv == '-')
+               error ("unknown option `%s'", *argv);
              else
-               p = name;
-
-             target_link (p, &text_relocation);
-
-             if (text_relocation == (CORE_ADDR) 0)
-               return;
-             else if (text_relocation == (CORE_ADDR) -1)
                {
+                  name = *argv;
                  symbol_file_add (name, from_tty, NULL, 1, flags);
 #ifdef HPUXHPPA
                  RESET_HP_UX_GLOBALS ();
 #endif
-               }
-             else
-               {
-                 struct section_addr_info section_addrs;
-                 memset (&section_addrs, 0, sizeof (section_addrs));
-                 section_addrs.text_addr = (CORE_ADDR) text_relocation;
-                 symbol_file_add (name, from_tty, &section_addrs, 0, flags);
-               }
+                 /* Getting new symbols may change our opinion about
+                    what is frameless.  */
+                 reinit_frame_cache ();
 
-             /* Getting new symbols may change our opinion about what is
-                frameless.  */
-             reinit_frame_cache ();
-
-             set_initial_language ();
-           }
+                 set_initial_language ();
+               }
          argv++;
        }
 
@@ -1644,13 +1545,6 @@ add_symbol_file_command (args, from_tty)
       else
        addr = strtoul (val, NULL, 10);
 
-      if (strcmp (sec, ".text") == 0)
-       section_addrs.text_addr = addr;
-      else if (strcmp (sec, ".data") == 0)
-       section_addrs.data_addr = addr;
-      else if (strcmp (sec, ".bss") == 0)
-       section_addrs.bss_addr = addr;
-
       /* Here we store the section offsets in the order they were
          entered on the command line. */
       section_addrs.other[sec_num].name = sec;
This page took 0.030445 seconds and 4 git commands to generate.