Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union

2008-04-13 Thread Francois Gouget
Package: libc6-dev
Version: 2.7-10
Severity: normal
Tags: patch


The pthread_mutex_t in /usr/include/bits/pthreadtypes.h contains a
nameless union. This makes it impossible to use with compilers that
don't support nameless unions. Gcc 2.95 for instance. In
particular this breaks compilation of Wine with gcc 2.95 (see
loader/kthread.c in the Wine source).

Avoiding nameless unions is trivial so there's no reason not to do it.
Here's a patch to fix this (finding a better name for the union is left
as an exercise for the reader):

--- pthreadtypes.h.orig 2007-11-29 22:32:47.0 +0100
+++ pthreadtypes.h  2007-12-08 09:12:50.0 +0100
@@ -96,7 +96,7 @@
 {
   int __spins;
   __pthread_slist_t __list;
-};
+} u;
 #endif
   } __data;
   char __size[__SIZEOF_PTHREAD_MUTEX_T];

(hopefully this won't get too mangled by vi)


Here is a test program:
--- pthread_mutex_t.c ---
#include 
pthread_mutex_t mutex;
--- pthread_mutex_t.c ---

Compiling it with gcc 2.95 gives the following error:
$ gcc-2.95 -c pthread_mutex_t.c
In file included from /usr/include/pthread.h:30,
 from pthread_mutex_t.c:1:
/usr/include/bits/pthreadtypes.h:99: warning: unnamed struct/union that defines 
no instances


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.22.9fg2 (PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6-dev depends on:
ii  libc6 2.7-10 GNU C Library: Shared libraries
ii  linux-libc-dev2.6.24-5   Linux Kernel Headers for developme

Versions of packages libc6-dev recommends:
ii  gcc [c-compiler] 4:4.2.2-2   The GNU C compiler
ii  gcc-2.95 [c-compiler]1:2.95.4-27 The GNU C compiler
ii  gcc-4.1 [c-compiler] 4.1.2-19The GNU C compiler
ii  gcc-4.2 [c-compiler] 4.2.3-3 The GNU C compiler
ii  gcc-4.3 [c-compiler] 4.3.0-1 The GNU C compiler

-- no debconf information



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union

2008-05-10 Thread Aurelien Jarno
tag 475839 + wontfix
thanks

On Sun, Apr 13, 2008 at 12:12:38PM +0200, Francois Gouget wrote:
> Package: libc6-dev
> Version: 2.7-10
> Severity: normal
> Tags: patch
> 
> 
> The pthread_mutex_t in /usr/include/bits/pthreadtypes.h contains a
> nameless union. This makes it impossible to use with compilers that
> don't support nameless unions. Gcc 2.95 for instance. In
> particular this breaks compilation of Wine with gcc 2.95 (see
> loader/kthread.c in the Wine source).
> 
> Avoiding nameless unions is trivial so there's no reason not to do it.
> Here's a patch to fix this (finding a better name for the union is left
> as an exercise for the reader):
> 
> --- pthreadtypes.h.orig 2007-11-29 22:32:47.0 +0100
> +++ pthreadtypes.h  2007-12-08 09:12:50.0 +0100
> @@ -96,7 +96,7 @@
>  {
>int __spins;
>__pthread_slist_t __list;
> -};
> +} u;
>  #endif
>} __data;
>char __size[__SIZEOF_PTHREAD_MUTEX_T];
> 
> (hopefully this won't get too mangled by vi)
> 
> 
> Here is a test program:
> --- pthread_mutex_t.c ---
> #include 
> pthread_mutex_t mutex;
> --- pthread_mutex_t.c ---
> 
> Compiling it with gcc 2.95 gives the following error:
> $ gcc-2.95 -c pthread_mutex_t.c
> In file included from /usr/include/pthread.h:30,
>  from pthread_mutex_t.c:1:
> /usr/include/bits/pthreadtypes.h:99: warning: unnamed struct/union that 
> defines no instances
> 

gcc-2.95 does not give an error, but outputs a simple warning.

I don't think it worth supporting an old compiler that is not present
in lenny. Tagging the bug as wontfix.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union

2008-12-14 Thread Francois Gouget
On Sat, 10 May 2008, Aurelien Jarno wrote:

> tag 475839 + wontfix
> thanks
[...]
> > Here is a test program:
> > --- pthread_mutex_t.c ---
> > #include 
> > pthread_mutex_t mutex;
> > --- pthread_mutex_t.c ---
> > 
> > Compiling it with gcc 2.95 gives the following error:
> > $ gcc-2.95 -c pthread_mutex_t.c
> > In file included from /usr/include/pthread.h:30,
> >  from pthread_mutex_t.c:1:
> > /usr/include/bits/pthreadtypes.h:99: warning: unnamed struct/union that 
> > defines no instances
> 
> gcc-2.95 does not give an error, but outputs a simple warning.
> 
> I don't think it worth supporting an old compiler that is not present
> in lenny. Tagging the bug as wontfix.


I would like this bug to be reopened because I think it was closed for 
the wrong reasons:

 1) gcc-2.95 is still present in Lenny. If you are not seeing it in 
aptitude, it's because you are using the 64bit build.

 2) It's very easy to get a compilation error. Just try to compile the 
following program:

--- pthread_mutex_t.c ---
#include 
pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;
--- pthread_mutex_t.c ---

 3) This particular construct also seems to be causing trouble with PCC:
http://pcc.ludd.ltu.se/jira/browse/PCC-5

 4) Wine contains code very similar to the above and thus fails to 
compile with gcc-2.95. This is actually the whole reason why I 
compile it with gcc 2.95: to ensure that Wine's code does not 
contain such non-portable constructs. But having the compilation 
fail due to the C library headers, or having to patch said headers 
on a regular basis, is annoying.



-- 
Francois Gouget   http://fgouget.free.fr/
 We are Pentium of Borg. You will be approximated. Division is futile.



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union

2008-12-14 Thread Aurelien Jarno
On Sun, Dec 14, 2008 at 11:43:24PM +0100, Francois Gouget wrote:
> On Sat, 10 May 2008, Aurelien Jarno wrote:
> 
> > tag 475839 + wontfix
> > thanks
> [...]
> > > Here is a test program:
> > > --- pthread_mutex_t.c ---
> > > #include 
> > > pthread_mutex_t mutex;
> > > --- pthread_mutex_t.c ---
> > > 
> > > Compiling it with gcc 2.95 gives the following error:
> > > $ gcc-2.95 -c pthread_mutex_t.c
> > > In file included from /usr/include/pthread.h:30,
> > >  from pthread_mutex_t.c:1:
> > > /usr/include/bits/pthreadtypes.h:99: warning: unnamed struct/union that 
> > > defines no instances
> > 
> > gcc-2.95 does not give an error, but outputs a simple warning.
> > 
> > I don't think it worth supporting an old compiler that is not present
> > in lenny. Tagging the bug as wontfix.
> 
> 
> I would like this bug to be reopened because I think it was closed for 
> the wrong reasons:
> 

The bug is still open.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   aure...@debian.org | aurel...@aurel32.net
   `-people.debian.org/~aurel32 | www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union

2008-12-14 Thread Daniel Jacobowitz
On Sun, Dec 14, 2008 at 11:43:24PM +0100, Francois Gouget wrote:
> I would like this bug to be reopened because I think it was closed for 
> the wrong reasons:
> 
>  1) gcc-2.95 is still present in Lenny. If you are not seeing it in 
> aptitude, it's because you are using the 64bit build.

For the record, it isn't.  You may still have it installed, or you may
have Etch also in your sources.list; etch did include gcc-2.95 on some
platforms.

-- 
Daniel Jacobowitz
CodeSourcery



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union

2008-12-15 Thread Francois Gouget
On Sun, 14 Dec 2008, Francois Gouget wrote:
[...]
>  1) gcc-2.95 is still present in Lenny. If you are not seeing it in 
> aptitude, it's because you are using the 64bit build.

Ah. I see I'm wrong about this point. I still get it because I have 
stable+testing in my sources.list. My other points still stand though.


-- 
Francois Gouget   http://fgouget.free.fr/
   Cahn's Axiom: When all else fails, read the instructions.



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org