Skip to content

Commit 908d62b

Browse files
committed
export-file-local-symbols: handling files with many functions
The use of --export-file-local-symbols entails renaming of file-local (function) symbols with a prefix of __CPROVER_file_local, which had the side effect of those names being added as defines when building hybrid binaries. For files with large numbers of static functions, this resulted in a command-line that exceeds operating-system limits.
1 parent 3da6593 commit 908d62b

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/goto-cc/compile.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,9 @@ bool compilet::add_written_cprover_symbols(const symbol_tablet &symbol_table)
746746
if(!(has_prefix(id2string(name), CPROVER_PREFIX) && new_type.id()==ID_code))
747747
continue;
748748

749+
if(has_prefix(id2string(name), FILE_LOCAL_PREFIX))
750+
continue;
751+
749752
bool inserted;
750753
std::map<irep_idt, symbolt>::iterator old;
751754
std::tie(old, inserted)=written_macros.insert({name, pair.second});

0 commit comments

Comments
 (0)