<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glibc.git/math, branch zack/no-nested-includes</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/'/>
<entry>
<title>Add libm_alias_finite for _finite symbols</title>
<updated>2020-01-03T13:02:04+00:00</updated>
<author>
<name>Wilco Dijkstra</name>
<email>Wilco.Dijkstra@arm.com</email>
</author>
<published>2019-07-16T15:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=220622dde5704c95a100c2792a280f18f3deba73'/>
<id>220622dde5704c95a100c2792a280f18f3deba73</id>
<content type='text'>
This patch adds a new macro, libm_alias_finite, to define all _finite
symbol.  It sets all _finite symbol as compat symbol based on its first
version (obtained from the definition at built generated first-versions.h).

The &lt;fn&gt;f128_finite symbols were introduced in GLIBC 2.26 and so need
special treatment in code that is shared between long double and float128.
It is done by adding a list, similar to internal symbol redifinition,
on sysdeps/ieee754/float128/float128_private.h.

Alpha also needs some tricky changes to ensure we still emit 2 compat
symbols for sqrt(f).

Passes buildmanyglibc.

Co-authored-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds a new macro, libm_alias_finite, to define all _finite
symbol.  It sets all _finite symbol as compat symbol based on its first
version (obtained from the definition at built generated first-versions.h).

The &lt;fn&gt;f128_finite symbols were introduced in GLIBC 2.26 and so need
special treatment in code that is shared between long double and float128.
It is done by adding a list, similar to internal symbol redifinition,
on sysdeps/ieee754/float128/float128_private.h.

Alpha also needs some tricky changes to ensure we still emit 2 compat
symbols for sqrt(f).

Passes buildmanyglibc.

Co-authored-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright dates with scripts/update-copyrights.</title>
<updated>2020-01-01T00:14:33+00:00</updated>
<author>
<name>Joseph Myers</name>
<email>joseph@codesourcery.com</email>
</author>
<published>2020-01-01T00:14:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=d614a7539657941a9201c236b2f15afac18e1213'/>
<id>d614a7539657941a9201c236b2f15afac18e1213</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>math: enhance the endloop condition of function handle_input_flag</title>
<updated>2019-11-07T00:26:54+00:00</updated>
<author>
<name>liqingqing</name>
<email>liqingqing3@huawei.com</email>
</author>
<published>2019-11-07T00:26:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=dae7bf38978294f7d1aeece7f31c738281a3ba04'/>
<id>dae7bf38978294f7d1aeece7f31c738281a3ba04</id>
<content type='text'>
In the function handle_input_flag, the end-loop condition is not
correct, because when the loop variable i equals 16
(num_input_flag_types), then input_flags[16] will be out of bounds.
(This issue is only relevant with invalid input files to
gen-auto-libm-tests.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the function handle_input_flag, the end-loop condition is not
correct, because when the loop variable i equals 16
(num_input_flag_types), then input_flags[16] will be out of bounds.
(This issue is only relevant with invalid input files to
gen-auto-libm-tests.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove x64 _finite tests and references</title>
<updated>2019-10-21T17:29:12+00:00</updated>
<author>
<name>Wilco Dijkstra</name>
<email>Wilco.Dijkstra@arm.com</email>
</author>
<published>2019-07-16T14:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=d0007dc53cc83f22037bf6c7a297fa2e8066a335'/>
<id>d0007dc53cc83f22037bf6c7a297fa2e8066a335</id>
<content type='text'>
Remove _finite tests and references from x86_64.  Rather than calling
__exp_finite, use exp directly (since it's the same entry point).

x86_64 builds and passes testsuite.

Reviewed-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove _finite tests and references from x86_64.  Rather than calling
__exp_finite, use exp directly (since it's the same entry point).

x86_64 builds and passes testsuite.

Reviewed-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove finite-math tests</title>
<updated>2019-10-21T11:47:07+00:00</updated>
<author>
<name>Wilco Dijkstra</name>
<email>Wilco.Dijkstra@arm.com</email>
</author>
<published>2019-07-16T13:39:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=55d530114ef3513eb8588e31e3850f04ac608077'/>
<id>55d530114ef3513eb8588e31e3850f04ac608077</id>
<content type='text'>
Remove the finite-math tests from the testsuite - these are no longer
useful after removing math-finite.h header.

Passes buildmanyglibc, build&amp;test on x86_64 and AArch64.

Reviewed-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the finite-math tests from the testsuite - these are no longer
useful after removing math-finite.h header.

Passes buildmanyglibc, build&amp;test on x86_64 and AArch64.

Reviewed-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove math-finite.h</title>
<updated>2019-10-21T11:47:07+00:00</updated>
<author>
<name>Wilco Dijkstra</name>
<email>Wilco.Dijkstra@arm.com</email>
</author>
<published>2019-07-16T13:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=7bdb921d70bf9f93948e2e311fef9ef439314e41'/>
<id>7bdb921d70bf9f93948e2e311fef9ef439314e41</id>
<content type='text'>
Remove math-finite.h redirections for math functions.

Passes buildmanyglibc.

Reviewed-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove math-finite.h redirections for math functions.

Passes buildmanyglibc.

Reviewed-by: Adhemerval Zanella &lt;adhemerval.zanella@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer https to http for gnu.org and fsf.org URLs</title>
<updated>2019-09-07T09:43:31+00:00</updated>
<author>
<name>Paul Eggert</name>
<email>eggert@cs.ucla.edu</email>
</author>
<published>2019-09-07T05:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=5a82c74822d3272df2f5929133680478c0cfb4bd'/>
<id>5a82c74822d3272df2f5929133680478c0cfb4bd</id>
<content type='text'>
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:

sed -ri '
  s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
  s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
  $(find $(git ls-files) -prune -type f \
      ! -name '*.po' \
      ! -name 'ChangeLog*' \
      ! -path COPYING ! -path COPYING.LIB \
      ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
      ! -path manual/texinfo.tex ! -path scripts/config.guess \
      ! -path scripts/config.sub ! -path scripts/install-sh \
      ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
      ! -path INSTALL ! -path  locale/programs/charmap-kw.h \
      ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
      ! '(' -name configure \
            -execdir test -f configure.ac -o -f configure.in ';' ')' \
      ! '(' -name preconfigure \
            -execdir test -f preconfigure.ac ';' ')' \
      -print)

and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:

  chmod a+x sysdeps/unix/sysv/linux/riscv/configure
  # Omit irrelevant whitespace and comment-only changes,
  # perhaps from a slightly-different Autoconf version.
  git checkout -f \
    sysdeps/csky/configure \
    sysdeps/hppa/configure \
    sysdeps/riscv/configure \
    sysdeps/unix/sysv/linux/csky/configure
  # Omit changes that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
  git checkout -f \
    sysdeps/powerpc/powerpc64/ppc-mcount.S \
    sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
  # Omit change that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
  git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:

sed -ri '
  s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
  s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
  $(find $(git ls-files) -prune -type f \
      ! -name '*.po' \
      ! -name 'ChangeLog*' \
      ! -path COPYING ! -path COPYING.LIB \
      ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
      ! -path manual/texinfo.tex ! -path scripts/config.guess \
      ! -path scripts/config.sub ! -path scripts/install-sh \
      ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
      ! -path INSTALL ! -path  locale/programs/charmap-kw.h \
      ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
      ! '(' -name configure \
            -execdir test -f configure.ac -o -f configure.in ';' ')' \
      ! '(' -name preconfigure \
            -execdir test -f preconfigure.ac ';' ')' \
      -print)

and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:

  chmod a+x sysdeps/unix/sysv/linux/riscv/configure
  # Omit irrelevant whitespace and comment-only changes,
  # perhaps from a slightly-different Autoconf version.
  git checkout -f \
    sysdeps/csky/configure \
    sysdeps/hppa/configure \
    sysdeps/riscv/configure \
    sysdeps/unix/sysv/linux/csky/configure
  # Omit changes that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
  git checkout -f \
    sysdeps/powerpc/powerpc64/ppc-mcount.S \
    sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
  # Omit change that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
  git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
</pre>
</div>
</content>
</entry>
<entry>
<title>Use __attribute_pure__ macro in bits/mathcalls.h</title>
<updated>2019-09-05T22:20:29+00:00</updated>
<author>
<name>Gabriel F. T. Gomes</name>
<email>gabrielftg@linux.ibm.com</email>
</author>
<published>2019-09-05T20:06:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=1b7f04070bd94f259e2ed24d6fb76309d64fb164'/>
<id>1b7f04070bd94f259e2ed24d6fb76309d64fb164</id>
<content type='text'>
When the const attribute of totalorder* functions was replaced with the
pure attribute, by commit ID ab41100bab12, it did not use the
__attribute_pure__ macro, but the __attribute__ ((__pure__)) statement.
All other uses of the pure attribute in glibc use the macro.

Tested for powerpc64le.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the const attribute of totalorder* functions was replaced with the
pure attribute, by commit ID ab41100bab12, it did not use the
__attribute_pure__ macro, but the __attribute__ ((__pure__)) statement.
All other uses of the pure attribute in glibc use the macro.

Tested for powerpc64le.
</pre>
</div>
</content>
</entry>
<entry>
<title>math: Replace const attribute with pure in totalorder* functions</title>
<updated>2019-09-05T14:21:54+00:00</updated>
<author>
<name>Gabriel F. T. Gomes</name>
<email>gabrielftg@linux.ibm.com</email>
</author>
<published>2019-09-04T16:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=ab41100bab128fa98258aafbb0ab1622884cec4c'/>
<id>ab41100bab128fa98258aafbb0ab1622884cec4c</id>
<content type='text'>
Since the commit

commit 42760d764649ad82f5fe45a26cbdf2c2500409f7
Author: Joseph Myers &lt;joseph@codesourcery.com&gt;
Date:   Thu Aug 15 15:18:34 2019 +0000

    Make totalorder and totalordermag functions take pointer arguments.

the test case math/test-totalorderl-ldbl-128ibm fails on every input
pair, when compiled with -O2, which is the case for glibc test suite.

Debugging showed that the test case is passing arguments incorrectly to
totalorderl.  This can also be inferred by the fact that compiling the
test case with -O0 hides the bug.

The documentation for the const attribute in GCC manual reads:

  Note that a function that has pointer arguments and examines the data
  pointed to must not be declared const if the pointed-to data might
  change between successive invocations of the function. In general,
  since a function cannot distinguish data that might change from data
  that cannot, const functions should never take pointer or, in C++,
  reference arguments. Likewise, a function that calls a non-const
  function usually must not be const itself.

Since the pointed-to data is likely to be changed by user code between
invocations of totalorder*, this patch removes the const attribute from
the declarations of all totalorder functions, replacing it with the pure
attribute, as suggested in the manual:

  The pure attribute imposes similar but looser restrictions on a
  function’s definition than the const attribute: pure allows the
  function to read any non-volatile memory, even if it changes in
  between successive invocations of the function.

Tested for powerpc64le and x86_64.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the commit

commit 42760d764649ad82f5fe45a26cbdf2c2500409f7
Author: Joseph Myers &lt;joseph@codesourcery.com&gt;
Date:   Thu Aug 15 15:18:34 2019 +0000

    Make totalorder and totalordermag functions take pointer arguments.

the test case math/test-totalorderl-ldbl-128ibm fails on every input
pair, when compiled with -O2, which is the case for glibc test suite.

Debugging showed that the test case is passing arguments incorrectly to
totalorderl.  This can also be inferred by the fact that compiling the
test case with -O0 hides the bug.

The documentation for the const attribute in GCC manual reads:

  Note that a function that has pointer arguments and examines the data
  pointed to must not be declared const if the pointed-to data might
  change between successive invocations of the function. In general,
  since a function cannot distinguish data that might change from data
  that cannot, const functions should never take pointer or, in C++,
  reference arguments. Likewise, a function that calls a non-const
  function usually must not be const itself.

Since the pointed-to data is likely to be changed by user code between
invocations of totalorder*, this patch removes the const attribute from
the declarations of all totalorder functions, replacing it with the pure
attribute, as suggested in the manual:

  The pure attribute imposes similar but looser restrictions on a
  function’s definition than the const attribute: pure allows the
  function to read any non-volatile memory, even if it changes in
  between successive invocations of the function.

Tested for powerpc64le and x86_64.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix spellings of contributor names in comments and doc</title>
<updated>2019-08-23T20:11:05+00:00</updated>
<author>
<name>Paul Eggert</name>
<email>eggert@cs.ucla.edu</email>
</author>
<published>2019-08-23T20:07:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=e6855a3bdfe147c52b29b5e7d70a95a8aa22ece0'/>
<id>e6855a3bdfe147c52b29b5e7d70a95a8aa22ece0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
