Bug #14439
closedbuild failed on NetBSD 7.1 with MJIT
Description
MJITマージおめでとうございます。
というわけで手元のNetBSD/i386 7.1で試そうとしたら、残念ながらビルドエラーになりました。
error in final header file:
/tmp/20180204-20715-187ick.c:4961:1: error: static declaration of ‘sigaddset’ follows non-static declaration
sigaddset(sigset_t *set, int signo)
^
compilation terminated due to -Wfatal-errors.
*** Error code 1
Stop.
よくわかりませんが、そのちょっと上で
transform_mjit_header: making external definition of 'sigfillset' static inline
transform_mjit_header: making external definition of 'sigemptyset' static inline
transform_mjit_header: making external definition of 'sigismember' static inline
transform_mjit_header: making external definition of 'sigdelset' static inline
transform_mjit_header: making external definition of 'sigaddset' static inline
とか言ってるのですが、libc提供関数をどうにかしようとしてるのはまずそうな雰囲気を感じます。
ちなみに、こいつらは /usr/include/signal.h の中でinline関数として定義されているっぽいです。
取り急ぎ報告まで。
Updated by taca (Takahiro Kambe) over 6 years ago
In message redmine.issue-14439.20180204122852.8b177c62b00fc2c1@ruby-lang.org
on Sun, 04 Feb 2018 12:28:54 +0000 (UTC),
usa@garbagecollect.jp wrote:
というわけで手元のNetBSD/i386 7.1で試そうとしたら、残念ながらビルドエラーになりました。
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/ruby25-base/patches/patch-configure?rev=1.4
の、
@@ -20224,6 +20229,8 @@ else
ifdef _MSC_VER¶
include <malloc.h>¶
define alloca _alloca¶
+# elif defined(NetBSD) || defined(FreeBSD) || defined(DragonFly) || defined(OpenBSD)
+# include <stdlib.h>
else¶
ifdef HAVE_ALLOCA_H¶
include <alloca.h>¶
辺りでしょうか?
--
神戸 隆博 / Takahiro Kambe
Updated by usa (Usaku NAKAMURA) over 6 years ago
手元のconfigureには該当行は存在するので、たぶん関係ないかと。
Updated by k0kubun (Takashi Kokubun) over 6 years ago
- Status changed from Assigned to Closed
Applied in changeset trunk|r62235.
transform_mjit_header.rb: restrict transformation
to whitelisted patterns. This fix is for NetBSD.
[Bug #14439]