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

Bug#184344: marked as done (extern inlines in libpthread are not ansi compliant)



Your message dated Mon, 28 Feb 2005 19:17:12 -0500
with message-id <E1D5v4a-00079e-00@newraff.debian.org>
and subject line Bug#184344: fixed in hurd 20050119-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 11 Mar 2003 19:02:10 +0000
>From rmh@khazad.dyndns.org Tue Mar 11 13:02:09 2003
Return-path: <rmh@khazad.dyndns.org>
Received: from 80-24-13-86.uc.nombres.ttd.es (getyouriso.dyndns.org) [80.24.13.86] 
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 18sp0p-0008LX-00; Tue, 11 Mar 2003 13:02:08 -0600
Received: from aragorn ([192.168.0.3])
	by getyouriso.dyndns.org with esmtp (Exim 3.35 #1 (Debian))
	id 18sqTI-00021f-00
	for <submit@bugs.debian.org>; Tue, 11 Mar 2003 21:35:36 +0100
Received: from rmh by aragorn with local (Exim 3.36 #1 (Debian))
	id 18sp0C-00009y-00
	for <submit@bugs.debian.org>; Tue, 11 Mar 2003 20:01:28 +0100
Date: Tue, 11 Mar 2003 20:01:26 +0100
From: Robert Millan <zeratul2@wanadoo.es>
To: submit@bugs.debian.org
Subject: extern inlines in libpthread are not ansi compliant
Message-ID: <20030311190126.GA600@aragorn>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="zYM0uCDKw75PZbzx"
Content-Disposition: inline
Organisation: free as in freedom
User-Agent: Mutt/1.5.3i
Sender: Robert Millan <rmh@khazad.dyndns.org>
Delivered-To: submit@bugs.debian.org
X-Spam-Status: No, hits=-2.8 required=4.0
	tests=HAS_PACKAGE,PATCH_UNIFIED_DIFF,SPAM_PHRASE_00_01,
	      USER_AGENT,USER_AGENT_MUTT
	version=2.44
X-Spam-Level: 


--zYM0uCDKw75PZbzx
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Package: hurd
Severity: important

Hello,

libpthread headers like pthread.h or mutex.h contain extern inlines that
don't have a compatibility hack to work when the "-ansi" cflag is enabled.

here's a patch that reproduces the same hack used in mutex.h, for all the
headers.

-- 
Robert Millan

make: *** No rule to make target `war'.  Stop.

Another world is possible - Just say no to genocide

--zYM0uCDKw75PZbzx
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="inline-hurd.diff"

diff -ur hurd.old/libpthread/include/pthread/pthread.h hurd/libpthread/include/pthread/pthread.h
--- hurd.old/libpthread/include/pthread/pthread.h	2002-11-10 18:00:40.000000000 +0100
+++ hurd/libpthread/include/pthread/pthread.h	2003-03-09 14:41:03.000000000 +0100
@@ -420,31 +420,35 @@
 
 # ifdef __USE_EXTERN_INLINES
 
-extern inline int
+# ifndef _EXTERN_INLINE
+#  define _EXTERN_INLINE extern __inline
+# endif
+
+_EXTERN_INLINE int
 pthread_spin_destroy (pthread_spinlock_t *__lock)
 {
   return __pthread_spin_destroy (__lock);
 }
 
-extern inline int
+_EXTERN_INLINE int
 pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
 {
   return __pthread_spin_init (__lock, __pshared);
 }
 
-extern inline int
+_EXTERN_INLINE int
 pthread_spin_lock (pthread_spinlock_t *__lock)
 {
   return __pthread_spin_lock (__lock);
 }
 
-extern inline int
+_EXTERN_INLINE int
 pthread_spin_trylock (pthread_spinlock_t *__lock)
 {
   return __pthread_spin_trylock (__lock);
 }
 
-extern inline int
+_EXTERN_INLINE int
 pthread_spin_unlock (pthread_spinlock_t *__lock)
 {
   return __pthread_spin_unlock (__lock);
diff -ur hurd.old/libpthread/sysdeps/generic/bits/mutex.h hurd/libpthread/sysdeps/generic/bits/mutex.h
--- hurd.old/libpthread/sysdeps/generic/bits/mutex.h	2002-10-11 01:05:05.000000000 +0200
+++ hurd/libpthread/sysdeps/generic/bits/mutex.h	2003-03-09 14:37:34.000000000 +0100
@@ -108,7 +108,7 @@
   return _pthread_mutex_lock (__mutex);
 }
 
-extern inline int
+_EXTERN_INLINE int
 __pthread_mutex_trylock (struct __pthread_mutex *__mutex)
 {
   extern int _pthread_mutex_trylock (struct __pthread_mutex *);
@@ -120,13 +120,13 @@
   return _pthread_mutex_trylock (__mutex);
 }
 
-extern inline int
+_EXTERN_INLINE int
 pthread_mutex_lock (struct __pthread_mutex *__mutex)
 {
   return __pthread_mutex_lock (__mutex);
 }
 
-extern inline int
+_EXTERN_INLINE int
 pthread_mutex_trylock (struct __pthread_mutex *__mutex)
 {
   return __pthread_mutex_trylock (__mutex);
diff -ur hurd.old/libpthread/sysdeps/generic/bits/pthread.h hurd/libpthread/sysdeps/generic/bits/pthread.h
--- hurd.old/libpthread/sysdeps/generic/bits/pthread.h	2002-10-11 01:05:05.000000000 +0200
+++ hurd/libpthread/sysdeps/generic/bits/pthread.h	2003-03-09 14:44:48.000000000 +0100
@@ -22,12 +22,20 @@
 
 typedef int pthread_t;
 
+#ifdef __USE_EXTERN_INLINES
+
+# ifndef _EXTERN_INLINE
+#  define _EXTERN_INLINE extern __inline
+# endif
+
 /* Return true if __T1 and __T2 both name the same thread.  Otherwise,
    false.  */
-extern inline int
+_EXTERN_INLINE int
 pthread_equal (pthread_t __t1, pthread_t __t2)
 {
   return __t1 == __t2;
 }
 
+#endif /* Use extern inlines.  */
+
 #endif /* bits/pthread.h */
diff -ur hurd.old/libpthread/sysdeps/i386/bits/spin-lock.h hurd/libpthread/sysdeps/i386/bits/spin-lock.h
--- hurd.old/libpthread/sysdeps/i386/bits/spin-lock.h	2002-10-11 01:05:05.000000000 +0200
+++ hurd/libpthread/sysdeps/i386/bits/spin-lock.h	2003-03-09 14:49:55.000000000 +0100
@@ -74,10 +74,10 @@
   return __locked ? __EBUSY : 0;
 }
 
-extern inline int __pthread_spin_lock (__pthread_spinlock_t *__lock);
+__PT_SPIN_INLINE int __pthread_spin_lock (__pthread_spinlock_t *__lock);
 extern int _pthread_spin_lock (__pthread_spinlock_t *__lock);
 
-extern inline int
+__PT_SPIN_INLINE int
 __pthread_spin_lock (__pthread_spinlock_t *__lock)
 {
   if (__pthread_spin_trylock (__lock))
diff -ur hurd.old/libpthread/sysdeps/l4/hurd/pt-sysdep.h hurd/libpthread/sysdeps/l4/hurd/pt-sysdep.h
--- hurd.old/libpthread/sysdeps/l4/hurd/pt-sysdep.h	2002-10-11 01:05:05.000000000 +0200
+++ hurd/libpthread/sysdeps/l4/hurd/pt-sysdep.h	2003-03-09 14:48:11.000000000 +0100
@@ -34,17 +34,25 @@
   L4_ThreadId_t threadid; \
   L4_Word_t my_errno;
 
-extern inline struct __pthread *
+#ifdef __USE_EXTERN_INLINES
+
+# ifndef _EXTERN_INLINE
+#  define _EXTERN_INLINE extern __inline
+# endif
+
+_EXTERN_INLINE struct __pthread *
 _pthread_self (void)
 {
   return (struct __pthread *) L4_MyUserDefinedHandle ();
 }
 
-extern inline void
+_EXTERN_INLINE void
 __pthread_stack_dealloc (void *stackaddr, size_t stacksize)
 {
   /* XXX: can only implement this once we have a working memory manager.  */
   return;
 }
 
+#endif /* Use extern inlines.  */
+
 #endif /* pt-sysdep.h */
diff -ur hurd.old/libpthread/sysdeps/mach/bits/spin-lock.h hurd/libpthread/sysdeps/mach/bits/spin-lock.h
--- hurd.old/libpthread/sysdeps/mach/bits/spin-lock.h	2002-10-11 01:05:05.000000000 +0200
+++ hurd/libpthread/sysdeps/mach/bits/spin-lock.h	2003-03-09 14:50:51.000000000 +0100
@@ -70,10 +70,10 @@
   return __spin_try_lock (__lock) ? 0 : __EBUSY;
 }
 
-extern inline int __pthread_spin_lock (__pthread_spinlock_t *__lock);
+__PT_SPIN_INLINE int __pthread_spin_lock (__pthread_spinlock_t *__lock);
 extern int _pthread_spin_lock (__pthread_spinlock_t *__lock);
 
-extern inline int
+__PT_SPIN_INLINE int
 __pthread_spin_lock (__pthread_spinlock_t *__lock)
 {
   if (__pthread_spin_trylock (__lock))
diff -ur hurd.old/libpthread/sysdeps/mach/hurd/pt-sysdep.h hurd/libpthread/sysdeps/mach/hurd/pt-sysdep.h
--- hurd.old/libpthread/sysdeps/mach/hurd/pt-sysdep.h	2002-11-19 18:00:53.000000000 +0100
+++ hurd/libpthread/sysdeps/mach/hurd/pt-sysdep.h	2003-03-09 14:54:49.000000000 +0100
@@ -52,12 +52,21 @@
           thread;                                                  \
          })
 
-extern inline void
+
+#ifdef __USE_EXTERN_INLINES
+                                                                                
+# ifndef _EXTERN_INLINE
+#  define _EXTERN_INLINE extern __inline
+# endif
+
+_EXTERN_INLINE void
 __pthread_stack_dealloc (void *stackaddr, size_t stacksize)
 {
   __vm_deallocate (__mach_task_self (), (vm_offset_t) stackaddr, stacksize);
 }
 
+#endif /* Use extern inlines.  */
+
 /* Change thread THREAD's program counter to PC if SET_PC is true and
    its stack pointer to SP if SET_IP is true.  */
 extern int __thread_set_pcsp (thread_t thread,

--zYM0uCDKw75PZbzx--

---------------------------------------
Received: (at 184344-close) by bugs.debian.org; 1 Mar 2005 00:23:07 +0000
>From katie@ftp-master.debian.org Mon Feb 28 16:23:07 2005
Return-path: <katie@ftp-master.debian.org>
Received: from newraff.debian.org [208.185.25.31] (mail)
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1D5vAJ-0002x7-00; Mon, 28 Feb 2005 16:23:07 -0800
Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian))
	id 1D5v4a-00079e-00; Mon, 28 Feb 2005 19:17:12 -0500
From: Michael Banck <mbanck@debian.org>
To: 184344-close@bugs.debian.org
X-Katie: $Revision: 1.55 $
Subject: Bug#184344: fixed in hurd 20050119-1
Message-Id: <E1D5v4a-00079e-00@newraff.debian.org>
Sender: Archive Administrator <katie@ftp-master.debian.org>
Date: Mon, 28 Feb 2005 19:17:12 -0500
Delivered-To: 184344-close@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 
X-CrossAssassin-Score: 2

Source: hurd
Source-Version: 20050119-1

We believe that the bug you reported is fixed in the latest version of
hurd, which is due to be installed in the Debian FTP archive:

hurd-dev_20050119-1_hurd-i386.deb
  to pool/main/h/hurd/hurd-dev_20050119-1_hurd-i386.deb
hurd_20050119-1.diff.gz
  to pool/main/h/hurd/hurd_20050119-1.diff.gz
hurd_20050119-1.dsc
  to pool/main/h/hurd/hurd_20050119-1.dsc
hurd_20050119-1_hurd-i386.deb
  to pool/main/h/hurd/hurd_20050119-1_hurd-i386.deb
hurd_20050119.orig.tar.gz
  to pool/main/h/hurd/hurd_20050119.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 184344@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Banck <mbanck@debian.org> (supplier of updated hurd package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Wed, 23 Feb 2005 20:52:07 +0100
Source: hurd
Binary: hurd-dev hurd
Architecture: hurd-i386 source 
Version: 20050119-1
Distribution: unstable
Urgency: low
Maintainer: GNU Hurd Maintainers <debian-hurd@lists.debian.org>
Changed-By: Michael Banck <mbanck@debian.org>
Description: 
 hurd       - The GNU Hurd
 hurd-dev   - The GNU Hurd (development files)
Closes: 151407 184344 291307 293511
Changes: 
 hurd (20050119-1) unstable; urgency=low
 .
   * New snapshot from CVS.
     + Contains libpthread header fixes by Neal Walfield and
       Pietro Ferrari. (Closes: #184344)
     + Contains console repeaters by Marco Gerards.
     + Contains mount argp fixes. (Closes: #151407)
 .
   [ Michael Banck]
   * debian/patches/exec.patch: Removed, no longer needed.
   * debian/patches/mouse.patch: Likewise.
   * debian/patches/console_repeater.patch: Removed, applied upstream.
   * debian/patches/libcons_repeater.patch: Likewise.
   * debian/patches/netfs_io_select.patch: Likewise.
   * debian/patches/netfs_nonblock.patch: Likewise.
   * debian/patches-contrib/kbd.patch: Removed, no longer needed.
   * debian/patches/libpthread_linker_script.patch: New patch.  Install
     libpthread.a linker script correctly. (Closes: #291307)
   * debian/rules (install/hurd::): Rename /bin/fakeroot to
     /bin/fakeroot-hurd.
   * debian/control (hurd): Removed fakeroot from Provides:, Replaces:
     and Conflicts:. (Closes: #293511)
   * debian/hurd.install: Install debian/tmp/bin/fakeroot-hurd instead
     of debian/tmp/bin/fakeroot.
   * NEWS: New file.  Explain the console-client command line interface
     changes.
   * debian/patches/siocgifhwaddr.patch: New patch by Marco Gerards.
   * debian/patches/isofs_boot.patch: New patch by Alfred M. Szmidt.
Files: 
 226f3d11030ef70c642ea84e18fbc463 2976045 base required hurd_20050119.orig.tar.gz
 5458debdadc1246f8edb940ea0b6c5b3 30917 base required hurd_20050119-1.diff.gz
 5a0d43614444f3f3240aea2542032b2c 893944 libdevel standard hurd-dev_20050119-1_hurd-i386.deb
 5fb9e22c1c48c0169c1c574659d6c873 2147620 base required hurd_20050119-1_hurd-i386.deb
 5649663b63c16b4c15b9151530a64e09 797 base required hurd_20050119-1.dsc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFCI7FkmHaJYZ7RAb8RAvu1AKCeVQgKOVNM/aTec0MC6XEQWvsVDgCfUzf1
LXdU5w2OOx7pmgqhab7vNgU=
=ee1m
-----END PGP SIGNATURE-----



Reply to: