Nmap Development mailing list archives

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


From: Fyodor <fyodor () insecure org>
Date: Fri, 10 Mar 2006 11:43:53 -0800

On Fri, Mar 10, 2006 at 11:12:50AM -0800, Kurt Grutzmacher wrote:
I've been able to track this down to the Mac's GCC compiler and the
optimization "-fthread-jumps"

Great!  If this is related to a coding problem in Nmap or one if its
libraries, then it would be best to fix that underlying issue.  One
the other hand, it may be a bug in this gcc optimization, at least on
that platform.  So unless anyone has ideas about changes to Nmap or
its libraries to resolve this, the best approach may be adding
-fno-thread-jumps on the X86 Apple platform.  Do you think you could
send a patch to the configure.ac files which adds that flag?  I don't
have an affected machine for testing, unfortunately, but it shouldn't
be too hard.  The Nmap configure.ac has:

  *-apple-darwin*)
    macosx=yes
    AC_DEFINE(MACOSX)
    needs_cpp_precomp=yes
    ;;

Maybe if you add something right above that like:

  i686-apple-darwin*)
    macosx=yes
    AC_DEFINE(MACOSX)
    needs_cpp_precomp=yes
    CXXFLAGS="$CXXFLAGS -fno-thread-jumps"
    ;;

You may need to add similar code to libpcre/configure.ac and possibly
also to the configure.ac in nsock, libpcap, nbase, libdnet-stripped,
and nsock.

Then you just run autoconf in the directories you made configure.ac
changes in, and give it the old "make clean; ./configure; make", watch
to see if -fno-thread-jumps is being added as appropriate and then
test if you still see the crash.

Thanks,
-F


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


Current thread: