From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Kreileder Subject: Re: snd-ioctl32 is failing on x86_64 (no crashes, just errors) Date: Fri, 14 Jan 2005 07:13:39 +0100 Message-ID: <87wtuga67g.fsf@blackdown.de> References: <20050106130649.GA253131@lion.gg3.net> <20050108074026.GA8595@lion.gg3.net> <20050110123342.GA243173@lion.gg3.net> <20050110161559.GA248292@lion.gg3.net> <20050112022402.GB9290@lion.gg3.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from smtp.blackdown.de (smtp.blackdown.de [213.239.206.42]) by alsa.alsa-project.org (ALSA's E-mail Delivery System) with ESMTP id E7C022A4 for ; Fri, 14 Jan 2005 07:13:42 +0100 (MET) In-Reply-To: <20050112022402.GB9290@lion.gg3.net> (Georgi Georgiev's message of "Wed, 12 Jan 2005 11:24:02 +0900") Sender: alsa-devel-admin@lists.sourceforge.net Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Takashi Iwai Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org Georgi Georgiev writes: >> Index: alsa-kernel/core/ioctl32/ioctl32.c >> =================================================================== >> RCS file: /home/tiwai/cvs/alsa/alsa-kernel/core/ioctl32/ioctl32.c,v >> retrieving revision 1.30 >> diff -u -r1.30 ioctl32.c >> --- alsa-kernel/core/ioctl32/ioctl32.c 15 Dec 2004 15:26:24 -0000 1.30 >> +++ alsa-kernel/core/ioctl32/ioctl32.c 10 Jan 2005 16:59:33 -0000 >> @@ -219,25 +219,10 @@ >> struct sndrv_ctl_elem_id id; >> unsigned int indirect; /* bit-field causes misalignment */ >> union { >> - union { >> - s32 value[128]; >> - u32 value_ptr; >> - } integer; >> - union { >> - s64 value[64]; >> - u32 value_ptr; >> - } integer64; >> - union { >> - u32 item[128]; >> - u32 item_ptr; >> - } enumerated; >> - union { >> - unsigned char data[512]; >> - u32 data_ptr; >> - } bytes; >> - struct sndrv_aes_iec958 iec958; >> + s32 integer[128]; /* integer and boolean need conversion */ >> + unsigned char data[512]; /* others should be compatible */ >> } value; >> - unsigned char reserved[128]; >> + unsigned char reserved[128]; /* not used */ >> }; That breaks alignment on ppc64 again. Fix: --- ioctl32.c.orig 2005-01-14 06:53:41.496899917 +0100 +++ ioctl32.c 2005-01-14 06:56:26.146675819 +0100 @@ -220,6 +220,7 @@ struct sndrv_ctl_elem_value32 { unsigned int indirect; /* bit-field causes misalignment */ union { s32 integer[128]; /* integer and boolean need conversion */ + s64 longint[64]; unsigned char data[512]; /* others should be compatible */ } value; unsigned char reserved[128]; /* not used */ = Juergen -- Juergen Kreileder, Blackdown Java-Linux Team http://www.blackdown.org/java-linux/java2-status/ ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt