diff options
author | Stu Grossman <grossman@cygnus> | 1993-10-07 16:42:08 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1993-10-07 16:42:08 +0000 |
commit | 981a33093328ee54fb095007f733bea3a1dbe5bf (patch) | |
tree | a112c9116c617c2ef5df57b4985fb22d9dd27f6e /gdb/coff-solib.c | |
parent | 50a540397837c7239b39a9100a5ed6a5813593e3 (diff) | |
download | gdb-981a33093328ee54fb095007f733bea3a1dbe5bf.zip gdb-981a33093328ee54fb095007f733bea3a1dbe5bf.tar.gz gdb-981a33093328ee54fb095007f733bea3a1dbe5bf.tar.bz2 |
* blockframe.c (find_pc_partial_function): Fix handling for PCs
beyond the end of the last function in an objfile.
* coff-solib.c (coff_solib_add): Use BFD to get fields from .lib
section.
* infrun.c (wait_for_inferior): Modify test for subroutine entry
to include pc out of bounds of the previous function.
* remote.c (remote_wait): Use strtoul for parsing 'N' message.
Add code to relocate symfile_objfile->sections.
Diffstat (limited to 'gdb/coff-solib.c')
-rw-r--r-- | gdb/coff-solib.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gdb/coff-solib.c b/gdb/coff-solib.c index d6ea645..a4bf6c4 100644 --- a/gdb/coff-solib.c +++ b/gdb/coff-solib.c @@ -61,8 +61,8 @@ coff_solib_add (arg_string, from_tty, target) unsigned char *lib; struct libent { - long len; - long unk; + bfd_byte len[4]; + bfd_byte unk[4]; char filename[1]; }; @@ -76,10 +76,13 @@ coff_solib_add (arg_string, from_tty, target) { struct libent *ent; struct objfile *objfile; + int len; ent = (struct libent *)lib; - if (ent->len <= 0) + len = bfd_get_32 (exec_bfd, ent->len); + + if (len <= 0) break; objfile = symbol_file_add (ent->filename, from_tty, @@ -87,8 +90,8 @@ coff_solib_add (arg_string, from_tty, target) 0, /* not mainline */ 0, /* not mapped */ 0); /* Not readnow */ - libsize -= ent->len * 4; - lib += ent->len * 4; + libsize -= len * 4; + lib += len * 4; } } } |