Commit Graph

16 Commits

Author SHA1 Message Date
Andrius Štikonas 1e784f5afb Add riscv32 port. 2021-12-02 22:41:27 +00:00
Jeremiah Orians 8c3fa49936
Breaking update in blood-elf 2021-10-02 07:09:46 -04:00
Jeremiah Orians 7fb9d682ec
Update M2libc to enable RISC-V Development 2021-09-30 20:10:28 -04:00
deesix cb27e5314a @@@ remove scripts 2021-01-31 00:00:00 +01:00
deesix 3400296b9b @@@ BLOOD_ELF_WORD_SIZE_FLAG 2021-01-31 00:00:00 +01:00
deesix 05d962fcfc @@@ unify 64 bits archs (run_test.sh) 2021-01-31 00:00:00 +01:00
deesix fb5bae96ab @@@ tests: source new test/env.inc.sh
... which sets, given the ARCH, the following vars:

 BASE_ADDRESS
 ENDIANNESS_FLAG
2021-01-31 00:00:00 +01:00
deesix ab055a8823 @@@ tests: ARCH var in non-Knight scripts 2021-01-31 00:00:00 +01:00
deesix 6bb784eae5 tests: minor tweaks in comments 2021-01-31 00:00:00 +01:00
deesix 548993a884 tests: use new-style mescc-tools flags
This completes the transition started in Knight scripts during their M2libc
migration at f2094a9e5b

from           : to

--BaseAddress  : --base-address
--BigEndian    : --big-endian
--LittleEndian : --little-endian

The plan for mescc-tools is to deprecate the old (pre-1.0.0) flags.

Note that test0101 compiles "hex2 0.3" and verifies that it works by
linking an example. This 0.3 version requires the old-style flags, so the
calls to test/results/test0101-*-binary are left unchanged.
2021-01-23 00:00:00 +01:00
deesix ae897dcfdb tests: no --exec_enable in hex2 calls because it's "Effectively a NOP"
hex2 in mescc-tools defaults to executable output file since 1.0.0.

See 0a553f720d39dae4231611671e4163a2d2422e0a there.

This completes the removal started in Knight scripts during their M2libc
migration at f2094a9e5b

Note that test0101 compiles "hex2 0.3" and verifies that it works by
linking an example. Calls to test/results/test0101-*-binary never used the
flag because we don't call the linked example (we just check its SHA-256).
2021-01-23 00:00:00 +01:00
deesix 55db771e29 tests: get proof from test0025 stderr (and other minor fixes)
We were checking an empty proof because the test writes to stderr and we
were redirecting stdout to the file. With the correct redirection the hash
is different, so proof.answer is also adjusted.

The x86 test was calling blood-elf with the 64bits flag. Removed to ask for
32bits behaviour.

For consistency, --BaseAddress is now using the usual value for the arch.

Also, unused input file is removed here.
2021-01-17 00:00:00 +01:00
deesix e9553d5f13 M2libc with standard architecture naming
Every AArch64 test script is affected because AArch64 -> aarch64. test0101
needs i386 -> x86 because it verifies the resulting AArch64 binary (hex2)
creating some x86 proof.

Also, a couple of x86 tests (test0000 and test0025) that are M2libc aware,
again because i386 -> x86 (hex2 ELF parts).
2021-01-16 00:00:00 +01:00
deesix 9f26dbcc68 tests: support for make -j
For any test there's a directory with a script for each architecture.

These scripts generate intermediate files in the dir during compilation,
with the same names no matter the arch. So if one tries to execute the
scripts in parallel they all fight for the files.

To allow for parallel testing, now we create a temporal dir named after
the arch to isolate the intermediate files. Scripts are patched
accordingly.

This also allows easier clean-up: now, removing the temporal dirs is
almost all that we need (and the per-test .gitignore files are replaced
with a couple of lines in test/.gitignore). A common script replaces
the per-test cleanup.sh. It gets the number of the test as an argument
and takes care of some minor special cases. The makefile is adapted to
use this new test/cleanup_test.sh script.

Those special files are created during the last stage of each test, but
only if the host arch matches the test. They're _not_ isolated here
because it's harder (due to how we do the checksum) and they cannot
collide unless emulation is used and several calls to make are made at
the same time.
2021-01-12 00:00:00 +01:00
deesix 3aa8327334 tests: prettier scripts
One line per flag for the major calls. This simplifies a bit the automated
patching for parallel testing that comes next.
2021-01-12 00:00:00 +01:00
Sanne Wouda 0e3d5b609a Add support for global char foo[12]; definitions
- only enabled in --bootstrap-mode

- allocates space for both the char array and the pointer to the start of
  the array
2021-01-10 23:01:08 +00:00