bug-mes
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

M2-Planet: floating point exceptions


From: Jan Nieuwenhuizen
Subject: M2-Planet: floating point exceptions
Date: Fri, 01 Jan 2021 14:51:23 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Hello!

Trying to build the `wip-m2' branch of GNU Mes with latest M2-Planet,
I'm seeing stray nondeterministic floating point exceptions when
compiling mes using mescc with an M2-Planet-compiled mes: recompilation
of a file often succeeds, but I haven't seen a build fully succeed in
one go.

Bisecting M2-Planet indicates

    64a3a1b6740ea027ca04b866270431d57ae89cb6
    Get division on x86/AMD64 a closer approximation of what is correct

to be the problematic commit.  I created a "reproducer": bug.c (see
attached).  I'm not sure this is actually the case that I'm seeing
(wondering about the nondeterminism), but sadly I cannot run gdb on
M2-Planet-built mes; I'm getting:

--8<---------------cut here---------------start------------->8---
$ gdb bin/mes-m2
GNU gdb (GDB) 10.1
[..]
BFD: warning: /home/janneke/src/mes/wip-m2/bin/mes-m2 has a section extending 
past end of file
BFD: warning: /home/janneke/src/mes/wip-m2/bin/mes-m2 has a section extending 
past end of file
"0x7ffeec229a90s": not in executable format: file format not recognized
--8<---------------cut here---------------end--------------->8---

...hmm?  Anyway, running bug.sh gives:

--8<---------------cut here---------------start------------->8---
14:15:24 janneke@dundal:~/src/m2-planet [env]
$ sh -ex bug.sh
+ mkdir -p m2
+ bin/M2-Planet --debug --architecture x86 -o bug.M1 -f bug.c
+ blood-elf -f bug.M1 -o bug.blood-elf-M1
+ M1 --LittleEndian --architecture x86 -f test/common_x86/x86_defs.M1 -f 
test/common_x86/libc-core.M1 -f bug.M1 -f bug.blood-elf-M1 -o bug.hex2
+ hex2 --LittleEndian --architecture x86 --BaseAddress 0x1000000 --exec_enable 
-f test/common_x86/ELF-i386.hex2 -f bug.hex2 -o bug
+ echo Running bug
Running bug
+ ./bug
bug.sh: line 31:  7541 Floating point exception./bug
[136]14:15:52 janneke@dundal:~/src/m2-planet [env]
$ 
--8<---------------cut here---------------end--------------->8---

Reverting this commit (see attached patch) indeed makes the bug go away,
and mes can be bootstrapped again.

Bugs are hugs, happy New Year!
Greetings,
Janneke

Attachment: bug.c
Description: Binary data

Attachment: bug.sh
Description: Bourne shell script

>From aa93ad0256ef7ed5947ee0489ddd24137523e4ca Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Fri, 1 Jan 2021 13:40:16 +0100
Subject: [PATCH] Revert "Get division on x86/AMD64 a closer approximation of
 what is correct"
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

This avoids floating point exception when building GNU Mes: wip-m2, or
doing "int i = i / 1;".

This reverts commit 64a3a1b6740ea027ca04b866270431d57ae89cb6.
---
 cc_core.c                       | 16 +++++++-------
 test/common_amd64/amd64_defs.M1 |  1 -
 test/common_x86/x86_defs.M1     |  1 -
 test/test.answers               | 38 ++++++++++++++++-----------------
 test/test1000/proof.answer      |  2 +-
 5 files changed, 28 insertions(+), 30 deletions(-)

diff --git a/cc_core.c b/cc_core.c
index 74a90f3..ed4a1c3 100644
--- a/cc_core.c
+++ b/cc_core.c
@@ -854,20 +854,20 @@ void additive_expr_stub()
                arithmetic_recursion(postfix_expr, "ADD_ebx_to_eax\n", 
"ADD_ebx_to_eax\n", "+", additive_expr_stub);
                arithmetic_recursion(postfix_expr, 
"SUBTRACT_eax_from_ebx_into_ebx\nMOVE_ebx_to_eax\n", 
"SUBTRACT_eax_from_ebx_into_ebx\nMOVE_ebx_to_eax\n", "-", additive_expr_stub);
                arithmetic_recursion(postfix_expr, 
"MULTIPLYS_eax_by_ebx_into_eax\n", "MULTIPLY_eax_by_ebx_into_eax\n", "*", 
additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"XCHG_eax_ebx\nCDTQ\nDIVIDES_eax_by_ebx_into_eax\n", 
"XCHG_eax_ebx\nLOAD_IMMEDIATE_edx %0\nDIVIDE_eax_by_ebx_into_eax\n", "/", 
additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"XCHG_eax_ebx\nCDTQ\nMODULUSS_eax_from_ebx_into_ebx\nMOVE_edx_to_eax\n", 
"XCHG_eax_ebx\nCDTQ\nMODULUS_eax_from_ebx_into_ebx\nMOVE_edx_to_eax\n", "%", 
additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSAL_eax_cl\n", 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSHL_eax_cl\n", "<<", additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSAR_eax_cl\n", 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSHR_eax_cl\n", ">>", additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"XCHG_eax_ebx\nLOAD_IMMEDIATE_edx %0\nDIVIDES_eax_by_ebx_into_eax\n", 
"XCHG_eax_ebx\nLOAD_IMMEDIATE_edx %0\nDIVIDE_eax_by_ebx_into_eax\n", "/", 
additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"XCHG_eax_ebx\nLOAD_IMMEDIATE_edx 
%0\nMODULUSS_eax_from_ebx_into_ebx\nMOVE_edx_to_eax\n", 
"XCHG_eax_ebx\nLOAD_IMMEDIATE_edx 
%0\nMODULUS_eax_from_ebx_into_ebx\nMOVE_edx_to_eax\n", "%", additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSAL_eax_cl\n", 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSAL_eax_cl\n", "<<", additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSAR_eax_cl\n", 
"COPY_eax_to_ecx\nCOPY_ebx_to_eax\nSAR_eax_cl\n", ">>", additive_expr_stub);
        }
        else if(AMD64 == Architecture)
        {
                arithmetic_recursion(postfix_expr, "ADD_rbx_to_rax\n", 
"ADD_rbx_to_rax\n", "+", additive_expr_stub);
                arithmetic_recursion(postfix_expr, 
"SUBTRACT_rax_from_rbx_into_rbx\nMOVE_rbx_to_rax\n", 
"SUBTRACT_rax_from_rbx_into_rbx\nMOVE_rbx_to_rax\n", "-", additive_expr_stub);
                arithmetic_recursion(postfix_expr, 
"MULTIPLYS_rax_by_rbx_into_rax\n", "MULTIPLY_rax_by_rbx_into_rax\n", "*", 
additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"XCHG_rax_rbx\nCQTO\nDIVIDES_rax_by_rbx_into_rax\n", 
"XCHG_rax_rbx\nLOAD_IMMEDIATE_rdx %0\nDIVIDE_rax_by_rbx_into_rax\n", "/", 
additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"XCHG_rax_rbx\nCQTO\nMODULUSS_rax_from_rbx_into_rbx\nMOVE_rdx_to_rax\n", 
"XCHG_rax_rbx\nCQTO\nMODULUS_rax_from_rbx_into_rbx\nMOVE_rdx_to_rax\n", "%", 
additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSAL_rax_cl\n", 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSHL_rax_cl\n", "<<", additive_expr_stub);
-               arithmetic_recursion(postfix_expr, 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSAR_rax_cl\n", 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSHR_rax_cl\n", ">>", additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"XCHG_rax_rbx\nLOAD_IMMEDIATE_rdx %0\nDIVIDES_rax_by_rbx_into_rax\n", 
"XCHG_rax_rbx\nLOAD_IMMEDIATE_rdx %0\nDIVIDE_rax_by_rbx_into_rax\n", "/", 
additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"XCHG_rax_rbx\nLOAD_IMMEDIATE_rdx 
%0\nMODULUSS_rax_from_rbx_into_rbx\nMOVE_rdx_to_rax\n", 
"XCHG_rax_rbx\nLOAD_IMMEDIATE_rdx 
%0\nMODULUS_rax_from_rbx_into_rbx\nMOVE_rdx_to_rax\n", "%", additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSAL_rax_cl\n", 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSAL_rax_cl\n", "<<", additive_expr_stub);
+               arithmetic_recursion(postfix_expr, 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSAR_rax_cl\n", 
"COPY_rax_to_rcx\nCOPY_rbx_to_rax\nSAR_rax_cl\n", ">>", additive_expr_stub);
        }
        else if(ARMV7L == Architecture)
        {
diff --git a/test/common_amd64/amd64_defs.M1 b/test/common_amd64/amd64_defs.M1
index fcce816..d458797 100644
--- a/test/common_amd64/amd64_defs.M1
+++ b/test/common_amd64/amd64_defs.M1
@@ -32,7 +32,6 @@ DEFINE COPY_rbx_to_rdi 4889DF
 DEFINE COPY_rdi_to_rbp 4889FD
 DEFINE COPY_rsp_to_rbp 4889E5
 DEFINE COPY_RSP_to_RDI 4889E7
-DEFINE CQTO 4899
 DEFINE DIVIDE_rax_by_rbx_into_rax 48F7FB
 DEFINE DIVIDES_rax_by_rbx_into_rax 48F7F3
 DEFINE JUMP E9
diff --git a/test/common_x86/x86_defs.M1 b/test/common_x86/x86_defs.M1
index c87d4c4..ce118a6 100644
--- a/test/common_x86/x86_defs.M1
+++ b/test/common_x86/x86_defs.M1
@@ -34,7 +34,6 @@ DEFINE COPY_edi_to_ebp 89fd
 DEFINE COPY_esp_to_ebp 89E5
 DEFINE COPY_esp_to_ecx 89E1
 DEFINE COPY_esp_to_edi 89E7
-DEFINE CDTQ 99
 DEFINE DIVIDE_eax_by_ebx_into_eax F7FB
 DEFINE DIVIDES_eax_by_ebx_into_eax F7F3
 DEFINE INT_80 CD80
diff --git a/test/test.answers b/test/test.answers
index faf1881..d694829 100644
--- a/test/test.answers
+++ b/test/test.answers
@@ -104,16 +104,16 @@ 
bd70143ec9764bd5681c72e173b6baaca7a486c9330974ca82fb7e997249f572  test/results/t
 9ebaeb010fa8f6a563133bed52c76758f444dce9e79509958d44abcecc73013a  
test/results/test0017-knight-posix-binary
 43124b01045e81627d7f5fd4aedb22166fa5f51790b3e5497e0d796241ee7902  
test/results/test0017-x86-binary
 bdb95323821eea5b757445d1d4a8f79256a4b665c2a0666cbbb7931550ba4a6f  
test/results/test0018-aarch64-binary
-7c880e70934335682896ef3ab6e01f96482d59185b13302c94127126a0b25949  
test/results/test0018-amd64-binary
+454f6ff2b51ce329dec9e926c57636c20efa19779730abf751e584bc9a646696  
test/results/test0018-amd64-binary
 2ad21d7b2536304f9effd97d8614036b0d453a10ba4da3c09b490d6447271a42  
test/results/test0018-armv7l-binary
 f31fbd190e6dceda05b33a71692926845127f4f73eab08a143a17b5f2611e6e3  
test/results/test0018-knight-native-binary
 f3b5326969cb68a0f8e4e3e138af24e70114510dda2ad5a7cc27e608e4aecc9a  
test/results/test0018-knight-posix-binary
-2994452b3b9b8e6412d3af3d50645ac7241a3dcec22b5ad99a24652b83c06367  
test/results/test0018-x86-binary
+224aa5a2ea8b176d1f8035b0f45d8bf74531ff4a3ece3dabdb1cfe05e257e1bc  
test/results/test0018-x86-binary
 19a5ae1de1a04ca9ac77c8271a7edb30bc8f0e75e1fbb3992127c56effaab3d4  
test/results/test0019-aarch64-binary
-eec931ccfc3881b486a2b2b3be60b393ddaf0e90452044602eb41aba52275bfd  
test/results/test0019-amd64-binary
+fb34df7809c07fede22fba36e2180917028e9b934ded64bfdaa63f2ab80709f3  
test/results/test0019-amd64-binary
 35f88e82c2ff88176074ec812f1fdde7cf83a8940bd1dc5cabf8db8bd6793004  
test/results/test0019-armv7l-binary
 1e11972b0addb19aa820bc912a4412e430cc87e67dcf8ddd1ab441f142dd1302  
test/results/test0019-knight-posix-binary
-02eeb3b8d55d2919ff9ec200b3992e3e64116863acc4951799a1c6263fd14e64  
test/results/test0019-x86-binary
+7becebf87d41c2a374195163446b02231c2705829091e1e1c7947ba5621b9144  
test/results/test0019-x86-binary
 6b31e8ee54270d38a1801f7614ae6247f59d44a2758f344b07a72794019290f4  
test/results/test0020-aarch64-binary
 6b2956b106dd16bb55d8d011b48e674ee3b70bbb0bb83efadca01d446666e21e  
test/results/test0020-amd64-binary
 b29aca7f0b63659915fe431e290f821cf17071983613021aacb8985d376bb206  
test/results/test0020-armv7l-binary
@@ -126,10 +126,10 @@ 
a9c09864fd326b9b42bc5a32dc32d248dbfcfa87ccdd97cfd21ee95af39a3db9  test/results/t
 0715ba9a1b0d6bb862fbd6ff11526455d2a7e85f4c38b7a021598701e3cf14f1  
test/results/test0021-knight-posix-binary
 a15eb906ec578aa930ad884a62668f71a8b0572b8a7f7122f1701af8e544e6b5  
test/results/test0021-x86-binary
 14b9a108bdee811c0e9ff3f1be1299767a0d8b49319efbfd9b5f269bf5a057ec  
test/results/test0022-aarch64-binary
-55fe99fe544bf885da6f3e9ab5463d75cd79e85053179b65ee122716792cbc15  
test/results/test0022-amd64-binary
+e395135ff9d389c0294b8241eadbcb9e13caebbe035abab36766517a69958a2d  
test/results/test0022-amd64-binary
 2d63c3a5a2c5b5ae2ea2e93c430027b4b418e229a963c66b9a3bc34307a55eba  
test/results/test0022-armv7l-binary
 a23a357cabc995330776fa01c7cf41978b100c36b0e3c76d1297db0e953c1bc3  
test/results/test0022-knight-posix-binary
-c0ae823494140f557c71f9e67c14942d27b95200bdfd09477215fca8f936750f  
test/results/test0022-x86-binary
+fddd9fc87e635a0803eb2a7361f6099f6100e467ed623d876def002decb6b564  
test/results/test0022-x86-binary
 835928a11aae4288a665818f052f8149aca9ed5f420e0dfe7cf2cd33efdfc8d8  
test/results/test0023-aarch64-binary
 2dd1e5fc9c55ba3fa4af837cbfdd4203d90f84ff9b122854f8606db9f421b9e5  
test/results/test0023-amd64-binary
 d7b2ad248521de84f3b4d8194ab6b330f3e5fda0043368f57be0d30f9949172b  
test/results/test0023-armv7l-binary
@@ -141,36 +141,36 @@ 
f793452848e538381213923ecbd209253fabe391bd56c03f4f95d3ce1c4d5982  test/results/t
 7de66384bcf268d71f780853690e90cd12daebbb9227d3f0af7f51238185c690  
test/results/test0100-knight-posix-binary
 149131e095f7ed477776dde44daffc7df7e477c9ed56c63a5bffe54e02317bb7  
test/results/test0100-x86-binary
 24199867cd2dea9b68c5df1499e220f08ac97eb09debd3b3621fb80ae588eb71  
test/results/test0101-aarch64-binary
-a3ea92189ade45911d5f6baf08311e68d9318773a19507a0cc679d6ab8b4508d  
test/results/test0101-amd64-binary
+736c3e88f82d1a9af585e09709d0447c91e515be1bfc4b7d30e815ed10b2372c  
test/results/test0101-amd64-binary
 252237eaaa9940b65aaf82a3667e8c59ccb78222c58e0b66b9a1dff6ee2e72e8  
test/results/test0101-armv7l-binary
 d120df140cc77037e3d16d1aee7482d270f55660a594c19be91cddc66de687f7  
test/results/test0101-knight-posix-binary
-237206c9d5f6c17cc11a4c3023221ecaf4044b69ddd0d56c81ce38a349838a6e  
test/results/test0101-x86-binary
+1f528ac55e31e662dfcac4c13bc75cdddfc354e3b955e33a9a44523fe49dd78f  
test/results/test0101-x86-binary
 bdd6707d00c4798e9ff9ccd8cc30c8d747972c902f2df566463cfb8e1a248c8e  
test/results/test0102-aarch64-binary
-071b97ad4358149e599baa98995c9883f10f8a445ad8b315fd6bcb28a8361955  
test/results/test0102-amd64-binary
+36355960f7a2345a7d3d19aa6ac8959efa76b80f9c824217e08ac57d09c3a3e1  
test/results/test0102-amd64-binary
 9b3e49b90e387c5f66160558b0bcce3cb0ce077ab4b35848a1b0809118b0d1b4  
test/results/test0102-armv7l-binary
 bf72fdc0514c83b93bf15f383a20b04f8ffd8c8b6c59b79c2963311b0657c6e9  
test/results/test0102-knight-posix-binary
-a390e87df31198ebcf85fe94107c10d9606a7d21efe4383f3ede6eafb0d80fb0  
test/results/test0102-x86-binary
+39c9bbb1c15787c176adf550d5bb0de564c60fd80df84ee6f6ff3b33e2fe0fae  
test/results/test0102-x86-binary
 603fd4fe17f8ef9eac12116003941702849b720021da23dc32582ca41192a792  
test/results/test0103-aarch64-binary
 f2114b5217c12952a85d580ad5914dd679888d93d176ee132ace9e8773916b3b  
test/results/test0103-amd64-binary
 79cbb69a747b07d729db736bc177b52b344106387831a0210ff18fce92edf1cc  
test/results/test0103-armv7l-binary
 e0e387777249ec8abb841271544a74361207a4c347d304f87a1e5c5d22353a7a  
test/results/test0103-knight-posix-binary
 0c2d649cc31421403d4b0a60d5358e21ad6a5385b79a83199c78ca7d1c828d06  
test/results/test0103-x86-binary
 6f790c101e6c6c257726ef453511e517b2380331712766f9c8dd0d432fee4012  
test/results/test0104-aarch64-binary
-105c7463716dc5dd98a6215b60ffc44d62294cf2b4fa75492bfdf6b3040fd700  
test/results/test0104-amd64-binary
+1901c42d64d7f5ca1509a0c90aece3ef5ed24b249c4d20b8c3f7ecac60d969dd  
test/results/test0104-amd64-binary
 846ab4a92ab210a1bed125420fc9d5a92f44d747e24d7364ba0b21e30aeb8a2b  
test/results/test0104-armv7l-binary
-d5e6ab4d128494f36ff52ef025ef4038bc80fe8387081794cf0efe840208db6f  
test/results/test0104-x86-binary
+e3a92f43261eabd39f323796fe6656a373df82556a7534d29e67879589bffeff  
test/results/test0104-x86-binary
 b7de190073aa310fbf0b1ffdb6200715e058bb094d07c72975b9fbf24a947197  
test/results/test0105-aarch64-binary
-417b319bc75916a35f339ca515fd8aa75ce97dd9743e134c9b39fefb3ac48012  
test/results/test0105-amd64-binary
+faa4ebc77ac9f00bbd58db041f95f358e05e0f2837757c9be65468a116a842f4  
test/results/test0105-amd64-binary
 7ae287efefe4abeb9db6730da8c4db9273475b9666371bc4ea6c58c7e0486b74  
test/results/test0105-armv7l-binary
-2ec53d0fb23f0463cf095744f421b95445eb7d7b76170dc177673a0d604a2de2  
test/results/test0105-x86-binary
+8a5ee386bb08e0839c4a09b641b0339b3b753fa053e84875c9c14617e6339b34  
test/results/test0105-x86-binary
 682b63f332ee299bf4afb91356004b96a223e309dc44a7efeb1cbcd9f21aeb4c  
test/results/test0106-aarch64-binary
 503b06b04ca1c5452489e20ff6b5288e592d74f312515246e6d992d2cb0f36fc  
test/results/test0106-amd64-binary
 a2a83f42119e646b389b98647cf6cf2aa9597185997c9453db746178c8c4c0bf  
test/results/test0106-armv7l-binary
 698853b79efb30865a663c4863c050639eb21c7400008f7840830503928973d4  
test/results/test0106-knight-native-binary
 45c2ba61dc209d7ffa39de9ff0f0a7f8f3ea4d7e38598c72f982fcaf9a05c84a  
test/results/test0106-knight-posix-binary
 944580ff4aae38aafac139faf6eed5bfe4ff68b01a7a3adfa346de8803101182  
test/results/test0106-x86-binary
-7a0ffcce05c58dc515eeeeab4fba3cb64a7026f0371a9741396f54ac7a1751b5  
test/results/test1000-aarch64-binary
-5db4502a4f74764274335402b6911a8ddd5ddc0947e7e38150d7388aeda6df31  
test/results/test1000-amd64-binary
-5a5c427b932fc46d06a600672cff96113c23dc2a71d746606eceadb1aef1e2a9  
test/results/test1000-armv7l-binary
-b2b9eacf785e498e86c358cfd87834016fc0b8c5ee6efa625bd5a2c9ffb4e1a1  
test/results/test1000-knight-posix-binary
-0cc7d8bd6b40bcb6f3b694ab3674377b76f1b2692ee7946a39a7d4e33feebc69  
test/results/test1000-x86-binary
+0819c0181f25ca52388d108de0d78487295e3929535c4ff00d01675024120f12  
test/results/test1000-aarch64-binary
+f29612c89eb9aab489414bbdfacd841da9952a11c2686c5680b9880f7cdba28e  
test/results/test1000-amd64-binary
+c2bcb184f1f438e4fa86488992ade1bdb7006b608f959f8b08bba32f968f2bd2  
test/results/test1000-armv7l-binary
+70b6f527ddaf3e5cd69024f85691434333a791f0841ac3cb1a494a0c34532cf6  
test/results/test1000-knight-posix-binary
+7ce4393f6f8824ff0db00eb8f05321425dd89b7c3b27b0c092d539686653ca22  
test/results/test1000-x86-binary
diff --git a/test/test1000/proof.answer b/test/test1000/proof.answer
index ddf173f..e965c09 100644
--- a/test/test1000/proof.answer
+++ b/test/test1000/proof.answer
@@ -1 +1 @@
-fce731f1c0914873c1d882c45fa7c606673e923504b40812231c282a02cfddd9  
test/test1000/proof
+e7c6b71cec16be685d7d551c0c0234754452577f663d95c4afd686a7835dbcb9  
test/test1000/proof
-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]