[#49675] Request to update LEGAL file for zlib, UCD license — Jun Aruga <jaruga@...>

こんにちは。有賀と申します。

10 messages 2016/06/20

[ruby-dev:49698] [Ruby trunk Bug#12527][Assigned] warning: macro redefined: REG_PC and REG_SP on Solaris 10

From: shyouhei@...
Date: 2016-06-29 09:48:16 UTC
List: ruby-dev #49698
Issue #12527 has been updated by Shyouhei Urabe.

Status changed from Open to Assigned
Assignee set to Koichi Sasada

----------------------------------------
Bug #12527: warning: macro redefined: REG_PC and REG_SP on Solaris 10
https://bugs.ruby-lang.org/issues/12527#change-59410

* Author: Naohisa Goto
* Status: Assigned
* Priority: Normal
* Assignee: Koichi Sasada
* ruby -v: 
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Solaris 10 上にて、vm.c のコンパイル中に、以下のマクロ再定義のwarningが出ます。

```
cc -errtags=yes  -xO4 -xtarget=sparc64viiplus -m64 -DRUBY_EXPORT -I/usr/local/64/lib/libffi-3.0.10/include -I/usr/local/64/include  -D_XOPEN_SOURCE=500   -I. -I.ext/include/sparc64-solaris2.10 -I./include -I. -o vm.o -c vm.c
"vm_insnhelper.h", line 45: warning: macro redefined: REG_PC (E_MACRO_REDEFINED)
"vm_insnhelper.h", line 46: warning: macro redefined: REG_SP (E_MACRO_REDEFINED)
```

具体的には、/usr/include/sys/regset.h の以下の定義と衝突しています。

```
#define REG_PC  (1)
```

```
#define REG_SP  REG_O6
```

(厳密に確認はしていませんがおそらく) _XOPEN_SOURCE=500 以上を定義した場合に、これらのマクロが有効となるようです。

値は異なるようですが、 x86 (amd64) でも定義されているようです。
http://dtrace.org/blogs/rm/2011/03/14/a-trip-down-into-sysregset-h/

幸い、今のところは、vm.c や vm.c がincludeしているファイル内では、システム側のマクロは直接・間接関わらず使用されていないように見えます。



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next