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 <[email protected]>: >> 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'([.]?[...@]+)' >>> 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 >> >> >> >> _______________________________________________ >> [email protected] >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > [email protected] > <pypy-snow-leopard-translate.patch> -- Leonardo Santagada santagada at gmail.com _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
