Author: Armin Rigo <ar...@tunes.org> Branch: arm-longlong Changeset: r73251:026488ee760e Date: 2014-08-31 22:17 +0200 http://bitbucket.org/pypy/pypy/changeset/026488ee760e/
Log: More fixes to avoid ctypes/libffi interference diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py --- a/rpython/jit/backend/test/runner_test.py +++ b/rpython/jit/backend/test/runner_test.py @@ -2794,11 +2794,16 @@ var_name)) export_symbols.append(fn_name) c_source.append('') - c_source.append('void %s(%s)' % (fn_name, ', '.join(fn_args))) + c_source.append('static void real%s(%s)' % ( + fn_name, ', '.join(fn_args))) c_source.append('{') for i in range(len(ARGTYPES)): c_source.append(' argcopy_%s_x%d = x%d;' % (fn_name, i, i)) c_source.append('}') + c_source.append('void *%s(void)' % fn_name) + c_source.append('{') + c_source.append(' return (void *)&real%s;' % fn_name) + c_source.append('}') c_source.append('') for k in range(NB_TESTS): @@ -2810,13 +2815,12 @@ for k in range(NB_TESTS): ARGTYPES, ffitypes, fn_name = all_tests[k] - func_ptr = rffi.llexternal(fn_name, ARGTYPES, lltype.Void, - compilation_info=eci, _nowrapper=True) + func_getter_ptr = rffi.llexternal(fn_name, [], lltype.Signed, + compilation_info=eci, _nowrapper=True) load_factor = rnd.random() keepalive_factor = rnd.random() # - FPTR = lltype.typeOf(func_ptr) - funcbox = self.get_funcbox(cpu, func_ptr) + func_raw = func_getter_ptr() calldescr = cpu._calldescr_dynamic_for_tests(ffitypes, types.void) faildescr = BasicFailDescr(1) # @@ -2836,7 +2840,7 @@ print print codes # - argvalues = [funcbox.getint()] + argvalues = [func_raw] for TP in ARGTYPES: r = (rnd.random() - 0.5) * 999999999999.9 r = rffi.cast(TP, r) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit