You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "defs.h"
-#include <string.h>
+#include "gdb_string.h"
#include "bfd.h"
#include "symtab.h"
#include "symfile.h"
symaddr = sym -> value + sym -> section -> vma;
/* Relocate all non-absolute symbols by base address. */
if (sym -> section != &bfd_abs_section)
- {
- symaddr += addr;
- }
+ symaddr += addr;
/* For non-absolute symbols, use the type of the section
- they are relative to, to intuit text/data. Bfd provides
+ they are relative to, to intuit text/data. BFD provides
no way of figuring this out for absolute symbols. */
if (sym -> section -> flags & SEC_CODE)
- {
- ms_type = mst_text;
- }
+ ms_type = mst_text;
else if (sym -> section -> flags & SEC_DATA)
- {
- ms_type = mst_data;
- }
+ ms_type = mst_data;
else
- {
- ms_type = mst_unknown;
- }
+ ms_type = mst_unknown;
+
record_minimal_symbol ((char *) sym -> name, symaddr, ms_type,
objfile);
}
bfd *abfd = objfile -> obfd;
struct cleanup *back_to;
CORE_ADDR offset;
+ struct symbol *mainsym;
init_minimal_symbol_collection ();
back_to = make_cleanup (discard_minimal_symbols, 0);
nlm_symtab_read (abfd, offset, objfile);
stabsect_build_psymtabs (objfile, section_offsets, mainline, ".stab",
- ".stabstr");
+ ".stabstr", ".text");
- /* FIXME: We could locate and read the optional native debugging format
- here and add the symbols to the minimal symbol table. */
+ mainsym = lookup_symbol ("main", NULL, VAR_NAMESPACE, NULL, NULL);
- if (!have_partial_symbols ())
+ if (mainsym
+ && SYMBOL_CLASS(mainsym) == LOC_BLOCK)
{
- wrap_here ("");
- printf_filtered ("(no debugging symbols found)...");
- wrap_here ("");
+ objfile->ei.main_func_lowpc = BLOCK_START (SYMBOL_BLOCK_VALUE (mainsym));
+ objfile->ei.main_func_highpc = BLOCK_END (SYMBOL_BLOCK_VALUE (mainsym));
}
+ /* FIXME: We could locate and read the optional native debugging format
+ here and add the symbols to the minimal symbol table. */
+
/* Install any minimal symbols that have been collected as the current
minimal symbols for this objfile. */