Index: source.c =================================================================== RCS file: /cvs/src/src/gdb/source.c,v retrieving revision 1.70 diff -c -p -r1.70 source.c *** source.c 29 Aug 2005 12:57:49 -0000 1.70 --- source.c 27 Sep 2005 07:27:26 -0000 *************** find_and_open_source (struct objfile *ob *** 893,901 **** --- 893,917 ---- int open_source_file (struct symtab *s) { + char *filename; + if (!s) return -1; + /* Use the concatenation of dirname and filename if dirname isn't absolute */ + if (s->filename && s->dirname && !IS_ABSOLUTE_PATH (s->dirname)) + { + filename = (char *) + alloca (strlen (s->dirname) + strlen (SLASH_STRING) + + strlen (s->filename) + 1); + + strcpy(filename, s->dirname); + strcat(filename, SLASH_STRING); + strcat(filename, s->filename); + + return find_and_open_source (s->objfile, filename, NULL, &s->fullname); + } + return find_and_open_source (s->objfile, s->filename, s->dirname, &s->fullname); } Index: ChangeLog =================================================================== RCS file: /cvs/src/src/gdb/ChangeLog,v retrieving revision 1.7365 diff -c -p -r1.7365 ChangeLog *** ChangeLog 26 Sep 2005 22:31:16 -0000 1.7365 --- ChangeLog 27 Sep 2005 07:27:31 -0000 *************** *** 1,3 **** --- 1,8 ---- + 2005-09-27 Craig Jeffree + + * source.c (open_source_file): Handle relative dirname during source + file search. + 2005-09-26 Nick Roberts * Makefile.in (HFILES_NO_SRCDIR): Remove minimon.h, symfile-mem.h.