[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make-3.81: bug-report: function abspath works incorrectly on widows

From: Vitaly Murashev
Subject: Re: make-3.81: bug-report: function abspath works incorrectly on widows
Date: Fri, 27 Jun 2008 14:52:32 +0400

On Thu, Jun 26, 2008 at 10:43 PM, Eli Zaretskii <address@hidden> wrote:
>> Date: Thu, 26 Jun 2008 14:44:38 +0400
>> From: "Vitaly Murashev" <address@hidden>
>> Cc: address@hidden
>> >  . It doesn't add an explicit drive letter to file names such as
>> >    "/foo/bar", and generally treats such names incorrectly.
>> You are right, and i suppose that the best way is to keep original GNU
>> Make behavior intact for this case.
>> E.g. "/foo/bar" must be treated as full qualified path even on MS Windows.
> No, I think it should prefix the drive letter of the current disk.
>> >  . It doesn't produce fully qualified file names from drive-relative
>> >    names such as "d:foo/bar".
>> Not really. My patch produces the same output for "d:foo/bar"
>> and for "d:/foo/bar", the result is "d:/foo/bar"
> Yes, but "d:foo/bar" and "d:/foo/bar" are not the same thing.  The
> former refers to the current directory on drive d:, which could be
> different from the root.
>> >  . It assumes Windows file names use only `/' as directory separator
>> >    character, while in reality there could be `\' as well.
>> Yes, it does, but before my patch it assumes the same. And as i can
>> understand it is a common behavior for GNU Make.
> No, GNU Make supports both types of slashes.

Hello Eli.
Thanks for discussion.
I reworked all discussed defects and want to suggest a new patch again.

Also please note, that in the original (without suggested patch) GNU
Make v.3.81 code like this:
$(info $(abspath C:/../../../../..))
on MS Windows crashes make.exe with exception:

"e:\test\make-3.81\Debug\make_msvc.net2003.exe": Interrupt/Exception
caught (code = 0xc00000fd, addr = 0x43fa59)

It is occurs not always but when the count of ".."-elements in the
above code  exeeds the count of path-elements in current directory
plus one.

Attachment: function.patch
Description: Binary data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]