[matt@gaspode:/home/matt/sieve] % ./proth_sieve_bsd
Illegal instruction (core dumped)
[matt@gaspode:/home/matt/sieve] % gdb ./proth_sieve_bsd
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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-marcel-freebsd"...
(gdb) run
Starting program: /usr/home/matt/sieve/proth_sieve_bsd
Program received signal SIGILL, Illegal instruction.
0x0807cca9 in operator new ()
(gdb) bt
#0 0x0807cca9 in operator new ()
#1 0x0805f134 in __gnu_cxx::__pool_alloc<true, 0>::_S_chunk_alloc ()
#2 0x0805f1d8 in __gnu_cxx::__pool_alloc<true, 0>::_S_refill ()
#3 0x0805f018 in __gnu_cxx::__pool_alloc<true, 0>::allocate ()
#4 0x0805f36b in std::allocator<char>::allocate ()
#5 0x08077988 in std::string::_Rep::_S_create ()
#6 0x0807727b in std::string::_S_construct<char const*> ()
#7 0x0807a16c in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string ()
#8 0x08058f23 in __static_initialization_and_destruction_0 ()
#9 0x0808b0ed in __do_global_ctors_aux ()
#10 0x08048ca2 in _init ()
#11 0x080490af in _start ()
#12 0x00000001 in ?? ()
(gdb) info registers
eax 0x1 1
ecx 0x1e0 480
edx 0x0 0
ebx 0x3c0 960
esp 0xbfbfea50 0xbfbfea50
ebp 0xbfbfea68 0xbfbfea68
esi 0x0 0
edi 0x18 24
eip 0x807cca9 0x807cca9
eflags 0x10206 66054
cs 0x1f 31
ss 0x2f 47
ds 0x2f 47
es 0x2f 47
fs 0x2f 47
gs 0x8f 143
(gdb) disassemble
Dump of assembler code for function _Znwj:
0x0807cc98 <_Znwj+0>: push %ebp
0x0807cc99 <_Znwj+1>: mov %esp,%ebp
0x0807cc9b <_Znwj+3>: push %ebx
0x0807cc9c <_Znwj+4>: sub $0x14,%esp
0x0807cc9f <_Znwj+7>: mov 0x8(%ebp),%ebx
0x0807cca2 <_Znwj+10>: test %ebx,%ebx
0x0807cca4 <_Znwj+12>: mov $0x1,%eax
0x0807cca9 <_Znwj+17>: cmove %eax,%ebx
0x0807ccac <_Znwj+20>: mov %ebx,(%esp)
0x0807ccaf <_Znwj+23>: call 0x8048d64 <malloc>
0x0807ccb4 <_Znwj+28>: test %eax,%eax
0x0807ccb6 <_Znwj+30>: jne 0x807cd10 <_Znwj+120>
0x0807ccb8 <_Znwj+32>: mov 0x80a3950,%eax
0x0807ccbd <_Znwj+37>: test %eax,%eax
0x0807ccbf <_Znwj+39>: jne 0x807cceb <_Znwj+83>
0x0807ccc1 <_Znwj+41>: movl $0x4,(%esp)
0x0807ccc8 <_Znwj+48>: call 0x807bd3c <__cxa_allocate_exception>
0x0807cccd <_Znwj+53>: movl $0x808e5e0,(%eax)
0x0807ccd3 <_Znwj+59>: movl $0x807cc62,0x8(%esp)
0x0807ccdb <_Znwj+67>: movl $0x808e5f0,0x4(%esp)
0x0807cce3 <_Znwj+75>: mov %eax,(%esp)
0x0807cce6 <_Znwj+78>: call 0x807cb7e <__cxa_throw>
---Type <return> to continue, or q <return> to quit---
0x0807cceb <_Znwj+83>: call *%eax
0x0807cced <_Znwj+85>: mov %ebx,(%esp)
0x0807ccf0 <_Znwj+88>: call 0x8048d64 <malloc>
0x0807ccf5 <_Znwj+93>: test %eax,%eax
0x0807ccf7 <_Znwj+95>: je 0x807ccb8 <_Znwj+32>
0x0807ccf9 <_Znwj+97>: jmp 0x807cd10 <_Znwj+120>
0x0807ccfb <_Znwj+99>: cmp $0xffffffff,%edx
0x0807ccfe <_Znwj+102>: je 0x807cd08 <_Znwj+112>
0x0807cd00 <_Znwj+104>: mov %eax,(%esp)
0x0807cd03 <_Znwj+107>: call 0x8089b48 <_Unwind_Resume>
0x0807cd08 <_Znwj+112>: mov %eax,(%esp)
0x0807cd0b <_Znwj+115>: call 0x807c9c6 <__cxa_call_unexpected>
0x0807cd10 <_Znwj+120>: add $0x14,%esp
0x0807cd13 <_Znwj+123>: pop %ebx
0x0807cd14 <_Znwj+124>: pop %ebp
0x0807cd15 <_Znwj+125>: ret
0x0807cd16 <_Znwj+126>: nop
0x0807cd17 <_Znwj+127>: nop
End of assembler dump.
(gdb)