aboutsummaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authoraoliva <>2007-03-08 11:06:41 +0000
committeraoliva <>2007-03-08 11:06:41 +0000
commit2f14a5f1f469c18427332036dd4231936b765ef1 (patch)
treeb592b37e724ff1196d0b6c3ec8438f049158ed0a /libffi
parent62c3c05c354b41ece702c2c317e844c06f25290a (diff)
* src/powerpc/ffi.c (flush_icache): Fix left-over from previous
patch. (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
Diffstat (limited to 'libffi')
-rw-r--r--libffi/ChangeLog6
-rw-r--r--libffi/src/powerpc/ffi.c13
2 files changed, 11 insertions, 8 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 7118b678695..ecd75cf978a 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
+ patch.
+ (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
+
2007-03-07 Alexandre Oliva <aoliva@redhat.com>
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
diff --git a/libffi/src/powerpc/ffi.c b/libffi/src/powerpc/ffi.c
index 8c30c64fd75..fe5550d5889 100644
--- a/libffi/src/powerpc/ffi.c
+++ b/libffi/src/powerpc/ffi.c
@@ -839,11 +839,8 @@ flush_icache (char *wraddr, char *xaddr, int size)
{
int i;
for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
- {
- addr = addr1 + i;
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
- : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
- }
+ __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
+ : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
__asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
: : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
: "memory");
@@ -863,7 +860,7 @@ ffi_prep_closure_loc (ffi_closure *closure,
FFI_ASSERT (cif->abi == FFI_LINUX64);
/* Copy function address and TOC from ffi_closure_LINUX64. */
memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
- tramp[2] = (void *) codeloc;
+ tramp[2] = codeloc;
#else
unsigned int *tramp;
@@ -879,10 +876,10 @@ ffi_prep_closure_loc (ffi_closure *closure,
tramp[8] = 0x7c0903a6; /* mtctr r0 */
tramp[9] = 0x4e800420; /* bctr */
*(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
- *(void **) &tramp[3] = (void *) codeloc; /* context */
+ *(void **) &tramp[3] = codeloc; /* context */
/* Flush the icache. */
- flush_icache (tramp, codeloc, FFI_TRAMPOLINE_SIZE);
+ flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
#endif
closure->cif = cif;