This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: libgo patch committed: Update to current version of Go library


On Fri, Feb 8, 2013 at 3:07 AM, Ian Lance Taylor <iant@google.com> wrote:
> On Thu, Feb 7, 2013 at 2:43 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>
>> I did hit one new error that seems related:
>>
>> --- FAIL: TestChtimes (0.00 seconds)
>> os_test.go:681:         AccessTime didn't go backwards;
>> was={63495872497 0 47130825733376}, after={63495872497 0
>> 47130825733376}
>> os_test.go:685:         ModTime didn't go backwards; was={63495872497
>> 0 47130825733376}, after={63495872497 0 47130825733376}
>> FAIL
>> FAIL: os
>
> Something has gone wrong in the file
> libgo/go/syscall/libcall_linux_utimesnano.go.  The function in that
> file will try utimensat.  On your system that should return ENOSYS.
> In that case the function should convert the times and call utimes.
> The code looks OK to me but there may be something wrong with it.  It
> looks like the file times didn't change at all.

>From the strace -f, it looks that utimes is not called at all in
between two relevant stats:

32019 open("/tmp/_Go_TestChtimes102217073", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
32019 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
32019 fcntl(5, F_SETFD, FD_CLOEXEC)     = 0
32019 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
32019 write(5, "hello, world\n", 13)    = 13
32019 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
32019 close(5)                          = 0
32019 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
32019 stat("/tmp/_Go_TestChtimes102217073", {st_mode=S_IFREG|0600,
st_size=13, ...}) = 0
32019 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
32019 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
32019 stat("/tmp/_Go_TestChtimes102217073", {st_mode=S_IFREG|0600,
st_size=13, ...}) = 0

OTOH, on Fedora17 I get:

28385 open("/tmp/_Go_TestChtimes832324999",
O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = 5
28385 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
28385 write(5, "hello, world\n", 13)    = 13
28385 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
28385 close(5)                          = 0
28385 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
28385 stat("/tmp/_Go_TestChtimes832324999", {st_mode=S_IFREG|0600,
st_size=13, ...}) = 0
28385 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
28385 utimensat(AT_FDCWD, "/tmp/_Go_TestChtimes832324999",
{{1360328600, 109183175}, {1360328600, 110183221}}, 0) = 0
28385 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
28385 stat("/tmp/_Go_TestChtimes832324999", {st_mode=S_IFREG|0600,
st_size=13, ...}) = 0
28385 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
28385 unlink("/tmp/_Go_TestChtimes832324999") = 0

Uros.


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