* bug#49515: [core-updates] mescc-tools tests fail
@ 2021-07-10 23:56 Ludovic Courtès
2021-07-18 21:04 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2021-07-10 23:56 UTC (permalink / raw)
To: 49515
On commit 9b4c3c675c05870e5983c21ce4ff944e0b0bc2fa of ‘core-updates’,
mescc-tools fails tests, with generated binaries segfaulting:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build mescc-tools
[…]
+ . ./sha256.sh
++ set -ex
++ ./bin/get_machine
+ ./bin/M1 -f test/test3/defs -f test/test3/lisp.s --BigEndian --architecture knight-native -o test/test3/hold
+ '[' amd64 = amd64 ']'
+ ./test/results/test1-binary
+ ./bin/hex2 -f elf_headers/elf32.hex2 -f test/test2/hold --LittleEndian --architecture x86 --BaseAddress 0x8048000 -o test/results/test2-binary --exec_enable
test/test1/hello.sh: line 37: 125 Segmentation fault ./test/results/test1-binary < test/test1/hex0.hex0 > test/test1/proof1
++ ./bin/get_machine
make: *** [makefile:104: test1-binary] Error 139
make: *** Waiting for unfinished jobs....
+ '[' amd64 = x86 ']'
+ exit 0
+ . ./sha256.sh
++ set -ex
++ ./bin/get_machine
+ '[' amd64 = x86 ']'
+ exit 0
+ ./bin/hex2 -f test/test3/hold --BigEndian --architecture knight-native --BaseAddress 0 -o test/results/test3-binary
+ . ./sha256.sh
++ set -ex
test/test3/hello.sh: line 23: GET_MACHINE_FLAGS: unbound variable
+ '[' '' = 'knight*' ']'
+ exit 0
Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("test" "-j" "4" "PREFIX=/gnu/store/xps0k41ydjl14lx7cnrgclgsi5cnkib7-mescc-tools-0.7.0" "CC=gcc") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 0.1 seconds
command "make" "test" "-j" "4" "PREFIX=/gnu/store/xps0k41ydjl14lx7cnrgclgsi5cnkib7-mescc-tools-0.7.0" "CC=gcc" failed with status 2
builder for `/gnu/store/lir8pmc63k1bcj4ml9gsx1769aw9ndj2-mescc-tools-0.7.0.drv' failed with exit code 1
build of /gnu/store/lir8pmc63k1bcj4ml9gsx1769aw9ndj2-mescc-tools-0.7.0.drv failed
--8<---------------cut here---------------end--------------->8---
This is a dependency of the ‘bootstrap-tarballs’ package.
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#49515: [core-updates] mescc-tools tests fail
2021-07-10 23:56 bug#49515: [core-updates] mescc-tools tests fail Ludovic Courtès
@ 2021-07-18 21:04 ` Ludovic Courtès
2021-07-18 21:08 ` Ludovic Courtès
2021-07-19 4:49 ` Jan Nieuwenhuizen
0 siblings, 2 replies; 6+ messages in thread
From: Ludovic Courtès @ 2021-07-18 21:04 UTC (permalink / raw)
To: 49515
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
> On commit 9b4c3c675c05870e5983c21ce4ff944e0b0bc2fa of ‘core-updates’,
> mescc-tools fails tests, with generated binaries segfaulting:
>
> $ ./pre-inst-env guix build mescc-tools
>
> […]
>
> + . ./sha256.sh
> ++ set -ex
> ++ ./bin/get_machine
> + ./bin/M1 -f test/test3/defs -f test/test3/lisp.s --BigEndian --architecture knight-native -o test/test3/hold
> + '[' amd64 = amd64 ']'
> + ./test/results/test1-binary
> + ./bin/hex2 -f elf_headers/elf32.hex2 -f test/test2/hold --LittleEndian --architecture x86 --BaseAddress 0x8048000 -o test/results/test2-binary --exec_enable
> test/test1/hello.sh: line 37: 125 Segmentation fault ./test/results/test1-binary < test/test1/hex0.hex0 > test/test1/proof1
[...]
> builder for `/gnu/store/lir8pmc63k1bcj4ml9gsx1769aw9ndj2-mescc-tools-0.7.0.drv' failed with exit code 1
I found that this upstream commit, which made it in version 1.1.0, fixes
the segfault:
commit e633669dfdf16f503a7d740b9058e343536533b4
Author: nimaje <nimaje@bootstrappable.irc_channel>
Date: Thu Oct 15 19:12:18 2020 -0400
Fix ELF headers to be more well behaved
I tried backporting it (patch below) but that leads to:
--8<---------------cut here---------------start------------->8---
test/test2/hello.sh
+ ./bin/M1 -f test/test2/hex.M1 --LittleEndian --Architecture 1 -o test/test2/hold
+ ./bin/hex2 -f elf_headers/elf32.hex2 -f test/test2/hold --LittleEndian --Architecture 1 --BaseAddress 0x8048000 -o test/results/test2-binary --exec_enable
++ ./bin/get_machine
+ '[' x86_64 = x86_64 ']'
+ ./test/results/test2-binary
+ r=0
+ '[' 0 = 0 ']'
++ sha256sum -c test/test2/proof.answer
sha256sum: WARNING: 1 computed checksum did NOT match
+ out='test/test2/proof: FAILED'
+ '[' 'test/test2/proof: FAILED' = 'test/test2/proof: OK' ']'
+ exit 2
make: *** [makefile:94: test2-binary] Error 2
Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("test" "-j" "1" "PREFIX=/gnu/store/mklrxb6k2a7f1nspm5az1w3pjgfqyx07-mescc-tools-0.5.2-0.bb062b0") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 0.0 seconds
command "make" "test" "-j" "1" "PREFIX=/gnu/store/mklrxb6k2a7f1nspm5az1w3pjgfqyx07-mescc-tools-0.5.2-0.bb062b0" failed with status 2
builder for `/gnu/store/5pkxsjjhlirznxfblsm8g4x0dq8nlz6g-mescc-tools-0.5.2-0.bb062b0.drv' failed with exit code 1
build of /gnu/store/5pkxsjjhlirznxfblsm8g4x0dq8nlz6g-mescc-tools-0.5.2-0.bb062b0.drv failed
--8<---------------cut here---------------end--------------->8---
Should we upgrade instead? If we do, what’s the potential for breakage?
Should ‘mes-rb5’ be kept on an older version?
WDYT, Janneke? :-)
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#49515: [core-updates] mescc-tools tests fail
2021-07-18 21:04 ` Ludovic Courtès
@ 2021-07-18 21:08 ` Ludovic Courtès
2021-07-19 4:49 ` Jan Nieuwenhuizen
1 sibling, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2021-07-18 21:08 UTC (permalink / raw)
To: 49515
[-- Attachment #1: Type: text/plain, Size: 132 bytes --]
Ludovic Courtès <ludo@gnu.org> skribis:
> I tried backporting it (patch below) but that leads to:
And here’s the patch.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: the patch --]
[-- Type: text/x-patch, Size: 6551 bytes --]
commit e633669dfdf16f503a7d740b9058e343536533b4
Author: nimaje <nimaje@bootstrappable.irc_channel>
Date: Thu Oct 15 19:12:18 2020 -0400
Fix ELF headers to be more well behaved
diff --git a/elf_headers/elf32-debug.hex2 b/elf_headers/elf32-debug.hex2
index 667b032..9fe0183 100644
--- a/elf_headers/elf32-debug.hex2
+++ b/elf_headers/elf32-debug.hex2
@@ -33,7 +33,7 @@
01 # e_ident[EI_DATA] Indicating little endianness
01 # e_ident[EI_VERSION] Indicating original elf
-00 # e_ident[EI_OSABI] Set at 0 because none cares
+03 # e_ident[EI_OSABI] Set at 3 because FreeBSD is strict
00 # e_ident[EI_ABIVERSION] See above
00 00 00 00 00 00 00 # e_ident[EI_PAD]
diff --git a/elf_headers/elf32.hex2 b/elf_headers/elf32.hex2
index 45d365c..6432523 100644
--- a/elf_headers/elf32.hex2
+++ b/elf_headers/elf32.hex2
@@ -34,7 +34,7 @@
01 # e_ident[EI_DATA] Indicating little endianness
01 # e_ident[EI_VERSION] Indicating original elf
-00 # e_ident[EI_OSABI] Set at 0 because none cares
+03 # e_ident[EI_OSABI] Set at 3 because FreeBSD is strict
00 # e_ident[EI_ABIVERSION] See above
00 00 00 00 00 00 00 # e_ident[EI_PAD]
diff --git a/elf_headers/elf64.hex2 b/elf_headers/elf64.hex2
index 23d2a4a..6c10442 100644
--- a/elf_headers/elf64.hex2
+++ b/elf_headers/elf64.hex2
@@ -27,7 +27,7 @@
01 ## e_ident[EI_DATA] Indicating little endianness
01 ## e_ident[EI_VERSION] Indicating original elf
-00 ## e_ident[EI_OSABI] Set at 0 because none cares
+03 ## e_ident[EI_OSABI] Set at 3 because FreeBSD is strict
00 ## e_ident[EI_ABIVERSION] See above
00 00 00 00 00 00 00 ## e_ident[EI_PAD]
@@ -53,7 +53,7 @@
## Program Header
:ELF_program_headers
01 00 00 00 ## p_type
-06 00 00 00 ## Flags
+07 00 00 00 ## ph_flags: PF-X|PF-W|PF-R = 7
00 00 00 00 00 00 00 00 ## p_offset
&ELF_base 00 00 00 00 ## p_vaddr
diff --git a/test/test.answers b/test/test.answers
index d449db4..9b366f7 100644
--- a/test/test.answers
+++ b/test/test.answers
@@ -1,12 +1,12 @@
-b5a1dbfb4b9e42f839cd41f704b2d20d67705be5f5214d194d08026006e823a2 test/results/test0-binary
-34cd00306059776d0a1c54dff9d1a4ecb9915fa5b92746b6999c67e535f56b7c test/results/test1-binary
-2505fa977f1eb9b8eb9cc338af6f606fb8341f1e2f341f71b249c50e7af5e0a7 test/results/test10-binary
-e27aa179b47bd21b8a43f460ef11622dcd13767cb515000ae583dc2706b89657 test/results/test11-binary
-1757e43a482f632286933a56d5da1e87d6385366adfa830df363ba6060a12784 test/results/test2-binary
+054359eb2b4e4f75aa212a41f90654b18b1efdde7ba08aac12bd9c21b1a12cf6 test/results/test0-binary
+56c3021ae5d31e1f57552f103e309603636de5ff38948f1be3e810d9ea0e670b test/results/test1-binary
+2027e0c8d6295f041d338a430c5a3d3aae042294e5ba4ad1eb08bed16b147671 test/results/test10-binary
+ce9e76b600fdf67589e9180571bed092e9e091a3bf70dc852facd1b678d9df7b test/results/test11-binary
+7247e7537ef3a83d4c557941bf59a591d6db0688c7a12362af7d14adac238ad4 test/results/test2-binary
2b80849180d5fb3757bcca2471b6337808e5b5ca80b18d93fa82ddef0435b84b test/results/test3-binary
-7db345c74d6ee13f21857f9f9419db2bb0890782923485b05dd9eb29b6436efa test/results/test4-binary
-a7b5c22218bdad3cb8f74a7951fa1425fee5adafdf206420fd020d92b4a13b5e test/results/test5-binary
-7123c8033949312d9325bffe02246bf599463f214eb0b281e7187c7b06818bae test/results/test6-binary
-5992d312f114019d955195d50af25f68c3ab079b1e115ddf31f1aca2431d5dca test/results/test7-binary
+310bea3129335b2cbda70fd591b2cf079b6f7fc19b22f12061a5379ba96dbdae test/results/test4-binary
+1b09d2b8a3848d691d5d5927f80b6acaad57174b7653d88fe07cd1f6f4bd6f3d test/results/test5-binary
+61d70db94077ee71b5522f44344baf3943c02559fb1c3e311cfe2fb6cb652d55 test/results/test6-binary
+5cba7bcb9de863c721613b5fafa17277e9e83336e32c8e7e59ee76d003ed5f29 test/results/test7-binary
a71dc25bcba2a7298b9b9024a7927e215c5081a9ff90a6afa9b583be6c0a7e06 test/results/test8-binary
-b3ec35dc3ce5335ad384b8b2b8b7930aa414014e2bafa61bb6a2b7be8674b88f test/results/test9-binary
+7fb2aa7451ea132a98f3900b140c8eb3d50751aa6adeac23fd2d766fce2635d4 test/results/test9-binary
diff --git a/test/test1/hex0.hex0 b/test/test1/hex0.hex0
index 7060a6d..611a86f 100644
--- a/test/test1/hex0.hex0
+++ b/test/test1/hex0.hex0
@@ -52,7 +52,7 @@ FB 00 60 00 00 00 00 00 ## e_entry Address of the entry point
## Program Header table
01 00 00 00 ## p_type
-06 00 00 00 ## Flags
+07 00 00 00 ## ph_flags: PF-X|PF-W|PF-R = 7
00 00 00 00 00 00 00 00 ## p_offset
00 00 60 00 00 00 00 00 ## p_vaddr
00 00 00 00 00 00 00 00 ## Undefined
diff --git a/test/test1/hex1.hex0 b/test/test1/hex1.hex0
index a0aa3bc..1c6e0bf 100644
--- a/test/test1/hex1.hex0
+++ b/test/test1/hex1.hex0
@@ -38,7 +38,7 @@
## Program Header table
01 00 00 00 # p_type
-06 00 00 00 # Flags
+07 00 00 00 # ph_flags: PF-X|PF-W|PF-R = 7
00 00 00 00 00 00 00 00 # p_offset
00 00 60 00 00 00 00 00 # p_vaddr
00 00 00 00 00 00 00 00 # Undefined
diff --git a/test/test1/proof1.answer b/test/test1/proof1.answer
index 7d3bb85..8c441ba 100644
--- a/test/test1/proof1.answer
+++ b/test/test1/proof1.answer
@@ -1 +1 @@
-4379770c34e718157f856d938f870ad8179b268e5454f9ff272aad4e43265149 test/test1/proof1
+d1172d0456de0ae4d05705fc7d81c424f4a277b7725d449829322ce07224bebf test/test1/proof1
diff --git a/test/test1/proof2.answer b/test/test1/proof2.answer
index 2440710..6edd102 100644
--- a/test/test1/proof2.answer
+++ b/test/test1/proof2.answer
@@ -1 +1 @@
-5ac7c9c6671709682e06153310c112df5b9352af6f6fef93a3370566d28a9a90 test/test1/proof2
+e6b14d3e5935e52a49beff99b766dcd7c842ae2a8d76f4d4c8b10c2d6d146181 test/test1/proof2
diff --git a/test/test2/hex0.hex0 b/test/test2/hex0.hex0
index 126f909..6697221 100644
--- a/test/test2/hex0.hex0
+++ b/test/test2/hex0.hex0
@@ -42,7 +42,7 @@ FB 00 60 00 00 00 00 00 ## e_entry Address of the entry point
## Program Header table
01 00 00 00 ## p_type
-06 00 00 00 ## Flags
+07 00 00 00 ## ph_flags: PF-X|PF-W|PF-R = 7
00 00 00 00 00 00 00 00 ## p_offset
00 00 60 00 00 00 00 00 ## p_vaddr
00 00 00 00 00 00 00 00 ## Undefined
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#49515: [core-updates] mescc-tools tests fail
2021-07-18 21:04 ` Ludovic Courtès
2021-07-18 21:08 ` Ludovic Courtès
@ 2021-07-19 4:49 ` Jan Nieuwenhuizen
2021-07-26 11:40 ` Ludovic Courtès
1 sibling, 1 reply; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2021-07-19 4:49 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 49515
Ludovic Courtès writes:
Hello,
> Ludovic Courtès <ludo@gnu.org> skribis:
>
>> On commit 9b4c3c675c05870e5983c21ce4ff944e0b0bc2fa of ‘core-updates’,
>> mescc-tools fails tests, with generated binaries segfaulting:
>>
>> $ ./pre-inst-env guix build mescc-tools
>>
>> […]
>>
>> + . ./sha256.sh
>> ++ set -ex
>> ++ ./bin/get_machine
>> + ./bin/M1 -f test/test3/defs -f test/test3/lisp.s --BigEndian --architecture knight-native -o test/test3/hold
>> + '[' amd64 = amd64 ']'
>> + ./test/results/test1-binary
>> + ./bin/hex2 -f elf_headers/elf32.hex2 -f test/test2/hold --LittleEndian --architecture x86 --BaseAddress 0x8048000 -o test/results/test2-binary --exec_enable
>> test/test1/hello.sh: line 37: 125 Segmentation fault ./test/results/test1-binary < test/test1/hex0.hex0 > test/test1/proof1
>
> [...]
How weird! I wonder what changed...
>> builder for `/gnu/store/lir8pmc63k1bcj4ml9gsx1769aw9ndj2-mescc-tools-0.7.0.drv' failed with exit code 1
>
> I found that this upstream commit, which made it in version 1.1.0, fixes
> the segfault:
>
> commit e633669dfdf16f503a7d740b9058e343536533b4
> Author: nimaje <nimaje@bootstrappable.irc_channel>
> Date: Thu Oct 15 19:12:18 2020 -0400
>
> Fix ELF headers to be more well behaved
[..]
> Should we upgrade instead? If we do, what’s the potential for breakage?
> Should ‘mes-rb5’ be kept on an older version?
We could try that, I really can't tell if upgrading to 1.1.0 creates
a different mes binary.
Greetings,
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#49515: [core-updates] mescc-tools tests fail
2021-07-19 4:49 ` Jan Nieuwenhuizen
@ 2021-07-26 11:40 ` Ludovic Courtès
2021-07-26 13:43 ` Jan Nieuwenhuizen
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2021-07-26 11:40 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: 49515
Hi Janneke!
Jan Nieuwenhuizen <janneke@gnu.org> skribis:
>> Ludovic Courtès <ludo@gnu.org> skribis:
>>
>>> On commit 9b4c3c675c05870e5983c21ce4ff944e0b0bc2fa of ‘core-updates’,
>>> mescc-tools fails tests, with generated binaries segfaulting:
>>>
>>> $ ./pre-inst-env guix build mescc-tools
>>>
>>> […]
>>>
>>> + . ./sha256.sh
>>> ++ set -ex
>>> ++ ./bin/get_machine
>>> + ./bin/M1 -f test/test3/defs -f test/test3/lisp.s --BigEndian --architecture knight-native -o test/test3/hold
>>> + '[' amd64 = amd64 ']'
>>> + ./test/results/test1-binary
>>> + ./bin/hex2 -f elf_headers/elf32.hex2 -f test/test2/hold --LittleEndian --architecture x86 --BaseAddress 0x8048000 -o test/results/test2-binary --exec_enable
>>> test/test1/hello.sh: line 37: 125 Segmentation fault ./test/results/test1-binary < test/test1/hex0.hex0 > test/test1/proof1
[...]
>> Should we upgrade instead? If we do, what’s the potential for breakage?
>> Should ‘mes-rb5’ be kept on an older version?
>
> We could try that, I really can't tell if upgrading to 1.1.0 creates
> a different mes binary.
I took this route and everything went well, and we can now build
‘bootstrap-tarballs’ on x86_64-linux. I ended up doing additional
changes:
e2690a8eb2 gnu: mes-rb5: Remove.
da32015db0 gnu: mes-minimal-stripped: Explicitly disallow references.
5510e1c483 gnu: mes: Remove 0.19.
81096caf7d gnu: mes: Switch to Guile 3.0.
114a9f1f80 gnu: mescc-tools: Update to 1.2.0.
0b9da8b5a2 gnu: m2-planet: Update to 1.8.0.
8b627a7701 gnu: mes-minimal: Remove unused variable.
Removing ‘mes-rb5’ was a bit disheartening but I guess it’d have to be
updated to the current tool versions.
I removed Mes 0.19 because it failed to build with Guile 3.0 and didn’t
appear to be needed any longer.
Let me know if you think I did anything wrong!
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#49515: [core-updates] mescc-tools tests fail
2021-07-26 11:40 ` Ludovic Courtès
@ 2021-07-26 13:43 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2021-07-26 13:43 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 49515
Ludovic Courtès writes:
Hi Ludo!
> Jan Nieuwenhuizen <janneke@gnu.org> skribis:
>
>>> Should we upgrade instead? If we do, what’s the potential for breakage?
>>> Should ‘mes-rb5’ be kept on an older version?
>>
>> We could try that, I really can't tell if upgrading to 1.1.0 creates
>> a different mes binary.
>
> I took this route and everything went well, and we can now build
> ‘bootstrap-tarballs’ on x86_64-linux. I ended up doing additional
> changes:
>
> e2690a8eb2 gnu: mes-rb5: Remove.
> da32015db0 gnu: mes-minimal-stripped: Explicitly disallow references.
> 5510e1c483 gnu: mes: Remove 0.19.
> 81096caf7d gnu: mes: Switch to Guile 3.0.
> 114a9f1f80 gnu: mescc-tools: Update to 1.2.0.
> 0b9da8b5a2 gnu: m2-planet: Update to 1.8.0.
> 8b627a7701 gnu: mes-minimal: Remove unused variable.
> Removing ‘mes-rb5’ was a bit disheartening but I guess it’d have to be
> updated to the current tool versions.
Yeah, a bit sad but OK I guess.
> I removed Mes 0.19 because it failed to build with Guile 3.0 and didn’t
> appear to be needed any longer.
>
> Let me know if you think I did anything wrong!
LGTM!
Greetings,
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-07-26 13:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-10 23:56 bug#49515: [core-updates] mescc-tools tests fail Ludovic Courtès
2021-07-18 21:04 ` Ludovic Courtès
2021-07-18 21:08 ` Ludovic Courtès
2021-07-19 4:49 ` Jan Nieuwenhuizen
2021-07-26 11:40 ` Ludovic Courtès
2021-07-26 13:43 ` Jan Nieuwenhuizen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).