On Wed, Aug 01, 2018 at 01:40:02PM -0400, Daniel Dickman wrote: > > > > On Aug 1, 2018, at 1:11 PM, Juan Francisco Cantero Hurtado > > <[email protected]> wrote: > > > > CVSROOT: /cvs > > Module name: ports > > Changes by: [email protected] 2018/08/01 11:11:43 > > > > Modified files: > > lang/cython : Makefile > > Added files: > > lang/cython/patches: patch-Cython_Utility_ModuleSetupCode_c > > > > Log message: > > Upstream changed recently the optimization level to Os for GCC. It > > broke the build of the packages which depend of cython on macppc and > > probably on other GCC4 arches. > > > > Spotted by landry@ with numpy. Culprit found by daniel@. > > Note this won’t fix numpy yet since the numpy package on pypi uses a local > version of Cython independent of our ports tree. (other Python ports might > also do something like that). So a separate patch is needed for numpy to > repair that package (I will take care of shortly). > > In terms of other followups I think there’s an unusually wide list of things > that are affected and could be fixed. > > 1) Might be worth scanning the tree for use of files that are pre-generated > by cython version 0.28.x...
You should have another mail about this. > > 2) In regard to Cython it might be worth asking upstream to revert the > problematic diff? > > To quote from the latest gcc manual: > > “This attribute should be used for debugging purposes only. It is not > suitable in production code.” > > (see: > https://gcc.gnu.org/onlinedocs/gcc-8.2.0/gcc/Common-Function-Attributes.html#Common-Function-Attributes) > > So use of this attribute doesn’t seem like a great idea to me... > > In fact the Cython folks seem to know this as can be seen in this github > issue (so I’m not sure for the rationale to keep using this attribute > anyway). see: > https://github.com/cython/cython/issues/2494 The rationale https://github.com/cython/cython/issues/2102 We will not be affected by the bug in the release 0.29. We don't need to send the patch to upstream. > > 3) I need to check our local changes for base and ports gcc. It seems like we > might want to explore turning the “optimize” attribute off for ports gcc (and > fixing base gcc so it doesn’t generate code that blows up at runtime on > macppc). -- Juan Francisco Cantero Hurtado http://juanfra.info
