On Thu, Jul 05, 2007 at 11:18:05AM -0400, John David Anglin wrote:
> > > Could you do glibc builds with the gcc trunk before and after the change?
> > > It's best to base the PR on an unmodified version of gcc.
> > 
> > The test with the gcc-trunk (Main 4.3.0 head) shows the same error at the 
> > same place.
> 
> Ok, it would be useful to file a gcc PR to start.  However, it's not
> clear that gcc is a fault.
> 
> It may be that glibc isn't using the visibility attribute correctly
> for this symbol (i.e., hiding a symbol that is externally referenced).


The patch below based on the m68k version of sysdep-cancel.h fixes the
problem.


2007-07-10  Aurelien Jarno  <[EMAIL PROTECTED]>

        * sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h:
        (__local_multiple_threads): Declare as hidden only in libc and
        in libpthread.

Index: ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h 
===================================================================
--- ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h.orig
+++ ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h
@@ -206,7 +206,11 @@
 # endif
 
 # ifndef __ASSEMBLER__
- extern int __local_multiple_threads attribute_hidden;
+#  if !defined NOT_IN_libc || defined IS_IN_libpthread
+extern int __local_multiple_threads attribute_hidden;
+#  else
+extern int __local_multiple_threads;
+#  endif
 #  define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
 # else
 /* This ALT version requires newer kernel support */

-- 
  .''`.  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]

Reply via email to