[pypy-commit] pypy default: expose ARM libffi ABI information
bivab
noreply at buildbot.pypy.org
Tue Apr 16 22:35:05 CEST 2013
Author: David Schneider <david.schneider at picle.org>
Branch:
Changeset: r63432:5be8df0b14e7
Date: 2013-04-16 22:28 +0200
http://bitbucket.org/pypy/pypy/changeset/5be8df0b14e7/
Log: expose ARM libffi ABI information
diff --git a/rpython/rlib/clibffi.py b/rpython/rlib/clibffi.py
--- a/rpython/rlib/clibffi.py
+++ b/rpython/rlib/clibffi.py
@@ -4,6 +4,7 @@
from rpython.rtyper.tool import rffi_platform
from rpython.rtyper.lltypesystem import lltype, rffi
+from rpython.rtyper.tool import rffi_platform
from rpython.rlib.unroll import unrolling_iterable
from rpython.rlib.rarithmetic import intmask, is_emulated_long
from rpython.rlib.objectmodel import we_are_translated
@@ -15,6 +16,7 @@
from rpython.translator.tool.cbuild import ExternalCompilationInfo
from rpython.translator.platform import platform
from rpython.conftest import cdir
+from platform import machine
import py
import os
import sys
@@ -35,6 +37,8 @@
_LITTLE_ENDIAN = sys.byteorder == 'little'
_BIG_ENDIAN = sys.byteorder == 'big'
+_ARM = rffi_platform.getdefined('__arm__', '')
+
if _WIN32:
from rpython.rlib import rwin32
@@ -154,6 +158,10 @@
if _WIN32 and not _WIN64:
FFI_STDCALL = rffi_platform.ConstantInteger('FFI_STDCALL')
+ if _ARM:
+ FFI_SYSV = rffi_platform.ConstantInteger('FFI_SYSV')
+ FFI_VFP = rffi_platform.ConstantInteger('FFI_VFP')
+
FFI_TYPE_STRUCT = rffi_platform.ConstantInteger('FFI_TYPE_STRUCT')
size_t = rffi_platform.SimpleType("size_t", rffi.ULONG)
@@ -327,6 +335,9 @@
FFI_DEFAULT_ABI = cConfig.FFI_DEFAULT_ABI
if _WIN32 and not _WIN64:
FFI_STDCALL = cConfig.FFI_STDCALL
+if _ARM:
+ FFI_SYSV = cConfig.FFI_SYSV
+ FFI_VFP = cConfig.FFI_VFP
FFI_TYPE_STRUCT = cConfig.FFI_TYPE_STRUCT
FFI_CIFP = lltype.Ptr(cConfig.ffi_cif)
More information about the pypy-commit
mailing list