2004年11月 5日

[vine-users:068443] Re: illegal instruction in portmap

藤田です。

その後です。

Date: Fri, Oct 22, 2004 at 03:27:15AM +0900
Subject: [vine-users:068340] illegal instruction in portmap
Message-Id: <20041021182715.GA13501@xxxxx>

(略)
> の結果から portmap が出しているエラーではなさそうな

> 気がするんですが、glibc なのか、bash なのかどこに
> 問題があるのかは分かりません。

デバッガを走らせてみました。
glibc の内部で落ちていると推定しました。

% gdb /sbin/portmap
GNU gdb 5.2.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-vine-linux"...(no debugging symbols found)...
(gdb) set args -dv
(gdb) show args
Argument list to give program being debugged when it is started is "-dv".
(gdb) r
Starting program: /sbin/portmap -dv
server: about do a switch

Program received signal SIGILL, Illegal instruction.
0x0804b782 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
41 ../sysdeps/i386/i586/strcpy.S: No such file or directory.
in ../sysdeps/i386/i586/strcpy.S
(gdb) where
36 in ../sysdeps/i386/i586/strcpy.S
(gdb) where
#0 0x0804b782 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#1 0xbfffe3c8 in ?? ()
#2 0x0804b677 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#3 0x0804b2e1 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#4 0x0804a907 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#5 0x0804abfb in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#6 0x0804a410 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#7 0x4012ba39 in svc_getreq_common (fd=32896) at svc.c:465
#8 0x4012b7f6 in svc_getreq_poll (pfdp=0x8053c28, pollretval=1) at svc.c:398
#9 0x4012c3eb in svc_run () at svc_run.c:82
#10 0x08049ff6 in strcpy () at ../sysdeps/i386/i586/strcpy.S:41
#11 0x40049c23 in __libc_start_main (main=0x8049d00 <strcpy+220>, argc=2,
ubp_av=0x2, init=0x804dedc <strcpy+17080>, fini=0x804df28 <strcpy+17156>,
rtld_fini=0xbffff660, stack_end=0x80800000)
at ../sysdeps/generic/libc-start.c:225
(gdb) quit
The program is running. Exit anyway? (y or n)

そこで、ソースを取ってきまして、k6 用にコンパイルしてみました。
(狙いどころ間違っている?)
% rpmbuild --rebuild --target k6 glibc*.src.rpm

なぜか、~/.rpmrc で
optflags: k6 -O2 -march=k6-2 -m3dnow
を指定しているのに、-march=k6-2 が -march=k6 になります。
glibc の configure に問題があるみたいな気がします。
が、気にせずにコンパイルします。

作った rpm ファイルを
% sudo rpm -ihv --replacepkgs --replacefiles --ignorearch glibc*.k6.rpm
でインストールしました。...が、やはり illegal instruction で落ちます。

手が無くなってきました。
現在コンパイラ gcc を疑い始めています。疑心暗鬼です。


投稿者 xml-rpc : 2004年11月 5日 02:28
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/27547
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。