(toppers-users 4502) Re: Mac OS Xシミュレーション環境の sense_context()

Hiroaki TAKADA hiro @ ertl.jp
2016年 2月 19日 (金) 06:52:38 JST


森岡様
Cc: 皆様

ご指摘ありがとうございます。

> 以下の SA_ONSTACK は SS_ONSTACK であるべきではないでしょうか。

ご指摘の通り,SS_ONSTACK にすべきと思われます。今後のリリースで修正します。

「思われます」と書いた理由(そして,不具合の原因)は,MacOS X のマニュアル
(man sigaltstack で出てくるもの。下のURLにもあります)に,SA_ONSTACK と書
いてあるためです。他の UNIX系OS のマニュアルと比較して,MacOS X のマニュア
ルの記載誤りと判断しました。

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/sigaltstack.2.html

高田広章
名古屋大学

On 2016/02/18 21:16, Yasuhiro Morioka wrote:
>
> 森岡と申します。
>
> 興味半分、仕事半分で Mac OS Xシミュレーション環境を Linux で動かしています。
>
> Mac OS Xシミュレーション環境 依存部パッケージ target_config.h の sense_context()に疑問があります。
> 以下の SA_ONSTACK は SS_ONSTACK であるべきではないでしょうか。
> macosxでは、どちらも同じ値ですので現実的な問題にはなりませんが、Linuxでは異なる値です。
>
> ASP/1, ASP/3 どちらも同じようになっています。
>
> Inline bool_t
> sense_context(void)
> {
>          stack_t ss;
>
>          sigaltstack(NULL, &ss);
>          return((ss.ss_flags & SA_ONSTACK) != 0);
> }
>
> --