This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]