<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glibc/sysdeps/unix/sysv/linux/include/bits, branch master</title>
<subtitle>Fork of glibc for development</subtitle>
<id>https://git.zx2c4.com/glibc/atom/sysdeps/unix/sysv/linux/include/bits?h=master</id>
<link rel='self' href='https://git.zx2c4.com/glibc/atom/sysdeps/unix/sysv/linux/include/bits?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/'/>
<updated>2021-07-12T16:43:32Z</updated>
<entry>
<title>Reduce &lt;limits.h&gt; pollution due to dynamic PTHREAD_STACK_MIN</title>
<updated>2021-07-12T16:43:32Z</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2021-07-12T16:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=aaacde11f2e814814fdd19dfb683e76f1dede4d5'/>
<id>urn:sha1:aaacde11f2e814814fdd19dfb683e76f1dede4d5</id>
<content type='text'>
&lt;limits.h&gt; used to be a header file with no declarations.
GCC's libgomp includes it in a #pragma GCC visibility hidden block.
Including &lt;unistd.h&gt; from &lt;limits.h&gt; (indirectly) declares everything
in &lt;unistd.h&gt; with hidden visibility, resulting in linker failures.

This commit avoids C declarations in assembler mode and only declares
__sysconf in &lt;limits.h&gt; (and not the entire contents of &lt;unistd.h&gt;).
The __sysconf symbol is already part of the ABI.  PTHREAD_STACK_MIN
is no longer defined for __USE_DYNAMIC_STACK_SIZE &amp;&amp; __ASSEMBLER__
because there is no possible definition.

Additionally, PTHREAD_STACK_MIN is now defined by &lt;pthread.h&gt; for
__USE_MISC because this is what developers expect based on the macro
name.  It also helps to avoid libgomp linker failures in GCC because
libgomp includes &lt;pthread.h&gt; before its visibility hacks.

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add shim header for bits/syscall.h.</title>
<updated>2017-06-01T14:56:10Z</updated>
<author>
<name>Zack Weinberg</name>
<email>zackw@panix.com</email>
</author>
<published>2017-06-01T14:56:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=72b81552a1239f91054ae0c8469e6d780f79a890'/>
<id>urn:sha1:72b81552a1239f91054ae0c8469e6d780f79a890</id>
<content type='text'>
On Linux-based configurations, bits/syscall.h is a generated file.
To avoid build-ordering problems, the Linux sys/syscall.h only includes
bits/syscall.h if _LIBC is not defined.  After the _ISOMAC-testsuite
changes, this means any test case that includes sys/syscall.h tries to
pull in bits/syscall.h.  This would be fine, because it'll definitely
have been generated by the time we start compiling tests, except that
the generated &lt;builddir&gt;/misc/bits/syscall.h is not visible in the
include path, because nothing needed it till now.  So we either get
the bits/syscall.h from the host system, or the build fails.

The fix is simple: add a shim header for bits/syscall.h.  I put it in
sysdeps/unix/sysv/linux/include instead of the top-level include/
because bits/syscall.h doesn't exist at all on other configurations as
far as I can tell.

This is known to affect nptl/tst-cond2[45].  Thanks to John David
Anglin for noticing the problem.

	[BZ #21514]
	* sysdeps/unix/sysv/linux/include/bits/syscall.h: New shim header
	pointing to the generated file in &lt;builddir&gt;/misc/bits/syscall.h.
</content>
</entry>
</feed>
