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.25-12-g7e1e68b
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 6 Feb 2017 18:22:02 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.25-12-g7e1e68b
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 7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6 (commit)
from c7a37ad352c90d798d138b9f83e0333c78d08410 (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=7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6
commit 7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon Feb 6 18:20:15 2017 +0000
Rework gen-libm-test.pl input/output handling.
This patch reworks how input and output files are specified for
gen-libm-test.pl.
Previously, the script had names of various inputs and outputs
hardcoded, with a -o option to specify an output directory. This
patch replaces this with all inputs and outputs being specified
explicitly as the arguments of options passed to the script. Outputs
are only generated if the relevant option is passed, and only the
processing required for the indicated outputs is done. The Makefile
is made to pass options for generating libm-test-ulps.h in a separate
invocation of gen-libm-test.pl from that generating libm-test.c.
This is all in preparation for splitting up libm-test.inc and
auto-libm-test-out and running tests separately for each function,
when gen-libm-test.pl will be run separately for each function to
generate the .c file but only once to generate libm-test-ulps.h (and
those runs will be able to be in parallel).
Tested for x86_64. The generated libm-test.c and libm-test-ulps.h are
identical before and after the patch. Also tested the "make
regen-ulps" case.
* math/gen-libm-test.pl ($output_dir): Remove variable.
($srcdir): Likewise.
($opt_a): New variable.
($opt_c): Likewise.
($opt_C): Likewise.
($opt_H): Likewise.
(-n): Make option take argument and use it as NewUlps output.
(-a): New option. Use its argument for auto-libm-test-out input.
(-c): New option. Use its argument for libm-test.inc input.
(-C): New option. Use its argument for libm-test.c output.
(-H): New option. Use its argument for libm-test-ulps.h output.
(top level): Only process inputs needed to generate outputs
specified by command-line options. Only generate outputs
specified by command-line options.
* math/README.libm-test: Update example gen-libm-test.pl command.
* math/Makefile ($(objpfx)libm-test.stmp): Update gen-libm-test.pl
commands.
(regen-ulps): Likewise.
diff --git a/ChangeLog b/ChangeLog
index d058211..d5516f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2017-02-06 Joseph Myers <joseph@codesourcery.com>
+
+ * math/gen-libm-test.pl ($output_dir): Remove variable.
+ ($srcdir): Likewise.
+ ($opt_a): New variable.
+ ($opt_c): Likewise.
+ ($opt_C): Likewise.
+ ($opt_H): Likewise.
+ (-n): Make option take argument and use it as NewUlps output.
+ (-a): New option. Use its argument for auto-libm-test-out input.
+ (-c): New option. Use its argument for libm-test.inc input.
+ (-C): New option. Use its argument for libm-test.c output.
+ (-H): New option. Use its argument for libm-test-ulps.h output.
+ (top level): Only process inputs needed to generate outputs
+ specified by command-line options. Only generate outputs
+ specified by command-line options.
+ * math/README.libm-test: Update example gen-libm-test.pl command.
+ * math/Makefile ($(objpfx)libm-test.stmp): Update gen-libm-test.pl
+ commands.
+ (regen-ulps): Likewise.
+
2017-02-06 Wilco Dijkstra <wdijkstr@arm.com>
* hurd/path-lookup.c (file_name_path_scan): Rename index to strchr.
diff --git a/math/Makefile b/math/Makefile
index dd3b05a..bbee8f3 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -217,7 +217,9 @@ $(addprefix $(objpfx), $(libm-tests-generated)): $(objpfx)libm-test.stmp
$(objpfx)libm-test.stmp: $(ulps-file) libm-test.inc gen-libm-test.pl \
gen-libm-have-vector-test.sh auto-libm-test-out
$(make-target-directory)
- $(PERL) gen-libm-test.pl -u $< -o "$(objpfx)"
+ $(PERL) gen-libm-test.pl -u $< -H "$(objpfx)libm-test-ulps.h"
+ $(PERL) gen-libm-test.pl -c libm-test.inc -a auto-libm-test-out \
+ -C "$(objpfx)libm-test.c"
$(SHELL) gen-libm-have-vector-test.sh > $(objpfx)libm-have-vector-test.h
@echo > $@
endif
@@ -353,7 +355,8 @@ regen-ulps: $(addprefix $(objpfx),$(libm-tests))
cat $(objpfx)ULPs >> $(objpfx)libm-test-ulps; \
rm $(objpfx)ULPs; \
done; \
- $(PERL) gen-libm-test.pl -o $(objpfx) -n -u $(objpfx)libm-test-ulps; \
+ $(PERL) gen-libm-test.pl -n $(objpfx)NewUlps \
+ -u $(objpfx)libm-test-ulps; \
echo "Automatic regeneration of ULPs complete."; \
echo "Difference between the current baseline and the new baseline is:";\
diff -urN $(ulps-file) $(objpfx)NewUlps; \
diff --git a/math/README.libm-test b/math/README.libm-test
index 69e2d3f..d0a528e 100644
--- a/math/README.libm-test
+++ b/math/README.libm-test
@@ -81,7 +81,7 @@ generate the ULPs for all other formats, the tests will be appending the
data to the "ULPs" file. As final step run "gen-libm-test.pl" with the
file as input and ask to generate a pretty printed output in the file
"NewUlps":
- gen-libm-test.pl -u ULPs -n
+ gen-libm-test.pl -u ULPs -n NewUlps
Copy "NewUlps" to "libm-test-ulps" in the appropriate machine sysdep
directory.
diff --git a/math/gen-libm-test.pl b/math/gen-libm-test.pl
index a58194d..a931bc5 100755
--- a/math/gen-libm-test.pl
+++ b/math/gen-libm-test.pl
@@ -40,7 +40,7 @@ use strict;
use vars qw ($input $output $auto_input);
use vars qw (%results);
use vars qw (%beautify @all_floats %all_floats_pfx);
-use vars qw ($output_dir $ulps_file $srcdir);
+use vars qw ($ulps_file);
use vars qw (%auto_tests);
# all_floats is sorted and contains all recognised float types
@@ -73,38 +73,41 @@ use vars qw (%auto_tests);
# get Options
# Options:
+# a: auto-libm-test-out input file
+# c: .inc input file
# u: ulps-file
+# n: new ulps file
+# C: libm-test.c output file
+# H: libm-test-ulps.h output file
# h: help
-# o: output-directory
-# n: generate new ulps file
-use vars qw($opt_u $opt_h $opt_o $opt_n);
-getopts('u:o:nh');
+use vars qw($opt_a $opt_c $opt_u $opt_n $opt_C $opt_H $opt_h);
+getopts('a:c:u:n:C:H:h');
$ulps_file = 'libm-test-ulps';
-$output_dir = '';
-($srcdir = $0) =~ s{[^/]*$}{};
if ($opt_h) {
print "Usage: gen-libm-test.pl [OPTIONS]\n";
print " -h print this help, then exit\n";
- print " -o DIR directory where generated files will be placed\n";
- print " -n only generate sorted file NewUlps from libm-test-ulps\n";
+ print " -a FILE input file with automatically generated tests\n";
+ print " -c FILE input file .inc file with tests\n";
print " -u FILE input file with ulps\n";
+ print " -n FILE generate sorted file FILE from libm-test-ulps\n";
+ print " -C FILE generate output C file FILE from libm-test.inc\n";
+ print " -H FILE generate output ulps header FILE from libm-test-ulps\n";
exit 0;
}
$ulps_file = $opt_u if ($opt_u);
-$output_dir = $opt_o if ($opt_o);
-$input = "libm-test.inc";
-$auto_input = "${srcdir}auto-libm-test-out";
-$output = "${output_dir}libm-test.c";
+$input = $opt_c if ($opt_c);
+$auto_input = $opt_a if ($opt_a);
+$output = $opt_C if ($opt_C);
-&parse_ulps ($ulps_file);
-&parse_auto_input ($auto_input);
-&generate_testfile ($input, $output) unless ($opt_n);
-&output_ulps ("${output_dir}libm-test-ulps.h", $ulps_file) unless ($opt_n);
-&print_ulps_file ("${output_dir}NewUlps") if ($opt_n);
+&parse_ulps ($ulps_file) if ($opt_H || $opt_n);
+&parse_auto_input ($auto_input) if ($opt_C);
+&generate_testfile ($input, $output) if ($opt_C);
+&output_ulps ($opt_H, $ulps_file) if ($opt_H);
+&print_ulps_file ($opt_n) if ($opt_n);
# Return a nicer representation
sub beautify {
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 21 +++++++++++++++++++++
math/Makefile | 7 +++++--
math/README.libm-test | 2 +-
math/gen-libm-test.pl | 39 +++++++++++++++++++++------------------
4 files changed, 48 insertions(+), 21 deletions(-)
hooks/post-receive
--
GNU C Library master sources