<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/glibc.git/bits, branch azanella/generic-strings</title>
<subtitle>sourceware.org: git/glibc.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/'/>
<entry>
<title>Add &lt;bits/indirect-return.h&gt;</title>
<updated>2018-07-24T14:55:47+00:00</updated>
<author>
<name>H.J. Lu</name>
<email>hjl.tools@gmail.com</email>
</author>
<published>2018-07-24T14:55:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=e27f41ba2b6101be1a511905bff5502ffd23828b'/>
<id>e27f41ba2b6101be1a511905bff5502ffd23828b</id>
<content type='text'>
Add &lt;bits/indirect-return.h&gt; and include it in &lt;ucontext.h&gt;.
__INDIRECT_RETURN defined in &lt;bits/indirect-return.h&gt; indicates if
swapcontext requires special compiler treatment.  The default
__INDIRECT_RETURN is empty.

On x86, when shadow stack is enabled, __INDIRECT_RETURN is defined
with indirect_return attribute, which has been added to GCC 9, to
indicate that swapcontext returns via indirect branch.  Otherwise
__INDIRECT_RETURN is defined with returns_twice attribute.

When shadow stack is enabled, remove always_inline attribute from
prepare_test_buffer in string/tst-xbzero-opt.c to avoid:

tst-xbzero-opt.c: In function ‘prepare_test_buffer’:
tst-xbzero-opt.c:105:1: error: function ‘prepare_test_buffer’ can never be inlined because it uses setjmp
 prepare_test_buffer (unsigned char *buf)

when indirect_return attribute isn't available.

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;

	* bits/indirect-return.h: New file.
	* misc/sys/cdefs.h (__glibc_has_attribute): New.
	* sysdeps/x86/bits/indirect-return.h: Likewise.
	* stdlib/Makefile (headers): Add bits/indirect-return.h.
	* stdlib/ucontext.h: Include &lt;bits/indirect-return.h&gt;.
	(swapcontext): Add __INDIRECT_RETURN.
	* string/tst-xbzero-opt.c (ALWAYS_INLINE): New.
	(prepare_test_buffer): Use it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add &lt;bits/indirect-return.h&gt; and include it in &lt;ucontext.h&gt;.
__INDIRECT_RETURN defined in &lt;bits/indirect-return.h&gt; indicates if
swapcontext requires special compiler treatment.  The default
__INDIRECT_RETURN is empty.

On x86, when shadow stack is enabled, __INDIRECT_RETURN is defined
with indirect_return attribute, which has been added to GCC 9, to
indicate that swapcontext returns via indirect branch.  Otherwise
__INDIRECT_RETURN is defined with returns_twice attribute.

When shadow stack is enabled, remove always_inline attribute from
prepare_test_buffer in string/tst-xbzero-opt.c to avoid:

tst-xbzero-opt.c: In function ‘prepare_test_buffer’:
tst-xbzero-opt.c:105:1: error: function ‘prepare_test_buffer’ can never be inlined because it uses setjmp
 prepare_test_buffer (unsigned char *buf)

when indirect_return attribute isn't available.

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;

	* bits/indirect-return.h: New file.
	* misc/sys/cdefs.h (__glibc_has_attribute): New.
	* sysdeps/x86/bits/indirect-return.h: Likewise.
	* stdlib/Makefile (headers): Add bits/indirect-return.h.
	* stdlib/ucontext.h: Include &lt;bits/indirect-return.h&gt;.
	(swapcontext): Add __INDIRECT_RETURN.
	* string/tst-xbzero-opt.c (ALWAYS_INLINE): New.
	(prepare_test_buffer): Use it.
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd: Fix shmid_ds's shm_segsz field type</title>
<updated>2018-06-02T19:52:43+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-06-02T19:52:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=d2d9dfb663f76f9b929252a88ad196c9fcacd1e1'/>
<id>d2d9dfb663f76f9b929252a88ad196c9fcacd1e1</id>
<content type='text'>
	* bits/shm.h (struct shmid_ds): Make shm_segsz field size_t instead of
	int.
	* sysdeps/gnu/bits/shm.h (struct shmid_ds): Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bits/shm.h (struct shmid_ds): Make shm_segsz field size_t instead of
	int.
	* sysdeps/gnu/bits/shm.h (struct shmid_ds): Likewise.
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc: Fix the compiler type used with C++ when -mabi=ieeelongdouble</title>
<updated>2018-05-11T21:05:03+00:00</updated>
<author>
<name>Tulio Magno Quites Machado Filho</name>
<email>tuliom@linux.ibm.com</email>
</author>
<published>2018-05-11T21:05:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=5db7d705db472f47a349fe342a8d7150ec922786'/>
<id>5db7d705db472f47a349fe342a8d7150ec922786</id>
<content type='text'>
When compiling C++ code with -mabi=ieeelongdouble, KCtype is
unavailable and the long double type should be used instead.

