An #endif in the wrong place would cause compile failure on powerpcle.
Using bl instead of b doesn't cause runtime failures as you might think, but does mess the processor branch prediction.
This commit is contained in:
committed by
Anthony Green
parent
34f878a5ef
commit
16d56c51ad
@@ -1,3 +1,8 @@
|
||||
2013-11-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* src/powerpc/ppc_closure.S: Move errant #endif to where it belongs.
|
||||
Don't bl .Luint128.
|
||||
|
||||
2013-11-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use #if _CALL_ELF
|
||||
|
||||
@@ -238,7 +238,7 @@ ENTRY(ffi_closure_SYSV)
|
||||
lwz %r3,112+0(%r1)
|
||||
lwz %r4,112+4(%r1)
|
||||
lwz %r5,112+8(%r1)
|
||||
bl .Luint128
|
||||
b .Luint128
|
||||
|
||||
# The return types below are only used when the ABI type is FFI_SYSV.
|
||||
# case FFI_SYSV_TYPE_SMALL_STRUCT + 1. One byte struct.
|
||||
@@ -320,13 +320,13 @@ ENTRY(ffi_closure_SYSV)
|
||||
mtlr %r0
|
||||
addi %r1,%r1,144
|
||||
blr
|
||||
#endif
|
||||
|
||||
.Luint128:
|
||||
lwz %r6,112+12(%r1)
|
||||
mtlr %r0
|
||||
addi %r1,%r1,144
|
||||
blr
|
||||
#endif
|
||||
|
||||
END(ffi_closure_SYSV)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user