From ed8b16a88023b23c0446570d4e6bae6fcc6a5d6b Mon Sep 17 00:00:00 2001 From: Will Hawkins <whh8b@virginia.edu> Date: Wed, 24 Feb 2021 22:38:14 -0500 Subject: [PATCH] Fix compilation errors in irdb-libs for modern versions of compiler, etc. --- irdb-libs/dump_insns/dump_insns.cpp | 2 +- irdb-libs/dump_map/dump_ehp.cpp | 2 +- irdb-libs/dump_map/dump_map.cpp | 2 +- irdb-libs/ir_builders/clone.cpp | 2 +- irdb-libs/ir_builders/fill_in_cfg.cpp | 2 +- irdb-libs/ir_builders/fill_in_indtargs.cpp | 4 ++-- irdb-libs/ir_builders/fix_calls.cpp | 2 +- irdb-libs/libIRDB-cfg/src/dfs.cpp | 2 +- irdb-libs/libIRDB-core/src/IRDB_Objects.cpp | 4 ++-- irdb-libs/libIRDB-core/src/cmdstr.hpp | 1 + irdb-libs/libIRDB-core/src/fileir.cpp | 5 ++++- irdb-libs/meds2pdb/meds2pdb.cpp | 3 +++ 12 files changed, 19 insertions(+), 12 deletions(-) diff --git a/irdb-libs/dump_insns/dump_insns.cpp b/irdb-libs/dump_insns/dump_insns.cpp index a51b71f07..6455f5924 100644 --- a/irdb-libs/dump_insns/dump_insns.cpp +++ b/irdb-libs/dump_insns/dump_insns.cpp @@ -103,7 +103,7 @@ int main(int argc, char **argv) } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl; } diff --git a/irdb-libs/dump_map/dump_ehp.cpp b/irdb-libs/dump_map/dump_ehp.cpp index 1669bfd0d..e64edeb0f 100644 --- a/irdb-libs/dump_map/dump_ehp.cpp +++ b/irdb-libs/dump_map/dump_ehp.cpp @@ -99,7 +99,7 @@ int main(int argc, char **argv) } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl; } diff --git a/irdb-libs/dump_map/dump_map.cpp b/irdb-libs/dump_map/dump_map.cpp index cd8bb4ef1..bb1303c82 100644 --- a/irdb-libs/dump_map/dump_map.cpp +++ b/irdb-libs/dump_map/dump_map.cpp @@ -128,7 +128,7 @@ int main(int argc, char **argv) } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl; } diff --git a/irdb-libs/ir_builders/clone.cpp b/irdb-libs/ir_builders/clone.cpp index d5211b723..613019832 100644 --- a/irdb-libs/ir_builders/clone.cpp +++ b/irdb-libs/ir_builders/clone.cpp @@ -69,7 +69,7 @@ int main(int argc, char* argv[]) f.close(); } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cout<<"Unexpected database error: "<<pnide<<endl; exit(-1); diff --git a/irdb-libs/ir_builders/fill_in_cfg.cpp b/irdb-libs/ir_builders/fill_in_cfg.cpp index ce4890e35..3ffcae6e9 100644 --- a/irdb-libs/ir_builders/fill_in_cfg.cpp +++ b/irdb-libs/ir_builders/fill_in_cfg.cpp @@ -1044,7 +1044,7 @@ int PopulateCFG::executeStep() } } } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cerr<<"Unexpected database error: "<<pnide<<endl; return -1; diff --git a/irdb-libs/ir_builders/fill_in_indtargs.cpp b/irdb-libs/ir_builders/fill_in_indtargs.cpp index 7f6d54714..d8b65a6e9 100644 --- a/irdb-libs/ir_builders/fill_in_indtargs.cpp +++ b/irdb-libs/ir_builders/fill_in_indtargs.cpp @@ -4014,7 +4014,7 @@ int parseArgs(const vector<string> step_args) try { do_unpin_opt = stoul(arg_as_str,nullptr,0); } - catch (invalid_argument ia) + catch (const invalid_argument &ia) { cerr<<"In --max-unpin, cannot convert "<<arg_as_str<<" to unsigned"<<endl; exit(1); @@ -4112,7 +4112,7 @@ int executeStep() return -1; } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cout << "Unexpected database error: " << pnide << endl; return -1; diff --git a/irdb-libs/ir_builders/fix_calls.cpp b/irdb-libs/ir_builders/fix_calls.cpp index 044dcf9ff..fabfc4fa6 100644 --- a/irdb-libs/ir_builders/fix_calls.cpp +++ b/irdb-libs/ir_builders/fix_calls.cpp @@ -1053,7 +1053,7 @@ class FixCalls_t : public TransformStep_t } } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cout<<"Unexpected database error: "<<pnide<<endl; return -1; diff --git a/irdb-libs/libIRDB-cfg/src/dfs.cpp b/irdb-libs/libIRDB-cfg/src/dfs.cpp index b8d28a260..d09ba506d 100644 --- a/irdb-libs/libIRDB-cfg/src/dfs.cpp +++ b/irdb-libs/libIRDB-cfg/src/dfs.cpp @@ -45,5 +45,5 @@ BasicBlockVector_t IRDB_SDK::getDFSOrder(ControlFlowGraph_t* cfg) // add it to the dfs end. ret.push_back(p.first); - return move(ret); + return ret; } diff --git a/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp b/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp index f61feee43..8c82eac98 100644 --- a/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp +++ b/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp @@ -69,7 +69,7 @@ int IRDBObjects_t::writeBackFileIR(const IRDB_SDK::DatabaseID_t file_id, ostream the_fileIR->writeToDB(verbose_logging); return 0; } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cerr << "Unexpected database error: " << pnide << "file url: " << the_file->getURL() << endl; return -1; @@ -150,7 +150,7 @@ int IRDBObjects_t::writeBackVariant(const IRDB_SDK::DatabaseID_t variant_id) it->second->WriteToDB(); return 0; } - catch (DatabaseError_t pnide) + catch (const DatabaseError_t &pnide) { cerr << "Unexpected database error: " << pnide << "variant ID: " << variant_id << endl; return -1; diff --git a/irdb-libs/libIRDB-core/src/cmdstr.hpp b/irdb-libs/libIRDB-core/src/cmdstr.hpp index eeccc1bb0..00e2b397f 100644 --- a/irdb-libs/libIRDB-core/src/cmdstr.hpp +++ b/irdb-libs/libIRDB-core/src/cmdstr.hpp @@ -12,6 +12,7 @@ #include <string> #include <vector> #include <array> +#include <functional> using namespace std; diff --git a/irdb-libs/libIRDB-core/src/fileir.cpp b/irdb-libs/libIRDB-core/src/fileir.cpp index 0183e261e..aaa9ec82a 100644 --- a/irdb-libs/libIRDB-core/src/fileir.cpp +++ b/irdb-libs/libIRDB-core/src/fileir.cpp @@ -36,6 +36,9 @@ #include "cmdstr.hpp" #include "assemblestr.hpp" +#include <pqxx/tablewriter.hxx> +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + using namespace libIRDB; using namespace std; @@ -928,7 +931,7 @@ void FileIR_t::setArchitecture() auto *mypqxxintr=dynamic_cast<pqxxDB_t*>(myinter); const auto elfoid=getFile()->getELFOID(); - pqxx::largeobjectaccess loa(mypqxxintr->getTransaction(), elfoid, PGSTD::ios::in); + pqxx::largeobjectaccess loa(mypqxxintr->getTransaction(), elfoid, std::ios::in); loa.cread((char*)&hdr_union, sizeof(hdr_union)); diff --git a/irdb-libs/meds2pdb/meds2pdb.cpp b/irdb-libs/meds2pdb/meds2pdb.cpp index 67539ea7b..d9a5d3cdd 100644 --- a/irdb-libs/meds2pdb/meds2pdb.cpp +++ b/irdb-libs/meds2pdb/meds2pdb.cpp @@ -31,6 +31,9 @@ #include "MEDS_FuncPrototypeAnnotation.hpp" #include <irdb-core> +#include <pqxx/tablewriter.hxx> +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + using namespace std; using namespace pqxx; using namespace IRDB_SDK; -- GitLab