The xcode_workaround-1.0.tcl PortGroup was designed so that the workaround is 
automatically dropped when using Xcode 11.3.

-Marcus

> On Dec 15, 2019, at 8:49 AM, Jack Howarth <howarth.at.macpo...@gmail.com> 
> wrote:
> 
> FYI, the gmp test suite failure in the t-powm test case when using core2 
> optimization with the default stack checking has been solved in the release 
> Xcode 11.3. So the current -fno-stack-checking workaround in the MacPorts gmp 
> package can be dropped in favor of just blacklisting Xcode 11.0 through 11.2.
>                 Jack
> 
> On Sat, Nov 9, 2019 at 10:57 AM Marcus Calhoun-Lopez 
> <marcuscalhounlo...@gmail.com> wrote:
> This is an interesting idea, but there may be other factors at play.
> 
> GMP has definite ideas about which compiler flags to use.
> When CFLAGS is set, GMP completely ignores its own and assumes the user just 
> wants what is in CFLAGS.
> 
> Without CFLAGS, GMP uses, for example, -O2 -pedantic -fomit-frame-pointer 
> -m64 -mtune=core2 -march=core2.
> When CFLAGS is set, none of these flags are used.
> 
> Following your lead, I was able to pass all of the tests just by setting 
> CFLAGS (*without* -fcheck-stack).
> 
> -Marcus
> 
> > On Nov 9, 2019, at 8:19 AM, Jack Howarth <howarth.at.macpo...@gmail.com> 
> > wrote:
> > 
> > 
> > 
> > On Fri, Nov 8, 2019 at 10:17 PM Ryan Schmidt <ryandes...@macports.org> 
> > wrote:
> > On Nov 8, 2019, at 20:03, Joshua Root wrote:
> > 
> > > On 2019-11-9 10:28 , Jack Howarth wrote:
> > >> I just noticed a really bizarre aspect to this Xcode 11 bug. If you
> > >> build gmp manually from source with the default compiler flags in use...
> > >> 
> > >> ./configure
> > >> make
> > >> make check
> > >> 
> > >> the t-powm test case fails. However if you add -fstack-check
> > >> explicitly on CFLAGS and CXXFLAGS, the t-powm test case failure is
> > >> suppressed.
> > >> 
> > >> ./configure  CFLAGS='-O2 -fcheck-stack' CXXFLAGS='-O2 -fcheck-stack'
> > >> make
> > >> make check
> > > 
> > > Are the default compiler flags '-O2'?
> > 
> > MacPorts default optimization flag is -Os.
> > 
> > 
> > Same behavior...
> > 
> > ./configure  CFLAGS='-Os -fstack-check' CXXFLAGS='-Os -fstack-check'
> > make
> > make check
> > 
> > suppresses the failure
> > 
> > PASS: t-powm
> > 
> > with Xcode 11.2 in a manual build. Wonder how many of the remaining 
> > packages that are requiring -fno-check-stack could actually be 'fixed' by 
> > explicitly passing -fcheck-stack instead. Obviously that option disabled 
> > some of the problematic stack checking code that Apple's clang is 
> > automatically generating in the absence of the flag.
> >  
> 

Reply via email to