<feed xmlns='http://www.w3.org/2005/Atom'>
<title>uClibc-alpine/libc/misc/pthread, branch master</title>
<subtitle>Where we track our uclibc patches
</subtitle>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/'/>
<entry>
<title>add missing prototypes</title>
<updated>2011-03-03T17:22:49+00:00</updated>
<author>
<name>Peter S. Mazinger</name>
<email>ps.m@gmx.net</email>
</author>
<published>2011-02-26T18:31:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=1fc68eae4846de4a1e276e68aee743ef731f3e91'/>
<id>1fc68eae4846de4a1e276e68aee743ef731f3e91</id>
<content type='text'>
Add some missing prototypes

Signed-off-by: Peter S. Mazinger &lt;ps.m@gmx.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add some missing prototypes

Signed-off-by: Peter S. Mazinger &lt;ps.m@gmx.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>static build: fix internal locking weaks to get pulled in always</title>
<updated>2010-05-07T15:27:39+00:00</updated>
<author>
<name>Timo Teras</name>
<email>timo.teras@iki.fi</email>
</author>
<published>2010-05-07T14:19:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=685a6f283e98657104b71a7d694c99f19e454afa'/>
<id>685a6f283e98657104b71a7d694c99f19e454afa</id>
<content type='text'>
Linker is smart and does not pull in weaks.os, ever. This happens
because that compilation unit does not get strong references and
ld eliminates dead code. We really need the weaks for static build
in a compilation unit that is always there, otherwise it won't work.

Signed-off-by: Timo Teras &lt;timo.teras@iki.fi&gt;
Acked-by: Roman I Khimov &lt;khimov@altell.ru&gt;
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linker is smart and does not pull in weaks.os, ever. This happens
because that compilation unit does not get strong references and
ld eliminates dead code. We really need the weaks for static build
in a compilation unit that is always there, otherwise it won't work.

Signed-off-by: Timo Teras &lt;timo.teras@iki.fi&gt;
Acked-by: Roman I Khimov &lt;khimov@altell.ru&gt;
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nptl: fix libc internal, dynamically enabled locking</title>
<updated>2010-04-22T15:54:10+00:00</updated>
<author>
<name>Timo Teräs</name>
<email>timo.teras@iki.fi</email>
</author>
<published>2010-04-22T11:06:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=279c728ee62e53eb055227695bc6fafb31a3a5f1'/>
<id>279c728ee62e53eb055227695bc6fafb31a3a5f1</id>
<content type='text'>
Final iteration to fix libc internal locking if libpthread is pulled
in by dlopen call (directly or indirectly).

We cannot really use the weak symbol trick for shared build, since
the symbols won't get refreshed if libpthread is pulled in dynamically.
In glibc, they have #ifdef SHARED magic to either use pthread_functions
table, or weaks. But as we shared object files with both builds, this
does not sounds good either.

The reintroduces the libc weaks.c, but uses them now only with static
build. For dynamic build, we still use the symbols with same name, but
provide weaks in forward.c so they end up dereferencing the
pthread_functions table indirectly if we are not linked to libpthread.
Mutex initialization is hard coded as inline, as it needs to happen even
if libpthread is not initially loaded.

Signed-off-by: Timo Teräs &lt;timo.teras@iki.fi&gt;
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Final iteration to fix libc internal locking if libpthread is pulled
in by dlopen call (directly or indirectly).

We cannot really use the weak symbol trick for shared build, since
the symbols won't get refreshed if libpthread is pulled in dynamically.
In glibc, they have #ifdef SHARED magic to either use pthread_functions
table, or weaks. But as we shared object files with both builds, this
does not sounds good either.

The reintroduces the libc weaks.c, but uses them now only with static
build. For dynamic build, we still use the symbols with same name, but
provide weaks in forward.c so they end up dereferencing the
pthread_functions table indirectly if we are not linked to libpthread.
Mutex initialization is hard coded as inline, as it needs to happen even
if libpthread is not initially loaded.

Signed-off-by: Timo Teräs &lt;timo.teras@iki.fi&gt;
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libc: remove libc weak __pthreads_* wrappers</title>
<updated>2010-04-16T17:13:14+00:00</updated>
<author>
<name>Timo Teras</name>
<email>timo.teras@iki.fi</email>
</author>
<published>2010-04-16T13:29:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=0eadd98d30c51d26fde4062e6b8c48f3c9b5148d'/>
<id>0eadd98d30c51d26fde4062e6b8c48f3c9b5148d</id>
<content type='text'>
It is not possible to override for libpthread to override
the weak libc definitions. This has never worked in uclibc, and
does no longer work in glibc either (unless you use LD_DYNAMIC_WEAK).

The proper thing to do is have weak prototypes in libc, and
definitions in libpthread only. This way libc runs even if
those functions are not defined, but just needs to protect
against the NULL values (done by implementing __uclibc_maybe_call).

