This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch 2/9] Code cleanup: Drop IS_ABSOLUTE_PATH checks
On Sat, 19 Jan 2013 07:50:13 +0100, Eli Zaretskii wrote:
> > Could you give an example? Previously it was forbidden/unspecified what
> > happens when you call compare_filenames_for_search
> > with IS_ABSOLUTE_PATH (search_name).
>
> Any absolute file name would be an example.
Could you state literal SEARCH_NAME, literal FILENAME, what is a result you
expect and what do you you think is the actual result with this patch?
I have double/triple checked this patch and I do not see a bug there.
> > I hope we agree that placing a breakpoint to
> > /filename.c:main
> > should not be successful even if one of the source files is named:
> > /path/to//filename.c
>
> Yes, we do. But IS_ABSOLUTE_PATH tests more than just whether there's
> a slash at the beginning of "/filename.c". I'm saying we should test
> explicitly for the slash, not for the file name being absolute. IOW,
> using IS_ABSOLUTE_PATH here obfuscates the real intent of the code.
I think IS_ABSOLUTE_PATH is there really right, we need to test if the
SEARCH_NAME should match from the beginning of FILENAME or if it can match
only its trailing part.
For example when asking for a breakpoint at:
c:\filename.c:main
it must not match a debug info filename:
d:\foo\c:\filename.c
This case would incorrectly match if only 'IS_DIR_SEPARATOR (search_name[0])'
was tested there.
Moreover this patch is a "Code cleanup" and the callers were already using
IS_ABSOLUTE_PATH. So if IS_ABSOLUTE_PATH is wrong (which IMO so far it is
not) then it is still a new patch / unrelated fix, not the scope of this
patch.
Thanks,
Jan