This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Build failing from 20030715


Jeff Bailey <jbailey@nisa.net> writes:

> Using a CVS checkout from this morning, I get failures looking for
> __libc_cleanup_push and __libc_cleanup_pop:
>
> misc/syslog.c:238:              __libc_cleanup_push (free, buf);
> misc/syslog.c:251:      __libc_cleanup_push (cancel_handler, &clarg);
> misc/syslog.c:364:  __libc_cleanup_push (cancel_handler, NULL);
> misc/syslog.c:393:  __libc_cleanup_push (cancel_handler, NULL);
>
> misc/syslog.c:243:              __libc_cleanup_pop (0);
> misc/syslog.c:303:      __libc_cleanup_pop (0);
> misc/syslog.c:369:  __libc_cleanup_pop (1);
> misc/syslog.c:401:  __libc_cleanup_pop (1);

Uli, this is still failing.  

This needs changes in the generic files:
./sysdeps/generic/bits/libc-lock.h
./sysdeps/mach/bits/libc-lock.h
./sysdeps/mach/hurd/bits/libc-lock.h
./linuxthreads/sysdeps/pthread/bits/libc-lock.h

As a workaround I suggest to just add:
#define __libc_cleanup_push(fct, arg)
#define __libc_cleanup_pop(execute)

What do you think?  I don't think we will support cleanup handling
without nptl so making these nops should be the right way - isn't it?

I'm appending a patch for linuxthreads which fixes this problem for
me.

Now I get:
/builds/glibc/gcc-3.3/libc_pic.os(.text+0xeefbb): In function `uw_init_context_1':
/usr/src/cvs/libc/elf/../sysdeps/generic/unwind-dw2.c:1195: undefined reference to `__builtin_dwarf_sp_column'
/builds/glibc/gcc-3.3/libc_pic.os(.text+0xeefd0):/usr/src/cvs/libc/elf/../sysdeps/generic/unwind-dw2.c:1197: undefined reference to `__builtin_dwarf_sp_column'
collect2: ld returned 1 exit status

Do we really need the latest and greated GCC to compile glibc? I
understand the requirements when using NPTL but this is with just
linuxthreads,

Andreas

============================================================
Index: linuxthreads/sysdeps/pthread/bits/libc-lock.h
--- linuxthreads/sysdeps/pthread/bits/libc-lock.h	5 Feb 2003 09:53:23 -0000	1.29
+++ linuxthreads/sysdeps/pthread/bits/libc-lock.h	20 Jul 2003 08:59:58 -0000
@@ -250,6 +250,10 @@ typedef pthread_key_t __libc_key_t;
       _pthread_cleanup_pop_restore (&_buffer, (DOIT));			      \
     }
 
+/* Cleanup handling of cancelable system calls is ignored with linuxthreads.  */
+#define __libc_cleanup_push(fct, arg)
+#define __libc_cleanup_pop(execute)
+
 /* Create thread-specific key.  */
 #define __libc_key_create(KEY, DESTRUCTOR) \
   (__libc_maybe_call (__pthread_key_create, (KEY, DESTRUCTOR), 1))

-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]