mirror of git://gcc.gnu.org/git/gcc.git
re PR go/48407 (libgo/configure --without-libffi doesn't work)
PR go/48407 runtime: Permit building libgo without libffi. From-SVN: r184234
This commit is contained in:
parent
d25b1e3a80
commit
35ea42ebad
|
@ -8,13 +8,17 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "ffi.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "go-alloc.h"
|
#include "go-alloc.h"
|
||||||
#include "go-assert.h"
|
#include "go-assert.h"
|
||||||
#include "go-type.h"
|
#include "go-type.h"
|
||||||
#include "runtime.h"
|
#include "runtime.h"
|
||||||
|
|
||||||
|
#ifdef USE_LIBFFI
|
||||||
|
|
||||||
|
#include "ffi.h"
|
||||||
|
|
||||||
/* The functions in this file are only called from reflect_call. As
|
/* The functions in this file are only called from reflect_call. As
|
||||||
reflect_call calls a libffi function, which will be compiled
|
reflect_call calls a libffi function, which will be compiled
|
||||||
without -fsplit-stack, it will always run with a large stack. */
|
without -fsplit-stack, it will always run with a large stack. */
|
||||||
|
@ -500,3 +504,20 @@ reflect_call (const struct __go_func_type *func_type, const void *func_addr,
|
||||||
|
|
||||||
free (call_result);
|
free (call_result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else /* !defined(USE_LIBFFI) */
|
||||||
|
|
||||||
|
void
|
||||||
|
reflect_call (const struct __go_func_type *func_type __attribute__ ((unused)),
|
||||||
|
const void *func_addr __attribute__ ((unused)),
|
||||||
|
_Bool is_interface __attribute__ ((unused)),
|
||||||
|
_Bool is_method __attribute__ ((unused)),
|
||||||
|
void **params __attribute__ ((unused)),
|
||||||
|
void **results __attribute__ ((unused)))
|
||||||
|
{
|
||||||
|
/* Without FFI there is nothing we can do. */
|
||||||
|
runtime_throw("libgo built without FFI does not support "
|
||||||
|
"reflect.Call or runtime.SetFinalizer");
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* !defined(USE_LIBFFI) */
|
||||||
|
|
Loading…
Reference in New Issue