Re: Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed. を消すには?
In article <m3vf9k524v.fsf@nospam.maedapc.cc.tsukuba.ac.jp>,
MAEDA Atusi <maeda-news@ialab.cs.tsukuba.ac.jp> writes:
> kono@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
>
> > でも、やっぱり、この非常識なプログラムメッセージを消す方が
> > 正しいと思う。消し方を知っている人いますか? たぶん、バイナリ
> > エディタで、この文字列を0で消すのが簡単だと思うんだけど。
> > 場所がいまいちわからん。
>
> 私の環境だと出ないんで試せないんだけど、以下でどうでしょう。
>
> (1) 以下のようなファイルをコンパイルして、シェアドライブラリにしておく。
>
> int errno;
>
> (2) wrapper シェルスクリプトを作って、その中で上のファイルをプリロード
> する。
>
> #!/bin/sh
> PROGRAM=オリジナルプログラムのパス
> LD_PRELOAD=シェアドライブラリのパス exec ${PROGRAM} "$@"
>
> (でも、コンパイルし直さない限り完全には動かないでしょうけどね。意図し
> た「本物の」errno にアクセスできてないんだから。)
それだと、マルチスレッドプログラムだとまた違う動きが…
--
___ わしは、山吹色のかすてーらが大好きでのぅ
[[o o]] ふぉっふぉっふぉ
'J' 森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D 02 74 87 52 7C B7 39 37
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735