[pypy-commit] pypy default: start passing some tests on darwin
fijal
noreply at buildbot.pypy.org
Fri Aug 21 15:00:34 CEST 2015
Author: fijal
Branch:
Changeset: r79113:2f729fff5878
Date: 2015-08-21 14:29 +0200
http://bitbucket.org/pypy/pypy/changeset/2f729fff5878/
Log: start passing some tests on darwin
diff --git a/rpython/rlib/rvmprof/cintf.py b/rpython/rlib/rvmprof/cintf.py
--- a/rpython/rlib/rvmprof/cintf.py
+++ b/rpython/rlib/rvmprof/cintf.py
@@ -83,6 +83,15 @@
func.c_name = cont_name
func._dont_inline_ = True
+ if sys.platform == 'darwin':
+ # according to internet "At the time UNIX was written in 1974...."
+ # "... all C functions are prefixed with _"
+ cont_name = '_' + cont_name
+ tramp_name = '_' + tramp_name
+ PLT = ""
+ else:
+ PLT = "@PLT"
+
assert detect_cpu.autodetect().startswith(detect_cpu.MODEL_X86_64), (
"rvmprof only supports x86-64 CPUs for now")
@@ -107,17 +116,15 @@
target.write("""\
\t.text
\t.globl\t%(tramp_name)s
-\t.type\t%(tramp_name)s, @function
%(tramp_name)s:
\t.cfi_startproc
\tpushq\t%(reg)s
\t.cfi_def_cfa_offset 16
-\tcall %(cont_name)s at PLT
+\tcall %(cont_name)s%(PLT)s
\taddq\t$8, %%rsp
\t.cfi_def_cfa_offset 8
\tret
\t.cfi_endproc
-\t.size\t%(tramp_name)s, .-%(tramp_name)s
""" % locals())
def tok2cname(tok):
@@ -151,7 +158,7 @@
)
return rffi.llexternal(
- tramp_name,
+ tramp_name.lstrip("_"),
[token2lltype(tok) for tok in token] + [lltype.Signed],
token2lltype(restok),
compilation_info=eci,
diff --git a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py
--- a/rpython/translator/platform/posix.py
+++ b/rpython/translator/platform/posix.py
@@ -181,6 +181,7 @@
('all', '$(DEFAULT_TARGET)', []),
('$(TARGET)', '$(OBJECTS)', '$(CC_LINK) $(LDFLAGSEXTRA) -o $@ $(OBJECTS) $(LIBDIRS) $(LIBS) $(LINKFILES) $(LDFLAGS)'),
('%.o', '%.c', '$(CC) $(CFLAGS) $(CFLAGSEXTRA) -o $@ -c $< $(INCLUDEDIRS)'),
+ ('%.o', '%.s', '$(CC) $(CFLAGS) $(CFLAGSEXTRA) -o $@ -c $< $(INCLUDEDIRS)'),
('%.o', '%.cxx', '$(CXX) $(CFLAGS) $(CFLAGSEXTRA) -o $@ -c $< $(INCLUDEDIRS)'),
]
More information about the pypy-commit
mailing list