From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: snd-ioctl32 is failing on x86_64 (no crashes, just errors) Date: Fri, 14 Jan 2005 11:26:43 +0100 Message-ID: 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> <87wtuga67g.fsf@blackdown.de> Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from Cantor.suse.de (news.suse.de [195.135.220.2]) by alsa.alsa-project.org (ALSA's E-mail Delivery System) with ESMTP id 9F70C2AE for ; Fri, 14 Jan 2005 11:26:48 +0100 (MET) In-Reply-To: <87wtuga67g.fsf@blackdown.de> 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: Juergen Kreileder Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Fri, 14 Jan 2005 07:13:39 +0100, Juergen Kreileder wrote: > > 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: Hmm. The change was to fix alignment on x86-64 on the contrary. When we put s64 there, it breaks. OK, I'll add it with ifdef CONFIG_PPC64. Takashi > > --- 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