
Hello Simon, hello Bin,
on qemu-x86_64 (and not any other architecture) we received an error in a unit test.
Once I undefined __HAVE_ARCH_MEMMOVE the error disappeared. Same happens if I use my own memmove() code in lib/slre.c.
The memmove() that fails is in function relocate() in lib/slre.c.
Should I remove x86 memmove() or can you fix it?
We definitively need a unit test for memmove().
The result of the bug is as follows:
On qemu-x86_64 srle_compile() produces (using slre_dump() for printing) when testing efi_get_next_variable_name() via bootefi selftest.
0 OPEN 0 2 EXACT "efi_" 5 STAR 7 7 EXACT "-" 10 STAR 12 12 EXACT "-" 15 STAR 17 17 EXACT "-" 20 STAR 22 22 EXACT "-" 25 STAR 27 27 EXACT "_" 30 STAR 32 32 CLOSE 0 34 END
On qemu_arm64 it produces
0 OPEN 0 2 EXACT "efi_" 5 STAR 9 7 ANY 8 END 9 EXACT "-" 12 STAR 16 14 ANY 15 END 16 EXACT "-" 19 STAR 23 21 ANY 22 END 23 EXACT "-" 26 STAR 30 28 ANY 29 END 30 EXACT "-" 33 STAR 37 35 ANY 36 END 37 EXACT "_" 40 STAR 44 42 ANY 43 END 44 CLOSE 0 46 END
Best regards
Heinrich