Correct make_relative_path comment
Handle some dirname() special cases as expected
Fix path canonicalization in make_relative_path when path doesn't exist
Treat zero length object files as invalid

Fix for bug 9972.