[Armadillo:08506] Re: Windows 上でのタイムスタンプについて
Yasuhisa Nakamura
email@hidden
2013年 1月 2日 (水) 11:14:12 JST
中村です。
settimeofday()に関する情報提供です。
RTCなしのArmadillo-420用に[Armadillo:01366]
http://lists.atmark-techno.com/pipermail/armadillo/2006-November/001365.html
で紹介されているのと同じsettimeofday()する小さなプログラムつくり、
ATDE3の環境でコンパイルしてみたところ、
warning: null argument where non-null required (argument 1)
という警告が出てしまいました。
(2回settimeofday()しているので2行出ます)
確か、Armadillo-220用にATDE2でやっていたころはこれはなかったと思います。
調べてみると、sys/time.hの
extern int settimeofday (const struct timeval *__tv,
const struct timezone *__tz)
__THROW __nonnull ((1));
にあるnullチェックがこの警告を出しているようです。
settimeofday()の第1引数にNULLは許されるはずなので(実際、
NULLにして動いてますし・・・)、ググってみたところ、
こんな記事がみつかりました。
以下、
http://sourceware-org.1504.n7.nabble.com/PATCH-settimeofday-with-NULL-tv-td215278.html
からまるごと引用
settimeofday (NULL, tz) is used by systemd (and perhaps other code) to
change the kernel timezone. Unfortunately, glibc marks the first
argument as must-be-nonnull. This causes static analyzers to issue
incorrect diagnostics for such uses of settimeofday.
This patch removes the __nonnull attribute and the bogus diagnostics no
longer are issued.
diff --git a/ChangeLog b/ChangeLog
index 638934b..624078b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-03 Jeff Law <[hidden email]>
+
+ * time/sys/time.h (settimeofday): Do not mark TV argument
+ as __nonnull.
+
2012-12-01 Mike Frysinger <[hidden email]>
* libio/fileops.c (_IO_new_file_close_it): Do not always flush
diff --git a/time/sys/time.h b/time/sys/time.h
index 0f5ef5c..f763d96 100644
--- a/time/sys/time.h
+++ b/time/sys/time.h
@@ -77,7 +77,7 @@ extern int gettimeofday (struct timeval *__restrict __tv,
This call is restricted to the super-user. */
extern int settimeofday (const struct timeval *__tv,
const struct timezone *__tz)
- __THROW __nonnull ((1));
+ __THROW;
/* Adjust the current time of day by the amount in DELTA.
If OLDDELTA is not NULL, it is filled in with the amount
--
なかむら
2012年 12月 22日(土)08:43 に [Armadillo:08493]で、風間 さんは書きました:
> 風間です。
> 過去ML検索してみます、
> ありがとうござました。
>
>> -----Original Message-----
>> Subject: [Armadillo:08492] Re: Windows 上でのタイムスタンプについて
>>
>> 風間さん、
>> 中村です。
>>
>> この問題は、過去に何度もMLにでてきてますね。
>> 私自身、MLの情報を参考にして、Armadillo-2x0や
>> Armadillo-4x0で、これを回避してます。
>>
>> 今ちょっと手が離せなくてこれ以上の説明ができないのですが、
>> MLの過去の投稿を探してみてください。
>> "VFAT 9時間"や"VFAT UTC"などで探すとみつかると思います。
>>
>> --
>> なかむら
armadillo メーリングリストの案内