[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00097] Re: AIX でのコンパイルエラーについて



潮田です。

>  しらいです。
>
>  NOJOB を指定しない binary でも、「set +m」を実行した以降は
> job control を行なわなくなりますので、この環境で改めて調べて
> 頂けないでしょうか。
>  +m 状態で再現するか否かで、原因の特定に関してもう少し的を
> しぼれるんじゃないかと思います。
小島さんがお忙しいようなので試してみました。

shiota@ <~/src/OTHER/FD/FD-2.02a> $ ./fdsh
$ sleep 2
Illegal instruction
shiota@ <~/src/OTHER/FD/FD-2.02a> $ ./fdsh
$ set +m
$ sleep 2
Illegal instruction

と変わらないようです。

Makefile.tmp の DEBUG に -g をつけた fdsh で試しました。
この行にさらに -DJOBVERBOSE をつけると

--- ここから ---
$ make sh
        make SHELL=/bin/sh -f Makefile.tmp sh
        cc -DFDSH=2 -DAIX=1 -O -g -DJOBVERBOSE   -c -o ssystem.o system.c
    1500-030: (I) 情報 : linkstree: 再コンパイルして、2048 より大きい値で MAXMEM オプショ ンを指定することによって、さらに最適化することができます。
        cc -DFDSH=2 -DAIX=1 -O -g -DJOBVERBOSE   -c -o sposixsh.o posixsh.c
"posixsh.c", line 200.30: 1506-045 (S) 識別子 ttyout が宣言されていません。
"posixsh.c", line 381.29: 1506-045 (S) 識別子 ttyout が宣言されていません。
make: 1254-004 最後のコマンドからのエラー・コードは 1 です。


停止します。
make: 1254-004 最後のコマンドからのエラー・コードは 2 です。


停止します。
--- ここまで ---

となりました。
本筋ではないので、おひまな時に追ってみていただけますか。



あと、 FDclone で SIGILL を起こした時の gdb による bt も
つけておきます。
FDclone についてくる README を表示し、 q で PAGER を終了させ
(反応がないので)enter を数回打った後の画面です。

--- ここから ---
HISTORY.eng     これまでの改定履歴 (英文)
FAQ             Q&A 集 (Frequently Asked Question)








Program received signal SIGILL, Illegal instruction.
0x00000000 in ?? ()
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x1004ba4c in waitjob (pid=268724996, wp=0x204544e8, opt=0) at system.c:2577
#2  0x1004b63c in waitchild (pid=-803755616, trp=0x20454478) at system.c:2699
#3  0x100492a0 in exec_simplecom (trp=0x20004058, type=0, id=-2, bg=0) at system.c:8940
#4  0x10038c0c in exec_command (trp=0xf0004420, bg=0) at system.c:9123
#5  0x10038804 in exec_process (trp=0x20454448) at system.c:9236
#6  0x100382fc in exec_stree (trp=0x1001cab0, cond=44) at system.c:9344
#7  0x10037a48 in _dosystem (command=0x1001e520 "8`") at system.c:9527
#8  0x10048ff4 in dosystem (command=0x1 "") at system.c:9547
#9  0x10002138 in system2 (command=0x204514ee "/usr/local/bin/less", noconf=541410536)
    at libc.c:730
#10 0x10036700 in execmacro (command=0x20009ad4 "", arg=0x2044cf9c " Ejリ",
    noconf=536906916, argset=536906960, ignorelist=2) at shell.c:771
#11 0x10063f18 in execenv (env=0xd01806f4 "\200\002", arg=0x20003be0 ".")
    at command.c:795
#12 0x10063bd0 in view_file (arg=0x1001cab0 "\200A") at command.c:881
#13 0x100621f8 in launch_file (arg=0x0) at command.c:1350
#14 0x1002c328 in browsedir (file=0xd018f248 "`", def=0x0) at browse.c:1285
#15 0x1002e724 in main_fd (path=0x0) at browse.c:1492
#16 0x100007bc in main (argc=0, argv=0x0, envp=0x0) at main.c:993
#17 0x100001dc in __start ()
(gdb)
--- ここまで ---

# sizeof(long) と sizeof(pid_t) が違うのかと愚考しましたが、
# どちらも 4 でした。


潮田