Andreas' 2013-02-08 change reverted some breakage for struct return
values from 2011-11-12, but in so doing reintroduced string instructions to sysv.S that are not supported on all powerpc variants. This patch properly copies the bounce buffer to destination in C code rather than in asm. I have tested this on powerpc64-linux, powerpc-linux and powerpc-freebsd. Well, the last on powerpc-linux by lying to configure with CC="gcc -m32 -msvr4-struct-return -mlong-double-64" \ CXX="g++ -m32 -msvr4-struct-return -mlong-double-64" \ /src/libffi-current/configure --build=powerpc-freebsd and then make && make CC="gcc -m32" CXX="g++ -m32" \ RUNTESTFLAGS=--target_board=unix/-m32/-msvr4-struct-return/-mlong-double-64\ check
This commit is contained in:
committed by
Anthony Green
parent
1c06515d92
commit
362851379a
10
ChangeLog
10
ChangeLog
@@ -1,3 +1,13 @@
|
||||
2013-11-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Revert 2013-02-08
|
||||
change. Do not consume an int arg when returning a small struct
|
||||
for FFI_SYSV ABI.
|
||||
(ffi_call): Only use bounce buffer when FLAG_RETURNS_SMST.
|
||||
Properly copy bounce buffer to destination.
|
||||
* src/powerpc/sysv.S: Revert 2013-02-08 change.
|
||||
* src/powerpc/ppc_closure.S: Remove stray '+'.
|
||||
|
||||
2013-11-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* src/powerpc/ffi.c (ffi_prep_args64): Align struct parameters
|
||||
|
||||
Reference in New Issue
Block a user