[PATCH v2 2/5] rtems-exeinfo.cpp: Restore ostream format
Ryan Long
ryan.long at oarcorp.com
Tue Jul 20 15:06:54 UTC 2021
CID 1503006: Not restoring ostream format
CID 1503007: Not restoring ostream format
Used a variable to store the format of the ostream before any changes,
and copied what was originally there back into the stream before
returning from the function.
Closes #4469
---
linkers/rtems-exeinfo.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/linkers/rtems-exeinfo.cpp b/linkers/rtems-exeinfo.cpp
index 6e92206..9857e47 100644
--- a/linkers/rtems-exeinfo.cpp
+++ b/linkers/rtems-exeinfo.cpp
@@ -31,6 +31,7 @@
#endif
#include <iostream>
+#include <fstream>
#include <iomanip>
#include <cxxabi.h>
@@ -47,11 +48,14 @@
#include <rld-files.h>
#include <rld-process.h>
#include <rld-rtems.h>
+#include <rtems-utils.h>
#ifndef HAVE_KILL
#define kill(p,s) raise(s)
#endif
+typedef rtems::utils::ostream_guard ostream_guard;
+
namespace rld
{
namespace exeinfo
@@ -366,6 +370,7 @@ namespace rld
*/
rld::strings all_flags;
+ ostream_guard old_state( std::cout );
size_t source_max = 0;
@@ -632,6 +637,8 @@ namespace rld
void image::output_tls ()
{
+ ostream_guard old_state( std::cout );
+
symbols::symbol* tls_data_begin = symbols.find_global("_TLS_Data_begin");
symbols::symbol* tls_data_end = symbols.find_global("_TLS_Data_end");
symbols::symbol* tls_data_size = symbols.find_global("_TLS_Data_size");
--
1.8.3.1
More information about the devel
mailing list