summaryrefslogtreecommitdiff
path: root/gdb/coff-solib.c
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1993-10-16 06:42:02 +0000
committerStu Grossman <grossman@cygnus>1993-10-16 06:42:02 +0000
commitde43d7d0059427148461aede30bb07db993fae4b (patch)
tree7493430c03b1b15dafcb1b30ce320969e701b3ba /gdb/coff-solib.c
parent9bc3153e824a67812ebbc67431b9e1fd033d6d4b (diff)
downloadbinutils-gdb-de43d7d0059427148461aede30bb07db993fae4b.tar.gz
* breakpoint.c (breakpoint_thread_match break_command_1):
Thread-specific breakpoint support. * breakpoint.h (struct breakpoint): Add thread id field. * fork-child.c (fork_inferior): Move call to init_thread_list() back a bit so that init_trace_fun can do thread functions. * hppa-tdep.c (restore_pc_queue): Add pid to call to target_wait. * hppab-nat.c (child_resume): Handle default pid. * hppah-nat.c (child_resume): Handle default pid. * i386lynx-nat.c (child_wait): New arg pid. * inflow.c (kill_command): Reset thread list. * infptrace.c (child_resume): Handle default pid. * infrun.c: Thread-specific breakpoint support. * inftarg.c (child_wait): Add pid arg. * osfsolib.c (solib_create_inferior_hook): Add pid to call to target_resume. * procfs.c: Multi-thread support. * remote-bug.c (bug_wait): Add pid arg. * remote-hms.c (hms_wait): Add pid arg. * remote-mips.c (mips_wait): Add pid arg. * remote-mon.c (monitor_wait): Add pid arg. * remote-nindy.c (nindy_wait): Add pid arg. * remote-sim.c (gdbsim_wait): Add pid arg. * remote-udi.c (udi_wait): Add pid arg. * remote-vx.c (vx_wait): Add pid arg. * remote-z8k.c (sim_wait): Add pid arg. * remote.c (remote_wait): Add pid arg. * solib.c (solib_create_inferior_hook): Add pid to call to target_resume. * target.h (struct target_ops): Add pid arg to to_wait and to_notice_signals. * thread.c (valid_thread_id): New func to validate thread #s. * (pid_to_thread_id): New func to do the obvious. * thread.h: Prototypes for above. * coff-solib.c (coff_solib_add): Use nameoffset field to locate filename.
Diffstat (limited to 'gdb/coff-solib.c')
-rw-r--r--gdb/coff-solib.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/coff-solib.c b/gdb/coff-solib.c
index a4bf6c4ebf7..01ffc9c6347 100644
--- a/gdb/coff-solib.c
+++ b/gdb/coff-solib.c
@@ -62,8 +62,7 @@ coff_solib_add (arg_string, from_tty, target)
struct libent
{
bfd_byte len[4];
- bfd_byte unk[4];
- char filename[1];
+ bfd_byte nameoffset[4];
};
libsize = bfd_section_size (exec_bfd, libsect);
@@ -76,16 +75,21 @@ coff_solib_add (arg_string, from_tty, target)
{
struct libent *ent;
struct objfile *objfile;
- int len;
+ int len, nameoffset;
+ char *filename;
ent = (struct libent *)lib;
len = bfd_get_32 (exec_bfd, ent->len);
+ nameoffset = bfd_get_32 (exec_bfd, ent->nameoffset);
+
if (len <= 0)
break;
- objfile = symbol_file_add (ent->filename, from_tty,
+ filename = (char *)ent + nameoffset * 4;
+
+ objfile = symbol_file_add (filename, from_tty,
0, /* addr */
0, /* not mainline */
0, /* not mapped */