Bug#425011: gcc-4.1: FTBFS on m68k and arm, multiple definitions of ffi_prep_closure
On Fri, May 18, 2007 at 06:01:03PM +0200, Aurelien Jarno wrote:
> Matthias Klose a écrit :
> > Peter Green writes:
> >> package:gcc-4.1
> >> version:4.1.2-7
> >> severity:serious
> >>
> >> from the relavent buildd logs:
> >
> > Note, that the severity is not RC for 68k; I do not intend to fix
> > that. Same for arm, and arm porters don't seem to care that much, so
> > maybe we should drop arm as a release architecture?
> >
> >
> You can find a preliminary patch here:
>
> http://temp.aurel32.net/libffi-arm-closure.diff
>
> With it gcc-4.1 builds well, I am restarting a full build with the testsuite
>
The patch is correct, at least the testsuite shows the exact same
results, though not very good.
Please find attached a patch against the current debian package.
Bye,
Aurelien
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
diff -u gcc-4.1-4.1.2/debian/patches/libjava-backport-updates2.dpatch gcc-4.1-4.1.2/debian/patches/libjava-backport-updates2.dpatch
--- gcc-4.1-4.1.2/debian/patches/libjava-backport-updates2.dpatch
+++ gcc-4.1-4.1.2/debian/patches/libjava-backport-updates2.dpatch
@@ -32564,0 +32565,27 @@
+Index: libffi/src/arm/ffi.c
+===================================================================
+--- libffi/src/arm/ffi.c 2007-05-18 17:49:21.000000000 +0200
++++ libffi/src/arm/ffi.c 2007-05-18 17:51:59.000000000 +0200
+@@ -269,16 +269,17 @@
+ /* the cif must already be prep'ed */
+
+ ffi_status
+-ffi_prep_closure (ffi_closure* closure,
+- ffi_cif* cif,
+- void (*fun)(ffi_cif*,void*,void**,void*),
+- void *user_data)
++ffi_prep_closure_loc (ffi_closure* closure,
++ ffi_cif* cif,
++ void (*fun)(ffi_cif*,void*,void**,void*),
++ void *user_data,
++ void *codeloc)
+ {
+ FFI_ASSERT (cif->abi == FFI_SYSV);
+
+ FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
+ &ffi_closure_SYSV, \
+- (void*)closure);
++ codeloc);
+
+ closure->cif = cif;
+ closure->user_data = user_data;
Reply to: