aboutsummaryrefslogtreecommitdiff
path: root/c_emulator
diff options
context:
space:
mode:
authorAlex Richardson <alexrichardson@google.com>2022-08-22 16:32:12 +0000
committerRobert Norton <1412774+rmn30@users.noreply.github.com>2022-08-24 10:00:48 +0100
commitc890f45e670f3accdbecb1fce28f00d390b09ec4 (patch)
tree25a8ef830d16a858e222370f863f593ef5ca8a76 /c_emulator
parent2265a2576fac6d555cfc5f850f78e79c2da56312 (diff)
downloadsail-riscv-c890f45e670f3accdbecb1fce28f00d390b09ec4.zip
sail-riscv-c890f45e670f3accdbecb1fce28f00d390b09ec4.tar.gz
sail-riscv-c890f45e670f3accdbecb1fce28f00d390b09ec4.tar.bz2
Allow building without -fcommon
The sail C code generator will emit definions for these structs. The duplicate definition linker error were worked around by adding -fcommon in ffea7a39c32a210a446379aeda0eabcec4918ed6. This commit fixes the underlying issue by declaring the variables as `extern`.
Diffstat (limited to 'c_emulator')
-rw-r--r--c_emulator/riscv_sail.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/c_emulator/riscv_sail.h b/c_emulator/riscv_sail.h
index cac8316..bc5ce04 100644
--- a/c_emulator/riscv_sail.h
+++ b/c_emulator/riscv_sail.h
@@ -7,7 +7,7 @@ typedef int unit;
typedef uint64_t mach_bits;
struct zMisa {mach_bits zMisa_chunk_0;};
-struct zMisa zmisa;
+extern struct zMisa zmisa;
void model_init(void);
void model_fini(void);
@@ -67,6 +67,6 @@ extern mach_bits zsepc, zstval;
extern mach_bits zfloat_result, zfloat_fflags;
struct zMcause {mach_bits zMcause_chunk_0;};
-struct zMcause zmcause, zscause;
+extern struct zMcause zmcause, zscause;
extern mach_bits zminstret;