watatsu です。

> >         int bogus_func(int* bar)
> この段階でbarがスタックセグメントを指しているってことがコン
> パイラに伝わらないとデータセグメントが使われてしまいますよね。
> 教える方法があるかどうかは知りません。
分かりました。
# なるほど。スタックに詰まれたかデータセグメント上にあるか
# 分からない…

> >         {
> >                 int foo;
> >                 bogus_func(&foo);
> こっちで「エラー」を出すのが正しいとは思うけど、
ずっとはまってました。
コンパイルが通ってぬか喜び。

> でも、ポインタをデータとスタックで、やりとりするつもりなら、
> スタックセグメントとデータセグメントをわけるのは、止めた方が
> 良いと思うよ。
そうですね。無難です。
スタックセグメントの取り扱いがデータセグメントとほぼ同じという、謎の勘違いしてました。
どうやってスタックから如何にデータを保護するのか、について頭をひねっていました。(汗)
ずっと「リンカスクリプトが怪しい」などと勝手に決め付けてまし
た。(汗汗)

助かりました。
ありがとうございました。

; cltack@xug.biglobe.ne.jp