Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Aug 2016 18:36:49 +0000 (UTC)
From:      David Naylor <dbn@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r420576 - in head/lang: pypy pypy/files pypy3/files
Message-ID:  <201608211836.u7LIanBT020682@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dbn
Date: Sun Aug 21 18:36:49 2016
New Revision: 420576
URL: https://svnweb.freebsd.org/changeset/ports/420576

Log:
  lang/pypy(3): unbreak on PowerPC.
  
  Unbreak build by:
   - correctly detecting PowerPC architecture,
   - excluding PowerPC specific assembler code (as there is none), and
   - fixing the JIT due to long double == double for PowerPC.
  
  Special thanks to swills who diligently tested multiple iterations of patches
  to eventually end up at a solution.

Added:
  head/lang/pypy/files/patch-pypy_module___cffi__backend_misc.py   (contents, props changed)
  head/lang/pypy/files/patch-rpython_jit_backend_detect__cpu.py   (contents, props changed)
  head/lang/pypy/files/patch-rpython_translator_c_src_asm.c   (contents, props changed)
  head/lang/pypy/files/patch-rpython_translator_c_src_asm.h   (contents, props changed)
  head/lang/pypy3/files/patch-pypy_module___cffi__backend_misc.py   (contents, props changed)
  head/lang/pypy3/files/patch-rpython_jit_backend_detect__cpu.py   (contents, props changed)
  head/lang/pypy3/files/patch-rpython_translator_c_src_asm.c   (contents, props changed)
  head/lang/pypy3/files/patch-rpython_translator_c_src_asm.h   (contents, props changed)
Modified:
  head/lang/pypy/Makefile

Modified: head/lang/pypy/Makefile
==============================================================================
--- head/lang/pypy/Makefile	Sun Aug 21 17:11:30 2016	(r420575)
+++ head/lang/pypy/Makefile	Sun Aug 21 18:36:49 2016	(r420576)
@@ -10,8 +10,6 @@ DISTNAME?=	${PORTNAME}2-v${PORTVERSION}-
 MAINTAINER=	python@FreeBSD.org
 COMMENT=	Fast, compliant implementation of the Python language
 
-BROKEN_powerpc64=	Does not build
-
 LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 		libffi.so:devel/libffi
 TEST_DEPENDS=	${PREFIX}/${PYPY_DIR}/lib_pypy/_gdbm_cffi.${PYPY_CFFI_VER}.so:databases/pypy-gdbm \

Added: head/lang/pypy/files/patch-pypy_module___cffi__backend_misc.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy/files/patch-pypy_module___cffi__backend_misc.py	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,10 @@
+--- pypy/module/_cffi_backend/misc.py.orig	2016-06-14 07:46:04 UTC
++++ pypy/module/_cffi_backend/misc.py
+@@ -253,6 +253,7 @@ _is_nonnull_longdouble = rffi.llexternal
+     sandboxsafe=True)
+ 
+ # split here for JIT backends that don't support floats/longlongs/etc.
++@jit.dont_look_inside
+ def is_nonnull_longdouble(cdata):
+     return _is_nonnull_longdouble(read_raw_longdouble_data(cdata))
+ def is_nonnull_float(cdata, size):

Added: head/lang/pypy/files/patch-rpython_jit_backend_detect__cpu.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy/files/patch-rpython_jit_backend_detect__cpu.py	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,10 @@
+--- rpython/jit/backend/detect_cpu.py.orig	2016-06-14 07:46:04 UTC
++++ rpython/jit/backend/detect_cpu.py
+@@ -61,6 +61,7 @@ def detect_model_from_host_platform():
+             'i86pc': MODEL_X86,    # Solaris/Intel
+             'x86': MODEL_X86,      # Apple
+             'Power Macintosh': MODEL_PPC_64,
++            'powerpc': MODEL_PPC_64, # freebsd
+             'ppc64': MODEL_PPC_64,
+             'ppc64le': MODEL_PPC_64,
+             'x86_64': MODEL_X86,

