[PATCH] manual: Avoid name collision in libm ULP table [BZ #28956]

Tom Coldrick thomas.coldrick@codethink.co.uk
Tue Apr 5 09:46:54 GMT 2022

The 32-bit and 64-bit variants of RISC-V share the same name - "RISC-V"
- when generating the libm error table for the info pages. This
collision, and the way how the table is generated, mean that the values
in the final table for "RISC-V" may be either for the 32- or 64-bit
variant, with no indication as to which.

As an additional side-effect, this makes the build non-reproducible, as
the error table generated is dependent upon the host filesystem

To solve this issue, the libm-test-ulps-name files for both variants
have been modified to include their word size, so as to remove the
collision and provide more accurate information in the table.

An alternative proposed was to merge the two variants' ULP values into a
single file, but this would mean that information about error values is
lost, as the two variants are not identical. Some differences are
considerable, notably the values for the exp() function are large.
 sysdeps/riscv/rv32/rvd/libm-test-ulps-name | 2 +-
 sysdeps/riscv/rv64/rvd/libm-test-ulps-name | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sysdeps/riscv/rv32/rvd/libm-test-ulps-name b/sysdeps/riscv/rv32/rvd/libm-test-ulps-name
index 827fcdca19..6d2816082e 100644
--- a/sysdeps/riscv/rv32/rvd/libm-test-ulps-name
+++ b/sysdeps/riscv/rv32/rvd/libm-test-ulps-name
@@ -1 +1 @@
+RISC-V 32-bit
diff --git a/sysdeps/riscv/rv64/rvd/libm-test-ulps-name b/sysdeps/riscv/rv64/rvd/libm-test-ulps-name
index 827fcdca19..9cb50380df 100644
--- a/sysdeps/riscv/rv64/rvd/libm-test-ulps-name
+++ b/sysdeps/riscv/rv64/rvd/libm-test-ulps-name
@@ -1 +1 @@
+RISC-V 64-bit

More information about the Libc-alpha mailing list