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