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. > > >