diff options
author | John Gilmore <gnu@cygnus> | 1991-09-28 01:31:23 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1991-09-28 01:31:23 +0000 |
commit | dad0e12d57c432daeabe8f9a05848a60a5d08f91 (patch) | |
tree | 64fa35a3299892ee272d5ebc6f20331e89cd63e6 /gdb/exec.c | |
parent | 39bf59520b1b5d70df5a4f58273afda3d6c4d530 (diff) | |
download | gdb-dad0e12d57c432daeabe8f9a05848a60a5d08f91.zip gdb-dad0e12d57c432daeabe8f9a05848a60a5d08f91.tar.gz gdb-dad0e12d57c432daeabe8f9a05848a60a5d08f91.tar.bz2 |
* core.c (core_files_info): Shorten output.
* exec.c (exec_files_info): Ditto.
(build_section_table): Ignore zero-length sections.
Diffstat (limited to 'gdb/exec.c')
-rw-r--r-- | gdb/exec.c | 22 |
1 files changed, 14 insertions, 8 deletions
@@ -52,7 +52,7 @@ int write_files = 0; /* Text start and end addresses (KLUDGE) if needed */ -#if NEED_TEXT_START_END +#ifdef NEED_TEXT_START_END CORE_ADDR text_start = 0; CORE_ADDR text_end = 0; #endif @@ -144,15 +144,18 @@ exec_file_command (filename, from_tty) error ("Can't find the file sections in `%s': %s", exec_bfd->filename, bfd_errmsg (bfd_error)); -#if NEED_TEXT_START_END +#ifdef NEED_TEXT_START_END /* This is a KLUDGE (FIXME) because a few places in a few ports (29K springs to mind) need this info for now. */ { struct section_table *p; for (p = exec_ops.sections; p < exec_ops.sections_end; p++) - if (!strcmp (".text", bfd_section_name (p->bfd, p->sec_ptr)) - text_start = p->addr; - text_end = p->endaddr; + if (!strcmp (".text", bfd_section_name (p->bfd, p->sec_ptr))) + { + text_start = p->addr; + text_end = p->endaddr; + break; + } } #endif @@ -201,6 +204,8 @@ add_to_section_table (abfd, asect, table_pp_char) /* FIXME, we need to handle BSS segment here...it alloc's but doesn't load */ if (!(aflag & SEC_LOAD)) return; + if (0 == bfd_section_size (abfd, asect)) + return; (*table_pp)->bfd = abfd; (*table_pp)->sec_ptr = asect; (*table_pp)->addr = bfd_section_vma (abfd, asect); @@ -320,10 +325,11 @@ exec_files_info () printf ("\tExecutable file `%s'.\n", bfd_get_filename(exec_bfd)); - for (p = exec_ops.sections; p < exec_ops.sections_end; p++) - printf("\texecutable from 0x%08x to 0x%08x is %s\n", - p->addr, p->endaddr, + for (p = exec_ops.sections; p < exec_ops.sections_end; p++) { + printf("\t%s", local_hex_string_custom (p->addr, "08")); + printf(" - %s is %s\n", local_hex_string_custom (p->endaddr, "08"), bfd_section_name (exec_bfd, p->sec_ptr)); + } } static void |