summaryrefslogtreecommitdiff
path: root/kernel/driver.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/driver.cc')
-rw-r--r--kernel/driver.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/driver.cc b/kernel/driver.cc
index e95ef48d..116df542 100644
--- a/kernel/driver.cc
+++ b/kernel/driver.cc
@@ -127,6 +127,9 @@ int main(int argc, char **argv)
printf(" -l logfile\n");
printf(" write log messages to the specified file\n");
printf("\n");
+ printf(" -L logfile\n");
+ printf(" like -l but open log file in line buffered mode\n");
+ printf("\n");
printf(" -o outfile\n");
printf(" write the design to the specified file on exit\n");
printf("\n");
@@ -183,7 +186,7 @@ int main(int argc, char **argv)
}
int opt;
- while ((opt = getopt(argc, argv, "MXAQTVSm:f:Hh:b:o:p:l:qv:tds:c:")) != -1)
+ while ((opt = getopt(argc, argv, "MXAQTVSm:f:Hh:b:o:p:l:L:qv:tds:c:")) != -1)
{
switch (opt)
{
@@ -231,11 +234,14 @@ int main(int argc, char **argv)
got_output_filename = true;
break;
case 'l':
+ case 'L':
log_files.push_back(fopen(optarg, "wt"));
if (log_files.back() == NULL) {
fprintf(stderr, "Can't open log file `%s' for writing!\n", optarg);
exit(1);
}
+ if (opt == 'L')
+ setvbuf(log_files.back(), NULL, _IOLBF, 0);
break;
case 'q':
mode_q = true;