[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

biarch fakeroot 0.7.5 fixes



I've just rebuild the 0.7.5 fakeroot package.  0.7.6 still has some
glitches for me, but should be ready for tomorrow.

See http://jukie.net/~bart/debian/amd64/ for details.  

Package available here:
http://farbror.acc.umu.se/amd64/packages/fakeroot/0.7.5-biarch2/

It's also on alioth.

B.

----- bug report submitted ----

> Package: fakeroot
> Version: 0.7.6; reported 2003-09-21
> Severity: important
> Tags: patch
> 
> I am working on the amd64 port.
> 
> I have had strange problems with the build of the fakeroot package.  It
> was not consistent and occasionally the build would work, but the build
> of other packages (via fakeroot) would frequently fail.
> 
> I finally tracked it down.
> 
> The problem is in the padding inserted into the 'fakestat' and
> 'fake_msg' structures.  If both faked and libfakeroot are compiled for
> the same architecture, then this padding is irrelevant since both
> programs will decode the structures offsets correctly.  However, on
> amd64 we have a 32bit and a 64bit library and only a 32bit daemon.  This
> causes problems since with the -O flag, gcc uses amd64 optimized
> structure padding... as you can guess the contents of the structures
> look completely different once they go through the msgsnd/msgrcv pipe.
> 
> It took a while to debug it... but, the following simple patch seems to 
> fix it.  Please consider applying it. Althought I have not tried, it 
> should not break other architectures, but will make my life easier. :)
> 
> --- 1.1/fakeroot/communicate.h	Sat Aug  9 15:50:15 2003
> +++ edited/communicate.h	Sun Sep 21 21:47:16 2003
> @@ -120,14 +120,14 @@
>    fake_mode_t mode;
>    fake_nlink_t nlink;
>    
> -};
> +} __attribute__ ((packed));
>  struct fake_msg{
>    long mtype;   /* message type in SYSV message sending */
>    func_id id;   /* the requested function */
>    pid_t pid;
>    int   serial;
>    struct fakestat st;
> -};
> +} __attribute__ ((packed));
>  
>  #ifdef __cplusplus
>  extern "C" {
> 
> 
> -- System Information
> Debian Release: 3.0
> Architecture: amd64
> Kernel: Linux muon 2.4.23-pre2 #3 SMP Wed Sep 10 19:09:24 EDT 2003 x86_64
> Locale: LANG=C, LC_CTYPE=C
> 

-- 
				WebSig: http://www.jukie.net/~bart/sig/

Attachment: pgpOkCgoN57UV.pgp
Description: PGP signature


Reply to: