summaryrefslogtreecommitdiff
path: root/libffi/include
diff options
context:
space:
mode:
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-30 15:43:03 +0000
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-30 15:43:03 +0000
commit2e818f508e564c53e9269ba6e3048c80f71be5a0 (patch)
treea36cbe1ac1d0a30e257ceffcce0d0b8b21e90faa /libffi/include
parent092b1d6f29c36a1496c539d276bc9d0e1ce66082 (diff)
downloadgcc-2e818f508e564c53e9269ba6e3048c80f71be5a0.tar.gz
2004-08-30 Anthony Green <green@redhat.com>
* Makefile.am: Add frv support. * Makefile.in, testsuite/Makefile.in: Rebuilt. * configure.ac: Read configure.host. * configure, aclocal.m4: Rebuilt. * configure.host: New file. frv-elf needs libgloss. * include/ffi.h.in: Force ffi_closure to have a nice big (8) alignment. This is needed to frv and should harm the others. * include/ffi_common.h (ALIGN_DOWN): New macro. * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86779 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/include')
-rw-r--r--libffi/include/ffi.h.in2
-rw-r--r--libffi/include/ffi_common.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/libffi/include/ffi.h.in b/libffi/include/ffi.h.in
index 9f61d48aae6..42600458689 100644
--- a/libffi/include/ffi.h.in
+++ b/libffi/include/ffi.h.in
@@ -218,7 +218,7 @@ typedef struct {
ffi_cif *cif;
void (*fun)(ffi_cif*,void*,void**,void*);
void *user_data;
-} ffi_closure;
+} ffi_closure __attribute__((aligned (8)));
ffi_status
ffi_prep_closure (ffi_closure*,
diff --git a/libffi/include/ffi_common.h b/libffi/include/ffi_common.h
index 1b948d54ae2..da15ab8ec61 100644
--- a/libffi/include/ffi_common.h
+++ b/libffi/include/ffi_common.h
@@ -60,6 +60,7 @@ void ffi_type_test(/*@temp@*/ /*@out@*/ ffi_type *a, /*@temp@*/ char *file, int
#endif
#define ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1)
+#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
/* Perform machine dependent cif processing */
ffi_status ffi_prep_cif_machdep(ffi_cif *cif);