Added: head/lang/pypy/files/patch-rpython_translator_c_src_asm.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy/files/patch-rpython_translator_c_src_asm.c	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,13 @@
+--- rpython/translator/c/src/asm.c.orig	2016-06-14 07:46:04 UTC
++++ rpython/translator/c/src/asm.c
+@@ -8,10 +8,6 @@
+ /* #  include "src/asm_gcc_x86_64.c" */
+ #endif
+ 
+-#if defined(__GNUC__) && defined(__ppc__)
+-#  include "src/asm_ppc.c"
+-#endif
+-
+ #if defined(_MSC_VER)
+ #  include "src/asm_msvc.c"
+ #endif

Added: head/lang/pypy/files/patch-rpython_translator_c_src_asm.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy/files/patch-rpython_translator_c_src_asm.h	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,13 @@
+--- rpython/translator/c/src/asm.h.orig	2016-06-14 07:46:04 UTC
++++ rpython/translator/c/src/asm.h
+@@ -10,10 +10,6 @@
+ #  include "src/asm_gcc_x86_64.h"
+ #endif
+ 
+-#if defined(__GNUC__) && defined(__ppc__)
+-#  include "src/asm_ppc.h"
+-#endif
+-
+ #if defined(MS_WINDOWS) && defined(_MSC_VER)
+ #  include "src/asm_msvc.h"
+ #endif

Added: head/lang/pypy3/files/patch-pypy_module___cffi__backend_misc.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy3/files/patch-pypy_module___cffi__backend_misc.py	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,10 @@
+--- pypy/module/_cffi_backend/misc.py.orig	2016-06-14 07:46:04 UTC
++++ pypy/module/_cffi_backend/misc.py
+@@ -253,6 +253,7 @@ _is_nonnull_longdouble = rffi.llexternal
+     sandboxsafe=True)
+ 
+ # split here for JIT backends that don't support floats/longlongs/etc.
++@jit.dont_look_inside
+ def is_nonnull_longdouble(cdata):
+     return _is_nonnull_longdouble(read_raw_longdouble_data(cdata))
+ def is_nonnull_float(cdata, size):

Added: head/lang/pypy3/files/patch-rpython_jit_backend_detect__cpu.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy3/files/patch-rpython_jit_backend_detect__cpu.py	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,10 @@
+--- rpython/jit/backend/detect_cpu.py.orig	2016-06-14 07:46:04 UTC
++++ rpython/jit/backend/detect_cpu.py
+@@ -61,6 +61,7 @@ def detect_model_from_host_platform():
+             'i86pc': MODEL_X86,    # Solaris/Intel
+             'x86': MODEL_X86,      # Apple
+             'Power Macintosh': MODEL_PPC_64,
++            'powerpc': MODEL_PPC_64, # freebsd
+             'ppc64': MODEL_PPC_64,
+             'ppc64le': MODEL_PPC_64,
+             'x86_64': MODEL_X86,

Added: head/lang/pypy3/files/patch-rpython_translator_c_src_asm.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy3/files/patch-rpython_translator_c_src_asm.c	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,13 @@
+--- rpython/translator/c/src/asm.c.orig	2016-06-14 07:46:04 UTC
++++ rpython/translator/c/src/asm.c
+@@ -8,10 +8,6 @@
+ /* #  include "src/asm_gcc_x86_64.c" */
+ #endif
+ 
+-#if defined(__GNUC__) && defined(__ppc__)
+-#  include "src/asm_ppc.c"
+-#endif
+-
+ #if defined(_MSC_VER)
+ #  include "src/asm_msvc.c"
+ #endif

Added: head/lang/pypy3/files/patch-rpython_translator_c_src_asm.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy3/files/patch-rpython_translator_c_src_asm.h	Sun Aug 21 18:36:49 2016	(r420576)
@@ -0,0 +1,13 @@
+--- rpython/translator/c/src/asm.h.orig	2016-06-14 07:46:04 UTC
++++ rpython/translator/c/src/asm.h
+@@ -10,10 +10,6 @@
+ #  include "src/asm_gcc_x86_64.h"
+ #endif
+ 
+-#if defined(__GNUC__) && defined(__ppc__)
+-#  include "src/asm_ppc.h"
+-#endif
+-
+ #if defined(MS_WINDOWS) && defined(_MSC_VER)
+ #  include "src/asm_msvc.h"
+ #endif



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