This is also providing macro __HAVE_FLOAT128_UNLIKE_LDBL in order to
identify the kind of long double type is being used in the current
compilation unit.
Notice that bits/floatn.h cannot benefit from the new macro due to order
of header inclusion.

	* bits/floatn-common.h: Define __HAVE_FLOAT128_UNLIKE_LDBL.
	* math/math.h: Restrict the prototype definition for the functions
	issignaling(_Float128) and iszero(_Float128); and template
	__iseqsig_type&lt;_Float128&gt;, from __HAVE_DISTINCT_FLOAT128 to
	__HAVE_FLOAT128_UNLIKE_LDBL.
	* sysdeps/powerpc/bits/floatn.h [__HAVE_FLOAT128
	&amp;&amp; (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
	&amp;&amp; __LDBL_MANT_DIG__ == 113]: Use long double suffix for
	__f128() constants; define the type _Float128 as long double;
	and reuse long double in __CFLOAT128.

Signed-off-by: Tulio Magno Quites Machado Filho &lt;tuliom@linux.ibm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When compiling C++ code with -mabi=ieeelongdouble, KCtype is
unavailable and the long double type should be used instead.

This is also providing macro __HAVE_FLOAT128_UNLIKE_LDBL in order to
identify the kind of long double type is being used in the current
compilation unit.
Notice that bits/floatn.h cannot benefit from the new macro due to order
of header inclusion.

	* bits/floatn-common.h: Define __HAVE_FLOAT128_UNLIKE_LDBL.
	* math/math.h: Restrict the prototype definition for the functions
	issignaling(_Float128) and iszero(_Float128); and template
	__iseqsig_type&lt;_Float128&gt;, from __HAVE_DISTINCT_FLOAT128 to
	__HAVE_FLOAT128_UNLIKE_LDBL.
	* sysdeps/powerpc/bits/floatn.h [__HAVE_FLOAT128
	&amp;&amp; (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
	&amp;&amp; __LDBL_MANT_DIG__ == 113]: Use long double suffix for
	__f128() constants; define the type _Float128 as long double;
	and reuse long double in __CFLOAT128.

Signed-off-by: Tulio Magno Quites Machado Filho &lt;tuliom@linux.ibm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Deprecate ustat syscall interface</title>
<updated>2018-05-02T11:43:31+00:00</updated>
<author>
<name>Adhemerval Zanella</name>
<email>adhemerval.zanella@linaro.org</email>
</author>
<published>2018-03-18T03:28:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=cf2478d53ad7071e84c724a986b56fe17f4f4ca7'/>
<id>cf2478d53ad7071e84c724a986b56fe17f4f4ca7</id>
<content type='text'>
As for sysctl, ustat has been deprecated in favor of {f}statfs.  Also
some newer ports which uses generic interface builds a stub version that
returns ENOSYS.

This patch deprecates ustat interface by removing ustat.h related headers,
adding a compatibility symbol, and avoiding new ports to build and provide
the symbol.

Checked on x86_64-linux-gnu and i686-linux-gnu.  Also checked with a
check-abi on all affected ABIs.

	* NEWS: Add ustat.h deprecation entry.
	* bits/ustat.h: Remove file.
	* misc/sys/ustat.h: Likewise.
	* misc/ustat.h: Likewise.
	* sysdeps/unix/sysv/linux/generic/ustat.c: Likewise.
	* misc/Makefile (headers): Remove ustat.h and sys/ustat.h.
	* misc/ustat.c (__ustat): Rename to __old_ustat and export only in
	compatibility mode.
	* sysdeps/unix/sysv/linux/ustat.c (__ustat): Likewise.
	* sysdeps/unix/sysv/linux/mips/ustat.c: Define DEV_TO_KDEV and use
	generic Linux implementation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As for sysctl, ustat has been deprecated in favor of {f}statfs.  Also
some newer ports which uses generic interface builds a stub version that
returns ENOSYS.

This patch deprecates ustat interface by removing ustat.h related headers,
adding a compatibility symbol, and avoiding new ports to build and provide
the symbol.

Checked on x86_64-linux-gnu and i686-linux-gnu.  Also checked with a
check-abi on all affected ABIs.

	* NEWS: Add ustat.h deprecation entry.
	* bits/ustat.h: Remove file.
	* misc/sys/ustat.h: Likewise.
	* misc/ustat.h: Likewise.
	* sysdeps/unix/sysv/linux/generic/ustat.c: Likewise.
	* misc/Makefile (headers): Remove ustat.h and sys/ustat.h.
	* misc/ustat.c (__ustat): Rename to __old_ustat and export only in
	compatibility mode.
	* sysdeps/unix/sysv/linux/ustat.c (__ustat): Likewise.
	* sysdeps/unix/sysv/linux/mips/ustat.c: Define DEV_TO_KDEV and use
	generic Linux implementation.
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd: Add missing RLIM_SAVED_MAX/CUR</title>
<updated>2018-04-19T21:55:13+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-19T21:55:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=a279b8ed9ba5cb4960e685d2e28d1c4997f760d1'/>
<id>a279b8ed9ba5cb4960e685d2e28d1c4997f760d1</id>
<content type='text'>
	* bits/resource.h (RLIM_SAVED_MAX, RLIM_SAVED_CUR): New macros.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bits/resource.h (RLIM_SAVED_MAX, RLIM_SAVED_CUR): New macros.
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd: Fix termios.h symbols</title>
<updated>2018-04-19T21:50:12+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-19T21:50:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=a564872d2d4237dda098b77ccfa081bf9dda39af'/>
<id>a564872d2d4237dda098b77ccfa081bf9dda39af</id>
<content type='text'>
	* bits/termios.h [__USE_XOPEN || __USE_XOPEN2K8] (IXANY): Define.
	[__USE_XOPEN &amp;&amp; !__USE_XOPEN2K] (IUCLC, OLCUC): Define.
	[__USE_XOPEN] (OFDEL): New macro.
	[__USE_XOPEN &amp;&amp; !__USE_XOPEN2K] (XCASE): New macro.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bits/termios.h [__USE_XOPEN || __USE_XOPEN2K8] (IXANY): Define.
	[__USE_XOPEN &amp;&amp; !__USE_XOPEN2K] (IUCLC, OLCUC): Define.
	[__USE_XOPEN] (OFDEL): New macro.
	[__USE_XOPEN &amp;&amp; !__USE_XOPEN2K] (XCASE): New macro.
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd: remove non-standard siginfo symbol</title>
<updated>2018-04-19T19:43:44+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-19T19:34:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=ed37092475495aee5651057ad6e6dd8e2af7006f'/>
<id>ed37092475495aee5651057ad6e6dd8e2af7006f</id>
<content type='text'>
	* bits/types/siginfo_t.h: Remove siginfo struct name, unused and
	non-compliant.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bits/types/siginfo_t.h: Remove siginfo struct name, unused and
	non-compliant.
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd: Avoid exposing all &lt;sched.h&gt; symbols from sys/types.h</title>
<updated>2018-04-19T18:24:36+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-19T18:21:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=e60c3f2bb71210ca62dc09b1b797443a88b4e3cf'/>
<id>e60c3f2bb71210ca62dc09b1b797443a88b4e3cf</id>
<content type='text'>
	* bits/sched.h: Include &lt;bits/types/struct_sched_param.h&gt; and move struct
	sched_param definition to it.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* bits/types/struct_sched_param.h: New file.
	* sysdeps/htl/bits/types/struct___pthread_attr.h: Include
	&lt;bits/types/struct_sched_param.h&gt; instead of &lt;sched.h&gt;.
	* posix/Makefile (headers): Add bits/types/struct_sched_param.h.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bits/sched.h: Include &lt;bits/types/struct_sched_param.h&gt; and move struct
	sched_param definition to it.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* bits/types/struct_sched_param.h: New file.
	* sysdeps/htl/bits/types/struct___pthread_attr.h: Include
	&lt;bits/types/struct_sched_param.h&gt; instead of &lt;sched.h&gt;.
	* posix/Makefile (headers): Add bits/types/struct_sched_param.h.
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd: Fix symbols exposition</title>
<updated>2018-04-19T18:14:45+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-19T18:14:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=77b93390283cc4927f08ceb1bc19f2b2b1dee7c2'/>
<id>77b93390283cc4927f08ceb1bc19f2b2b1dee7c2</id>
<content type='text'>
	* bits/in.h [!__USE_MISC]: Do not define struct ip_opts.
	* conform/data/netinet/in.h-data: Allow sin_ and sin6_ prefix.
	* sysdeps/gnu/bits/msq.h (struct msqid_ds): Use __wait_queue struct
	instead of wait_queue.
	* sysdeps/gnu/bits/shm.h (struct shmid_ds): Use __vm_area_struct
	instead of vm_area_struct.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bits/in.h [!__USE_MISC]: Do not define struct ip_opts.
	* conform/data/netinet/in.h-data: Allow sin_ and sin6_ prefix.
	* sysdeps/gnu/bits/msq.h (struct msqid_ds): Use __wait_queue struct
	instead of wait_queue.
	* sysdeps/gnu/bits/shm.h (struct shmid_ds): Use __vm_area_struct
	instead of vm_area_struct.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Fix sched_param"</title>
<updated>2018-04-18T22:09:58+00:00</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-18T22:09:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=c15f10ee78c6fa837732bb0b3d6cec44e4171fcd'/>
<id>c15f10ee78c6fa837732bb0b3d6cec44e4171fcd</id>
<content type='text'>
This reverts commit 783c4820303fb6b031d401564f8089ecaf154b62 which
accidentaly flew out.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 783c4820303fb6b031d401564f8089ecaf154b62 which
accidentaly flew out.
</pre>
</div>
</content>
</entry>
</feed>
