Someone that knows more about pypy will have to apply this patch as I have no idea what kind of problem this could make to other people. What I have done is made pypy use 32bit on osx by default, I guess I can do the same as the other platforms and decide between forcing gcc to compile 32bit code based on the info from the platform module. On a side note did you made asmgcc work? I don't even think it supported 64bit at all. On Oct 10, 2009, at 12:19 PM, Gabriel Lavoie wrote:
Hello everyone, here's a patch so pypy-c can be built under Snow Leopard (64 bits Python/GCC). I'm not 100% sure on how to make type casts but it builds. I'm sure someone can validate. :)
Cheers,
Gabriel
2009/10/6 Leonardo Santagada <santagada@gmail.com>:
Thanks pedronis for applying one of the patches, but without the trackgcroot one I can't get no trackgcroot test to pass, and without the -dynamiclib change I get one failure on test_rffi_platform.py, but with it the generated pypy .s files can't be read by trackgcroot.
Anyone knows how to fix the current failure on test_rffi_platform on osx without changing the -bundle to -dynamiclib?
And the other failure about offset_labels, maybe it is possible to offset them but not by so much as 2**30 but maybe 2**24 or something?
On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote:
To make compilation and asmgcroot happy on osx I made some changes, I would like to know if someone has anything against applying this stuff to trunk?
Index: pypy/translator/c/gcc/trackgcroot.py =================================================================== --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) +++ pypy/translator/c/gcc/trackgcroot.py (working copy) @@ -22,7 +22,11 @@ r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) +").*$") r_functionstart_darwin = re.compile(r"_(\w+):\s*$")
-OFFSET_LABELS = 2**30 +# darwin's ld complain about this hack +if sys.platform == 'darwin': + OFFSET_LABELS = 0 +else: + OFFSET_LABELS = 2**30
# inside functions LABEL = r'([.]?[\w$@]+)' Index: pypy/translator/platform/test/test_darwin.py =================================================================== --- pypy/translator/platform/test/test_darwin.py (revision 68036) +++ pypy/translator/platform/test/test_darwin.py (working copy) @@ -2,8 +2,8 @@ """ File containing darwin platform tests """
-import py, os -if os.name != 'darwin': +import py, sys +if sys.platform != 'darwin': py.test.skip("Darwin only")
from pypy.tool.udir import udir Index: pypy/translator/platform/darwin.py =================================================================== --- pypy/translator/platform/darwin.py (revision 68036) +++ pypy/translator/platform/darwin.py (working copy) @@ -18,7 +18,7 @@ self.cc = cc
def _args_for_shared(self, args): - return (self.shared_only + ['-bundle', '-undefined', 'dynamic_lookup'] + return (self.shared_only + ['-dynamiclib', '-undefined', 'dynamic_lookup'] + args)
def include_dirs_for_libffi(self):
-- Leonardo Santagada santagada at gmail.com
-- Leonardo Santagada santagada at gmail.com
_______________________________________________ pypy-dev@codespeak.net http://codespeak.net/mailman/listinfo/pypy-dev
-- Gabriel Lavoie glavoie@gmail.com <pypy-snow-leopard-translate.patch>
-- Leonardo Santagada santagada at gmail.com