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: case HTIF_LONG_OPTIONS_OPTIND + 6:
targs.push_back(optarg); targs.push_back(optarg);
break; break;
case HTIF_LONG_OPTIONS_OPTIND + 7:
symbol_elfs.push_back(optarg);
break;
case '?': case '?':
if (!opterr) if (!opterr)
break; break;
@ -387,6 +390,10 @@ void htif_t::parse_arguments(int argc, char ** argv)
c = HTIF_LONG_OPTIONS_OPTIND + 6; c = HTIF_LONG_OPTIONS_OPTIND + 6;
optarg = optarg + 17; 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) { else if (arg.find("+permissive-off") == 0) {
if (opterr) if (opterr)
throw std::invalid_argument("Found +permissive-off when not parsing permissively"); 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\ +chroot=PATH\n\
--payload=PATH Load PATH memory as an additional ELF payload\n\ --payload=PATH Load PATH memory as an additional ELF payload\n\
+payload=PATH\n\ +payload=PATH\n\
--symbol-elf=PATH Populate the symbol table with the ELF file at PATH\n\
+symbol-elf=PATH\n\
\n\ \n\
HOST OPTIONS (currently unsupported)\n\ HOST OPTIONS (currently unsupported)\n\
--disk=DISK Add DISK device. Use a ramdisk since this isn't\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 }, \ {"payload", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 4 }, \
{"signature-granularity", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 5 }, \ {"signature-granularity", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 5 }, \
{"target-argument", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 6 }, \ {"target-argument", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 6 }, \
{"symbol-elf", required_argument, 0, HTIF_LONG_OPTIONS_OPTIND + 7 }, \
{0, 0, 0, 0} {0, 0, 0, 0}
#endif // __HTIF_H #endif // __HTIF_H

Loading…
Cancel
Save