Browse Source

fesvr: Add --symbol-elf flag to populate htif-t::symbol_elfs

pull/1274/head
Jerry Zhao 3 years ago
parent
commit
ca2b1000db
  1. 7
      fesvr/htif.cc
  2. 3
      fesvr/htif.h

7
fesvr/htif.cc

@ -345,6 +345,9 @@ void htif_t::parse_arguments(int argc, char ** argv)
case HTIF_LONG_OPTIONS_OPTIND + 6:
targs.push_back(optarg);
break;
case HTIF_LONG_OPTIONS_OPTIND + 7:
symbol_elfs.push_back(optarg);
break;
case '?':
if (!opterr)
break;
@ -387,6 +390,10 @@ void htif_t::parse_arguments(int argc, char ** argv)
c = HTIF_LONG_OPTIONS_OPTIND + 6;
optarg = optarg + 17;
}
else if (arg.find("+symbol-elf=") == 0) {
c = HTIF_LONG_OPTIONS_OPTIND + 7;
optarg = optarg + 12;
}
else if (arg.find("+permissive-off") == 0) {
if (opterr)
throw std::invalid_argument("Found +permissive-off when not parsing permissively");

3
fesvr/htif.h

@ -128,6 +128,8 @@ class htif_t : public chunked_memif_t
+chroot=PATH\n\
--payload=PATH Load PATH memory as an additional ELF payload\n\
+payload=PATH\n\
--symbol-elf=PATH Populate the symbol table with the ELF file at PATH\n\
+symbol-elf=PATH\n\
\n\
HOST OPTIONS (currently unsupported)\n\
--disk=DISK Add DISK device. Use a ramdisk since this isn't\n\
@ -147,6 +149,7 @@ TARGET (RISC-V BINARY) OPTIONS\n\
{"payload", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 4 }, \
{"signature-granularity", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 5 }, \
{"target-argument", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 6 }, \
{"symbol-elf", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 7 }, \
{0, 0, 0, 0}
#endif // __HTIF_H

Loading…
Cancel
Save