[Bug libffi/70024] New: [5/6 Regression] libffi ABI change w/o SONAME bump
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 1 09:06:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70024
Bug ID: 70024
Summary: [5/6 Regression] libffi ABI change w/o SONAME bump
Product: gcc
Version: 5.3.0
Status: UNCONFIRMED
Keywords: ABI
Severity: normal
Priority: P3
Component: libffi
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*
../../gcc-4_8-branch/libffi/src/aarch64/ffitarget.h:#define FFI_TRAMPOLINE_SIZE
36
../../gcc-4_9-branch/libffi/src/aarch64/ffitarget.h:#define FFI_TRAMPOLINE_SIZE
36
...
../../gcc-5-branch/libffi/src/aarch64/ffitarget.h:#define FFI_TRAMPOLINE_SIZE
24
../../trunk3/libffi/src/aarch64/ffitarget.h:#define FFI_TRAMPOLINE_SIZE 24
and
typedef struct {
#if @FFI_EXEC_TRAMPOLINE_TABLE@
void *trampoline_table;
void *trampoline_table_entry;
#else
char tramp[FFI_TRAMPOLINE_SIZE];
#endif
ffi_cif *cif;
void (*fun)(ffi_cif*,void*,void**,void*);
void *user_data;
#ifdef __GNUC__
} ffi_closure __attribute__((aligned (8)));
so sizeof ffi_closure changed as well as offset of fun and user_data members.
This breaks (at least) python-cffi (built against old FFI and run against
new).
More information about the Gcc-bugs
mailing list