This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Build failing from 20030715
- From: Andreas Jaeger <aj at suse dot de>
- To: Jeff Bailey <jbailey at nisa dot net>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Sun, 20 Jul 2003 11:36:40 +0200
- Subject: Re: Build failing from 20030715
- References: <20030715215756.GA15093@nisa.net>
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