This fix the problems if libc is linked before libpthread or
if libpthread is pulled by a dependency library.

Signed-off-by: Timo Teras &lt;timo.teras@iki.fi&gt;
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is not possible to override for libpthread to override
the weak libc definitions. This has never worked in uclibc, and
does no longer work in glibc either (unless you use LD_DYNAMIC_WEAK).

The proper thing to do is have weak prototypes in libc, and
definitions in libpthread only. This way libc runs even if
those functions are not defined, but just needs to protect
against the NULL values (done by implementing __uclibc_maybe_call).

This fix the problems if libc is linked before libpthread or
if libpthread is pulled by a dependency library.

Signed-off-by: Timo Teras &lt;timo.teras@iki.fi&gt;
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'origin/master' into nptl</title>
<updated>2010-04-02T16:17:30+00:00</updated>
<author>
<name>Austin Foxley</name>
<email>austinf@cetoncorp.com</email>
</author>
<published>2010-04-02T16:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=aae3eb9256affb18cff589b52ee26e0a4e557bbd'/>
<id>aae3eb9256affb18cff589b52ee26e0a4e557bbd</id>
<content type='text'>
Conflicts:
	Makefile.in
	extra/Configs/Config.in
	libc/sysdeps/linux/common/bits/kernel-features.h
	libc/sysdeps/linux/common/poll.c
	libc/sysdeps/linux/common/sysdep.h
	libc/sysdeps/linux/sh/sysdep.h

Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	Makefile.in
	extra/Configs/Config.in
	libc/sysdeps/linux/common/bits/kernel-features.h
	libc/sysdeps/linux/common/poll.c
	libc/sysdeps/linux/common/sysdep.h
	libc/sysdeps/linux/sh/sysdep.h

Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>prettify make clean</title>
<updated>2010-03-25T14:39:02+00:00</updated>
<author>
<name>Bernhard Reutner-Fischer</name>
<email>rep.dot.nop@gmail.com</email>
</author>
<published>2010-03-25T14:17:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=abdbaa897b3d7b5b72c8521a38aa84cada242837'/>
<id>abdbaa897b3d7b5b72c8521a38aa84cada242837</id>
<content type='text'>
Signed-off-by: Bernhard Reutner-Fischer &lt;rep.dot.nop@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Bernhard Reutner-Fischer &lt;rep.dot.nop@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libc: build tsd only when tls is enabled</title>
<updated>2010-02-11T20:04:05+00:00</updated>
<author>
<name>Austin Foxley</name>
<email>austinf@cetoncorp.com</email>
</author>
<published>2010-02-11T20:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=ab40337e2c045a6a51071400fd9782173c41bd04'/>
<id>ab40337e2c045a6a51071400fd9782173c41bd04</id>
<content type='text'>
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>whitespace fixes</title>
<updated>2009-10-17T23:18:35+00:00</updated>
<author>
<name>Austin Foxley</name>
<email>austinf@cetoncorp.com</email>
</author>
<published>2009-10-17T23:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=0f3e8be7739934e920143682ff9d93c5d29e5de5'/>
<id>0f3e8be7739934e920143682ff9d93c5d29e5de5</id>
<content type='text'>
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>some tweaks under libc/ needed for nptl</title>
<updated>2009-10-17T19:59:14+00:00</updated>
<author>
<name>Austin Foxley</name>
<email>austinf@cetoncorp.com</email>
</author>
<published>2009-10-17T19:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=4a689f0b907d4a98582a9c4b7f6be811924db8ee'/>
<id>4a689f0b907d4a98582a9c4b7f6be811924db8ee</id>
<content type='text'>
 * updated kernel-features.h
 * system is provided by pt-system with nptl
 * _exit should do exit_group with nptl
 * tsd tls ptr in libc
 * rt_sigwaitinfo impl added

Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * updated kernel-features.h
 * system is provided by pt-system with nptl
 * _exit should do exit_group with nptl
 * tsd tls ptr in libc
 * rt_sigwaitinfo impl added

Signed-off-by: Austin Foxley &lt;austinf@cetoncorp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>support building out-of-tree</title>
<updated>2009-08-17T17:17:00+00:00</updated>
<author>
<name>Bernhard Reutner-Fischer</name>
<email>rep.dot.nop@gmail.com</email>
</author>
<published>2009-08-17T17:17:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/uClibc-alpine/commit/?id=49d8a0e9c6e32701c7eca91a1204237d3a334e38'/>
<id>49d8a0e9c6e32701c7eca91a1204237d3a334e38</id>
<content type='text'>
  Handle O=

Signed-off-by: Bernhard Reutner-Fischer &lt;rep.dot.nop@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Handle O=

Signed-off-by: Bernhard Reutner-Fischer &lt;rep.dot.nop@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
