mirror of git://gcc.gnu.org/git/gcc.git
re PR libffi/13221 (libffi's closure couldn't pass sequence of char and/or short arguments.)
2003-12-02 Hosaka Yuji <hos@tamanegi.org> PR other/13221 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Align arguments to 32 bits. From-SVN: r74161
This commit is contained in:
parent
c25d9caa3b
commit
2c4ed4565a
|
|
@ -1,3 +1,9 @@
|
||||||
|
2003-12-02 Hosaka Yuji <hos@tamanegi.org>
|
||||||
|
|
||||||
|
PR other/13221
|
||||||
|
* src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
|
||||||
|
Align arguments to 32 bits.
|
||||||
|
|
||||||
2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
|
2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
|
||||||
|
|
||||||
PR other/13221
|
PR other/13221
|
||||||
|
|
|
||||||
|
|
@ -62,8 +62,8 @@ void ffi_prep_args(char *stack, extended_cif *ecif)
|
||||||
size_t z;
|
size_t z;
|
||||||
|
|
||||||
/* Align if necessary */
|
/* Align if necessary */
|
||||||
if (((*p_arg)->alignment - 1) & (unsigned) argp)
|
if ((sizeof(int) - 1) & (unsigned) argp)
|
||||||
argp = (char *) ALIGN(argp, (*p_arg)->alignment);
|
argp = (char *) ALIGN(argp, sizeof(int));
|
||||||
|
|
||||||
z = (*p_arg)->size;
|
z = (*p_arg)->size;
|
||||||
if (z < sizeof(int))
|
if (z < sizeof(int))
|
||||||
|
|
@ -301,8 +301,8 @@ ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
|
||||||
size_t z;
|
size_t z;
|
||||||
|
|
||||||
/* Align if necessary */
|
/* Align if necessary */
|
||||||
if (((*p_arg)->alignment - 1) & (unsigned) argp) {
|
if ((sizeof(int) - 1) & (unsigned) argp) {
|
||||||
argp = (char *) ALIGN(argp, (*p_arg)->alignment);
|
argp = (char *) ALIGN(argp, sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
z = (*p_arg)->size;
|
z = (*p_arg)->size;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue