From 5e73c9d23e54da63ee24d8dc0fecc2b104ffbd01 Mon Sep 17 00:00:00 2001 From: Jason Hiser <jdhiser@gmail.com> Date: Fri, 1 Feb 2019 11:25:24 -0500 Subject: [PATCH] refactoring libirdb-elfdep. redoing library naming scheme Former-commit-id: a01f1ca3ba1e85a49c0684ce28f15ec009ad0ede --- SConscript | 2 +- dump_insns/SConscript | 2 +- dump_map/SConscript | 2 +- ir_builders/SConscript | 5 ++--- libEXEIO/src/SConscript | 2 +- libElfDep/src/SConscript | 8 +++----- libElfDep/src/elfdep.cpp | 8 +++++++- libElfDep/{include => src}/libElfDep.hpp | 3 ++- libElfDep/test/SConscript | 2 +- libIRDB/src/cfg/SConscript | 4 ++-- libIRDB/src/core/SConscript | 2 +- libIRDB/src/syscall/SConscript | 4 ++-- libIRDB/src/util/SConscript | 4 ++-- libtransform/src/SConscript | 4 ++-- meds2pdb/SConscript | 2 +- thanos/SConscript | 2 +- tools/selective_cfi/SConscript | 2 +- 17 files changed, 31 insertions(+), 27 deletions(-) rename libElfDep/{include => src}/libElfDep.hpp (94%) diff --git a/SConscript b/SConscript index 17f092f16..4b3050630 100644 --- a/SConscript +++ b/SConscript @@ -45,7 +45,7 @@ if "PEDI_HOME" in os.environ: source = "./SConscript", action = os.environ['PEDI_HOME']+"/pedi -m manifest.txt " ) -env['BASE_IRDB_LIBS']="IRDB-core", "pqxx", "pq", "EXEIO" +env['BASE_IRDB_LIBS']="irdb-core", "pqxx", "pq" if sysname != "SunOS": libPEBLISS=SConscript("pebliss/trunk/pe_lib/SConscript", variant_dir='scons_build/libPEBLISS') diff --git a/dump_insns/SConscript b/dump_insns/SConscript index 61ea7c0bf..a087b1bb3 100644 --- a/dump_insns/SConscript +++ b/dump_insns/SConscript @@ -19,7 +19,7 @@ myenv.Append(CPPFLAGS="-std=c++11") pgm="dump_insns.exe" LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " IRDB-cfg IRDB-util transform MEDSannotation ") +LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " irdb-cfg irdb-util irdb-transform ") myenv=myenv.Clone(CPPPATH=Split(cpppath)) pgm=myenv.Program(pgm, files, LIBPATH=LIBPATH, LIBS=LIBS) #install=myenv.Install("$SECURITY_TRANSFORMS_HOME/bin/", pgm) diff --git a/dump_map/SConscript b/dump_map/SConscript index c3962b85d..8eaf74bbf 100644 --- a/dump_map/SConscript +++ b/dump_map/SConscript @@ -19,7 +19,7 @@ myenv.Append(CPPFLAGS="-std=c++11") pgm="dump_map.exe" LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " IRDB-cfg IRDB-util transform MEDSannotation ") +LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " irdb-cfg irdb-util irdb-transform ") myenv=myenv.Clone(CPPPATH=Split(cpppath)) pgm=myenv.Program(pgm, files, LIBPATH=LIBPATH, LIBS=LIBS) #install=myenv.Install("$SECURITY_TRANSFORMS_HOME/bin/", pgm) diff --git a/ir_builders/SConscript b/ir_builders/SConscript index 5777a8135..fb5eba73a 100644 --- a/ir_builders/SConscript +++ b/ir_builders/SConscript @@ -12,15 +12,14 @@ if 'build_tools' not in myenv or myenv['build_tools'] is None or int(myenv['buil cpppath=''' $IRDB_SDK/include - $SECURITY_TRANSFORMS_HOME/libIRDB/include - $SECURITY_TRANSFORMS_HOME/libMEDSannotation/include $SECURITY_TRANSFORMS_HOME/libEXEIO/include $SECURITY_TRANSFORMS_HOME/libehp/include + $SECURITY_TRANSFORMS_HOME/libMEDSannotation/include/ $SECURITY_TRANSFORMS_HOME/third_party/elfio-code ''' LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" - LIBS=Split( 'IRDB-cfg IRDB-util ' + env.subst('$BASE_IRDB_LIBS')+ " MEDSannotation ehp transform") + LIBS=Split( 'irdb-cfg irdb-util ' + env.subst('$BASE_IRDB_LIBS')+ " ehp irdb-transform MEDSannotation EXEIO") myenv=myenv.Clone(CPPPATH=Split(cpppath)) diff --git a/libEXEIO/src/SConscript b/libEXEIO/src/SConscript index 413aadb3a..3a81a1b36 100644 --- a/libEXEIO/src/SConscript +++ b/libEXEIO/src/SConscript @@ -21,7 +21,7 @@ cpppath=''' myenv=myenv.Clone(CPPPATH=Split(cpppath)) myenv.Append(CXXFLAGS=" -std=c++11 -Wall -Werror ") -lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core pebliss"), LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" ) +lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core pebliss"), LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" ) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib) Default(install) diff --git a/libElfDep/src/SConscript b/libElfDep/src/SConscript index b0d62b5a7..dc8652648 100644 --- a/libElfDep/src/SConscript +++ b/libElfDep/src/SConscript @@ -9,22 +9,20 @@ myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) files="elfdep.cpp" cpppath=''' + . $IRDB_SDK/include $SECURITY_TRANSFORMS_HOME/libIRDB/include $SECURITY_TRANSFORMS_HOME/libtransform/include - $SECURITY_TRANSFORMS_HOME/libEXEIO/include/ - $SECURITY_TRANSFORMS_HOME/libMEDSannotation//include/ - $SECURITY_TRANSFORMS_HOME/libElfDep/include ''' LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split("IRDB-core transform") +LIBS=Split("irdb-core irdb-transform") myenv=myenv.Clone(CPPPATH=Split(cpppath)) myenv.Append(CXXFLAGS = " -std=c++11 ") -lib=myenv.SharedLibrary("ElfDep", Split(files), LIBPATH=LIBPATH, LIBS=LIBS) +lib=myenv.SharedLibrary("irdb-elfdep", Split(files), LIBPATH=LIBPATH, LIBS=LIBS) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib) Default(install) diff --git a/libElfDep/src/elfdep.cpp b/libElfDep/src/elfdep.cpp index 56a97c131..64d60dc87 100644 --- a/libElfDep/src/elfdep.cpp +++ b/libElfDep/src/elfdep.cpp @@ -21,11 +21,11 @@ #include <irdb-core> #include <irdb-transform> +#include <irdb-elfdep> #include <libIRDB-core.hpp> #include <stdlib.h> #include <memory> #include <math.h> -#include <exeio.h> #include <elf.h> #include <libElfDep.hpp> #include <iterator> @@ -519,3 +519,9 @@ void ElfDependencies_t::ElfDependenciesImpl_t<T_Elf_Sym,T_Elf_Rela,T_Elf_Dyn,rel prefix_scoop<ptrsize>(new_dynamic_entry_str, dynamic_scoop, firp) ; } + +unique_ptr<IRDB_SDK::ElfDependencies_t> IRDB_SDK::ElfDependencies_t::factory(IRDB_SDK::FileIR_t* firp) +{ + return unique_ptr<IRDB_SDK::ElfDependencies_t>(new libIRDB::ElfDependencies_t(firp)); +} + diff --git a/libElfDep/include/libElfDep.hpp b/libElfDep/src/libElfDep.hpp similarity index 94% rename from libElfDep/include/libElfDep.hpp rename to libElfDep/src/libElfDep.hpp index 3995942e1..4b7eb1e5f 100644 --- a/libElfDep/include/libElfDep.hpp +++ b/libElfDep/src/libElfDep.hpp @@ -1,6 +1,7 @@ #include <irdb-core> #include <irdb-transform> +#include <irdb-elfdep> #include <string> #include <memory> @@ -10,7 +11,7 @@ namespace libIRDB using namespace std; -class ElfDependencies_t : public IRDB_SDK::Transform +class ElfDependencies_t : public IRDB_SDK::Transform, public IRDB_SDK::ElfDependencies_t { public: diff --git a/libElfDep/test/SConscript b/libElfDep/test/SConscript index 332192d32..55dd8e67f 100644 --- a/libElfDep/test/SConscript +++ b/libElfDep/test/SConscript @@ -34,7 +34,7 @@ files=Glob( Dir('.').srcnode().abspath+"/edt*.cpp") pgm="edt.exe" LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split("stars "+ myenv.subst('$BASE_IRDB_LIBS')+ " IRDB-core libIRDB-cfg libIRDB-util.so pqxx capstone transform MEDSannotation EXEIO pebliss ElfDep") +LIBS=Split("stars "+ myenv.subst('$BASE_IRDB_LIBS')+ " irdb-elfdep") myenv=myenv.Clone(CPPPATH=Split(cpppath)) pgm=myenv.Program(pgm, files, LIBPATH=LIBPATH, LIBS=LIBS) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/plugins_install/", pgm) diff --git a/libIRDB/src/cfg/SConscript b/libIRDB/src/cfg/SConscript index ae9c12470..b5caf9dea 100644 --- a/libIRDB/src/cfg/SConscript +++ b/libIRDB/src/cfg/SConscript @@ -6,7 +6,7 @@ myenv=env.Clone() myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) -libname="IRDB-cfg" +libname="irdb-cfg" files= ''' BasicBlock.cpp callgraph.cpp CFG.cpp domgraph.cpp criticaledge.cpp ''' @@ -22,7 +22,7 @@ libpath=''' myenv.Append(CCFLAGS=" -Wall -std=c++11") myenv=myenv.Clone(CPPPATH=Split(cpppath)) -lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core"), LIBPATH=Split(libpath)) +lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core"), LIBPATH=Split(libpath)) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib) Default(install) diff --git a/libIRDB/src/core/SConscript b/libIRDB/src/core/SConscript index 70baa09a8..0e17eb064 100644 --- a/libIRDB/src/core/SConscript +++ b/libIRDB/src/core/SConscript @@ -6,7 +6,7 @@ myenv=env.Clone() myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) -libname="IRDB-core" +libname="irdb-core" files= ''' address.cpp baseobj.cpp diff --git a/libIRDB/src/syscall/SConscript b/libIRDB/src/syscall/SConscript index c768a3995..687cc3632 100644 --- a/libIRDB/src/syscall/SConscript +++ b/libIRDB/src/syscall/SConscript @@ -5,7 +5,7 @@ myenv=env myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) -libname="IRDB-syscall" +libname="irdb-syscall" files= ''' syscall.cpp ''' @@ -21,7 +21,7 @@ myenv.Append(CXXFLAGS = " -std=c++11 ") myenv=myenv.Clone(CPPPATH=Split(cpppath)) -lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core IRDB-util"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib")) +lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core irdb-util"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib")) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib) Default(install) diff --git a/libIRDB/src/util/SConscript b/libIRDB/src/util/SConscript index 48715cc08..6a872f20c 100644 --- a/libIRDB/src/util/SConscript +++ b/libIRDB/src/util/SConscript @@ -5,7 +5,7 @@ myenv=env myenv.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) -libname="IRDB-util" +libname="irdb-util" files= ''' insn_preds.cpp IBT_Provenance.cpp @@ -21,7 +21,7 @@ cpppath=''' myenv=myenv.Clone(CPPPATH=Split(cpppath)) myenv.Append(CXXFLAGS = " -std=c++11 ") -lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("IRDB-core"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib")) +lib=myenv.SharedLibrary(libname, Split(files), LIBS=Split("irdb-core"), LIBPATH=Split("$SECURITY_TRANSFORMS_HOME/lib")) install=env.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib) Default(install) diff --git a/libtransform/src/SConscript b/libtransform/src/SConscript index fa025bec5..2c81a4a30 100644 --- a/libtransform/src/SConscript +++ b/libtransform/src/SConscript @@ -17,12 +17,12 @@ cpppath=''' LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split("IRDB-core IRDB-cfg IRDB-util MEDSannotation") +LIBS=Split("irdb-core irdb-cfg irdb-util MEDSannotation") myenv=myenv.Clone(CPPPATH=Split(cpppath)) myenv.Append(CXXFLAGS = " -std=c++11 ") -lib=myenv.SharedLibrary("transform", Split(files), LIBPATH=LIBPATH, LIBS=LIBS) +lib=myenv.SharedLibrary("irdb-transform", Split(files), LIBPATH=LIBPATH, LIBS=LIBS) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/lib/", lib) Default(install) Return('install') diff --git a/meds2pdb/SConscript b/meds2pdb/SConscript index 646957c92..7c925ac42 100644 --- a/meds2pdb/SConscript +++ b/meds2pdb/SConscript @@ -22,7 +22,7 @@ pgm="meds2pdb" myenv.Append(CXXFLAGS = " -std=c++11 ") LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split(" IRDB-cfg IRDB-util transform MEDSannotation "+env.subst('$BASE_IRDB_LIBS')) +LIBS=Split(" irdb-cfg irdb-util irdb-transform EXEIO MEDSannotation "+env.subst('$BASE_IRDB_LIBS')) myenv=myenv.Clone(CPPPATH=Split(cpppath)) pgm=myenv.Program(pgm, files, LIBPATH=LIBPATH, LIBS=LIBS) install1=myenv.Install("$SECURITY_TRANSFORMS_HOME/bin/", pgm) diff --git a/thanos/SConscript b/thanos/SConscript index 3d5b5bfd0..408e042ba 100644 --- a/thanos/SConscript +++ b/thanos/SConscript @@ -19,7 +19,7 @@ myenv.Append(CXXFLAGS = " -std=c++11 -Wall ") pgm="thanos.exe" LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " IRDB-core transform pqxx dl") +LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " irdb-transform dl") myenv=myenv.Clone(CPPPATH=Split(cpppath)) pgm=myenv.Program(pgm, files, LIBPATH=LIBPATH, LIBS=LIBS) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/plugins_install", pgm) diff --git a/tools/selective_cfi/SConscript b/tools/selective_cfi/SConscript index 78cc1e98e..e31c252db 100644 --- a/tools/selective_cfi/SConscript +++ b/tools/selective_cfi/SConscript @@ -23,7 +23,7 @@ myenv.Append(CXXFLAGS = " -std=c++11 -Wall ") pgm="selective_cfi.exe" LIBPATH="$SECURITY_TRANSFORMS_HOME/lib" -LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " IRDB-cfg IRDB-util IRDB-core transform MEDSannotation pqxx pq") +LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " irdb-cfg irdb-util irdb-core irdb-transform MEDSannotation ") myenv=myenv.Clone(CPPPATH=Split(cpppath)) pgm=myenv.Program(pgm, files, LIBPATH=LIBPATH, LIBS=LIBS) install=myenv.Install("$SECURITY_TRANSFORMS_HOME/plugins_install/", pgm) -- GitLab