diff options
author | Jason Molenda <jmolenda@apple.com> | 1999-06-14 18:08:47 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 1999-06-14 18:08:47 +0000 |
commit | 0f71a2f66f83f4c7ac139fa8d33ab882362fe861 (patch) | |
tree | 16074aaf8b9c3abda2ddf840b5b307c933298a75 /gdb/exec.c | |
parent | 308b1ffdedc0380e17d84260b0069593eb4f9336 (diff) | |
download | gdb-0f71a2f66f83f4c7ac139fa8d33ab882362fe861.zip gdb-0f71a2f66f83f4c7ac139fa8d33ab882362fe861.tar.gz gdb-0f71a2f66f83f4c7ac139fa8d33ab882362fe861.tar.bz2 |
import gdb-1999-06-14 snapshot
Diffstat (limited to 'gdb/exec.c')
-rw-r--r-- | gdb/exec.c | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -641,6 +641,44 @@ exec_files_info (t) } } +/* msnyder 5/21/99: + exec_set_section_offsets sets the offsets of all the sections + in the exec objfile. */ + +void +exec_set_section_offsets (text_off, data_off, bss_off) + bfd_signed_vma text_off; + bfd_signed_vma data_off; + bfd_signed_vma bss_off; +{ + struct section_table *sect; + + for (sect = exec_ops.to_sections; + sect < exec_ops.to_sections_end; + sect++) + { + flagword flags; + + flags = bfd_get_section_flags (exec_bfd, sect->the_bfd_section); + + if (flags & SEC_CODE) + { + sect->addr += text_off; + sect->endaddr += text_off; + } + else if (flags & (SEC_DATA | SEC_LOAD)) + { + sect->addr += data_off; + sect->endaddr += data_off; + } + else if (flags & SEC_ALLOC) + { + sect->addr += bss_off; + sect->endaddr += bss_off; + } + } +} + static void set_section_command (args, from_tty) char *args; |