@@ -42,27 +42,28 @@ int linker_script_merget::add_linker_script_definitions()
4242 return 0 ;
4343
4444 jsont data;
45- fail= parse_json (linker_def_outfile (), get_message_handler (), data);
45+ fail = parse_json (linker_def_outfile (), log. get_message_handler (), data);
4646 if (fail!=0 )
4747 {
48- error () << " Problem parsing linker script JSON data" << eom;
48+ log. error () << " Problem parsing linker script JSON data" << messaget:: eom;
4949 return fail;
5050 }
5151
5252 fail=linker_data_is_malformed (data);
5353 if (fail!=0 )
5454 {
55- error () << " Malformed linker-script JSON document" << eom;
56- data.output (error ());
55+ log. error () << " Malformed linker-script JSON document" << messaget:: eom;
56+ data.output (log. error ());
5757 return fail;
5858 }
5959
6060 auto original_goto_model =
61- read_goto_binary (goto_binary, get_message_handler ());
61+ read_goto_binary (goto_binary, log. get_message_handler ());
6262
6363 if (!original_goto_model.has_value ())
6464 {
65- error () << " Unable to read goto binary for linker script merging" << eom;
65+ log.error () << " Unable to read goto binary for linker script merging"
66+ << messaget::eom;
6667 return 1 ;
6768 }
6869
@@ -72,8 +73,8 @@ int linker_script_merget::add_linker_script_definitions()
7273 original_goto_model->goto_functions .function_map .find (INITIALIZE_FUNCTION);
7374 if (pair == original_goto_model->goto_functions .function_map .end ())
7475 {
75- error () << " No " << INITIALIZE_FUNCTION << " found in goto_functions"
76- << eom;
76+ log. error () << " No " << INITIALIZE_FUNCTION << " found in goto_functions"
77+ << messaget:: eom;
7778 return fail;
7879 }
7980 fail = ls_data2instructions (
@@ -84,7 +85,8 @@ int linker_script_merget::add_linker_script_definitions()
8485 linker_values);
8586 if (fail!=0 )
8687 {
87- error () << " Could not add linkerscript defs to " INITIALIZE_FUNCTION << eom;
88+ log.error () << " Could not add linkerscript defs to " INITIALIZE_FUNCTION
89+ << messaget::eom;
8890 return fail;
8991 }
9092
@@ -99,14 +101,18 @@ int linker_script_merget::add_linker_script_definitions()
99101
100102 if (fail!=0 )
101103 {
102- error () << " Could not pointerize all linker-defined expressions" << eom;
104+ log.error () << " Could not pointerize all linker-defined expressions"
105+ << messaget::eom;
103106 return fail;
104107 }
105108
106109 fail = compiler.write_bin_object_file (goto_binary, *original_goto_model);
107110
108111 if (fail!=0 )
109- error () << " Could not write linkerscript-augmented binary" << eom;
112+ {
113+ log.error () << " Could not write linkerscript-augmented binary"
114+ << messaget::eom;
115+ }
110116
111117 return fail;
112118}
@@ -117,11 +123,11 @@ linker_script_merget::linker_script_merget(
117123 const std::string &goto_binary,
118124 const cmdlinet &cmdline,
119125 message_handlert &message_handler)
120- : messaget(message_handler),
121- compiler(compiler),
126+ : compiler(compiler),
122127 elf_binary(elf_binary),
123128 goto_binary(goto_binary),
124129 cmdline(cmdline),
130+ log(message_handler),
125131 replacement_predicates(
126132 {replacement_predicatet (
127133 " address of array's first member" ,
@@ -225,8 +231,8 @@ int linker_script_merget::pointerize_linker_defined_symbols(
225231
226232 if (to_pointerize.empty ())
227233 continue ;
228- debug () << " Pointerizing the symbol-table value of symbol " << pair. first
229- << eom;
234+ log. debug () << " Pointerizing the symbol-table value of symbol "
235+ << pair. first << messaget:: eom;
230236 int fail = pointerize_subexprs_of (
231237 goto_model.symbol_table .get_writeable_ref (pair.first ).value ,
232238 to_pointerize,
@@ -235,10 +241,12 @@ int linker_script_merget::pointerize_linker_defined_symbols(
235241 continue ;
236242 ret=1 ;
237243 for (const auto &sym : to_pointerize)
238- error () << " Could not pointerize '" << sym.get_identifier ()
239- << " ' in symbol table entry " << pair.first << " . Pretty:\n "
240- << sym.pretty () << " \n " ;
241- error () << eom;
244+ {
245+ log.error () << " Could not pointerize '" << sym.get_identifier ()
246+ << " ' in symbol table entry " << pair.first << " . Pretty:\n "
247+ << sym.pretty () << " \n " ;
248+ }
249+ log.error () << messaget::eom;
242250 }
243251
244252 // Finally, pointerize all occurrences of linker-defined symbols in the
@@ -254,19 +262,19 @@ int linker_script_merget::pointerize_linker_defined_symbols(
254262 symbols_to_pointerize (linker_values, *insts, to_pointerize);
255263 if (to_pointerize.empty ())
256264 continue ;
257- debug () << " Pointerizing a program expression..." << eom;
265+ log. debug () << " Pointerizing a program expression..." << messaget:: eom;
258266 int fail = pointerize_subexprs_of (*insts, to_pointerize, linker_values);
259267 if (to_pointerize.empty () && fail==0 )
260268 continue ;
261269 ret=1 ;
262270 for (const auto &sym : to_pointerize)
263271 {
264- error () << " Could not pointerize '" << sym.get_identifier ()
265- << " ' in function " << gf.first << " . Pretty:\n "
266- << sym.pretty () << " \n " ;
267- error ().source_location = iit->source_location ;
272+ log. error () << " Could not pointerize '" << sym.get_identifier ()
273+ << " ' in function " << gf.first << " . Pretty:\n "
274+ << sym.pretty () << " \n " ;
275+ log. error ().source_location = iit->source_location ;
268276 }
269- error () << eom;
277+ log. error () << messaget:: eom;
270278 }
271279 }
272280 }
@@ -283,14 +291,14 @@ int linker_script_merget::replace_expr(
283291 auto it=linker_values.find (ident);
284292 if (it==linker_values.end ())
285293 {
286- error () << " Could not find a new expression for linker script-defined "
287- << " symbol '" << ident << " '" << eom;
294+ log. error () << " Could not find a new expression for linker script-defined "
295+ << " symbol '" << ident << " '" << messaget:: eom;
288296 return 1 ;
289297 }
290298 symbol_exprt new_expr=it->second .first ;
291299 new_expr.add_source_location ()=old_symbol.source_location ();
292- debug () << " Pointerizing linker-defined symbol '" << ident << " ' of shape < "
293- << shape << " >." << eom;
300+ log. debug () << " Pointerizing linker-defined symbol '" << ident
301+ << " ' of shape <" << shape << " >." << messaget:: eom;
294302 old_expr=new_expr;
295303 return 0 ;
296304}
@@ -318,8 +326,8 @@ int linker_script_merget::pointerize_subexprs_of(
318326 if (result==to_pointerize.end ())
319327 {
320328 fail=1 ;
321- error () << " Too many removals of '" << inner_symbol.get_identifier ()
322- << " '" << eom;
329+ log. error () << " Too many removals of '" << inner_symbol.get_identifier ()
330+ << " '" << messaget:: eom;
323331 }
324332 else
325333 to_pointerize.erase (result);
@@ -427,9 +435,9 @@ int linker_script_merget::ls_data2instructions(
427435 mp_integer array_size = string2integer (d[" size" ].value );
428436 if (array_size > MAX_FLATTENED_ARRAY_SIZE)
429437 {
430- warning () << " Object section '" << d[" section" ].value << " ' of size "
431- << array_size << " is too large to model. Truncating to "
432- << MAX_FLATTENED_ARRAY_SIZE << " bytes" << eom;
438+ log. warning () << " Object section '" << d[" section" ].value << " ' of size "
439+ << array_size << " is too large to model. Truncating to "
440+ << MAX_FLATTENED_ARRAY_SIZE << " bytes" << messaget:: eom;
433441 array_size=MAX_FLATTENED_ARRAY_SIZE;
434442 if (!has_end)
435443 truncated_symbols[d[" size-symbol" ].value ]=MAX_FLATTENED_ARRAY_SIZE;
@@ -466,8 +474,9 @@ int linker_script_merget::ls_data2instructions(
466474 });
467475 if (it == to_json_array (data[" addresses" ]).end ())
468476 {
469- error () << " Start: Could not find address corresponding to symbol '"
470- << d[" start-symbol" ].value << " ' (start of section)" << eom;
477+ log.error () << " Start: Could not find address corresponding to symbol '"
478+ << d[" start-symbol" ].value << " ' (start of section)"
479+ << messaget::eom;
471480 return 1 ;
472481 }
473482 source_locationt start_loc;
@@ -502,8 +511,9 @@ int linker_script_merget::ls_data2instructions(
502511 });
503512 if (entry == to_json_array (data[" addresses" ]).end ())
504513 {
505- error () << " Could not find address corresponding to symbol '"
506- << d[" end-symbol" ].value << " ' (end of section)" << eom;
514+ log.debug () << " Could not find address corresponding to symbol '"
515+ << d[" end-symbol" ].value << " ' (end of section)"
516+ << messaget::eom;
507517 return 1 ;
508518 }
509519 source_locationt end_loc;
@@ -566,10 +576,11 @@ int linker_script_merget::ls_data2instructions(
566576 symbol_value=d[" val" ].value ;
567577 else
568578 {
569- debug () << " Truncating the value of symbol " << d[" sym" ].value << " from "
570- << d[" val" ].value << " to " << MAX_FLATTENED_ARRAY_SIZE
571- << " because it corresponds to the size of a too-large section."
572- << eom;
579+ log.debug ()
580+ << " Truncating the value of symbol " << d[" sym" ].value << " from "
581+ << d[" val" ].value << " to " << MAX_FLATTENED_ARRAY_SIZE
582+ << " because it corresponds to the size of a too-large section."
583+ << messaget::eom;
573584 symbol_value=std::to_string (MAX_FLATTENED_ARRAY_SIZE);
574585 }
575586
@@ -685,8 +696,8 @@ int linker_script_merget::get_linker_script_data(
685696 linker_defined_symbols.begin (),
686697 linker_defined_symbols.end (),
687698 std::ostream_iterator<irep_idt>(linker_def_str, " \n " ));
688- debug () << " Linker-defined symbols: [" << linker_def_str.str () << " ]\n "
689- << eom;
699+ log. debug () << " Linker-defined symbols: [" << linker_def_str.str () << " ]\n "
700+ << messaget:: eom;
690701
691702 temporary_filet linker_def_infile (" goto-cc-linker-defs" , " " );
692703 std::ofstream linker_def_file (linker_def_infile ());
@@ -702,19 +713,19 @@ int linker_script_merget::get_linker_script_data(
702713 " --out-file" , def_out_file
703714 };
704715
705- if (get_message_handler ().get_verbosity () >= messaget::M_DEBUG)
716+ if (log. get_message_handler ().get_verbosity () >= messaget::M_DEBUG)
706717 argv.push_back (" --very-verbose" );
707- else if (get_message_handler ().get_verbosity () > messaget::M_RESULT)
718+ else if (log. get_message_handler ().get_verbosity () > messaget::M_RESULT)
708719 argv.push_back (" --verbose" );
709720
710- debug () << " RUN:" ;
721+ log. debug () << " RUN:" ;
711722 for (std::size_t i=0 ; i<argv.size (); i++)
712- debug () << " " << argv[i];
713- debug () << eom;
723+ log. debug () << " " << argv[i];
724+ log. debug () << messaget:: eom;
714725
715726 int rc = run (argv[0 ], argv, linker_def_infile (), def_out_file, " " );
716727 if (rc!=0 )
717- warning () << " Problem parsing linker script" << eom;
728+ log. warning () << " Problem parsing linker script" << messaget:: eom;
718729
719730 return rc;
720731}
@@ -728,8 +739,9 @@ int linker_script_merget::goto_and_object_mismatch(
728739 if (linker_values.find (sym)==linker_values.end ())
729740 {
730741 fail=1 ;
731- error () << " Variable '" << sym << " ' was declared extern but never given "
732- << " a value, even in a linker script" << eom;
742+ log.error () << " Variable '" << sym
743+ << " ' was declared extern but never given "
744+ << " a value, even in a linker script" << messaget::eom;
733745 }
734746
735747 for (const auto &pair : linker_values)
@@ -739,10 +751,11 @@ int linker_script_merget::goto_and_object_mismatch(
739751 if (it==linker_defined_symbols.end ())
740752 {
741753 fail=1 ;
742- error () << " Linker script-defined symbol '" << pair.first << " ' was "
743- << " either defined in the C source code, not declared extern in "
744- << " the C source code, or does not appear in the C source code"
745- << eom;
754+ log.error ()
755+ << " Linker script-defined symbol '" << pair.first << " ' was "
756+ << " either defined in the C source code, not declared extern in "
757+ << " the C source code, or does not appear in the C source code"
758+ << messaget::eom;
746759 }
747760 }
748761 return fail;
0 commit comments