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

Bug#38978: still happening with 2.1.2-0pre10



reassign 38978 netbase
thanks

At 04:00 +0000 1999-08-23, David Coe wrote:
This is still happening in 2.1.2-0pre10, same place in strcpy(), in case you're interested:

toe Mon Aug 23 03:54:42 ~$ ulimit -c unlimited
toe Mon Aug 23 03:55:06 ~$ /sbin/route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
Illegal instruction (core dumped)
toe Mon Aug 23 03:55:10 ~$ gdb /sbin/route core
GNU gdb 4.18
...
This GDB was configured as "i686-pc-linux-gnu"...
(no debugging symbols found)...
Core was generated by `/sbin/route'.
Program terminated with signal 4, Illegal instruction.
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0  0x804a659 in strcpy ()
(gdb) disass 0x804a659 0x804a664
Dump of assembler code from 0x804a659 to 0x804a664:
0x804a659 <strcpy+5389>:        bswap  %ebx
0x804a65b <strcpy+5391>:        mov    0xc(%ebp),%edi
0x804a65e <strcpy+5394>:        mov    %ebx,0x4(%edi)
0x804a661 <strcpy+5397>:        sub    0x8(%ebp),%esi
End of assembler dump.
(gdb) quit

I did some research, and in doing so I discovered that the offending asm is not in strcpy(), it is in route itself. The Debian GCC Maintainers and I discovered a bug in egcs/gcc that caused it to use -march=pentium by default. And sure enough, recompiling netbase with the latest Debian gcc package (which has the bug fixed) produces a route with no bswaps.
--
Joel Klecker (aka Espy)                    Debian GNU/Linux Developer
<URL:mailto:jk@espy.org>                 <URL:mailto:espy@debian.org>
<URL:http://web.espy.org/>               <URL:http://www.debian.org/>


Reply to: