diff options
author | Nick Clifton <nickc@redhat.com> | 1998-07-15 18:00:49 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 1998-07-15 18:00:49 +0000 |
commit | e1f1ed1ad75d43e928ce1fa347659d3490b539aa (patch) | |
tree | d194dcf828c8889b0a661009c09324daea99cb3d /gdb | |
parent | c3da0ebf3ea534ac9ae0b8312ceaed6297cc6600 (diff) | |
download | gdb-e1f1ed1ad75d43e928ce1fa347659d3490b539aa.zip gdb-e1f1ed1ad75d43e928ce1fa347659d3490b539aa.tar.gz gdb-e1f1ed1ad75d43e928ce1fa347659d3490b539aa.tar.bz2 |
Cope with setting trace points on symbols which do not have an associated directory.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/tracepoint.c | 32 |
2 files changed, 30 insertions, 12 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4ae4973..1e815f8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +Wed Jul 15 10:58:29 1998 Nick Clifton <nickc@cygnus.com> + + * tracepoint.c (set_raw_tracepoint): Cope with symbols that do not + have an associated directory. + +Mon Jul 13 15:21:04 1998 Mark Alexander <marka@cygnus.com> + + * utils.c (puts_debug): Display non-printable characters in hex + instead of octal. + Thu Jul 9 16:16:47 1998 Jeffrey A Law (law@cygnus.com) * mn10300-tdep.c (mn10300_generic_register_names): New variable. diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index fa5ac4d..20379c1 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -333,18 +333,26 @@ set_raw_tracepoint (sal) t->source_file = NULL; else { - char *p; - - t->source_file = (char *) xmalloc (strlen (sal.symtab->filename) + - strlen (sal.symtab->dirname) + 2); - - strcpy (t->source_file, sal.symtab->dirname); - p = t->source_file; - while (*p) - p++; - if (*(--p) != '/') /* Will this work on Windows? */ - strcat (t->source_file, "/"); - strcat (t->source_file, sal.symtab->filename); + if (sal.symtab->dirname == NULL) + { + t->source_file = (char *) xmalloc (strlen (sal.symtab->filename) + 1); + strcpy (t->source_file, sal.symtab->filename); + } + else + { + char *p; + + t->source_file = (char *) xmalloc (strlen (sal.symtab->filename) + + strlen (sal.symtab->dirname) + 2); + + strcpy (t->source_file, sal.symtab->dirname); + p = t->source_file; + while (*p) + p++; + if (*(--p) != '/') /* Will this work on Windows? */ + strcat (t->source_file, "/"); + strcat (t->source_file, sal.symtab->filename); + } } t->language = current_language->la_language; |