From 14876b33bc1716aca8eb11950dbfadb5fcaf5cd5 Mon Sep 17 00:00:00 2001 From: Tilmann Bartsch Date: Tue, 9 Jan 2024 19:33:31 +0000 Subject: [PATCH] allow to set tohost/from host via --symbol-elf --- fesvr/htif.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fesvr/htif.cc b/fesvr/htif.cc index 1b69ee8e..13cdc0af 100644 --- a/fesvr/htif.cc +++ b/fesvr/htif.cc @@ -154,13 +154,6 @@ void htif_t::load_program() { std::map symbols = load_payload(targs[0], &entry, load_offset); - if (symbols.count("tohost") && symbols.count("fromhost")) { - tohost_addr = symbols["tohost"]; - fromhost_addr = symbols["fromhost"]; - } else { - fprintf(stderr, "warning: tohost and fromhost symbols not in ELF; can't communicate with target\n"); - } - // detect torture tests so we can print the memory signature at the end if (symbols.count("begin_signature") && symbols.count("end_signature")) { sig_addr = symbols["begin_signature"]; @@ -188,6 +181,13 @@ void htif_t::load_program() symbols.merge(other_symbols); } + if (symbols.count("tohost") && symbols.count("fromhost")) { + tohost_addr = symbols["tohost"]; + fromhost_addr = symbols["fromhost"]; + } else { + fprintf(stderr, "warning: tohost and fromhost symbols not in ELF; can't communicate with target\n"); + } + for (auto i : symbols) { auto it = addr2symbol.find(i.second); if ( it == addr2symbol.end())