Date: Tue, 28 Mar 2006 23:08:28 +0200 From: des@des.no (Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?=) To: Daniel Eischen <deischen@freebsd.org> Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, kris@obsecurity.org Subject: Re: cvs commit: src/lib/libc/include namespace.h un-namespace.h Message-ID: <86u09iuvjn.fsf@xps.des.no> In-Reply-To: <Pine.GSO.4.43.0603281515590.18701-100000@sea.ntplx.net> (Daniel Eischen's message of "Tue, 28 Mar 2006 15:25:59 -0500 (EST)") References: <Pine.GSO.4.43.0603281515590.18701-100000@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Daniel Eischen <deischen@freebsd.org> writes:
> I think this broke (at least) building libpthread. There are
> several files in src/libpthread/thread/ that use these
> namespace files.
My bad. I shouldn't have committed this yet: the patch is correct,
but requires other changes in libthr and libpthread.
> Kris Kennaway wrote in a different thread:
>> /usr/src/lib/libpthread/thread/thr_barrier.c:69: error: conflicting types for
>> '_pthread_barrier_init'
>> /usr/src/lib/libpthread/../../include/pthread.h:156: error: previous declaration of
>> '_pthread_barrier_init' was here
>> /usr/src/lib/libpthread/thread/thr_barrier.c:69: error: conflicting types for
>> '_pthread_barrier_init'
>> /usr/src/lib/libpthread/../../include/pthread.h:156: error: previous declaration of
>> '_pthread_barrier_init' was here
>> *** Error code 1
>>
>> Those two declarations are:
>>
>> > int
>> > _pthread_barrier_init(pthread_barrier_t *barrier,
>> > const pthread_barrierattr_t *attr, int count)
>>
>> > int pthread_barrier_init(pthread_barrier_t *,
>> > const pthread_barrierattr_t *, unsigned);
>>
>> What is odd is that I can't see how this suddenly broke.
>
> In order to keep the namespace changes, we need to remove the
> use of [un-]namespace.h in these files and add separate declarations
> for the needed _pthread_foo() functions in
> libpthread/thread/thr_private.h.
no, my commit did exactly what it was intended to do: the mismatch
between prototype and definition is a bug that went undetected because
the barrier functions were missing from {,un-}namespace.h.
DES
--
Dag-Erling Smørgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86u09iuvjn.fsf>
