Nmap Development mailing list archives

Re: SIGSEGV signal on Darwin OS X (Intel) when using version matching (nmap 4.01)


From: "Kurt Grutzmacher" <grutz () jingojango net>
Date: Fri, 10 Mar 2006 11:12:50 -0800

I've been able to track this down to the Mac's GCC compiler and the
optimization "-fthread-jumps"

       -fthread-jumps
           Perform optimizations where we check to see if a jump branches to
a
           location where another comparison subsumed by the first is found.
           If so, the first branch is redirected to either the destination
of
           the second branch or a point immediately following it, depending
on
           whether the condition is known to be true or false.

           Enabled at levels -O2, -O3, -Os, -Oz (APPLE ONLY).

Process of elimination finally gave it away. I set CFLAGS to -O1 and
manually set each -f that -O2 enables and plucked my way through them until
I found the flag(s) that caused nmap to SIGSEV. No matter what
-fthread-jumps always caused a SIGSEV.

Fixing this is way beyond my knowledge. Seems like it's a problem with
Apple's Xcode:

Using built-in specs.
Target: i686-apple-darwin8
Configured with:
/private/var/tmp/gcc/gcc-5250.obj~12/src/configure--disable-checking
-enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --build=powerpc-apple-darwin8
--with-arch=pentium-m --with-tune=prescott --program-prefix=
--host=i686-apple-darwin8 --target=i686-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5250)


_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev


Current thread: