This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26.9000-982-g174edbd
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Dec 2017 14:06:31 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26.9000-982-g174edbd
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 174edbde7e4eb056cc273127e045404067682b57 (commit)
from 1e36806fb8589050350ececfade454c13f75e5aa (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=174edbde7e4eb056cc273127e045404067682b57
commit 174edbde7e4eb056cc273127e045404067682b57
Author: Joseph Myers <joseph@codesourcery.com>
Date: Fri Dec 15 14:06:07 2017 +0000
Update SPARC divrem generation to match output.
While working on another patch I noticed that (a)
sysdeps/sparc/sparc32/Makefile is the only place with special
realclean settings, apart from po/, and (b) the generated files with a
rule in that Makefile to generate them (using m4) had been patched
manually so no longer corresponded with the output of the generator -
so if the timestamps were wrong, a build would result in changes to
the files in the source directory. (They also didn't correspond
because of changes in make 3.81 to how make handles whitespace at the
start of a line in a sequence of backslash-newline continuation lines
within a recipe.)
This patch fixes the generation and output files to match. The issue
with make and whitespace at start of continuation lines is fixed by
putting those newlines outside of arguments to echo, so the number of
spaces in the argument matches the number in the existing generated
files. Then divrem.m4 is changed to avoid generating whitespace-only
lines (my fix to the outputs from 2013; this fix to the generator also
changes the indentation of a label in the output files) and to
generate an alias in udiv.S (Adhemerval's fix from March).
build-many-glibcs.py doesn't have a non-v9 SPARC configuration,
because non-v9 32-bit SPARC didn't build when I set up
build-many-glibcs.py but sparcv9 did build. Whether or not non-v9
32-bit SPARC now builds (or indeed whether or not support for it is
obsolete), I tested by removing the sparcv8 and sparcv9 versions of
the four files in question, so forcing the generated files to be built
and used, and the compilation parts of the glibc testsuite passed.
* sysdeps/sparc/sparc32/Makefile
($(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S)): Do not include
start-of-line whitespace in argument of echo.
* sysdeps/sparc/sparc32/divrem.m4: Avoid generating lines starting
with whitespace. Generate __wrap_.udiv alias.
* sysdeps/sparc/sparc32/rem.S: Regenerated.
* sysdeps/sparc/sparc32/sdiv.S: Likewise.
* sysdeps/sparc/sparc32/udiv.S: Likewise.
* sysdeps/sparc/sparc32/urem.S: Likewise.
diff --git a/ChangeLog b/ChangeLog
index a993af3..cc4e299 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2017-12-15 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/sparc/sparc32/Makefile
+ ($(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S)): Do not include
+ start-of-line whitespace in argument of echo.
+ * sysdeps/sparc/sparc32/divrem.m4: Avoid generating lines starting
+ with whitespace. Generate __wrap_.udiv alias.
+ * sysdeps/sparc/sparc32/rem.S: Regenerated.
+ * sysdeps/sparc/sparc32/sdiv.S: Likewise.
+ * sysdeps/sparc/sparc32/udiv.S: Likewise.
+ * sysdeps/sparc/sparc32/urem.S: Likewise.
+
2017-12-15 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc64/power8/strcpy.S: Use vectors
diff --git a/sysdeps/sparc/sparc32/Makefile b/sysdeps/sparc/sparc32/Makefile
index 14d6e03..eb0438a 100644
--- a/sysdeps/sparc/sparc32/Makefile
+++ b/sysdeps/sparc/sparc32/Makefile
@@ -37,10 +37,10 @@ divrem := sdiv udiv rem urem
+divrem-S-udiv := false
+divrem-S-urem := false
$(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S): $(sysdep_dir)/sparc/sparc32/divrem.m4
- (echo "define(NAME,\`.$(+divrem-NAME)')\
- define(OP,\`$(+divrem-OP-$(+divrem-NAME))')\
- define(S,\`$(+divrem-S-$(+divrem-NAME))')\
- /* This file is generated from divrem.m4; DO NOT EDIT! */"; \
+ (echo -n "define(NAME,\`.$(+divrem-NAME)')"; \
+ echo -n " define(OP,\`$(+divrem-OP-$(+divrem-NAME))')"; \
+ echo -n " define(S,\`$(+divrem-S-$(+divrem-NAME))')"; \
+ echo " /* This file is generated from divrem.m4; DO NOT EDIT! */"; \
cat $<) | $(M4) > $@-tmp
# Make it unwritable so noone will edit it by mistake.
-chmod a-w $@-tmp
diff --git a/sysdeps/sparc/sparc32/divrem.m4 b/sysdeps/sparc/sparc32/divrem.m4
index 30d532a..c08c530 100644
--- a/sysdeps/sparc/sparc32/divrem.m4
+++ b/sysdeps/sparc/sparc32/divrem.m4
@@ -72,15 +72,15 @@ define(DEVELOP_QUOTIENT_BITS,
ifelse($1, N,
` b 9f
add Q, ($2*2+1), Q
- ', ` DEVELOP_QUOTIENT_BITS(incr($1), `eval(2*$2+1)')')
+', ` DEVELOP_QUOTIENT_BITS(incr($1), `eval(2*$2+1)')')
LOC($1.eval(2**N+$2)):
! remainder is negative
addcc R,V,R
ifelse($1, N,
` b 9f
add Q, ($2*2-1), Q
- ', ` DEVELOP_QUOTIENT_BITS(incr($1), `eval(2*$2-1)')')
- ifelse($1, 1, `9:')')dnl
+', ` DEVELOP_QUOTIENT_BITS(incr($1), `eval(2*$2-1)')')
+ifelse($1, 1, `9:')')dnl
#include <sysdep.h>
#include <sys/trap.h>
@@ -230,3 +230,5 @@ ifelse(S, `true',
ifelse(OP, `div', `mov Q, %o0', `mov R, %o0')
END(NAME)
+ifelse(OP, `div', ifelse(S, `false', `strong_alias (.udiv, __wrap_.udiv)
+'))dnl
diff --git a/sysdeps/sparc/sparc32/rem.S b/sysdeps/sparc/sparc32/rem.S
index 349d7c0..79e09a9 100644
--- a/sysdeps/sparc/sparc32/rem.S
+++ b/sysdeps/sparc/sparc32/rem.S
@@ -341,7 +341,7 @@ LOC(4.9):
- 9:
+9:
LOC(end_regular_divide):
subcc %o4, 1, %o4
bge LOC(divloop)
diff --git a/sysdeps/sparc/sparc32/sdiv.S b/sysdeps/sparc/sparc32/sdiv.S
index d1d4ee3..ab29718 100644
--- a/sysdeps/sparc/sparc32/sdiv.S
+++ b/sysdeps/sparc/sparc32/sdiv.S
@@ -341,7 +341,7 @@ LOC(4.9):
- 9:
+9:
LOC(end_regular_divide):
subcc %o4, 1, %o4
bge LOC(divloop)
diff --git a/sysdeps/sparc/sparc32/udiv.S b/sysdeps/sparc/sparc32/udiv.S
index ade0afd..1db6796 100644
--- a/sysdeps/sparc/sparc32/udiv.S
+++ b/sysdeps/sparc/sparc32/udiv.S
@@ -328,7 +328,7 @@ LOC(4.9):
- 9:
+9:
LOC(end_regular_divide):
subcc %o4, 1, %o4
bge LOC(divloop)
diff --git a/sysdeps/sparc/sparc32/urem.S b/sysdeps/sparc/sparc32/urem.S
index d3a1a44..83fb4c2 100644
--- a/sysdeps/sparc/sparc32/urem.S
+++ b/sysdeps/sparc/sparc32/urem.S
@@ -328,7 +328,7 @@ LOC(4.9):
- 9:
+9:
LOC(end_regular_divide):
subcc %o4, 1, %o4
bge LOC(divloop)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 12 ++++++++++++
sysdeps/sparc/sparc32/Makefile | 8 ++++----
sysdeps/sparc/sparc32/divrem.m4 | 8 +++++---
sysdeps/sparc/sparc32/rem.S | 2 +-
sysdeps/sparc/sparc32/sdiv.S | 2 +-
sysdeps/sparc/sparc32/udiv.S | 2 +-
sysdeps/sparc/sparc32/urem.S | 2 +-
7 files changed, 25 insertions(+), 11 deletions(-)
hooks/post-receive
--
GNU C Library master sources