<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/glibc.git/ChangeLog, branch fw/bug21041</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>ld.so: Defer applying RELRO protection</title>
<updated>2017-01-24T12:06:05+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2017-01-24T12:06:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=feb6d6b394bd0ebd74d3f4370394dfb94b1f011a'/>
<id>feb6d6b394bd0ebd74d3f4370394dfb94b1f011a</id>
<content type='text'>
This is a prerequisite of a future change which applies additional
cross-object relocations after _dl_relocate_object has been called.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a prerequisite of a future change which applies additional
cross-object relocations after _dl_relocate_object has been called.
</pre>
</div>
</content>
</entry>
<entry>
<title>* elf/dl-tunables.c (tunable_set_val_if_valid_range): Split into ...</title>
<updated>2017-01-21T00:55:53+00:00</updated>
<author>
<name>DJ Delorie</name>
<email>dj@delorie.com</email>
</author>
<published>2017-01-21T00:52:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=f3bef6a748097d02d196df247f7b292c7b83744c'/>
<id>f3bef6a748097d02d196df247f7b292c7b83744c</id>
<content type='text'>
(tunable_set_val_if_valid_range_signed) ... this, and ...
(tunable_set_val_if_valid_range_unsigned) ... this.
(tunable_initialize): Call the correct one of the above based on type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(tunable_set_val_if_valid_range_signed) ... this, and ...
(tunable_set_val_if_valid_range_unsigned) ... this.
(tunable_initialize): Call the correct one of the above based on type.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove very old libm-test-ulps entries.</title>
<updated>2017-01-20T23:58:49+00:00</updated>
<author>
<name>Joseph Myers</name>
<email>joseph@codesourcery.com</email>
</author>
<published>2017-01-20T23:58:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=aee47c934e6b6256f58a3d75815a43fc33237a80'/>
<id>aee47c934e6b6256f58a3d75815a43fc33237a80</id>
<content type='text'>
I noticed that some libm-test-ulps files still had long-obsolete
entries for *_tonearest functions, which will no longer be used since
functions with FE_TONEAREST explicitly set aren't tested separately
from those functions with it as the default rounding mode any more.

This patch removes those obsolete entries.  However, as they are a
sign of libm-test-ulps not having been regenerated from scratch for a
long time, I strongly advise people testing on those platforms to
remove / truncate the libm-test-ulps file, run "make regen-ulps" and
commit the regenerated-from-scratch file.  (Ideally any failures of
libm tests still present after regeneration would be investigated /
fixed - there are several open "math" bugs spread across these
platforms - but simply regenerating from scratch improves things.)

	* sysdeps/hppa/fpu/libm-test-ulps: Remove *_tonearest entries.
	* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise.
	* sysdeps/microblaze/libm-test-ulps: Likewise.
	* sysdeps/sh/libm-test-ulps: Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I noticed that some libm-test-ulps files still had long-obsolete
entries for *_tonearest functions, which will no longer be used since
functions with FE_TONEAREST explicitly set aren't tested separately
from those functions with it as the default rounding mode any more.

This patch removes those obsolete entries.  However, as they are a
sign of libm-test-ulps not having been regenerated from scratch for a
long time, I strongly advise people testing on those platforms to
remove / truncate the libm-test-ulps file, run "make regen-ulps" and
commit the regenerated-from-scratch file.  (Ideally any failures of
libm tests still present after regeneration would be investigated /
fixed - there are several open "math" bugs spread across these
platforms - but simply regenerating from scratch improves things.)

	* sysdeps/hppa/fpu/libm-test-ulps: Remove *_tonearest entries.
	* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise.
	* sysdeps/microblaze/libm-test-ulps: Likewise.
	* sysdeps/sh/libm-test-ulps: Likewise.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update README.libm-test.</title>
<updated>2017-01-20T23:25:13+00:00</updated>
<author>
<name>Joseph Myers</name>
<email>joseph@codesourcery.com</email>
</author>
<published>2017-01-20T23:25:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=76475eae8fe220b3ea1e253e7f473cb5147d98f1'/>
<id>76475eae8fe220b3ea1e253e7f473cb5147d98f1</id>
<content type='text'>
This patch updates math/README.libm-test to have a more complete and
up-to-date list of the characters used in TEST_* macros to indicate
the types of function inputs and outputs.

	* math/README.libm-test: Update list of characters for input and
	output types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch updates math/README.libm-test to have a more complete and
up-to-date list of the characters used in TEST_* macros to indicate
the types of function inputs and outputs.

	* math/README.libm-test: Update list of characters for input and
	output types.
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc: Fix adapt_count update in __lll_unlock_elision</title>
<updated>2017-01-20T18:40:30+00:00</updated>
<author>
<name>Tulio Magno Quites Machado Filho</name>
<email>tuliom@linux.vnet.ibm.com</email>
</author>
<published>2017-01-20T18:32:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=eb1321f291515dae75c83a40c39e775fdd38e97a'/>
<id>eb1321f291515dae75c83a40c39e775fdd38e97a</id>
<content type='text'>
Commit e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f had an error that
prevents adapt_count from being updated in __lll_unlock_elision.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f had an error that
prevents adapt_count from being updated in __lll_unlock_elision.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix mutex pretty printer test and pretty printer output.</title>
<updated>2017-01-20T13:56:39+00:00</updated>
<author>
<name>Torvald Riegel</name>
<email>triegel@redhat.com</email>
</author>
<published>2017-01-20T13:54:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=6d523660e9f9f18e6c497d2d882c644e9c1b1c29'/>
<id>6d523660e9f9f18e6c497d2d882c644e9c1b1c29</id>
<content type='text'>
This fixes the mutex pretty printer so that, if the owner ID isn't recorded
(such as in the current lock elision implementation), "Owner ID" will be shown
as "Unknown" instead of 0. It also changes the mutex printer output so that it
says "Acquired" instead of "Locked". The mutex tests are updated accordingly.

In addition, this adds a paragraph to the "Known issues" section of the
printers README explaining that the printer output isn't guaranteed to cover
every detail.

2017-01-14  Martin Galvan  &lt;martingalvan@sourceware.org&gt;

        * README.pretty-printers (Known issues): Warn about printers not
        always covering everything.
        * nptl/nptl-printers.py (MutexPrinter): Change output.
        * nptl/test-mutex-printers.py: Fix test and adapt to changed output.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the mutex pretty printer so that, if the owner ID isn't recorded
(such as in the current lock elision implementation), "Owner ID" will be shown
as "Unknown" instead of 0. It also changes the mutex printer output so that it
says "Acquired" instead of "Locked". The mutex tests are updated accordingly.

In addition, this adds a paragraph to the "Known issues" section of the
printers README explaining that the printer output isn't guaranteed to cover
every detail.

2017-01-14  Martin Galvan  &lt;martingalvan@sourceware.org&gt;

        * README.pretty-printers (Known issues): Warn about printers not
        always covering everything.
        * nptl/nptl-printers.py (MutexPrinter): Change output.
        * nptl/test-mutex-printers.py: Fix test and adapt to changed output.
</pre>
</div>
</content>
</entry>
<entry>
<title>S390: Adjust lock elision code after review.</title>
<updated>2017-01-20T08:53:04+00:00</updated>
<author>
<name>Stefan Liebler</name>
<email>stli@linux.vnet.ibm.com</email>
</author>
<published>2017-01-20T08:53:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=03b007771beb4dba3b16d6097a53bfa328a78efb'/>
<id>03b007771beb4dba3b16d6097a53bfa328a78efb</id>
<content type='text'>
This patch adjusts s390 specific lock elision code after review
of the following patches:
-S390: Use own tbegin macro instead of __builtin_tbegin.
(8bfc4a2ab4bebdf86c151665aae8a266e2f18fb4)
-S390: Use new __libc_tbegin_retry macro in elision-lock.c.
(53c5c3d5ac238901c13f28a73ba05b0678094e80)
-S390: Optimize lock-elision by decrementing adapt_count at unlock.
(dd037fb3df286b7c2d0b0c6f8d02a2dd8a8e8a08)

The futex value is not tested before starting a transaction,
__glibc_likely is used instead of __builtin_expect and comments
are adjusted.

ChangeLog:

	* sysdeps/unix/sysv/linux/s390/htm.h: Adjust comments.
	* sysdeps/unix/sysv/linux/s390/elision-unlock.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/elision-lock.c: Adjust comments.
	(__lll_lock_elision): Do not test futex before starting a
	transaction.  Use __glibc_likely instead of __builtin_expect.
	* sysdeps/unix/sysv/linux/s390/elision-trylock.c: Adjust comments.
	(__lll_trylock_elision): Do not test futex before starting a
	transaction.  Use __glibc_likely instead of __builtin_expect.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adjusts s390 specific lock elision code after review
of the following patches:
-S390: Use own tbegin macro instead of __builtin_tbegin.
(8bfc4a2ab4bebdf86c151665aae8a266e2f18fb4)
-S390: Use new __libc_tbegin_retry macro in elision-lock.c.
(53c5c3d5ac238901c13f28a73ba05b0678094e80)
-S390: Optimize lock-elision by decrementing adapt_count at unlock.
(dd037fb3df286b7c2d0b0c6f8d02a2dd8a8e8a08)

The futex value is not tested before starting a transaction,
__glibc_likely is used instead of __builtin_expect and comments
are adjusted.

ChangeLog:

	* sysdeps/unix/sysv/linux/s390/htm.h: Adjust comments.
	* sysdeps/unix/sysv/linux/s390/elision-unlock.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/elision-lock.c: Adjust comments.
	(__lll_lock_elision): Do not test futex before starting a
	transaction.  Use __glibc_likely instead of __builtin_expect.
	* sysdeps/unix/sysv/linux/s390/elision-trylock.c: Adjust comments.
	(__lll_trylock_elision): Do not test futex before starting a
	transaction.  Use __glibc_likely instead of __builtin_expect.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add target to incorporate translations from translations.org</title>
<updated>2017-01-20T07:02:46+00:00</updated>
<author>
<name>Siddhesh Poyarekar</name>
<email>siddhesh@sourceware.org</email>
</author>
<published>2017-01-20T06:54:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=56009aa33c735d66f19d8382b6ef7c6addc24ec0'/>
<id>56009aa33c735d66f19d8382b6ef7c6addc24ec0</id>
<content type='text'>
Add a convenience target for maintainers to download and incorporate
translation updates from translations.org.  Invoke as follows:

  make -r PARALLELMFLAGS="" -C ../po objdir=`pwd` update-translations

similar to generating libc.pot.

	* po/Makefile (update-translations): New target.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a convenience target for maintainers to download and incorporate
translation updates from translations.org.  Invoke as follows:

  make -r PARALLELMFLAGS="" -C ../po objdir=`pwd` update-translations

similar to generating libc.pot.

	* po/Makefile (update-translations): New target.
</pre>
</div>
</content>
</entry>
<entry>
<title>Restore clock_* librt exports for MicroBlaze (bug 21061).</title>
<updated>2017-01-19T20:57:16+00:00</updated>
<author>
<name>Joseph Myers</name>
<email>joseph@codesourcery.com</email>
</author>
<published>2017-01-19T20:57:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=fe3f0488daaec2fb8c3af181b6e8e4567ba2cf61'/>
<id>fe3f0488daaec2fb8c3af181b6e8e4567ba2cf61</id>
<content type='text'>
MicroBlaze had clock_* functions exported from librt in glibc 2.18 and
2.19, as confirmed in
&lt;https://sourceware.org/ml/libc-alpha/2017-01/msg00369.html&gt;, and they
then disappeared in 2.20, presumably as a result of the fix
&lt;https://sourceware.org/ml/libc-alpha/2014-02/msg00598.html&gt; for a
Versions.def bug that had resulted in their unintended inclusion in
2.18 (followed by removal of the Versions.def mechanism that allowed
such bugs).

As they were released in that library, they should be considered part
of the GLIBC_2.18 ABI and so restored for the sake of any binaries
that expect them in that library.  This patch restores them by adding
a MicroBlaze version of clock-compat.c that overrides SHLIB_COMPAT.

Tested (compilation only) with build-many-glibcs.py (where this fixes
the librt ABI test failure; elf/check-execstack still fails and still
needs architecture maintainer attention to fix it or XFAIL it with an
appropriate explanatory comment).

	[BZ #21061]
	* sysdeps/unix/sysv/linux/microblaze/clock-compat.c: New file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MicroBlaze had clock_* functions exported from librt in glibc 2.18 and
2.19, as confirmed in
&lt;https://sourceware.org/ml/libc-alpha/2017-01/msg00369.html&gt;, and they
then disappeared in 2.20, presumably as a result of the fix
&lt;https://sourceware.org/ml/libc-alpha/2014-02/msg00598.html&gt; for a
Versions.def bug that had resulted in their unintended inclusion in
2.18 (followed by removal of the Versions.def mechanism that allowed
such bugs).

As they were released in that library, they should be considered part
of the GLIBC_2.18 ABI and so restored for the sake of any binaries
that expect them in that library.  This patch restores them by adding
a MicroBlaze version of clock-compat.c that overrides SHLIB_COMPAT.

Tested (compilation only) with build-many-glibcs.py (where this fixes
the librt ABI test failure; elf/check-execstack still fails and still
needs architecture maintainer attention to fix it or XFAIL it with an
appropriate explanatory comment).

	[BZ #21061]
	* sysdeps/unix/sysv/linux/microblaze/clock-compat.c: New file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix environment traversal when an envvar value is empty</title>
<updated>2017-01-19T19:15:09+00:00</updated>
<author>
<name>Siddhesh Poyarekar</name>
<email>siddhesh@sourceware.org</email>
</author>
<published>2017-01-19T19:15:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glibc.git/commit/?id=41389c40499a083c59e68ba281ec87be567f2871'/>
<id>41389c40499a083c59e68ba281ec87be567f2871</id>
<content type='text'>
The condition when the value of an envvar is empty (not just '\0'),
the loop in tunables_init gets stuck infinitely because envp is not
incremented.  Fix that by always incrementing envp in the loop.

Added test case (tst-empty-env.c) verifies the fix when the source is
configured with --enable-hardcoded-path-in-tests, thanks Josh Stone for
providing the test case.  Verified on x86_64.

	* elf/dl-tunables (get_next_env): Always advance envp.
	* stdlib/tst-empty-env.c: New test case.
	* stdlib/Makefile (tests): Use it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The condition when the value of an envvar is empty (not just '\0'),
the loop in tunables_init gets stuck infinitely because envp is not
incremented.  Fix that by always incrementing envp in the loop.

Added test case (tst-empty-env.c) verifies the fix when the source is
configured with --enable-hardcoded-path-in-tests, thanks Josh Stone for
providing the test case.  Verified on x86_64.

	* elf/dl-tunables (get_next_env): Always advance envp.
	* stdlib/tst-empty-env.c: New test case.
	* stdlib/Makefile (tests): Use it.
</pre>
</div>
</content>
</entry>
</feed>
