Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Jul 2012 18:10:17 GMT
From:      John Marino <draco@marino.st>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/169951: [NEW PORT] lang/gcc-aux, gcc-4.7 compiler (Ada, Fortran, C, C++, Objc)
Message-ID:  <201207191810.q6JIAHlM089914@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/169951; it has been noted by GNATS.

From: John Marino <draco@marino.st>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/169951: [NEW PORT] lang/gcc-aux, gcc-4.7 compiler (Ada,
 Fortran, C, C++, Objc)
Date: Thu, 19 Jul 2012 20:05:56 +0200

 During the process of troubleshooting the known issue between FreeBSD 
 9.0 thread library and gcc-4.6/4.7 GNAT tasking, it was discovered the 
 enable-stack-executable function was broken on FreeBSD in two places. 
 It was broken out of the box, GCC must not have tested it on x86.
 
 1) The gcc/config/i386/freebsd.h header did not have 
 HAVE_ENABLE_EXECUTE_STACK macro defined, so the functionality was disabled.
 
 2) The enable-execute-stack-mprotect.c file, which was designed 
 specifically with FreeBSD in mind (it uses the kern.stackprot sysctl) 
 didn't work.  The sysctl always returns 7 (stack is WRX) even when it 
 can't be executed on, so the __enable_execute_stack function is 
 effectively turned off anyway.
 
 Rather than patch that file, I created a new version called 
 enable-execute-stack-freebsd.c.  NetBSD, OpenBSD, and DragonFlyBSD also 
 refer to it and skip the whole static variable "need_enable_exec_stack" 
 business.  On FreeBSD 8.2, the testsuite completely passes now as it did 
 with gnat-aux.  Ironically, the number of failures on FreeBSD 9.0 
 increased by 6, but now also matches lang/gnat-aux on FreeBSD 9.0
 
 The new tarball is here:
 <http://leaf.dragonflybsd.org/~marino/misc/port_lang_gcc-aux.v2.tar.bz2>;
 MD5 (port_lang_gcc-aux.v2.tar.bz2) = fbd7aba289b12fc39004647bbb1b846f
 
 The former one has been removed to avoid confusion.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207191810.q6JIAHlM089914>