This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [COMMITTED] Add convenience target to automatically update ULPs for your machine.
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Andreas Jaeger <aj at suse dot com>
- Cc: Andreas Schwab <schwab at linux-m68k dot org>, GNU C Library <libc-alpha at sourceware dot org>, Roland McGrath <roland at hack dot frob dot com>
- Date: Sat, 06 Apr 2013 16:31:16 -0400
- Subject: Re: [COMMITTED] Add convenience target to automatically update ULPs for your machine.
- References: <515E05EC dot 1020101 at redhat dot com> <m2a9pdb9lq dot fsf at igel dot home> <515EEA67 dot 6020601 at redhat dot com> <516053B6 dot 4000304 at redhat dot com> <51607CEB dot 1030105 at suse dot com> <51607E21 dot 3000009 at redhat dot com>
On 04/06/2013 03:57 PM, Carlos O'Donell wrote:
> On 04/06/2013 03:52 PM, Andreas Jaeger wrote:
>> On 04/06/2013 06:56 PM, Carlos O'Donell wrote:
>>> On 04/05/2013 11:14 AM, Carlos O'Donell wrote:
>>>> On 04/05/2013 05:38 AM, Andreas Schwab wrote:
>>>>> "Carlos O'Donell" <carlos@redhat.com> writes:
>>>>>
>>>>>> + eval $(make-test-out) -u -o $(objpfx); \
>>>>>
>>>>> eval is evil. Why do you need that?
>>>>
>>>> No. It's not required. Thanks for noticing.
>>>>
>>>> I have to rewrite this anyway, I didn't notice $(make-test-out)
>>>> relies upon $^ and that doesn't work here.
>>>>
>>>> I have to do something similar to what Siddhesh did for `make bench'.
>>>
>>> Given that Jaegar and Schwab reviewed this I'm going to commit this
>>> to make our lives easier :-)
>>>
>>> v2
>>> - Remove use of evil `eval'.
>>> - Added custom variable to run math tests.
>>> - Rename `regenulps' to `regen-ulps'.
>>> - Updated wiki to mention new instructions.
>>
>> As a followup, could you update math/README.libm-test as well?
>
> Certainly, I hadn't pushed this yet because I accidentally
> added a trailing new line :/ ... I'll just ammend the commit
> and push.
>
> Cheers,
> Carlos.
>
Andreas,
Now pushed as commit 26510bdda1ab999041292737d1fad6aa25f9e06d.
The changes to README.libm-test are as follows, and describe how
to update automatically or manually. It also corrects the manual
step to tell you to use the newly built ld.so and libraries,
under the assumption you didn't install the new libs (which is
probably the case for most of us... unless you want to brick
your system frequently).
If you have any comments we can fix it up in follow-on patches.
diff --git a/math/README.libm-test b/math/README.libm-test
index 7a46155..2929499 100644 (file)
--- a/math/README.libm-test
+++ b/math/README.libm-test
@@ -39,24 +39,33 @@ platform specific sysdep directory.
How can I generate "libm-test-ulps"?
====================================
-The test drivers have an option "-u" to output an unsorted list of all
-epsilons that the functions have. The output can be read in directly
-but it's better to pretty print it first. "gen-libm-test.pl" has an option
-to generate a pretty-printed and sorted new ULPs file from the output
-of the test drivers.
-
-To generate a new "libm-test-ulps" file, first remove "ULPs" file in the
-current directory, then you can execute for example:
-test-double -u --ignore-max-ulp=yes
+To automatically generate a new "libm-test-ulps" run "make regen-ulps".
+This generates the file "math/NewUlps" in the build directory. The file
+contains the sorted results of all the tests. You can use the "NewUlps"
+file as the machine's updated "libm-test-ulps" file. Copy "NewUlps" to
+"libm-test-ulps" in the appropriate machine sysdep directory. Verify
+the changes, post your patch, and check it in after review.
+
+To manually generate a new "libm-test-ulps" file, first remove "ULPs"
+file in the current directory, then you can execute for example:
+ /build/elf/ld.so --library--path /build/:/build/elf:/build/math \
+ test-double -u --ignore-max-ulp=yes
This generates a file "ULPs" with all double ULPs in it, ignoring any
-previous calculated ULPs.
-Now 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":
+previously calculated ULPs, and running with the newly built dynamic
+loader and math library (assumes you didn't install your build). Now
+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
-
-Now you can rename "NewUlps" to "libm-test-ulps" and move it into
-sysdeps.
+Copy "NewUlps" to "libm-test-ulps" in the appropriate machine sysdep
+directory.
+
+Note that the test drivers have an option "-u" to output an unsorted
+list of all epsilons that the functions have. The output can be read
+in directly but it's better to pretty print it first.
+"gen-libm-test.pl" has an option to generate a pretty-printed and
+sorted new ULPs file from the output of the test drivers.
Contents of libm-test-ulps
==========================
---
Cheers,
Carlos.