From: Cary Coutant Date: Sat, 20 Mar 2021 01:41:12 +0000 (-0700) Subject: Use stdout when printing object file names for -t option. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35891b4775d860b6fad15765bbf85be2b8101419;p=binutils-gdb.git Use stdout when printing object file names for -t option. gold/ PR gold/27615 * errors.cc (Errors::trace): New method. (gold_trace): New function. * errors.h (Errors::trace): New method. * gold.h (gold_trace): New function. * object.cc (Input_objects::add_object): Use gold_trace to print object file names. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 9d591df0fec..e6c0d92db6d 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,13 @@ +2021-03-19 Cary Coutant + + PR gold/27615 + * errors.cc (Errors::trace): New method. + (gold_trace): New function. + * errors.h (Errors::trace): New method. + * gold.h (gold_trace): New function. + * object.cc (Input_objects::add_object): Use gold_trace to print + object file names. + 2021-03-19 Cary Coutant PR gold/pr23870 diff --git a/gold/errors.cc b/gold/errors.cc index 755e65d71ff..156fd69c306 100644 --- a/gold/errors.cc +++ b/gold/errors.cc @@ -128,6 +128,15 @@ Errors::info(const char* format, va_list args) fputc('\n', stderr); } +// Print a trace message. + +void +Errors::trace(const char* format, va_list args) +{ + vfprintf(stdout, format, args); + fputc('\n', stdout); +} + // Report an error at a reloc location. template @@ -275,6 +284,17 @@ gold_info(const char* format, ...) va_end(args); } +// Print a trace message (to stdout). + +void +gold_trace(const char* format, ...) +{ + va_list args; + va_start(args, format); + parameters->errors()->trace(format, args); + va_end(args); +} + // Report an error at a location. template diff --git a/gold/errors.h b/gold/errors.h index 34f05cc3612..a6b528c4a6b 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -68,6 +68,10 @@ class Errors void info(const char* format, va_list); + // Print a trace message and continue. + void + trace(const char* format, va_list); + // Report an error at a reloc location. template void diff --git a/gold/gold.h b/gold/gold.h index aa00255df3c..f27542df15d 100644 --- a/gold/gold.h +++ b/gold/gold.h @@ -99,6 +99,10 @@ gold_warning(const char* msg, ...) ATTRIBUTE_PRINTF_1; extern void gold_info(const char* msg, ...) ATTRIBUTE_PRINTF_1; +// This function is called to print a trace message. +extern void +gold_trace(const char* msg, ...) ATTRIBUTE_PRINTF_1; + // This function is called to emit an error message and then // immediately exit with fallback status (e.g., when // --incremental-update fails and the link needs to be restarted diff --git a/gold/object.cc b/gold/object.cc index 5fa6487db5c..45cf30d4aaf 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -3199,7 +3199,7 @@ Input_objects::add_object(Object* obj) { // Print the filename if the -t/--trace option is selected. if (parameters->options().trace()) - gold_info("%s", obj->name().c_str()); + gold_trace("%s", obj->name().c_str()); if (!obj->is_dynamic()) this->relobj_list_.push_back(static_cast(obj));