Add riscv32 port.

This commit is contained in:
Andrius Štikonas 2021-12-02 22:40:43 +00:00
parent 646bd15b19
commit 1e784f5afb
91 changed files with 595 additions and 369 deletions

2
M2libc

@ -1 +1 @@
Subproject commit 818fcfb333d73fbe0293b97b769718f0945e22dc
Subproject commit c4ebe39b4f218df23324afdd1e64cf0d1687a4f8

9
cc.c
View File

@ -65,7 +65,7 @@ int main(int argc, char** argv)
if(NULL == hold_string)
{
hold_string = calloc(MAX_STRING + 4, sizeof(char));
require(NULL != hold_string, "Impossible Exhaustion has occured\n");
require(NULL != hold_string, "Impossible Exhaustion has occurred\n");
}
name = argv[i + 1];
@ -128,6 +128,13 @@ int main(int argc, char** argv)
init_macro_env("__aarch64__", "1", "--architecture", env);
env = env + 1;
}
else if(match("riscv32", arch))
{
Architecture = RISCV32;
init_macro_env("__riscv", "1", "--architecture", env);
init_macro_env("__riscv_xlen", "32", "--architecture", env + 1);
env = env + 2;
}
else if(match("riscv64", arch))
{
Architecture = RISCV64;

6
cc.h
View File

@ -37,8 +37,10 @@
#define ARMV7L 4
// CONSTANT AARCH64 5
#define AARCH64 5
// CONSTANT RISCV64 6
#define RISCV64 6
// CONSTANT RISCV32 6
#define RISCV32 6
// CONSTANT RISCV64 7
#define RISCV64 7
void copy_string(char* target, char* source, int max);

201
cc_core.c
View File

@ -182,6 +182,14 @@ void function_call(char* s, int bool)
emit_out("PUSH_BP\t# Protect the old base pointer\n");
emit_out("SET_X16_FROM_SP\t# The base pointer to-be\n");
}
else if(RISCV32 == Architecture)
{
emit_out("RD_SP RS1_SP !-12 ADDI\t# Allocate stack\n");
emit_out("RS1_SP RS2_RA @4 SW\t# Protect the old return pointer\n");
emit_out("RS1_SP RS2_FP SW\t# Protect the old frame pointer\n");
emit_out("RS1_SP RS2_TP @8 SW\t# Protect temp register we are going to use\n");
emit_out("RD_TP RS1_SP MV\t# The base pointer to-be\n");
}
else if(RISCV64 == Architecture)
{
emit_out("RD_SP RS1_SP !-24 ADDI\t# Allocate stack\n");
@ -200,6 +208,7 @@ void function_call(char* s, int bool)
else if(AMD64 == Architecture) emit_out("PUSH_RAX\t#_process_expression1\n");
else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#_process_expression1\n");
else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#_process_expression1\n");
else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\nRS1_SP RS2_A0 SW\t#_process_expression1\n");
else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\nRS1_SP RS2_A0 SD\t#_process_expression1\n");
passed = 1;
@ -213,6 +222,7 @@ void function_call(char* s, int bool)
else if(AMD64 == Architecture) emit_out("PUSH_RAX\t#_process_expression2\n");
else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#_process_expression2\n");
else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#_process_expression2\n");
else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\nRS1_SP RS2_A0 SW\t#_process_expression2\n");
else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\nRS1_SP RS2_A0 SD\t#_process_expression2\n");
passed = passed + 1;
}
@ -267,6 +277,15 @@ void function_call(char* s, int bool)
emit_out("SET_X16_FROM_X0\n");
emit_out("BLR_X16\n");
}
else if(RISCV32 == Architecture)
{
emit_out("RD_A0 RS1_FP !-");
emit_out(s);
emit_out(" ADDI\n");
emit_out("RD_A0 RS1_A0 LW\n");
emit_out("RD_FP RS1_TP MV\n");
emit_out("RD_RA RS1_A0 JALR\n");
}
else if(RISCV64 == Architecture)
{
emit_out("RD_A0 RS1_FP !-");
@ -317,7 +336,7 @@ void function_call(char* s, int bool)
emit_out("\n");
emit_out("BLR_X16\n");
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
emit_out("RD_FP RS1_TP MV\n");
emit_out("RD_RA $FUNCTION_");
@ -333,6 +352,7 @@ void function_call(char* s, int bool)
else if(AMD64 == Architecture) emit_out("POP_RBX\t# _process_expression_locals\n");
else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _process_expression_locals\n");
else if(AARCH64 == Architecture) emit_out("POP_X1\t# _process_expression_locals\n");
else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\t# _process_expression_locals\nRD_SP RS1_SP !4 ADDI\n");
else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\t# _process_expression_locals\nRD_SP RS1_SP !8 ADDI\n");
}
@ -362,6 +382,13 @@ void function_call(char* s, int bool)
emit_out("POP_LR\t# Restore the old return pointer (link)\n");
emit_out("POP_X16\t# Restore a register we used as tmp\n");
}
else if(RISCV32 == Architecture)
{
emit_out("RD_FP RS1_SP LW\t# Restore old frame pointer\n");
emit_out("RD_TP RS1_SP !8 LW\t# Restore temp register\n");
emit_out("RD_RA RS1_SP !4 LW\t# Restore return address\n");
emit_out("RD_SP RS1_SP !12 ADDI\t# Deallocate stack\n");
}
else if(RISCV64 == Architecture)
{
emit_out("RD_FP RS1_SP LD\t# Restore old frame pointer\n");
@ -379,13 +406,15 @@ void constant_load(struct token_list* a)
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax %");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n%");
else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
else if(RISCV64 == Architecture) {
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
emit_out("RD_A0 ~");
emit_out(a->arguments->s);
emit_out(" LUI\nRD_A0 RS1_A0 !");
}
emit_out(a->arguments->s);
if(RISCV64 == Architecture) emit_out(" ADDIW\n");
if(RISCV32 == Architecture) emit_out(" ADDI\n");
else if(RISCV64 == Architecture) emit_out(" ADDIW\n");
emit_out("\n");
}
@ -397,7 +426,7 @@ void emit_dereference(int load_byte) {
else if(AMD64 == Architecture) emit_out("LOAD_BYTE\n");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD8 R0 MEMORY\n");
else if(AARCH64 == Architecture) emit_out("DEREF_X0_BYTE\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 LBU\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A0 LBU\n");
}
else
{
@ -406,6 +435,7 @@ void emit_dereference(int load_byte) {
else if(AMD64 == Architecture) emit_out("LOAD_INTEGER\n");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R0 MEMORY\n");
else if(AARCH64 == Architecture) emit_out("DEREF_X0\n");
else if(RISCV32 == Architecture) emit_out("RD_A0 RS1_A0 LW\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 LD\n");
}
}
@ -440,12 +470,12 @@ void variable_load(struct token_list* a, int num_dereference)
else if(AMD64 == Architecture) emit_out("LOAD_BASE_ADDRESS_rax %");
else if(ARMV7L == Architecture) emit_out("!");
else if(AARCH64 == Architecture) emit_out("SET_X0_FROM_BP\nLOAD_W1_AHEAD\nSKIP_32_DATA\n%");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_FP !-");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_FP !-");
emit_out(int2str(a->depth, 10, TRUE));
if(ARMV7L == Architecture) emit_out(" R0 SUB BP ARITH_ALWAYS");
else if(AARCH64 == Architecture) emit_out("\nSUB_X0_X0_X1\n");
else if(RISCV64 == Architecture) emit_out(" ADDI");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
emit_out("\n");
if(TRUE == Address_of) return;
@ -483,9 +513,17 @@ void function_load(struct token_list* a)
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax &FUNCTION_");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n&FUNCTION_");
else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n&FUNCTION_");
else if(RISCV64 == Architecture) emit_out("RD_A0 ~FUNCTION_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 ~FUNCTION_");
emit_out(a->s);
if(RISCV64 == Architecture) {
if(RISCV32 == Architecture)
{
emit_out(" AUIPC\n");
emit_out("RD_A0 RS1_A0 !FUNCTION_");
emit_out(a->s);
emit_out(" ADDI");
}
else if(RISCV64 == Architecture)
{
emit_out(" AUIPC\n");
emit_out("RD_A0 RS1_A0 !FUNCTION_");
emit_out(a->s);
@ -502,9 +540,10 @@ void global_load(struct token_list* a)
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax &GLOBAL_");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n&GLOBAL_");
else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n&GLOBAL_");
else if(RISCV64 == Architecture) emit_out("RD_A0 ~GLOBAL_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 ~GLOBAL_");
emit_out(a->s);
if(RISCV64 == Architecture) {
if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
emit_out(" AUIPC\n");
emit_out("RD_A0 RS1_A0 !GLOBAL_");
emit_out(a->s);
@ -521,6 +560,7 @@ void global_load(struct token_list* a)
else if(AMD64 == Architecture) emit_out("LOAD_INTEGER\n");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R0 MEMORY\n");
else if(AARCH64 == Architecture) emit_out("DEREF_X0\n");
else if(RISCV32 == Architecture) emit_out("RD_A0 RS1_A0 LW\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 LD\n");
}
@ -553,9 +593,10 @@ void primary_expr_string()
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax &STRING_");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R15 MEMORY\n~0 JUMP_ALWAYS\n&STRING_");
else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n&STRING_");
else if(RISCV64 == Architecture) emit_out("RD_A0 ~STRING_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 ~STRING_");
uniqueID_out(function->s, number_string);
if(RISCV64 == Architecture) {
if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
emit_out("AUIPC\n");
emit_out("RD_A0 RS1_A0 !STRING_");
uniqueID_out(function->s, number_string);
@ -615,10 +656,10 @@ void primary_expr_char()
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax %");
else if(ARMV7L == Architecture) emit_out("!");
else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
else if(RISCV64 == Architecture) emit_out("RD_A0 !");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 !");
emit_out(int2str(escape_lookup(global_token->s + 1), 10, TRUE));
if(ARMV7L == Architecture) emit_out(" R0 LOADI8_ALWAYS");
else if(RISCV64 == Architecture) emit_out(" ADDI");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
emit_out("\n");
global_token = global_token->next;
}
@ -692,7 +733,7 @@ void primary_expr_number()
emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
emit_out(global_token->s);
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
int size = strtoint(global_token->s);
if((2047 > size) && (size > -2048))
@ -710,7 +751,8 @@ void primary_expr_number()
emit_out(global_token->s);
emit_out(" ADDI");
}
else {
else
{
int high = size >> 30;
int low = ((size >> 30) << 30) ^ size;
emit_out("RD_A0 ~");
@ -813,6 +855,7 @@ void common_recursion(FUNCTION f)
else if(AMD64 == Architecture) emit_out("PUSH_RAX\t#_common_recursion\n");
else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#_common_recursion\n");
else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#_common_recursion\n");
else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\t# _common_recursion\nRS1_SP RS2_A0 SW\n");
else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\t# _common_recursion\nRS1_SP RS2_A0 SD\n");
struct type* last_type = current_target;
@ -826,6 +869,7 @@ void common_recursion(FUNCTION f)
else if(AMD64 == Architecture) emit_out("POP_RBX\t# _common_recursion\n");
else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _common_recursion\n");
else if(AARCH64 == Architecture) emit_out("POP_X1\t# _common_recursion\n");
else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\nRD_SP RS1_SP !4 ADDI\t# _common_recursion\n");
else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\nRD_SP RS1_SP !8 ADDI\t# _common_recursion\n");
}
@ -932,7 +976,7 @@ void postfix_expr_arrow()
emit_out(int2str(i->offset, 10, TRUE));
emit_out("\nADD_X0_X1_X0\n");
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
emit_out("RD_A1 !");
emit_out(int2str(i->offset, 10, TRUE));
@ -948,6 +992,7 @@ void postfix_expr_arrow()
else if(AMD64 == Architecture) emit_out("LOAD_INTEGER\n");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOAD32 R0 MEMORY\n");
else if(AARCH64 == Architecture) emit_out("DEREF_X0\n");
else if(RISCV32 == Architecture) emit_out("RD_A0 RS1_A0 LW\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 LD\n");
}
}
@ -965,6 +1010,7 @@ void postfix_expr_array()
else if(AMD64 == Architecture) assign = "LOAD_INTEGER\n";
else if(ARMV7L == Architecture) assign = "!0 R0 LOAD32 R0 MEMORY\n";
else if(AARCH64 == Architecture) assign = "DEREF_X0\n";
else if(RISCV32 == Architecture) assign = "RD_A0 RS1_A0 LW\n";
else if(RISCV64 == Architecture) assign = "RD_A0 RS1_A0 LD\n";
/* Add support for Ints */
@ -975,7 +1021,7 @@ void postfix_expr_array()
else if(AMD64 == Architecture) assign = "LOAD_BYTE\n";
else if(ARMV7L == Architecture) assign = "!0 R0 LOAD8 R0 MEMORY\n";
else if(AARCH64 == Architecture) assign = "DEREF_X0_BYTE\n";
else if(RISCV64 == Architecture) assign = "RD_A0 RS1_A0 LBU\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) assign = "RD_A0 RS1_A0 LBU\n";
}
else
{
@ -984,12 +1030,12 @@ void postfix_expr_array()
else if(AMD64 == Architecture) emit_out("SAL_rax_Immediate8 !");
else if(ARMV7L == Architecture) emit_out("'0' R0 R0 '");
else if(AARCH64 == Architecture) emit_out("LOAD_W2_AHEAD\nSKIP_32_DATA\n%");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 RS2_X");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A0 RS2_X");
emit_out(int2str(ceil_log2(current_target->indirect->size), 10, TRUE));
if(ARMV7L == Architecture) emit_out("' MOVE_ALWAYS");
else if(AARCH64 == Architecture) emit_out("\nLSHIFT_X0_X0_X2");
else if(RISCV64 == Architecture) emit_out(" SLLI");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" SLLI");
emit_out("\n");
}
@ -998,7 +1044,7 @@ void postfix_expr_array()
else if(AMD64 == Architecture) emit_out("ADD_rbx_to_rax\n");
else if(ARMV7L == Architecture) emit_out("'0' R0 R0 ADD R1 ARITH2_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("ADD_X0_X1_X0\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A1 RS2_A0 ADD\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A1 RS2_A0 ADD\n");
require_match("ERROR in postfix_expr\nMissing ]\n", "]");
require(NULL != global_token, "truncated array expression\n");
@ -1035,10 +1081,10 @@ void unary_expr_sizeof()
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax %");
else if(ARMV7L == Architecture) emit_out("!");
else if(AARCH64 == Architecture) emit_out("LOAD_W0_AHEAD\nSKIP_32_DATA\n%");
else if(RISCV64 == Architecture) emit_out("RD_A0 !");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 !");
emit_out(int2str(a->size, 10, TRUE));
if(ARMV7L == Architecture) emit_out(" R0 LOADI8_ALWAYS");
else if(RISCV64 == Architecture) emit_out(" ADDI");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" ADDI");
emit_out("\n");
}
@ -1127,7 +1173,7 @@ void additive_expr_stub()
general_recursion(postfix_expr, "LSHIFT_X0_X1_X0\n", "<<", additive_expr_stub);
arithmetic_recursion(postfix_expr, "ARITH_RSHIFT_X0_X1_X0\n", "LOGICAL_RSHIFT_X0_X1_X0\n", ">>", additive_expr_stub);
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
general_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 ADD\n", "+", additive_expr_stub);
general_recursion(postfix_expr, "RD_A0 RS1_A1 RS2_A0 SUB\n", "-", additive_expr_stub);
@ -1203,7 +1249,7 @@ void relational_expr_stub()
general_recursion(additive_expr, "CMP_X1_X0\nSET_X0_TO_1\nSKIP_INST_EQ\nSET_X0_TO_0\n", "==", relational_expr_stub);
general_recursion(additive_expr, "CMP_X1_X0\nSET_X0_TO_1\nSKIP_INST_NE\nSET_X0_TO_0\n", "!=", relational_expr_stub);
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
arithmetic_recursion(additive_expr, "RD_A0 RS1_A1 RS2_A0 SLT\n", "RD_A0 RS1_A1 RS2_A0 SLTU\n", "<", relational_expr_stub);
arithmetic_recursion(additive_expr, "RD_A0 RS1_A0 RS2_A1 SLT\nRD_A0 RS1_A0 !1 XORI\n", "RD_A0 RS1_A0 RS2_A1 SLTU\nRD_A0 RS1_A0 !1 XORI\n", "<=", relational_expr_stub);
@ -1271,7 +1317,7 @@ void bitwise_expr_stub()
general_recursion(relational_expr, "OR_X0_X1_X0\n", "||", bitwise_expr_stub);
general_recursion(relational_expr, "XOR_X0_X1_X0\n", "^", bitwise_expr_stub);
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 AND\n", "&", bitwise_expr_stub);
general_recursion(relational_expr, "RD_A0 RS1_A1 RS2_A0 AND\n", "&&", bitwise_expr_stub);
@ -1315,7 +1361,7 @@ void primary_expr()
else if(AMD64 == Architecture) emit_out("LOAD_IMMEDIATE_rax %0\n");
else if(ARMV7L == Architecture) emit_out("!0 R0 LOADI8_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("SET_X0_TO_0\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 MV\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 MV\n");
common_recursion(primary_expr);
@ -1324,7 +1370,7 @@ void primary_expr()
else if(AMD64 == Architecture) emit_out("SUBTRACT_rax_from_rbx_into_rbx\nMOVE_rbx_to_rax\n");
else if(ARMV7L == Architecture) emit_out("'0' R0 R0 SUB R1 ARITH2_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("SUB_X0_X1_X0\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A1 RS2_A0 SUB\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A1 RS2_A0 SUB\n");
}
else if('!' == global_token->s[0])
{
@ -1341,7 +1387,7 @@ void primary_expr()
else if(AMD64 == Architecture) emit_out("CMP\nSETA\nMOVEZX\n");
else if(ARMV7L == Architecture) emit_out("'0' R0 CMP R1 AUX_ALWAYS\n!0 R0 LOADI8_ALWAYS\n!1 R0 LOADI8_HI\n");
else if(AARCH64 == Architecture) emit_out("CMP_X1_X0\nSET_X0_TO_1\nSKIP_INST_HI\nSET_X0_TO_0\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 !1 SLTIU\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A0 !1 SLTIU\n");
}
else if('~' == global_token->s[0])
{
@ -1352,7 +1398,7 @@ void primary_expr()
else if(AMD64 == Architecture) emit_out("NOT_rax\n");
else if(ARMV7L == Architecture) emit_out("'0' R0 R0 MVN_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("MVN_X0\n");
else if(RISCV64 == Architecture) emit_out("RD_A0 RS1_A0 NOT\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RD_A0 RS1_A0 NOT\n");
}
else if(global_token->s[0] == '(')
{
@ -1382,7 +1428,7 @@ char* compound_operation(char* operator, int is_signed)
else if(AMD64 == Architecture) operation = "ADD_rbx_to_rax\n";
else if(ARMV7L == Architecture) operation = "'0' R0 R0 ADD R1 ARITH2_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "ADD_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 ADD\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 ADD\n";
}
else if(match("-=", operator))
{
@ -1395,7 +1441,7 @@ char* compound_operation(char* operator, int is_signed)
else if(AMD64 == Architecture) operation = "SUBTRACT_rax_from_rbx_into_rbx\nMOVE_rbx_to_rax\n";
else if(ARMV7L == Architecture) operation = "'0' R0 R0 SUB R1 ARITH2_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "SUB_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 SUB\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 SUB\n";
}
else if(match("*=", operator))
{
@ -1416,7 +1462,7 @@ char* compound_operation(char* operator, int is_signed)
}
else if(ARMV7L == Architecture) operation = "'9' R0 '0' R1 MULS R0 ARITH2_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "MUL_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 MUL\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 MUL\n";
}
else if(match("/=", operator))
{
@ -1445,7 +1491,7 @@ char* compound_operation(char* operator, int is_signed)
if(is_signed) operation = "SDIV_X0_X1_X0\n";
else operation = "UDIV_X0_X1_X0\n";
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
if(is_signed) operation = "RD_A0 RS1_A1 RS2_A0 DIV\n";
else operation = "RD_A0 RS1_A1 RS2_A0 DIVU\n";
@ -1478,7 +1524,7 @@ char* compound_operation(char* operator, int is_signed)
if(is_signed) operation = "SDIV_X2_X1_X0\nMSUB_X0_X0_X2_X1\n";
else operation = "UDIV_X2_X1_X0\nMSUB_X0_X0_X2_X1\n";
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
if(is_signed) operation = "RD_A0 RS1_A1 RS2_A0 REM\n";
else operation = "RD_A0 RS1_A1 RS2_A0 REMU\n";
@ -1503,7 +1549,7 @@ char* compound_operation(char* operator, int is_signed)
}
else if(ARMV7L == Architecture) operation = "LEFT R1 R0 R0 SHIFT AUX_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "LSHIFT_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 SLL\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 SLL\n";
}
else if(match(">>=", operator))
{
@ -1532,7 +1578,7 @@ char* compound_operation(char* operator, int is_signed)
if(is_signed) operation = "ARITH_RSHIFT_X0_X1_X0\n";
else operation = "LOGICAL_RSHIFT_X0_X1_X0\n";
}
else if(RISCV64 == Architecture)
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
if(is_signed) operation = "RD_A0 RS1_A1 RS2_A0 SRA\n";
else operation = "RD_A0 RS1_A1 RS2_A0 SRL\n";
@ -1545,7 +1591,7 @@ char* compound_operation(char* operator, int is_signed)
else if(AMD64 == Architecture) operation = "AND_rax_rbx\n";
else if(ARMV7L == Architecture) operation = "NO_SHIFT R0 R0 AND R1 ARITH2_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "AND_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 AND\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 AND\n";
}
else if(match("^=", operator))
{
@ -1554,7 +1600,7 @@ char* compound_operation(char* operator, int is_signed)
else if(AMD64 == Architecture) operation = "XOR_rbx_rax_into_rax\n";
else if(ARMV7L == Architecture) operation = "'0' R0 R0 XOR R1 ARITH2_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "XOR_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 XOR\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 XOR\n";
}
else if(match("|=", operator))
{
@ -1563,7 +1609,7 @@ char* compound_operation(char* operator, int is_signed)
else if(AMD64 == Architecture) operation = "OR_rax_rbx\n";
else if(ARMV7L == Architecture) operation = "NO_SHIFT R0 R0 OR R1 AUX_ALWAYS\n";
else if(AARCH64 == Architecture) operation = "OR_X0_X1_X0\n";
else if(RISCV64 == Architecture) operation = "RD_A0 RS1_A1 RS2_A0 OR\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) operation = "RD_A0 RS1_A1 RS2_A0 OR\n";
}
else
{
@ -1588,6 +1634,7 @@ void expression()
else if(AMD64 == Architecture) store = "STORE_INTEGER\n";
else if(ARMV7L == Architecture) store = "!0 R0 STORE32 R1 MEMORY\n";
else if(AARCH64 == Architecture) store = "STR_X0_[X1]\n";
else if(RISCV32 == Architecture) store = "RS1_A1 RS2_A0 SW\n";
else if(RISCV64 == Architecture) store = "RS1_A1 RS2_A0 SD\n";
}
else
@ -1597,7 +1644,7 @@ void expression()
else if(AMD64 == Architecture) store = "STORE_CHAR\n";
else if(ARMV7L == Architecture) store = "!0 R0 STORE8 R1 MEMORY\n";
else if(AARCH64 == Architecture) store = "STR_BYTE_W0_[X1]\n";
else if(RISCV64 == Architecture) store = "RS1_A1 RS2_A0 SB\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) store = "RS1_A1 RS2_A0 SB\n";
}
common_recursion(expression);
@ -1619,6 +1666,7 @@ void expression()
else if(AMD64 == Architecture) push = "PUSH_RBX\n";
else if(ARMV7L == Architecture) push = "{R1} PUSH_ALWAYS\n";
else if(AARCH64 == Architecture) push = "PUSH_X1\n";
else if(RISCV32 == Architecture) push = "RS1_SP RS2_A1 @-4 SW\n";
else if(RISCV64 == Architecture) push = "RS1_SP RS2_A1 @-8 SD\n";
if(!match("]", global_token->prev->s) || !match("char*", current_target->name))
@ -1628,6 +1676,7 @@ void expression()
else if(AMD64 == Architecture) load = "LOAD_INTEGER_rbx\n";
else if(ARMV7L == Architecture) load = "!0 R1 LOAD32 R1 MEMORY\n";
else if(AARCH64 == Architecture) load = "DEREF_X1\n";
else if(RISCV32 == Architecture) load = "RD_A1 RS1_A1 LW\n";
else if(RISCV64 == Architecture) load = "RD_A1 RS1_A1 LD\n";
}
else
@ -1637,7 +1686,7 @@ void expression()
else if(AMD64 == Architecture) load = "LOAD_BYTE_rbx\n";
else if(ARMV7L == Architecture) load = "!0 R1 LOAD8 R1 MEMORY\n";
else if(AARCH64 == Architecture) load = "DEREF_X1_BYTE\n";
else if(RISCV64 == Architecture) load = "RD_A1 RS1_A1 LBU\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) load = "RD_A1 RS1_A1 LBU\n";
}
char *operator = global_token->s;
@ -1647,6 +1696,7 @@ void expression()
else if(AMD64 == Architecture) pop = "POP_RBX\n";
else if(ARMV7L == Architecture) pop = "{R1} POP_ALWAYS\n";
else if(AARCH64 == Architecture) pop = "POP_X1\n";
else if(RISCV32 == Architecture) pop = "RD_A1 RS1_SP !-4 LW\n";
else if(RISCV64 == Architecture) pop = "RD_A1 RS1_SP !-8 LD\n";
if(!match("]", global_token->prev->s) || !match("char*", current_target->name))
@ -1656,6 +1706,7 @@ void expression()
else if(AMD64 == Architecture) store = "STORE_INTEGER\n";
else if(ARMV7L == Architecture) store = "!0 R0 STORE32 R1 MEMORY\n";
else if(AARCH64 == Architecture) store = "STR_X0_[X1]\n";
else if(RISCV32 == Architecture) store = "RS1_A1 RS2_A0 SW\n";
else if(RISCV64 == Architecture) store = "RS1_A1 RS2_A0 SD\n";
}
else
@ -1665,7 +1716,7 @@ void expression()
else if(AMD64 == Architecture) store = "STORE_CHAR\n";
else if(ARMV7L == Architecture) store = "!0 R0 STORE8 R1 MEMORY\n";
else if(AARCH64 == Architecture) store = "STR_BYTE_W0_[X1]\n";
else if(RISCV64 == Architecture) store = "RS1_A1 RS2_A0 SB\n";
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) store = "RS1_A1 RS2_A0 SB\n";
}
common_recursion(expression);
@ -1702,6 +1753,7 @@ void collect_local()
else if(AMD64 == Architecture) a->depth = -40;
else if(ARMV7L == Architecture) a->depth = 16;
else if(AARCH64 == Architecture) a->depth = 32; /* argc, argv, envp and the local (8 bytes each) */
else if(RISCV32 == Architecture) a->depth = 16;
else if(RISCV64 == Architecture) a->depth = 32;
}
else if((NULL == function->arguments) && (NULL == function->locals))
@ -1711,6 +1763,7 @@ void collect_local()
else if(AMD64 == Architecture) a->depth = -16;
else if(ARMV7L == Architecture) a->depth = 8;
else if(AARCH64 == Architecture) a->depth = register_size;
else if(RISCV32 == Architecture) a->depth = 4;
else if(RISCV64 == Architecture) a->depth = 8;
}
else if(NULL == function->locals)
@ -1720,6 +1773,7 @@ void collect_local()
else if(AMD64 == Architecture) a->depth = function->arguments->depth - 16;
else if(ARMV7L == Architecture) a->depth = function->arguments->depth + 8;
else if(AARCH64 == Architecture) a->depth = function->arguments->depth + register_size;
else if(RISCV32 == Architecture) a->depth = function->arguments->depth + 4;
else if(RISCV64 == Architecture) a->depth = function->arguments->depth + 8;
}
else
@ -1729,6 +1783,7 @@ void collect_local()
else if(AMD64 == Architecture) a->depth = function->locals->depth - register_size;
else if(ARMV7L == Architecture) a->depth = function->locals->depth + register_size;
else if(AARCH64 == Architecture) a->depth = function->locals->depth + register_size;
else if(RISCV32 == Architecture) a->depth = function->locals->depth + register_size;
else if(RISCV64 == Architecture) a->depth = function->locals->depth + register_size;
}
@ -1755,6 +1810,7 @@ void collect_local()
else if(AMD64 == Architecture) emit_out("PUSH_RAX\t#");
else if(ARMV7L == Architecture) emit_out("{R0} PUSH_ALWAYS\t#");
else if(AARCH64 == Architecture) emit_out("PUSH_X0\t#");
else if(RISCV32 == Architecture) emit_out("RD_SP RS1_SP !-4 ADDI\nRS1_SP RS2_A0 SW\t#");
else if(RISCV64 == Architecture) emit_out("RD_SP RS1_SP !-8 ADDI\nRS1_SP RS2_A0 SD\t#");
emit_out(a->s);
emit_out("\n");
@ -1780,12 +1836,12 @@ void process_if()
else if(AMD64 == Architecture) emit_out("TEST\nJUMP_EQ %ELSE_");
else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~ELSE_");
else if(AARCH64 == Architecture) emit_out("CBNZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&ELSE_");
else if(RISCV64 == Architecture) emit_out("RS1_A0 @8 BNEZ\n$ELSE_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @8 BNEZ\n$ELSE_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_EQUAL\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
require_match("ERROR in process_if\nMISSING )\n", ")");
statement();
@ -1796,12 +1852,12 @@ void process_if()
else if(AMD64 == Architecture) emit_out("JUMP %_END_IF_");
else if(ARMV7L == Architecture) emit_out("^~_END_IF_");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&_END_IF_");
else if(RISCV64 == Architecture) emit_out("$_END_IF_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$_END_IF_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
emit_out(":ELSE_");
uniqueID_out(function->s, number_string);
@ -1856,22 +1912,22 @@ void process_for()
else if(AMD64 == Architecture) emit_out("TEST\nJUMP_EQ %FOR_END_");
else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~FOR_END_");
else if(AARCH64 == Architecture) emit_out("CBNZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&FOR_END_");
else if(RISCV64 == Architecture) emit_out("RS1_A0 @8 BNEZ\n$FOR_END_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @8 BNEZ\n$FOR_END_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_EQUAL\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) emit_out("JUMP @FOR_THEN_");
else if(X86 == Architecture) emit_out("JUMP %FOR_THEN_");
else if(AMD64 == Architecture) emit_out("JUMP %FOR_THEN_");
else if(ARMV7L == Architecture) emit_out("^~FOR_THEN_");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&FOR_THEN_");
else if(RISCV64 == Architecture) emit_out("$FOR_THEN_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$FOR_THEN_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
emit_out(":FOR_ITER_");
uniqueID_out(function->s, number_string);
@ -1884,11 +1940,11 @@ void process_for()
else if(AMD64 == Architecture) emit_out("JUMP %FOR_");
else if(ARMV7L == Architecture) emit_out("^~FOR_");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&FOR_");
else if(RISCV64 == Architecture) emit_out("$FOR_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$FOR_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
emit_out(":FOR_THEN_");
uniqueID_out(function->s, number_string);
@ -1902,11 +1958,11 @@ void process_for()
else if(AMD64 == Architecture) emit_out("JUMP %FOR_ITER_");
else if(ARMV7L == Architecture) emit_out("^~FOR_ITER_");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&FOR_ITER_");
else if(RISCV64 == Architecture) emit_out("$FOR_ITER_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$FOR_ITER_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
emit_out(":FOR_END_");
uniqueID_out(function->s, number_string);
@ -1974,11 +2030,12 @@ void process_do()
else if(AMD64 == Architecture) emit_out("TEST\nJUMP_NE %DO_");
else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~DO_");
else if(AARCH64 == Architecture) emit_out("CBZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&DO_");
else if(RISCV64 == Architecture) emit_out("RS1_A0 @DO_END_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @DO_END_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_NE\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) {
else if((RISCV32 == Architecture) || (RISCV64 == Architecture))
{
emit_out("BEQZ\n$DO_");
uniqueID_out(function->s, number_string);
emit_out("JAL\n");
@ -2025,11 +2082,11 @@ void process_while()
else if(AMD64 == Architecture) emit_out("TEST\nJUMP_EQ %END_WHILE_");
else if(ARMV7L == Architecture) emit_out("!0 CMPI8 R0 IMM_ALWAYS\n^~END_WHILE_");
else if(AARCH64 == Architecture) emit_out("CBNZ_X0_PAST_BR\nLOAD_W16_AHEAD\nSKIP_32_DATA\n&END_WHILE_");
else if(RISCV64 == Architecture) emit_out("RS1_A0 @8 BNEZ\n$END_WHILE_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RS1_A0 @8 BNEZ\n$END_WHILE_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_EQUAL\t");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
emit_out("# THEN_while_");
uniqueID_out(function->s, number_string);
@ -2042,11 +2099,11 @@ void process_while()
else if(AMD64 == Architecture) emit_out("JUMP %WHILE_");
else if(ARMV7L == Architecture) emit_out("^~WHILE_");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&WHILE_");
else if(RISCV64 == Architecture) emit_out("$WHILE_");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$WHILE_");
uniqueID_out(function->s, number_string);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS\n");
else if(AARCH64 == Architecture) emit_out("\nBR_X16\n");
else if(RISCV64 == Architecture) emit_out("JAL\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("JAL\n");
emit_out(":END_WHILE_");
uniqueID_out(function->s, number_string);
@ -2074,6 +2131,7 @@ void return_result()
else if(AMD64 == Architecture) emit_out("POP_RBX\t# _return_result_locals\n");
else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _return_result_locals\n");
else if(AARCH64 == Architecture) emit_out("POP_X1\t# _return_result_locals\n");
else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW # _return_result_locals\nRD_SP RS1_SP !4 ADDI\n");
else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD # _return_result_locals\nRD_SP RS1_SP !8 ADDI\n");
}
@ -2082,7 +2140,7 @@ void return_result()
else if(AMD64 == Architecture) emit_out("RETURN\n");
else if(ARMV7L == Architecture) emit_out("'1' LR RETURN\n");
else if(AARCH64 == Architecture) emit_out("RETURN\n");
else if(RISCV64 == Architecture) emit_out("RETURN\n");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("RETURN\n");
}
void process_break()
@ -2102,6 +2160,7 @@ void process_break()
else if(AMD64 == Architecture) emit_out("POP_RBX\t# break_cleanup_locals\n");
else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# break_cleanup_locals\n");
else if(AARCH64 == Architecture) emit_out("POP_X1\t# break_cleanup_locals\n");
else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\t# break_cleanup_locals\nRD_SP RS1_SP !4 ADDI\n");
else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\t# break_cleanup_locals\nRD_SP RS1_SP !8 ADDI\n");
i = i->next;
}
@ -2112,7 +2171,7 @@ void process_break()
else if(AMD64 == Architecture) emit_out("JUMP %");
else if(ARMV7L == Architecture) emit_out("^~");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&");
else if(RISCV64 == Architecture) emit_out("$");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$");
emit_out(break_target_head);
emit_out(break_target_func);
@ -2120,7 +2179,7 @@ void process_break()
emit_out(break_target_num);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS");
else if(AARCH64 == Architecture) emit_out("\nBR_X16");
else if(RISCV64 == Architecture) emit_out(" JAL");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" JAL");
emit_out("\n");
require_match("ERROR in break statement\nMissing ;\n", ";");
}
@ -2140,7 +2199,7 @@ void process_continue()
else if(AMD64 == Architecture) emit_out("JUMP %");
else if(ARMV7L == Architecture) emit_out("^~");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&");
else if(RISCV64 == Architecture) emit_out("$");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$");
emit_out(continue_target_head);
emit_out(break_target_func);
@ -2148,7 +2207,7 @@ void process_continue()
emit_out(break_target_num);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS");
else if(AARCH64 == Architecture) emit_out("\nBR_X16");
else if(RISCV64 == Architecture) emit_out(" JAL");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" JAL");
emit_out("\n");
require_match("ERROR in continue statement\nMissing ;\n", ";");
}
@ -2173,7 +2232,7 @@ void recursive_statement()
(((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture)) && !match("RET R15\n", output_list->s)) ||
((ARMV7L == Architecture) && !match("'1' LR RETURN\n", output_list->s)) ||
((AARCH64 == Architecture) && !match("RETURN\n", output_list->s)) ||
((RISCV64 == Architecture) && !match("RETURN\n", output_list->s)))
(((RISCV32 == Architecture) || (RISCV64 == Architecture)) && !match("RETURN\n", output_list->s)))
{
struct token_list* i;
for(i = function->locals; frame != i; i = i->next)
@ -2183,6 +2242,7 @@ void recursive_statement()
else if(AMD64 == Architecture) emit_out("POP_RBX\t# _recursive_statement_locals\n");
else if(ARMV7L == Architecture) emit_out("{R1} POP_ALWAYS\t# _recursive_statement_locals\n");
else if(AARCH64 == Architecture) emit_out("POP_X1\t# _recursive_statement_locals\n");
else if(RISCV32 == Architecture) emit_out("RD_A1 RS1_SP LW\t# _recursive_statement_locals\nRD_SP RS1_SP !4 ADDI\n");
else if(RISCV64 == Architecture) emit_out("RD_A1 RS1_SP LD\t# _recursive_statement_locals\nRD_SP RS1_SP !8 ADDI\n");
}
}
@ -2258,11 +2318,11 @@ void statement()
else if(AMD64 == Architecture) emit_out("JUMP %");
else if(ARMV7L == Architecture) emit_out("^~");
else if(AARCH64 == Architecture) emit_out("LOAD_W16_AHEAD\nSKIP_32_DATA\n&");
else if(RISCV64 == Architecture) emit_out("$");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out("$");
emit_out(global_token->s);
if(ARMV7L == Architecture) emit_out(" JUMP_ALWAYS");
else if(AARCH64 == Architecture) emit_out("\nBR_X16");
else if(RISCV64 == Architecture) emit_out(" JAL");
else if((RISCV32 == Architecture) || (RISCV64 == Architecture)) emit_out(" JAL");
emit_out("\n");
global_token = global_token->next;
require_match("ERROR in statement\nMissing ;\n", ";");
@ -2313,6 +2373,7 @@ void collect_arguments()
else if(AMD64 == Architecture) a->depth = -8;
else if(ARMV7L == Architecture) a->depth = 4;
else if(AARCH64 == Architecture) a->depth = register_size;
else if(RISCV32 == Architecture) a->depth = 4;
else if(RISCV64 == Architecture) a->depth = 8;
}
else
@ -2322,6 +2383,7 @@ void collect_arguments()
else if(AMD64 == Architecture) a->depth = function->arguments->depth - register_size;
else if(ARMV7L == Architecture) a->depth = function->arguments->depth + register_size;
else if(AARCH64 == Architecture) a->depth = function->arguments->depth + register_size;
else if(RISCV32 == Architecture) a->depth = function->arguments->depth + register_size;
else if(RISCV64 == Architecture) a->depth = function->arguments->depth + register_size;
}
@ -2375,6 +2437,7 @@ void declare_function()
else if((AMD64 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
else if((ARMV7L == Architecture) && !match("'1' LR RETURN\n", output_list->s)) emit_out("'1' LR RETURN\n");
else if((AARCH64 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
else if((RISCV32 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
else if((RISCV64 == Architecture) && !match("RETURN\n", output_list->s)) emit_out("RETURN\n");
}
}

View File

@ -235,7 +235,44 @@ x86-tests: \
test0106-x86-binary \
test1000-x86-binary | results
riscv32-tests: \
test0000-riscv32-binary \
test0001-riscv32-binary \
test0002-riscv32-binary \
test0003-riscv32-binary \
test0004-riscv32-binary \
test0005-riscv32-binary \
test0006-riscv32-binary \
test0007-riscv32-binary \
test0008-riscv32-binary \
test0009-riscv32-binary \
test0010-riscv32-binary \
test0011-riscv32-binary \
test0012-riscv32-binary \
test0013-riscv32-binary \
test0014-riscv32-binary \
test0015-riscv32-binary \
test0016-riscv32-binary \
test0017-riscv32-binary \
test0018-riscv32-binary \
test0019-riscv32-binary \
test0020-riscv32-binary \
test0021-riscv32-binary \
test0022-riscv32-binary \
test0023-riscv32-binary \
test0024-riscv32-binary \
test0025-riscv32-binary \
test0026-riscv32-binary \
test0027-riscv32-binary \
test0028-riscv32-binary \
test0100-riscv32-binary \
test0101-riscv32-binary \
test0102-riscv32-binary \
test0103-riscv32-binary \
test0104-riscv32-binary \
test0105-riscv32-binary \
test0106-riscv32-binary \
test1000-riscv32-binary | results
riscv64-tests: \
test0000-riscv64-binary \
@ -276,6 +313,117 @@ riscv64-tests: \
test0106-riscv64-binary \
test1000-riscv64-binary | results
test0000-riscv32-binary: M2-Planet | results
test/test0000/run_test.sh riscv32
test0001-riscv32-binary: M2-Planet | results
test/test0001/run_test.sh riscv32
test0002-riscv32-binary: M2-Planet | results
test/test0002/run_test.sh riscv32
test0003-riscv32-binary: M2-Planet | results
test/test0003/run_test.sh riscv32x
test0004-riscv32-binary: M2-Planet | results
test/test0004/run_test.sh riscv32
test0005-riscv32-binary: M2-Planet | results
test/test0005/run_test.sh riscv32
test0006-riscv32-binary: M2-Planet | results
test/test0006/run_test.sh riscv32
test0007-riscv32-binary: M2-Planet | results
test/test0007/run_test.sh riscv32
test0008-riscv32-binary: M2-Planet | results
test/test0008/run_test.sh riscv32
test0009-riscv32-binary: M2-Planet | results
test/test0009/run_test.sh riscv32
test0010-riscv32-binary: M2-Planet | results
test/test0010/run_test.sh riscv32
test0011-riscv32-binary: M2-Planet | results
test/test0011/run_test.sh riscv32
test0012-riscv32-binary: M2-Planet | results
test/test0012/run_test.sh riscv32
test0013-riscv32-binary: M2-Planet | results
test/test0013/run_test.sh riscv32
test0014-riscv32-binary: M2-Planet | results
test/test0014/run_test.sh riscv32
test0015-riscv32-binary: M2-Planet | results
test/test0015/run_test.sh riscv32
test0016-riscv32-binary: M2-Planet | results
test/test0016/run_test.sh riscv32
test0017-riscv32-binary: M2-Planet | results
test/test0017/run_test.sh riscv32
test0018-riscv32-binary: M2-Planet | results
test/test0018/run_test.sh riscv32
test0019-riscv32-binary: M2-Planet | results
test/test0019/run_test.sh riscv32
test0020-riscv32-binary: M2-Planet | results
test/test0020/run_test.sh riscv32
test0021-riscv32-binary: M2-Planet | results
test/test0021/run_test.sh riscv32
test0022-riscv32-binary: M2-Planet | results
test/test0022/run_test.sh riscv32
test0023-riscv32-binary: M2-Planet | results
test/test0023/run_test.sh riscv32
test0024-riscv32-binary: M2-Planet | results
test/test0024/run_test.sh riscv32
test0025-riscv32-binary: M2-Planet | results
test/test0025/run_test.sh riscv32
test0026-riscv32-binary: M2-Planet | results
test/test0026/run_test.sh riscv32
test0027-riscv32-binary: M2-Planet | results
test/test0027/run_test.sh riscv32
test0028-riscv32-binary: M2-Planet | results
test/test0028/run_test.sh riscv32
test0100-riscv32-binary: M2-Planet | results
test/test0100/run_test.sh riscv32
test0101-riscv32-binary: M2-Planet | results
test/test0101/run_test.sh riscv32
test0102-riscv32-binary: M2-Planet | results
test/test0102/run_test.sh riscv32
test0103-riscv32-binary: M2-Planet | results
test/test0103/run_test.sh riscv32
test0104-riscv32-binary: M2-Planet | results
test/test0104/run_test.sh riscv32
test0105-riscv32-binary: M2-Planet | results
test/test0105/run_test.sh riscv32
test0106-riscv32-binary: M2-Planet | results
test/test0106/run_test.sh riscv32
test1000-riscv32-binary: M2-Planet | results
test/test1000/hello-riscv32.sh
test0000-riscv64-binary: M2-Planet | results
test/test0000/run_test.sh riscv64

View File

@ -29,6 +29,12 @@ case "${ARCH}" in
BLOOD_ELF_WORD_SIZE_FLAG="--64"
ENDIANNESS_FLAG="--little-endian"
;;
riscv32)
ARCH_IS_64_BITS="no"
BASE_ADDRESS="0x00600000"
BLOOD_ELF_WORD_SIZE_FLAG=""
ENDIANNESS_FLAG="--little-endian"
;;
riscv64)
ARCH_IS_64_BITS="yes"
BASE_ADDRESS="0x00600000"

View File

@ -5,160 +5,160 @@ b4dfdb3f7cef6571968fadd3e586a19226a546b3d470cafb8b7c556e1d2d3bfd test/results/t
235cb8354a6f890c029b61d3371db6c539d22a8fedfc555f171a742def20e1a9 test/results/test0000-knight-posix-binary
734dd8ba723a9ed1655824e6158406c0164dd180335ee7f725ea07994b3d5cc7 test/results/test0000-riscv64-binary
be8111d178501a86934f10de64f815e6812c5ee31ca31eb5a0e51cdabae5ad14 test/results/test0000-x86-binary
1b0778472de89d20f9676573198128d7e5965a53c6f6c04c4944401f1fd084aa test/results/test0001-aarch64-binary
611dc9d948c3050bd2b8c62457b5ee1befed5eb3a56a3509d0371d406a3baada test/results/test0001-amd64-binary
8e576c4a78d0cd6b274f4888fbaa5eb56b1559cadd2f307da4bf08a61bf20b2e test/results/test0001-armv7l-binary
c682b92792ea1de3904cae7b766c7dc89126a4248cd74e87172b3c522e7c5d54 test/results/test0001-knight-native-binary
eb5d77883f5bfc396cd904dd65b9f74956a14a5a8caf6ea3183f580aa911d9b5 test/results/test0001-knight-posix-binary
2904641b917856f3fe8d59d9a86071dceaf9c2e68224bd7f2d4b751ac7ecccb6 test/results/test0001-riscv64-binary
70e722c285f54661ed955edf7ad6efe7a4260f0088485c63d7eefbbba16fa61a test/results/test0001-x86-binary
f8ea2874493fd5f9c32776933189931244d99a9142d356bfcc0d513af127ac27 test/results/test0002-aarch64-binary
179389e4ba18ed9f8b9426e51e2cef2cca82a57a17b51ffad963dbce15bb50a7 test/results/test0002-amd64-binary
0d61d816ccde35c856fd6f4d68d069306afec14ee85536ca74dceb9b7ebc970b test/results/test0002-armv7l-binary
60d019b250de2c79cbf9e00dc16334af10cbcecb0f03707e8a941d1782b6b172 test/results/test0002-knight-native-binary
115e807e57a2bb0dfcee9e7caadc18a5757b324dfc8e10f403da67dad8aedfc5 test/results/test0002-knight-posix-binary
519bb5c50d70567562e1cf75ee2e32f21cd9ff885669e18f867aaae315835e41 test/results/test0002-riscv64-binary
b721e3d49cc3240bf1cc842b5ef7b66f3f232a66c25f2578b7015bbbbb87c882 test/results/test0002-x86-binary
6f797406596837d105689981959016aab734fe843c689c54463ae895dcda8a5a test/results/test0003-aarch64-binary
e823de15f9552a091897085deb00f3f85f718d229effdf2538842f097e60214a test/results/test0003-amd64-binary
feed42b431231290f4a542728cec1ce09ca40265d25f100efb8ee1ae600a6fcd test/results/test0003-armv7l-binary
d6d358a6669de5253fb3db19b9e54d4fe787b0e921f44794e5ba8bb7138fda5a test/results/test0003-knight-native-binary
700def52f229eec7d528e6475d57a8c0b63c0f506b0c3660cdeb2fc61b82c26a test/results/test0003-knight-posix-binary
2e4d21636421fed2e4ad1e8b985fde57f4421dcb57f5144d95a780072abfb716 test/results/test0003-riscv64-binary
a56aa004f9ee964a6209286287096d611306a4c576f2d661ad4a3624af586087 test/results/test0003-x86-binary
35255ab8de43fcfe7111c140f4af6c6f4b04657469181826fbda31562205963e test/results/test0004-aarch64-binary
229a40529c0e60b1c43b21ee3e7d094a97a1fb16218c543e6f81af6ec2b0dc6e test/results/test0004-amd64-binary
71433b3c1b6120d71efa17123ce3e47037f0227cce045616651ca397690636f4 test/results/test0004-armv7l-binary
edb1989309249cfea055c6fc99e3eb9f9b548c17325040d1ccffe4aa068de63e test/results/test0004-knight-native-binary
ebb6eec7952a47c96b85cf99efe6938c3f76db1bf75e60414340811e6c018398 test/results/test0004-knight-posix-binary
b2cf59f78c85af48eb87459b482cb220ad3d39e22c4485b5b4186eaa44c27f5e test/results/test0004-riscv64-binary
a98456efe44683493c686d3f96ac5fbf7afca096dd202ab584e88a431016fcef test/results/test0004-x86-binary
9216135390b7e9502c27fe43571315281cc4b5313bd473788c5f1f12f23a91ad test/results/test0005-aarch64-binary
2849f2c70bd6722372c53adaf69e9e6f905c50091057f661f09a79164ac97dfe test/results/test0005-amd64-binary
8f7107595948a52a1bb45b28bd003772d0748eb7b95046e1ffa4bd41995d37c7 test/results/test0005-armv7l-binary
2176f2dbca7d078fb1adaafd7fd3bbe4189e3c83cac015e3d8d44ed6ea4de4df test/results/test0005-knight-native-binary
9d0f951d493ffc703468f39586f92307f950b6486eda6e5f3a962579acf87407 test/results/test0005-knight-posix-binary
f51f94e5a804721826b4c14a02831a824e0944c535c7e550bf6805c94158468a test/results/test0005-riscv64-binary
0a8298a6322575d5210b0ebb25a1fd5dbaf4e51920c8ff2b0ab901dc585fcdeb test/results/test0005-x86-binary
421ec5918d95a20d20796e34bbda2b078119932ab4bc5d174e766f2c738dca86 test/results/test0006-aarch64-binary
4f8d56cd63751edd24903a79e8b5e6d1c285178bdafc041f2ce77b6c5b5eb529 test/results/test0006-amd64-binary
b74d22ca67354fbe1e42a8778268550569667848368b73a3f6ee0645e85865f1 test/results/test0006-armv7l-binary
cc620efd904543242c6f24dc788852dec45435eb537b11f8790bd5c45ae1a606 test/results/test0006-knight-native-binary
3fefb5cc02d83eba6704e549d7b2db6adb9ebb06549b3be92954a23689ab3e5a test/results/test0006-knight-posix-binary
d6fa5200f9460dada0749992d33ca722c7c50b577de8b6596bfb545a3b232139 test/results/test0006-riscv64-binary
f35d9ea659905c13746a7ed8a8aaf3b45cceb702dd347f52c6f280bbfde8acc7 test/results/test0006-x86-binary
b60ec52f17fe67ae8fe152b83f4177bb733a806a8be3c6088aad7bbee5624cb1 test/results/test0007-aarch64-binary
2cbcc8929962d92d9143a275dd277d652edffbbf12f210085c5068c67f606843 test/results/test0007-amd64-binary
31c4ec73e819e57fde425c9eab8561eb6eac35750fe7aae8de89ad1ac29e019c test/results/test0007-armv7l-binary
795fa53c7ba5c83c7c6ca4ae036c5bfe919847e96a7393e2755919e74cd6d06a test/results/test0007-knight-native-binary
cabedf81faac920388ae1bb7d9eadee067a582aff77860ded6e2ced8c662d7da test/results/test0007-knight-posix-binary
c6375d39a36abc2d6f2a804dc62c2c9c18f469f248367394fc410cf775dfd644 test/results/test0007-riscv64-binary
421b1cba08b1f6d016525161b69eec9b22c247c2e57cc46251cdec8955de0b72 test/results/test0007-x86-binary
c5ee99709aae9902b9f3e1c964c6f032aa1fcb6ffde22a0f70a39817f1d3e6d1 test/results/test0008-aarch64-binary
c8057ed2b31ec2537b11f37434aad9174bcc85949c96b3308fa850db027bdfd5 test/results/test0008-amd64-binary
ee0af07393d392e4bf327dd98c256481830cdf5ebd22542c39ff0c56849d8db8 test/results/test0008-armv7l-binary
0bfda5393996b2b7fd8231eabc3bba43727f10a489bebbb56bf763223e462fd7 test/results/test0008-knight-native-binary
f5c0f8860daf86d1327c321de9647dd7acab478c500826c87fbad7af06999c27 test/results/test0008-knight-posix-binary
c1a4d1647a99cc4f34d8ab0fcc998aac6b0900a802b6dea9638cf11653276985 test/results/test0008-riscv64-binary
cdc49e5c50b72858ef3910e796ca30a6def56a87a0c51d61808d615c7d0a71a3 test/results/test0008-x86-binary
9b64d8a96e9cc8cc6d45e1a66455c12bb7aaff524b6f28534b90cc88f45daf76 test/results/test0009-aarch64-binary
9a83c3a8dea72becc29b346b825c11a9e3c1133df73c542871a0a1d69797a829 test/results/test0009-amd64-binary
b47c90ff6e3ca3f124d37b92af6c2afd98b6e59d09d9d08a1793d31e17c52911 test/results/test0009-armv7l-binary
5197b1899c54d61dcc55ee647ba399f9731c4df8abbdbf5de3e18763921e7f56 test/results/test0009-knight-native-binary
d0061811bc3406c3aa4964274bf8734d66a16200025b25ab5b8544203a264026 test/results/test0009-knight-posix-binary
079806a1bb48e3cc33151ff2076bf753e837a8f09f24fc68382c8bdd41374a13 test/results/test0009-riscv64-binary
c59d5998e625679976d69df628f4e17152cb006c3904c5398a1e4b62365dd81a test/results/test0009-x86-binary
cbbc0a92b5345ba1ec9551ffa5b8ddd406b63578ccfa36bbba6dce5897a5cabb test/results/test0010-aarch64-binary
3228705979f56b428f74757543267f59431228027265815559b4a3baa4d0453e test/results/test0010-amd64-binary
5cf6b1a4f65687ad7c1691a8492c6bbbd0bdfc84bab060bcedab200ae651e9a9 test/results/test0010-armv7l-binary
b69b69e26372d008a5c6696f3e4e8dd26fa97b197cf5a87a36c9daa6c3c768d4 test/results/test0010-knight-native-binary
c75c25d9003a0e5660f52324262b2b69ea8cedeeda0120304f73b84d2979cc42 test/results/test0010-knight-posix-binary
355ef99e6d7c16a8da72679fbae98cabc399d934266aeb7181c3724faf030d8e test/results/test0010-riscv64-binary
43caeff474ae1f337bcef0aa83330121a4290e8bb9d54133391b8eecdba0d84a test/results/test0010-x86-binary
84ff3cff178c655af99354166b8511c2cb754ee90d1d6fe1732cc78ebf472d31 test/results/test0011-aarch64-binary
ee2bfc2b42553d230bfe0c1f625aeec57f02a9d4bd139da2fa7f4ad909400806 test/results/test0011-amd64-binary
be8e608616dd6873e41ae71a1961da30675bf3c8dac4112e581f32fb0f04a427 test/results/test0011-armv7l-binary
3da409ac1d5a75ca1f6f45eaa0288c99f864e509f31d78591fb8abc6b37f8c8e test/results/test0011-knight-native-binary
aeaf7dd87298d759f783ea824a66c299d5f42fb7871f8fb7bf4dfa30a4daf25e test/results/test0011-knight-posix-binary
3c8dcaa9be94c809ecba735e38ee759633e9c2e5351158b033072278ea9fdd11 test/results/test0011-riscv64-binary
e13fde65b10af5e27f06c75b463fe59352558071a48753a44c8a7f2ba62c0d52 test/results/test0011-x86-binary
aa43c22a01fc1c13ca2cb64c9badd3d0bdb0d71af43c56e6b4c44778edd447a5 test/results/test0012-aarch64-binary
d8d8938cf152439356ee95c251b6a7881f8c8d45017c729616ab32e7269a14da test/results/test0012-amd64-binary
ef82d7851c81e4d5ce3beea75d86b937d242a22f4fcf25dbd87c8b522c518de8 test/results/test0012-armv7l-binary
3ddca171136dea8e177575620bd5dbda4b51140493114f4bdfd69f095a3d260f test/results/test0012-knight-native-binary
a20dfef10a6751ebf29b3d0e80945354239723c3e305565eea89801d4800afb7 test/results/test0012-knight-posix-binary
535c4fde7accc783e6b6de09ae2e0fc43b62646ed33c72698e7ae7b0df798179 test/results/test0012-riscv64-binary
aec61658470e1e69c912decccfa0297ee87469d88dfd400d793aeca1f4a4a136 test/results/test0012-x86-binary
4de91619ba2f8c0619ddcf5652053030d35049b42b7ea435d128adeda98329db test/results/test0013-aarch64-binary
8d75130db8c2639b0ef84f58577697fbefc6446190f7be9a2835ed818e0e3d04 test/results/test0013-amd64-binary
f68fbe7ccf6191643133892395818889860ed0057156f667a5e3db2d5b9cfd7b test/results/test0013-armv7l-binary
2939f9403d940a4b77e8862c57c780773a9c6b2f7f1103b2a7eb5d0d6f6986b4 test/results/test0013-knight-native-binary
1a35b6013633d46dc5d148e7a204859641c2cc33f6122277e8932705c32542fb test/results/test0013-knight-posix-binary
d9ca4f4d8d1bd5b66eb1796c52270439a627601b09aa50a6386dab34544f558a test/results/test0013-riscv64-binary
e11d2b637dd542cacd6c72aae7e095c4761ab8448e8edc8c261377ad8c21f750 test/results/test0013-x86-binary
6374f3df391ed3402a1367c21ce6d30fd9425e7735191c97fe9aebe20eb02835 test/results/test0014-aarch64-binary
740a17b57b0560827538563f0b1c1e2d01c25b8c37156399646a5a485ebe9c7a test/results/test0014-amd64-binary
d69b9da1f423c59d5e636d2204cfbca4141e3ee869a7226dd83f8fe7ac31fa3e test/results/test0014-armv7l-binary
eaad8e0ab16e2f5486de37e6309aa456ee6d8d935e43000333f27382eaeb9565 test/results/test0014-knight-posix-binary
fa1d4c3a17e8e40d1d2bebc4a938bf4962c00350b9bb1a592b67ee25e006f79e test/results/test0014-riscv64-binary
1ed6ee84de11d522a729a389dce83e2feba018c7b23fab80532cbdf540a3ef25 test/results/test0014-x86-binary
4283ac717a9efed8b596b8ce2f3b3694a8f2954f5047b773fea8815f74c45396 test/results/test0015-aarch64-binary
0917a37f4fa61605abd714a498ea4f4e83abbbde084b306d4a475edfc0918490 test/results/test0015-amd64-binary
d618e068e4bd1ee4edbdbe6e250d6b681a06ea2018a947c6080d6e176448c718 test/results/test0015-armv7l-binary
323739732059cd20b14ab5857d1acf73565bf1970092e925744b53d6762d4828 test/results/test0015-knight-posix-binary
5ba424041addc15e88867c4d061738955e18b6487e6ac1b3f1617a4abe135009 test/results/test0015-riscv64-binary
cd805dd9ac1e6fd1fbfb751353cc1b99f75d25639b6eaf41461049124f207cd6 test/results/test0015-x86-binary
6e1d0e3acc803a3e7d31e6dae313c34778e040e5b5237a5785da284e0b317360 test/results/test0016-aarch64-binary
7f368f443bb92e7f6b17fc58058af4e8ea163db23fff73338f3acbb7e6c60d97 test/results/test0016-amd64-binary
caf232b8492628857fe67277179cd80ec43d2be89691c6aa6341cad32d8232b2 test/results/test0016-armv7l-binary
a2d03a49dbaf737a3b4bf8990415251a2564978d554d9f5656639c254faad5e3 test/results/test0016-knight-posix-binary
47c0cf47ab6dceac343febdcafc09bd330f2d72dcd83f66dcb07e50769275396 test/results/test0016-riscv64-binary
66436b77ae24b5f211254ea1b995971865bf9208a927a31380d2ab966e90706f test/results/test0016-x86-binary
191b56d29ca96f85021e1ed5b7896340fd44600b163a51fb249792651162ea88 test/results/test0017-aarch64-binary
151dfc9eca0e49afcb5ccce7bf87b8ac6007a7b69cac65845d450b978964277c test/results/test0017-amd64-binary
fe667bd4166552df42cede3f7fd0c1a9de821a990c5a3baec2b3d2c71f85c6ab test/results/test0017-armv7l-binary
86a2c3d8c328a8e89bd759daf4b904694adddda2a1518d3753af878eac659e98 test/results/test0017-knight-native-binary
acdd403a909151fcdb38d39eb5d715c2c1a131fc299115a02b33a903306e84a5 test/results/test0017-knight-posix-binary
cb0868af8e43534413cb90d58ea390656f38b74e5d6f385557bf347311a6ea07 test/results/test0017-riscv64-binary
1f7836d5b38685dff2901818b670f9e94a3ddd55c429053ea5d0fed1bbf1f7ef test/results/test0017-x86-binary
f51b21429495aca86e4da1e1f97561f2ad95f9db03ea599f116a74fa38b20874 test/results/test0018-aarch64-binary
d8bf1d6179c007d5718e2af6305cbace7b723ab9b1d85cbbaf833639a6c5cb8f test/results/test0018-amd64-binary
991ce8143210875c6255527b16ca614fdf30384595031b0cdca873c52f5736a1 test/results/test0018-armv7l-binary
3b152009796efc61119fbae9ea47514de5f127019db8870b42790af8bfa7924f test/results/test0018-knight-native-binary
f6447861295901e5688202df55091e3e7fa5a06f2d7882f841a0da8b9054b53d test/results/test0018-knight-posix-binary
81a1ce54af6f8069d17a4d2574ec0985687103033b001a621437ad0823a7b169 test/results/test0018-riscv64-binary
e0964d7ed2875353d563d9b8505c8b245b0814ffa2b95dcff3bf1ce42aea0359 test/results/test0018-x86-binary
9fcc1d1f1c02dd41f4586a58a06f35a98420efc803792860aee2945797ad240e test/results/test0019-aarch64-binary
785c46ec6309767638ea6b9662126b5bfe4ea869de0570e84a702c541c451d51 test/results/test0019-amd64-binary
987b80506395c0380808228ccc80044419ac3817af0a26b0d205ccaad31a3363 test/results/test0019-armv7l-binary
3e3c128fff2a85a85fe68fe5525f8bf3503dd4b47bd9686bd9cca55b4687c58f test/results/test0019-knight-posix-binary
7812dba8350b40d612b19482e55bfe35ff2b2f517a1e39828f8523fad28de6c4 test/results/test0019-riscv64-binary
a21147e2ae062b57e55c24eb55e9942b770922cd1c9c53348e5fe101d91dd5fa test/results/test0019-x86-binary
43475701b498d648d5246b3cef25dadc5ecab248c84bc5aa4566b13a1689ff1f test/results/test0020-aarch64-binary
339136d785f77fd5519aa52491fffb289a837f7d57ad9bd91e285cb28006211b test/results/test0020-amd64-binary
17a1a46da1607f4bdfbb24c0902c6c8d28580fe4cfacdd5e931fa42732917ca7 test/results/test0020-armv7l-binary
ead4f942d4a0fd3c48968ea88357a015145eec1c22be446bdc604d49f766eb0e test/results/test0020-knight-native-binary
4fd2a92e4ff7a9d472b6f41a45124a6750f5193a4d5e3f43c291ddf29725a517 test/results/test0020-knight-posix-binary
d51d3e89ab40e572eebeeec7795ea0f7b976a8fceff0c9b22bf6988d79cf5f91 test/results/test0020-riscv64-binary
d555181ec1a1e2f647a7e161b6c68b88f8b7e3f07a832e324beb959d5db770a6 test/results/test0020-x86-binary
b0bddd2529ee6b5904d6c2806eab9885472223ec64b11b909ba3c29bb0ffd95d test/results/test0021-aarch64-binary
6244864bf08d6c9624cf7e7607fd687ea861fe871917020279052c9036390428 test/results/test0021-amd64-binary
47c187696cb71ccae1b5fd36270544845d2d5130c4c653ce5d8d1faa6b1c1fdc test/results/test0021-armv7l-binary
b72d2c3b4b23edbe2ed7e9cc5abb9b5196151cb6da788837bdd48585ecac4a49 test/results/test0021-knight-posix-binary
7e70c54e30f8cdb4d580bc3d27b840fa136b1f75a84188729f5e7a4dedf2f56b test/results/test0021-riscv64-binary
46c1422aed16564a37db2d28a08bce626fa9483ceba4d36ce28fe6e3c8bd075a test/results/test0021-x86-binary
72139bed2ae2a583dcd8d8181824d7e0793ae3be941b59aec1a0874f24ece246 test/results/test0022-aarch64-binary
bee22d2d58772b9e04131ed7d0383f7e06500b75b5ec6a464875354216de4401 test/results/test0022-amd64-binary
02f74f8e6d62394be8bd5607be1bb9a0b2f48e1146b0d721f9da67f22c8de8e9 test/results/test0022-armv7l-binary
fe999543e213553be26cf2715abfe5512f835c7b635c99047f66fde7c471307c test/results/test0022-knight-posix-binary
c666149b8eb9f5a0ab1e220c9f7592672934ebe602617b27b6d60d3ccbfa22d9 test/results/test0022-riscv64-binary
33513338e8a8af1e084b61eef7e3fd23fb799eec96490093df250d13e9e1d286 test/results/test0022-x86-binary
7c89643fc880073f9d2dc2e129470a03d82b86e5f0eb7ca3e635ed40eaa85e71 test/results/test0023-aarch64-binary
5e4f2ecd2fd96e99e403cda4631ae9fdfc347fb5352ea3b107de2cfefd321232 test/results/test0023-amd64-binary
7522e37632adbfd9b829885c6a1a04561abf4fd3921311877879b8578219dda7 test/results/test0023-armv7l-binary
4c45412e5df83634a7aa553d5f8aef10fcbf9af84f9c1cb7a8e034cf81d77a01 test/results/test0023-knight-posix-binary
b008bbb8b1537a52693ba8189068c642a34d1372a3c1cde781c2e297d20bae17 test/results/test0023-riscv64-binary
7f0b7c8d1ed0263293b0e76abc859a62f10e31185346bc1ba32434293fd720b7 test/results/test0023-x86-binary
bc05ff035c2e17ce6fa6b73b6bd0120aa70a8928a5e8bbac84d8d3331f8f12ed test/results/test0001-aarch64-binary
c3af54506a9cf01e777646a3c1be85bdf3b0a42e9502bccd252f3e0fe0689052 test/results/test0001-amd64-binary
7f7e908c5c0d5cbcb0fc4eeac124bf34e9f8e5ebb2aee74597b815557cb6cf45 test/results/test0001-armv7l-binary
10a566ab8a3f324ad45ec1fabd250f032d72b9c97b8baee73004cbcda49b0727 test/results/test0001-knight-native-binary
490cb1406c5eef58339edefaf2db7d7a3ce6f01cbbe9d603c1a45d314ef30dde test/results/test0001-knight-posix-binary
fb8ef17c0603512162f64dfa30114e8c58ba229a127fdfe9d1a0eade93a73630 test/results/test0001-riscv64-binary
f419944cc547f9cd0bf7f01ba883552846203401254f3f49e5dc686270d7c5bf test/results/test0001-x86-binary
5502ed8e0505d890a7a872c1173be142a71ca3b6205f99fcbb494359ebfd7053 test/results/test0002-aarch64-binary
2492e0004f73192413d0e26d1926f513cf413555076a4f4278f44613bc49b785 test/results/test0002-amd64-binary
d22f625fa241011bedb11d9e11acd2c53ea3929a592f21f952fc17ae89efb4b5 test/results/test0002-armv7l-binary
3a33e54dbe90a65aaba679dfc2454f0c3f1850d38e02a86dab2e7dc624af8086 test/results/test0002-knight-native-binary
478a7fad5afa274697aaac7ee1c35f0e34fc4662cd11ba1927b73d470a8db7e4 test/results/test0002-knight-posix-binary
ea5085cbafc6e36a3dee4d8949458bea72aadb483a3ea0a7f2f2ef20a2e934a5 test/results/test0002-riscv64-binary
bcdea3d98a4fcac2971abeacbc0f0f95cf4637cc0af70bd53536c485b05fcf31 test/results/test0002-x86-binary
4cba8880f3c1a118a10e7773e6fd6781fdb6dbc23ac3f8a1ff143192fe9bd180 test/results/test0003-aarch64-binary
1c84b208ab1c5f3ebd45eae8a4a5bc7af2fc7f723973873a12579d810b33e3e2 test/results/test0003-amd64-binary
7f92ee0c8c4ee4257a3fe5187559dcdceabd21c061fb4db276509a44153e3cc3 test/results/test0003-armv7l-binary
a8a915723f2e41c0b3bb90bb2cc7d1a3019676d090fdd5e5cd4274805eaed785 test/results/test0003-knight-native-binary
f5318e9d0f4a051e0610cefbae935628759c7dc4103a93a69e88cb8614b98b2f test/results/test0003-knight-posix-binary
7d1c184f8fe5c110d8acf941d961cf78b9be6964894901421ff592701530dc0c test/results/test0003-riscv64-binary
2f686044d2ae850d9b755ed91728ccf46bfbda3e11ac43f6bdf0e75778f3f16e test/results/test0003-x86-binary
18cb4b7cf87af65769da15d47cc46f9d9b6de0b0e8966125274e4c8d57f462b2 test/results/test0004-aarch64-binary
79c1df84ad35aff11984c8b279393cc7240ac9936c245e5556235c57d58c7de9 test/results/test0004-amd64-binary
76eaa4944293046268ddb551db9ee1ef3af8d5d2cd9ca711f9e847a088c3bcfb test/results/test0004-armv7l-binary
ee4f26da118fbdad3b18713e8f1609014174988693df9692a8d35004114a2c0c test/results/test0004-knight-native-binary
034096e72256297e4ddd3cba18d216172bfa2eaf5f9a65cb7ab0564f55c8b72e test/results/test0004-knight-posix-binary
20c7fbeaf65f241da40c9e971f00019b85db8ddb3c3f7d21036274b81a2c4862 test/results/test0004-riscv64-binary
a99429b30606c7c9924f24a53ba1cf58dea9a00e0a8220bec7ac97dd7e642830 test/results/test0004-x86-binary
7acbd4c4ee8b3ec4102092033bfbd7225ec802525cfde88b81291869555aa442 test/results/test0005-aarch64-binary
3f0b1d21e7d2012f97c191a2ff6e6f9a933045f31fa4f58e7c343f163cd8b5b5 test/results/test0005-amd64-binary
19d58a073a3acd24e93fb01d6e2c127ba77c53e334a506799539c8edb7fc3fdd test/results/test0005-armv7l-binary
b70bf92ccf1b166990007f7eea68c9ffba864d09c0112cf1b1fc49a88e70d848 test/results/test0005-knight-native-binary
95d6676209cca3a4deb730fd6841b95d771957e21ff01b43efda32e178074ee7 test/results/test0005-knight-posix-binary
9429ab9aff9c86531de96d397d2cadcdf2dd70bb4d5fe774d238ca2dedc40c5c test/results/test0005-riscv64-binary
0e2abd59f1e80c3228d7a9dbde26cf80d95c8344fc9d9c18970228a02c10ffde test/results/test0005-x86-binary
6d8a5a734d7d171641f8d135f06e4bf18f400b7848da1f365dd95b3cc05b38d0 test/results/test0006-aarch64-binary
bf8a0b37a0be0707313c1e87ced2f248793274ff46a1db1c184c68ed3b82a497 test/results/test0006-amd64-binary
480036834b98e8f1405f684920a8c7c76d88361bdb37f82dd7a93240d21c887c test/results/test0006-armv7l-binary
7649209055f98c62cd9426cf40d6c257d16402be8febc0c9d937f5a01ac0a084 test/results/test0006-knight-native-binary
4a8f6df0b2b6eeaef1754f1370cc4d84269eaf2a62bde228eb3cc92c8308f1cf test/results/test0006-knight-posix-binary
f6519a36349ded1f3dcd94a372098134eb714d56609fa6381a9058fc47c16044 test/results/test0006-riscv64-binary
47a346ef01225bf2fbc11c70bfec4e208b849ae5680780d2ec76f6b3ef733383 test/results/test0006-x86-binary
1792a9f50b8013e5ccccfdabba0c54a73366aa727468e5e0ec002f7a41ab971b test/results/test0007-aarch64-binary
cad7456d03081a994459882ae5d54844164afd82ef90e32f5650c6cd16daf289 test/results/test0007-amd64-binary
86978333870975917714c5661ac42d4a6576acf00c63a9be25f5742af2db1834 test/results/test0007-armv7l-binary
b4096ee78c6bb2e617a92f4a322463c746b3a652e96df779e58f923705e20d71 test/results/test0007-knight-native-binary
f285f19d8f108b677edf7d06ab3b7b4ce61931c839798acd8d3c512b4739945e test/results/test0007-knight-posix-binary
2fce2b5e49c9f1d65bebca21c58f37705d7e1a6a057f85563b6d4ef47f7965d1 test/results/test0007-riscv64-binary
1750f18881f407e0132cd4e6a55f0cda035e1373afcf5b1e2b867e05644e0865 test/results/test0007-x86-binary
f16c35715fd3861a0a4a010886bebb1e7138e35396bb8f7b23c24cba5b35fc11 test/results/test0008-aarch64-binary
f476ffe2a0473d1a6475ce6b39b184f1f8507dc72b93dee7dd14a4d4ca86df83 test/results/test0008-amd64-binary
ca89ec2cdf992045ccada14b44552dd30961fc158862e7bc2ce1bbc6684155d6 test/results/test0008-armv7l-binary
90f2b6f1c61be17bdbff7002b219a9b1377e021fa5cbf55fa0346ed442aedd73 test/results/test0008-knight-native-binary
8dc4e4f45d0dab177e354b7d085e4859e082393e2461427e9a6cc960a6f4286e test/results/test0008-knight-posix-binary
d290c3d43641bee913dc0939be970bcde90f153e523b8bf0f8d6f430f2b26d2f test/results/test0008-riscv64-binary
edc7ccb85350144eb9ebf406aec0b7f686b8817fcf29a51eeb175e228431e6fd test/results/test0008-x86-binary
f72c6f10b64953d3086fd7c62da4a2ee24a0bea2fbebe241e8c017176b0ce589 test/results/test0009-aarch64-binary
22a8533a380117c5dcc82a42d47ee67221e50a569dd13a75de42ff9c59f00998 test/results/test0009-amd64-binary
7894a399d10befef7ac062abcf03e9ba3255eb3533dea222fd395435771a8043 test/results/test0009-armv7l-binary
3f2b58ec3a0fbcb99e06cda442774ea8deb1578708b906ee29cd22d7c434ab8e test/results/test0009-knight-native-binary
f49ed5b9309c30bdd094a951af500285e8cbdccd858350e8a8b0c34ee2e5fb30 test/results/test0009-knight-posix-binary
ceef47e877fb85ca75d558459737660369ab24acbf8e407f9dc43d4fc6b9801d test/results/test0009-riscv64-binary
1ccae64f3550719b769b5064efd3d396e4e8a5591654852138b5a98ef68f29b9 test/results/test0009-x86-binary
a58e2d5bc239c05cb1482c8f6e45ca9676d3522f0a4697eea955de69f59ae2c7 test/results/test0010-aarch64-binary
617e9d63169b2363c784fbe89dd2e7b52c1cd18b6dcb4b06571b98ca4ac130ea test/results/test0010-amd64-binary
5347ac55331ad29374beada2d771cfbe313782125cba2dbd8728c01203672c91 test/results/test0010-armv7l-binary
d1ba904cb57b7a80838d54e13e1143ff7c688da5a4aa1fcfdc4926bec8643480 test/results/test0010-knight-native-binary
70fea45131b801cc9d10320efb8952e85fc2fc741f4c97c9aa388da76e5ab5cd test/results/test0010-knight-posix-binary
e66efe59910dd278b8839ead4172417b02e4cdb3458c15b92e92cdec84ca1748 test/results/test0010-riscv64-binary
683e8c0befd10f4a3b7f83afa69955612cb1197d7cb9cb982373182f05ef1fc4 test/results/test0010-x86-binary
c409150630be450e5244c00f5be2250eef82bac4139374f5862174061432d6a2 test/results/test0011-aarch64-binary
605fa58cb874f92312904090f1850cfe8672306680bfdc92bf90918aec36fdc4 test/results/test0011-amd64-binary
b5e849fa4d7f0ea818d6a1e1773b908e1441efd008d4a0774014db9e0a277dcc test/results/test0011-armv7l-binary
da1be8a406b9945035f030ccbdcbff766c9358cab02be6b982c304ca78a865d2 test/results/test0011-knight-native-binary
fe4c506e528b563f1b05ba6b4a340dd075cd90be174d6db7d0f51d40d5e02460 test/results/test0011-knight-posix-binary
59d63936ed606daa20fd5fca2fba6823f23aa5a9db4d04bc0a4ef38d04a3fa3c test/results/test0011-riscv64-binary
1ebdc124a30c3fb0d5079da3b3f2a0fad1b97d43cf176f886372ab0d42826b75 test/results/test0011-x86-binary
d2c6caab7a8495c3b3cd8c7fee7f69e7804c64b1da9b4367764c3571f27c4311 test/results/test0012-aarch64-binary
3fa2e9995d521a06db3c8928bc31d941e711131d4a7e68cf1d285a5d9959396e test/results/test0012-amd64-binary
b591c2c9afd3f065a54b35684fa1018b2e313b0d9056d71455194745ffe4a5be test/results/test0012-armv7l-binary
0ca7cf1e1cf8e2243bc7457b58a742e3607a0219002ff7b949842150693d77bd test/results/test0012-knight-native-binary
f3ad05880068bbf2d1deb679896fa1aaf77f3a8f9deb9ebe663f19333cad9f10 test/results/test0012-knight-posix-binary
ecfeb316814de5fe2ca3d45a96f716ac4947490e23ceeb589813733799a92868 test/results/test0012-riscv64-binary
f64b40af5b901c4e41e95f133023b2836051291a77d4ab3e0c1236e8fcb9ca99 test/results/test0012-x86-binary
c22ae79b2714f4d284041697cab5c5c1c649cc323b4400506e80c339909acdf0 test/results/test0013-aarch64-binary
0cdbcac1ce6ee75e0cff719bffb2f3146e3acc8cd76ecd6dc7d754be895da5db test/results/test0013-amd64-binary
f6a3dd5e8999e0d7eec4db1e9b1448dba3ab40ea9ce8b2e4db536d3eb58a51ce test/results/test0013-armv7l-binary
9d15787333a690b22e09759af286679df0ad9d52457159679defd086396170b6 test/results/test0013-knight-native-binary
11f5f43db3a437d16121a7ec1a05e357283c8ff22ea34c6312efedad29625925 test/results/test0013-knight-posix-binary
f548c2f2dff8eddbd5b263f5eeae8c9350fc2fa93ee0ad770bd53ad38d5cc186 test/results/test0013-riscv64-binary
773959ed5db4b95896437e596c85fed3d6f36dc0d2232d4d84068aefcc0ee5c8 test/results/test0013-x86-binary
6d1320ded05829ee5cd1ab0396ba271b4e6de7a749b1bdae3d6e3343405d21dd test/results/test0014-aarch64-binary
a9cfc0411aedefc7aa8f429e762ad4d11511f960d9ef457257dd935a539276ce test/results/test0014-amd64-binary
c9128d806777965c871c40e7bc855c7283457a3435437b735c372fd20dc213ac test/results/test0014-armv7l-binary
c4de33027a7f0efeae7f980fdf210963e10a9ee366718bedde3d9e44ddc8a3cb test/results/test0014-knight-posix-binary
76e446ebbe2076166576b948ab2d33d887b155da218d9121c8c7f7a09c4edb0a test/results/test0014-riscv64-binary
b93208e3e49e8e432cd9fb7b6ce7a7fe03634e8b1effd69995637a3a53f5d405 test/results/test0014-x86-binary
ec198d381cee3d59091b89be53a021bd276c86f0b847ff23705ff50616ca9ced test/results/test0015-aarch64-binary
55b047809ede8c1ece32f6cd8e53b6994a6103ff6727b9db38b8bb05c49b8011 test/results/test0015-amd64-binary
9202835ad77586856271be7394f1b61262a95d8ef2b04e64ef7bd4bfadbaa9d9 test/results/test0015-armv7l-binary
ef065c49af35e09ebeea5f9fe000ebf0b9a7b5c7a117277d05ea7b9bcbf5ded6 test/results/test0015-knight-posix-binary
d185a09a173fcb7a034ca9f14053a6ad89fea64e57b9f4d7d0fe0d0c290309f8 test/results/test0015-riscv64-binary
b06b6c81e350c0d1a6d033faaef7e0acc043e85c83ace1f150122641c77fbb60 test/results/test0015-x86-binary
013cdeef4cf5986d8f5d6c9256e9f2a46b7114c7d06c8ce92d760f8a6bd2ca11 test/results/test0016-aarch64-binary
76cf37600ff04f0662714c271b2df80bb46510957634f3a0834ea89fd2f49149 test/results/test0016-amd64-binary
856517078d87db1505d97ae45cda37ae0cb9a2621ee302a3a7e08827e5ebfe1f test/results/test0016-armv7l-binary
0128db9de3328f7aeaec9cf6bfb560c1d01119ada177eb3f753218b4bae02deb test/results/test0016-knight-posix-binary
1d9db3dce40dcbefec7088ca21653c4c6133c2eb20ad3895b3536579bb6a9025 test/results/test0016-riscv64-binary
a1e568376142295d5ac0944b6956eec28ec5cad91994f670073e0d959f014788 test/results/test0016-x86-binary
b4d21d38d1a9a878a90183395ccbf9773957b0b482b10f31a13766f55e38ce90 test/results/test0017-aarch64-binary
93fa51c0cf40ebadf1f55a7226c4399d870736e196ff8a42a5ef4ebd9f169c03 test/results/test0017-amd64-binary
5e9a5117ea17e61b6fd77d89f56c602b70a88f324b17e63a736538161d1a2d92 test/results/test0017-armv7l-binary
98dee6c48676812fcfeb552bbd4b627bf5864237c99782aa9bd8de308d45d05e test/results/test0017-knight-native-binary
4f94197ed03f9370b64a02495d246e20e4fbf937bf754b349b3a3e03faa6c981 test/results/test0017-knight-posix-binary
da6da51be69a9ab32e1d2542159f3f54730e1a03f198cad08ef6bbbfb3d64197 test/results/test0017-riscv64-binary
41e1f73d9e6b0b9aee215cb7f8385dc7fd535b4b293123d27d6783277026c89e test/results/test0017-x86-binary
a95ab48aaf8510b38e45beed8d9b5f5ec56cdb15747a2fe0fcedcef5abef306b test/results/test0018-aarch64-binary
ea8649760b74a50e28a226253e60bc0edf11825e4f0492c4b141a81a838448f2 test/results/test0018-amd64-binary
7269b7bcdda7ba953fda72d1209e43de318f2aed2f688b5a4dcaf398d770e2ea test/results/test0018-armv7l-binary
2455561df8b26c7f2e363d70ce14504d86db631ce19fd530329ba7a7daff1d18 test/results/test0018-knight-native-binary
1798d4cfb225d53b05e838fa061003ccbbde95a636f547711ceefc5ec85425f9 test/results/test0018-knight-posix-binary
0903fe3268dcbcfb8aa6e3e330e4a9d44212d9e3c6e071a8e21a8edcff4b343d test/results/test0018-riscv64-binary
01958f57651f9b856b320740a4a33e559d32631c023a112ef5d3638843f1becb test/results/test0018-x86-binary
718aed76b162b30f15fa7a805ff35374048a67132fef6bbcf8650a54e3fb7c1f test/results/test0019-aarch64-binary
c1d9b0c0fb516fa7872bc2aea252c7d6e14d46b078368ec6b5775f04a0c639ef test/results/test0019-amd64-binary
7f96529de4afe2dc4f2882a652721746054cd0b4dc28f8be6c44fb14268e7ac3 test/results/test0019-armv7l-binary
1d9c22010f2a10f16eedef66f8aeeab029f11563a9d9e805162b7534f1eb0bf4 test/results/test0019-knight-posix-binary
0f89b838af99cef3e33f758873d40a498278cdc977021809050c87b19e80ffbe test/results/test0019-riscv64-binary
471bb8c2c8e225869d41fc066cbbbf272dd0eb6ae483be53d7b55eb85f3e824b test/results/test0019-x86-binary
bfeb1bf2a2a0fb101f766b297f5e6ef42aa8cff8419dc7065871d14ab546f4d4 test/results/test0020-aarch64-binary
89c77f73409eb0b1015dc34bbeed4b0d2f63c33dfa5b326c8167fcd4bce99e35 test/results/test0020-amd64-binary
bf985cc25e29e529eea5b798da35cf1a330065929908857bba91b89bd5acf884 test/results/test0020-armv7l-binary
c42f6b28420a2c8be9c3ef2c0bb0df16a2cb6c9b963b60860c6934fc86d3dfc9 test/results/test0020-knight-native-binary
8065f552ea6b51e7e424eb6eeddfc825c98b1795a53f99c9d977c33a9607fb6e test/results/test0020-knight-posix-binary
95be13b45fbff5492ba215b3bc0a55841c99e55a6731e0b7c7569bbd9b143add test/results/test0020-riscv64-binary
1d05a2cbb3a7b76173f37a09b831cdb626741b67c46f899996bfa69b70a7ddf0 test/results/test0020-x86-binary
3bcc0e81b6e6813591387bc8fbca41eda46e41786e1eadc0fd3c67b27796a4fc test/results/test0021-aarch64-binary
34db7bc6835b08e76de22a6e512d9859992d64ef06b8f300da3ed1416889b6ab test/results/test0021-amd64-binary
b924d122e09dfe850af2323d30426b82d09f8015b19182313c978eda8b00fb88 test/results/test0021-armv7l-binary
cb4953716d1e9da0000eb3a72f27ac405cbc33516e0e39c11d3e5fc8d4651011 test/results/test0021-knight-posix-binary
90a4d9981a11b5f616da8a524cfeb279afdeca9ab633f090eefa3eaa7dea0365 test/results/test0021-riscv64-binary
d87904aea4f3d5f54cbfa389b5939348444bb561daa9484bcc091175ff2641fe test/results/test0021-x86-binary
a8b1cdd4dfbc2f17079c9e07470186fa7013021c1c8339ca247cab5ac7cdead7 test/results/test0022-aarch64-binary
d9c0ff8a4981870c2674decd1685c5cbd7e998afb247b66024ad28babf7418cb test/results/test0022-amd64-binary
faf7b7688f04a8b8125de1e0e4ff56d00cac59deba07ee4ace62fef37ce73c14 test/results/test0022-armv7l-binary
a09129f484d6837972dbd27a65362aa591469ae9bcb042db638b821c4e34f40b test/results/test0022-knight-posix-binary
6dcc34cf7e50bba80c6eca10f3e8a165688be12cc6c08499149b7d2996dae176 test/results/test0022-riscv64-binary
406fea7b024b5c68c0d837182d3b0d1a353115a8505150055c1c505ed0faaafe test/results/test0022-x86-binary
4a53e904b4643f8106a29ceb4297025b65c6c23f52a2a9ed0830be1a3c630373 test/results/test0023-aarch64-binary
60682ffa20ac6ed4f83115e5a13f58ca0b21339cdb81516c680547f359a87d8b test/results/test0023-amd64-binary
e864c41637fde5afd0c068a7aaa1c39478646ca7f65a1d07e93ef78e88d9bccc test/results/test0023-armv7l-binary
98d83b7a5127874413b8bae46c6a09dfa6c814989f55a27ac6349b5aaaea32b4 test/results/test0023-knight-posix-binary
685cea1eddbf4d9aebf1b7f962a60667aff8f0b4e9baba94b9f23270ca47dd80 test/results/test0023-riscv64-binary
fcb989026d0a57fec078a79e2095278ab2b472e4aa6d0d21a923c962733fd44d test/results/test0023-x86-binary
6073f5fde626e3e9ab2d8ad1c0925f174da8874d6dd60d38a242a902fc622ada test/results/test0024-aarch64-binary
2521e21a521f55751f6e36d7514d375dc6066f96188d70586995747f83d0ce16 test/results/test0024-amd64-binary
868f9c7ddb784912bf562a62c0fe531671c6375ccd6f606099d677661b52664c test/results/test0024-armv7l-binary
@ -166,16 +166,16 @@ b4dfdb3f7cef6571968fadd3e586a19226a546b3d470cafb8b7c556e1d2d3bfd test/results/t
235cb8354a6f890c029b61d3371db6c539d22a8fedfc555f171a742def20e1a9 test/results/test0024-knight-posix-binary
734dd8ba723a9ed1655824e6158406c0164dd180335ee7f725ea07994b3d5cc7 test/results/test0024-riscv64-binary
be8111d178501a86934f10de64f815e6812c5ee31ca31eb5a0e51cdabae5ad14 test/results/test0024-x86-binary
7204fb15428a0576c5715de44f23cd0594322946f28c2049b7d2fc415d5748c0 test/results/test0025-aarch64-binary
8b26ccf91d2723d4aee9d71ba198244d59be858f0bafd278d097873dcafb5ca9 test/results/test0025-amd64-binary
7074cb8a9dbd7344ebad1d6679d1896636cef3cc1c5070463226970b08ecc372 test/results/test0025-armv7l-binary
3502984018678fd594aaf1b6fe6712746bd08bf3958b517442e266d3b9a602ff test/results/test0025-riscv64-binary
0844344cb3b97b3ddec2730f2d6c2585faddd3755555166c1da43cf63f1bfdf8 test/results/test0025-x86-binary
3f54de95e457bec97373e8f75b8ef10c95efbb3a02c0f3199f50b549e68db0d7 test/results/test0026-aarch64-binary
373752f8166f58c36febf9984afbf31f6029a1b57d02d5ed4be01b425ce08e55 test/results/test0026-amd64-binary
f4676ec3d8eade4c0f405a4b66d7069c78b881fd3f654e7e04f3fe56326542b5 test/results/test0026-armv7l-binary
856fdc8a9045f71583337dfc4a0d2a5cd01a72061d292b6d75e6fa52e70c78df test/results/test0026-riscv64-binary
46381cee997ec150a6b3bb7b978908df8d30cf65cc98744451a00f6eb5a70aa6 test/results/test0026-x86-binary
21559bfa3d2fbc6734d46eba654c44a21f485ee6f19c5f7b45a8c49a27a740dc test/results/test0025-aarch64-binary
4263f86f9d2fd2f0dd6675e9a3cfb6e14635496dc80a8b9a5ac34dd87f7f6c3d test/results/test0025-amd64-binary
11f6984936723f534ccb8c316e9b8e34d154416974b5e29e2d14baa6ed69e47b test/results/test0025-armv7l-binary
e93f2e6451a91d40f7a6e296b6c95209597fda572a6c688de99c4bcdaa179b21 test/results/test0025-riscv64-binary
d4313414d641d8af35edb0a311a273cd1e28b1de3de3168cbcdb11b18eded1a4 test/results/test0025-x86-binary
55ee0210d31fa88aaf16ae46d025e1fb7d8aa6d3965c8ec1665b614ed0e12fc1 test/results/test0026-aarch64-binary
398963738cda7c996fbf4a1c20c8ce806a01d3287c68d581435ec84fb243cee5 test/results/test0026-amd64-binary
bac8a411734053852b63510e9244b57d0ba6027b220670f09b7c371742d9850f test/results/test0026-armv7l-binary
826c5125240fc7c9b2aa17be6dce22385ff307f84a79bb21bde5f9a079623c6d test/results/test0026-riscv64-binary
7c5bafe48cce253e62c85e9f102e90ebdf625e50c86793978ad4f7a418ba8149 test/results/test0026-x86-binary
308ff16be0bbd485cb550ee2f7b49f0bc971bcf00cb043fa59f7053fe5ae7a16 test/results/test0027-aarch64-binary
d67883011c96e16dd95ad25a9217c153ef26c1f40c79de5be8377ae3bab15ddf test/results/test0027-amd64-binary
d8249590a1e1a43efa5bf05b2b1f0fbea7ebe46c347105b6def3a2cdf07eef59 test/results/test0027-armv7l-binary
@ -188,50 +188,50 @@ cddae954ec3486707f9c7ea6643093c71cdf31feef6db33ad359432bffcc8252 test/results/t
9ed5dc1fb8881d2abb44ebb323d3f5656e60972e2b30f59e7cbc395f20a794fd test/results/test0028-knight-posix-binary
cd74ccf3a4cb56fe52c0106da92a8befd8628993efd9a74765125ff132653533 test/results/test0028-riscv64-binary
770de057c6dfd9a82f3e5a5dd65e0fbd3322bcf3384192190e34d97c99d86eb4 test/results/test0028-x86-binary
29bc8c839549d674dd7717ee31aa7a974fb81163c7a75ec6357ab129f91ba48c test/results/test0100-aarch64-binary
1f8b618ccf5ac0d6b8573993c74b3047a2deb27ba734d08881f69e52070e0286 test/results/test0100-amd64-binary
bc2666096825062ad5bf840e94fe1fe26b37bef2d024d642cc237f98c65fcccc test/results/test0100-armv7l-binary
a41f2c83c97c037b70712755a1e08716cbcf6da916c668993aef5d264f5c5ac5 test/results/test0100-knight-posix-binary
cc0a1895d177aa7033c9f1e62808c680a54e3518a511fa2d284b413e60030394 test/results/test0100-riscv64-binary
221f495185d38cf64d699cfa0a893c2eb1621fd70d16ebc385153f9411448500 test/results/test0100-x86-binary
6540bbe5c06adfd3d162197c2c33f75936913b47bdbfc5b48ba0ce01b4995840 test/results/test0101-aarch64-binary
d7f780ba3042a799fb98c9d6f0df00a8ca6a7a1f30145229b82745760068b30d test/results/test0101-amd64-binary
de2dbfc6c00fe1e6a0a685f9f103f462857a74205bd8368f52933887d141d6dd test/results/test0101-armv7l-binary
1c0a40f524edbbcaad7e58b4c8c949299f4f6e1c81663990d6b956eee4406c20 test/results/test0101-knight-posix-binary
d9cc92025206a788c300c20cc77513a94b9ac97ecfb67c48a4e1c97d315399ac test/results/test0101-riscv64-binary
52d099e59607d7b192f7de95c870e8f753fe03d00674bfbeab3293b7796a7801 test/results/test0101-x86-binary
d3a8c1a1996c6e0dc15df146ffbd0904a22396c7c695719be59e23404ffae90f test/results/test0102-aarch64-binary
b0214152c0991ca96a5247cf5e8f6887a96b326f6b9a6b6b4d583dad72061343 test/results/test0102-amd64-binary
df5319bfca446a006591fdf54fabfa6069d8eaecf5ed3ffa2d725aa9dd43ea07 test/results/test0102-armv7l-binary
801bda8a34306f4246b8f5a6b84f96ecce49cc41a6af307304e986ab47ac9f1b test/results/test0102-knight-posix-binary
3143bcdc4089bebbe5d73ccc224611732524e38e2064c3ce3e3ce4329a900a97 test/results/test0102-riscv64-binary
5530eaa67a2b5c69de3f4ae35a7bd0cee04e9590ed019bca4710b95cf55f8e2c test/results/test0102-x86-binary
26c45c99e52fb190bf7edee34871efd5b2a9ab2e6015d230b65d8a9bb392ffab test/results/test0103-aarch64-binary
95a3940a793a5ca5e628c026f4d74d54d735c21c5292e49d2a4ce75a4106cf7a test/results/test0103-amd64-binary
053435f9f9dfeef2a1915b7dfcb79ebab739fa1eda07f18c82d73c30b6ec7a78 test/results/test0103-armv7l-binary
074bc201b8fa18ad990f4bcef719c545338f5a16d5f2e65a6887c40e4c725da8 test/results/test0103-knight-posix-binary
df66401e39c9547e7da54b60685aaf0d41a1ffb8b92af0b215243ea4f0423a20 test/results/test0103-riscv64-binary
f9422c80fe6f61b8d980f5732165fb3f5de3e936c3255b31e9ce54b5d226aa02 test/results/test0103-x86-binary
55b956ce08ff2686a1776f05a67520b6155b714590227fd873613dfdda0b412c test/results/test0104-aarch64-binary
beb37159c9d3555023feebeeb80be84f6731d21784116ba41631c0e9789ff911 test/results/test0104-amd64-binary
210d0c33d7936e59898b2ab5b368fda190bf0805d626d1d7ecac8294c6ae29ab test/results/test0104-armv7l-binary
09e75b87ff997c1d69d06e9a231c87798ce91c9832afc6e521d75ee4fee50e2d test/results/test0104-riscv64-binary
ee06037811ee75d750a34ada90a04d18001506b833717339b186ebedeeba2632 test/results/test0104-x86-binary
4583b98a125dca7a1b870e95ffd7aa2cb9054ff03b803d1606adf5004a0463ad test/results/test0105-aarch64-binary
037f3ff2d1d60c329a2cc02b776dc437cb690ab9848b4d8bb7de42383b0c2f00 test/results/test0105-amd64-binary
ed830495864dd849ccd8896a728a52bde9be179690db808f7e14144cf3dcbfa3 test/results/test0105-armv7l-binary
e831f44d688f3e73b35dcb17a3eb5b2ecd72005f5c407d89770508ff98863f9e test/results/test0105-riscv64-binary
b02855fed0b4040ab8b7f2711b62967032b7cb52135dd3187e29642713c311fe test/results/test0105-x86-binary
eb1f6aab09a1a4966f9f49a518d8aa03ca97aa7c46e443871d758a306671a85e test/results/test0106-aarch64-binary
a1b650855e716d79db70c37b95adb3e6527a881217ebb118db976fb18b170a8d test/results/test0106-amd64-binary
15f5b35c7b10be4b41fde817fb529d950d1f06b0cb890a2dbae0cb66a203463f test/results/test0106-armv7l-binary
1abb9b84c4a75d6e9cd2da1f7eba82cd7e12942874130e57ce07e00309bf0b85 test/results/test0106-knight-native-binary
a2cbfd5f76d3be8049c6737e3fa02f191caf29b6885db006fa23f86e6eacc186 test/results/test0106-knight-posix-binary
d75e450e2fcdf19df63f9d6a3fe5e032933e57b33f6f06b39a8ed2f3dc759f17 test/results/test0106-riscv64-binary
473cc504d6cba9eaf648abcf15c83a317ff3f4a7f08f5e8936e3b35b2cc4fbc6 test/results/test0106-x86-binary
3de397f4aaff8674f001bac848e1e8038faaccd459af222fbc619398046d549b test/results/test1000-aarch64-binary
b566a9672a057beba29c965aeca6894d1702f216ea5bd0638b9c6220671cd718 test/results/test1000-amd64-binary
fc0c51786323221b2dbc98aae90bdd61ab589664983bad4f253228396e83c905 test/results/test1000-armv7l-binary
5b35608bab4abb2d457b782bd42dd461cdc554eaf30d942a8d551a3d39752b6f test/results/test1000-knight-posix-binary
945033b4cd336a5458c87aca8ac02543ce9644200fa99e829bd291b47c1f3549 test/results/test1000-riscv64-binary
0df1fb236f7c956f9a9a4544294414706f94be9de5b26952f58ecd4172c830fa test/results/test1000-x86-binary
bc7b8066f4c962687c1978589c44e47b10205836eda99d15139d454deacae210 test/results/test0100-aarch64-binary
f7aaaf23a57a0c8ebbab3db002984a39f297ada3c3f188ffbeb2018e4aea1144 test/results/test0100-amd64-binary
2ee0114cd2f4050cd3a2f34e8297b5088a29e4c147c46c18afbcc42d6c73867e test/results/test0100-armv7l-binary
f33805f3089b4905b2235cfb2564514984d3787cb7bde40bb5a381f6c0240dd8 test/results/test0100-knight-posix-binary
21e2a1b60419f1f516d45a7046d7d33b746cce044f8f8d2a7167af7314a6625d test/results/test0100-riscv64-binary
3c1d9ecf13abb8f6f73bae9d7178cf2595e25af88b9aafbf4594f630de834a77 test/results/test0100-x86-binary
03bc5e36c6288e1902d895da515b8b73d01a6c7509e11e303f6e8b970eeeafe3 test/results/test0101-aarch64-binary
fbaecdcf3b498d5e1359ab0e9571371634c89cf92bab2e9f25efdfd3d120d6a8 test/results/test0101-amd64-binary
63edf755c2198dbca7d6515a3f0f7cfd970888df8f1a81fcc5645d2c4ef9e754 test/results/test0101-armv7l-binary
a1a9c68ed159e29a6c9f9d064cbb73f396689d396b9e850c81c59c78f7deb1dd test/results/test0101-knight-posix-binary
bea8acc1e21aa3781e97d4e7a6100c4fa8bb96b630de38a4fe1c6eca36555a10 test/results/test0101-riscv64-binary
782fba9f2c52a0caaae9b75cf4c465c4573ca93c8ab545881c37e6589dbe664c test/results/test0101-x86-binary
a02e4fb322e9e6e94fcbc33129911621f5cccf1b3e3c56d470e68c39a6111cf6 test/results/test0102-aarch64-binary
8ff71e6942132fc91d281a977a6ad2ab8de99d32c4d3bd960343e9aff5a26ef6 test/results/test0102-amd64-binary
cb90bbdce14c05f02290745ea4d5d785595dc1f9fbea3f277839fafe972a1989 test/results/test0102-armv7l-binary
7904a16f8b371c588f328e83659925313baff70fc8ebb958156be4ba67e95f97 test/results/test0102-knight-posix-binary
ba3eb25da395863f7f9fe00590253294042d26535f8882ef21d3ec43998ba2a2 test/results/test0102-riscv64-binary
3f4d083fdcf994ab34beaa549347bd72d73d68f21388b0654ac34d70a6bc11fd test/results/test0102-x86-binary
7c17c26b6dd241b62f9494baf83d2e6b77d9f5e94716400e80de6e366e87dcb4 test/results/test0103-aarch64-binary
27a8b435bc04b9fcfaeb0299bd6d3f25fb24a84e69ad796ce0b785419f427e2d test/results/test0103-amd64-binary
d4b5bf34ab6d5d04f1105cf516ddba8920486605c769b8a02d242b6add597732 test/results/test0103-armv7l-binary
4fe8ff1e7a0190fe729762ef3c68f6edfd1ef87fd9d5f6a73283afe31effa7b2 test/results/test0103-knight-posix-binary
7c66d4e5e7b415bc07f7df0560a4b91eb64848ff7ec0a2ae11118c154e337e55 test/results/test0103-riscv64-binary
a3b37250faec204f5a586b1d77918d2cf28da0e1540721ecd338bc2b68e190fe test/results/test0103-x86-binary
a9d978e126a8dc610267ac100468702e08a3f8225b4c3806f4ab3fb3a47efa82 test/results/test0104-aarch64-binary
fdaa893735c256bdb0e38b2494327204aa993c476323e1cc0705200485476f66 test/results/test0104-amd64-binary
29cad20be8f484c4f48185950dc5320bcaad00f4754933cc14362f62960c4d83 test/results/test0104-armv7l-binary
9c969ee97d9bae4820d095cd5142406de39cf6314c43d7a0ca7f21c7470df43a test/results/test0104-riscv64-binary
0c0dc9d8de046b66ef0471d93fa62e73c8ad7cb0bee04296bdfd0a188c6afc07 test/results/test0104-x86-binary
bec3cc74fed0da8e85c796ff0b2ce9c208afd09cbc30262d2756a1fa642435fa test/results/test0105-aarch64-binary
bb8c4ecd5f0f1c0207172c9a620d1ddf8053f055a27d45a91352bacf2c2d9b87 test/results/test0105-amd64-binary
3a84255a9d7aa09e614d23185e7833163f2b585f9da7c5b8b67a324fb3a2a273 test/results/test0105-armv7l-binary
252ff089282c2709d080d12d153a147325bf189051bbcdf61621e3bd75047a65 test/results/test0105-riscv64-binary
e3f065cfde707da8fceb10fdcb3d4b09700b3bec1b415bbf098a8bf33415f98a test/results/test0105-x86-binary
f6dcbbd470aa14a665a3347087c868a0b55792748ebb458d5d092dc78391503f test/results/test0106-aarch64-binary
11215a573083a9b65ad567b60461cf9c0fb05ca700dad2ae9a89658a8a457964 test/results/test0106-amd64-binary
6c150f483362cb029a4bbb41dccf1912b4d7c1c11e86823ce507401c82e7009e test/results/test0106-armv7l-binary
ccdc95fb5ba55b25ed54ab69e9d733fb94773322a16dfd211adb320f6ab1f44c test/results/test0106-knight-native-binary
c23c7615009ab8824ce7c2c60051a0e86bae85a6c1b62f3d0f34fd4d4c691aed test/results/test0106-knight-posix-binary
55ad174b3664907997e44dbba37a3293af685c7147e21c61f5aab1aed4139644 test/results/test0106-riscv64-binary
4fdc00c91b376ac7ec04bebdd264cf0ac1b7024f33f9a4cdcc3d43788e1278a7 test/results/test0106-x86-binary
65f19e8671d6ddf5b00e5a7d4e76474eddcf9f9c7b0fc7d4e3aa7f2f00b08c28 test/results/test1000-aarch64-binary
eb755c38ba372c63ce902b4da6a745df998dcebf87d70d50e7917e8d1e5eee6a test/results/test1000-amd64-binary
d1455f12ebd14b6be8376c380d731b979e38eba9ed4b6ce4e3d4aaa4b6afe3a3 test/results/test1000-armv7l-binary
ef3bb91d20dfa977c885a8819f14d34d980d046205532b72efb5610b2f73d806 test/results/test1000-knight-posix-binary
7661129da61338dcdcbdd0a4f6ea9c55c6de3e220faf4bf90b712b4cd8992265 test/results/test1000-riscv64-binary
f20683c8b45de577f0283cb7a102a1b05bd33a213ddbb7065df425b3b3be8a91 test/results/test1000-x86-binary

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0001/library_call.c \
-o ${TMPDIR}/library_call.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0001/library_call.c \
-o ${TMPDIR}/library_call.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0001/library_call.c \
-o ${TMPDIR}/library_call.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0002/if.c \
-o ${TMPDIR}/if.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0002/if.c \
-o ${TMPDIR}/if.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0002/if.c \
-o ${TMPDIR}/if.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0003/constant.c \
-o ${TMPDIR}/constant.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0003/constant.c \
-o ${TMPDIR}/constant.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0003/constant.c \
-o ${TMPDIR}/constant.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0004/call.c \
-o ${TMPDIR}/call.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0004/call.c \
-o ${TMPDIR}/call.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0004/call.c \
-o ${TMPDIR}/call.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0005/string.c \
-o ${TMPDIR}/string.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0005/string.c \
-o ${TMPDIR}/string.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0005/string.c \
-o ${TMPDIR}/string.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0006/for.c \
-o ${TMPDIR}/for.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0006/for.c \
-o ${TMPDIR}/for.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0006/for.c \
-o ${TMPDIR}/for.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0007/do.c \
-o ${TMPDIR}/do.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0007/do.c \
-o ${TMPDIR}/do.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0007/do.c \
-o ${TMPDIR}/do.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0008/struct.c \
-o ${TMPDIR}/struct.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0008/struct.c \
-o ${TMPDIR}/struct.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0008/struct.c \
--debug \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0009/goto.c \
-o ${TMPDIR}/goto.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0009/goto.c \
-o ${TMPDIR}/goto.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0009/goto.c \
-o ${TMPDIR}/goto.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0010/nested_struct.c \
-o ${TMPDIR}/nested_struct.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0010/nested_struct.c \
-o ${TMPDIR}/nested_struct.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0010/nested_struct.c \
-o ${TMPDIR}/nested_struct.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0011/break-do.c \
-o ${TMPDIR}/break-do.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0011/break-do.c \
-o ${TMPDIR}/break-do.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0011/break-do.c \
-o ${TMPDIR}/break-do.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0012/break-for.c \
-o ${TMPDIR}/break-for.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0012/break-for.c \
-o ${TMPDIR}/break-for.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0012/break-for.c \
-o ${TMPDIR}/break-for.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0013/break-while.c \
-o ${TMPDIR}/break-while.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0013/break-while.c \
-o ${TMPDIR}/break-while.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0013/break-while.c \
-o ${TMPDIR}/break-while.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0014/basic_args.c \
-o ${TMPDIR}/basic_args.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0014/basic_args.c \
-o ${TMPDIR}/basic_args.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0015/file_read.c \
-o ${TMPDIR}/file_read.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0015/file_read.c \
-o ${TMPDIR}/file_read.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0016/file_write.c \
-o ${TMPDIR}/file_write.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0016/file_write.c \
-o ${TMPDIR}/file_write.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0017/memset.c \
-o ${TMPDIR}/memset.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0017/memset.c \
-o ${TMPDIR}/memset.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0017/memset.c \
-o ${TMPDIR}/memset.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0018/math.c \
-o ${TMPDIR}/math.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0018/math.c \
-o ${TMPDIR}/math.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0018/math.c \
-o ${TMPDIR}/math.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0019/getopt.c \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0019/getopt.c \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0020/struct.c \
-o ${TMPDIR}/struct.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0020/struct.c \
-o ${TMPDIR}/struct.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0020/struct.c \
-o ${TMPDIR}/struct.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0021/chdir.c \
-o ${TMPDIR}/chdir.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0021/chdir.c \
--debug \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0022/continue.c \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0022/continue.c \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0023/fseek.c \
-o ${TMPDIR}/fseek.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0023/fseek.c \
--debug \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0025/array.c \
--debug \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0026/multi-array.c \
--debug \

View File

@ -27,8 +27,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0100/blood-elf.c \
-o ${TMPDIR}/blood-elf.M1 \

View File

@ -30,8 +30,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0100/blood-elf.c \
--debug \

View File

@ -27,9 +27,9 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/knight/Linux/sys/stat.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c\
-f test/test0101/hex2_linker.c \

View File

@ -30,9 +30,9 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/${ARCH}/Linux/sys/stat.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0101/hex2_linker.c \

View File

@ -27,8 +27,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0102/M1-macro.c \

View File

@ -30,8 +30,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0102/M1-macro.c \

View File

@ -27,8 +27,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0103/get_machine.c \
-o ${TMPDIR}/get_machine.M1 \

View File

@ -30,8 +30,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0103/get_machine.c \
--debug \

View File

@ -30,8 +30,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0104/kaem.c \

View File

@ -30,8 +30,8 @@ mkdir -p ${TMPDIR}
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f M2libc/bootstrappable.c \
-f test/test0105/lisp.h \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Native/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Native/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0106/cc500.c \
-o ${TMPDIR}/cc0.M1 \

View File

@ -27,8 +27,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/knight/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/knight/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0106/cc500.c \
-o ${TMPDIR}/cc0.M1 \

View File

@ -30,8 +30,8 @@ bin/M2-Planet \
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/${ARCH}/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/${ARCH}/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f test/test0106/cc500.c \
-o ${TMPDIR}/cc0.M1 \

View File

@ -78,8 +78,8 @@ then
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/x86/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/x86/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f cc.h \
-f M2libc/bootstrappable.c \

View File

@ -78,8 +78,8 @@ then
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/x86/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/x86/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f cc.h \
-f M2libc/bootstrappable.c \

View File

@ -77,8 +77,8 @@ then
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/x86/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/x86/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f cc.h \
-f M2libc/bootstrappable.c \

View File

@ -69,8 +69,8 @@ then
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/x86/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/x86/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f cc.h \
-f M2libc/bootstrappable.c \

View File

@ -78,8 +78,8 @@ then
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/x86/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/x86/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f cc.h \
-f M2libc/bootstrappable.c \

View File

@ -77,8 +77,8 @@ then
-f M2libc/sys/types.h \
-f M2libc/stddef.h \
-f M2libc/x86/Linux/unistd.h \
-f M2libc/stdlib.c \
-f M2libc/x86/Linux/fcntl.h \
-f M2libc/stdlib.c \
-f M2libc/stdio.c \
-f cc.h \
-f M2libc/bootstrappable.c \

View File

@ -1 +1 @@
a8e351177a9ff12c57f50384108431d8d7620f6ed5e553895e0c4db853f6ca9b test/test1000/proof
0420109085507925699e0e5a46fcd83cf44a7a45275742702ab29c35e9ac6702 test/test1000/proof