diff --git a/source/PluginManagement.cpp b/source/PluginManagement.cpp index 518e7aa..5569170 100644 --- a/source/PluginManagement.cpp +++ b/source/PluginManagement.cpp @@ -65,7 +65,7 @@ bool PluginManagement::doRelocation(const std::vector &relocData void PluginManagement::doRelocations(const std::vector &plugins, relocation_trampolin_entry_t *trampData, uint32_t tramp_size) { for (auto &pluginContainer : plugins) { - DEBUG_FUNCTION_LINE("Doing relocations for plugin: %s", pluginContainer.getMetaInformation().getName().c_str()); + DEBUG_FUNCTION_LINE_VERBOSE("Doing relocations for plugin: %s", pluginContainer.getMetaInformation().getName().c_str()); if (!PluginManagement::doRelocation(pluginContainer.getPluginInformation().getRelocationDataList(), trampData, tramp_size, pluginContainer.getPluginInformation().getTrampolinId())) { DEBUG_FUNCTION_LINE("Relocation failed"); @@ -77,12 +77,12 @@ void PluginManagement::memsetBSS(const std::vector &plugins) { for (auto &pluginContainer : plugins) { auto sbssSection = pluginContainer.getPluginInformation().getSectionInfo(".sbss"); if (sbssSection) { - DEBUG_FUNCTION_LINE("memset .sbss %08X (%d)", sbssSection->getAddress(), sbssSection->getSize()); + DEBUG_FUNCTION_LINE_VERBOSE("memset .sbss %08X (%d)", sbssSection->getAddress(), sbssSection->getSize()); memset((void *) sbssSection->getAddress(), 0, sbssSection->getSize()); } auto bssSection = pluginContainer.getPluginInformation().getSectionInfo(".bss"); if (bssSection) { - DEBUG_FUNCTION_LINE("memset .bss %08X (%d)", bssSection->getAddress(), bssSection->getSize()); + DEBUG_FUNCTION_LINE_VERBOSE("memset .bss %08X (%d)", bssSection->getAddress(), bssSection->getSize()); memset((void *) bssSection->getAddress(), 0, bssSection->getSize()); } } @@ -98,7 +98,7 @@ void PluginManagement::callDeinitHooks(plugin_information_t *pluginInformation) CallHook(pluginInformation, WUPS_LOADER_HOOK_FINI_WUT_NEWLIB); CallHook(pluginInformation, WUPS_LOADER_HOOK_FINI_WUT_MALLOC); - DEBUG_FUNCTION_LINE("Done calling deinit hooks"); + DEBUG_FUNCTION_LINE_VERBOSE("Done calling deinit hooks"); } @@ -118,10 +118,10 @@ void PluginManagement::unloadPlugins(plugin_information_t *gPluginInformation, M if (freePluginData) { if (plugin->data.buffer != nullptr) { if (plugin->data.memoryType == eMemTypeMEM2) { - DEBUG_FUNCTION_LINE("Free plugin data buffer for %s [%08X]", plugin->meta.name, plugin->data.buffer); + DEBUG_FUNCTION_LINE_VERBOSE("Free plugin data buffer for %s [%08X]", plugin->meta.name, plugin->data.buffer); free(plugin->data.buffer); } else if (plugin->data.memoryType == eMemTypeExpHeap) { - DEBUG_FUNCTION_LINE("Free plugin data buffer for %s [%08X on heap %08X]", plugin->meta.name, plugin->data.buffer, plugin->data.heapHandle); + DEBUG_FUNCTION_LINE_VERBOSE("Free plugin data buffer for %s [%08X on heap %08X]", plugin->meta.name, plugin->data.buffer, plugin->data.heapHandle); MEMFreeToExpHeap((MEMHeapHandle) plugin->data.heapHandle, plugin->data.buffer); } else { DEBUG_FUNCTION_LINE("########################"); @@ -136,11 +136,11 @@ void PluginManagement::unloadPlugins(plugin_information_t *gPluginInformation, M } if (plugin->info.allocatedTextMemoryAddress != nullptr) { MEMFreeToExpHeap((MEMHeapHandle) pluginHeap, plugin->info.allocatedTextMemoryAddress); - DEBUG_FUNCTION_LINE("Deleted allocated .text section for plugin %s [%08X]", plugin->meta.name, plugin->info.allocatedTextMemoryAddress); + DEBUG_FUNCTION_LINE_VERBOSE("Deleted allocated .text section for plugin %s [%08X]", plugin->meta.name, plugin->info.allocatedTextMemoryAddress); } if (plugin->info.allocatedDataMemoryAddress != nullptr) { MEMFreeToExpHeap((MEMHeapHandle) pluginHeap, plugin->info.allocatedDataMemoryAddress); - DEBUG_FUNCTION_LINE("Deleted allocated .data section for plugin %s [%08X]", plugin->meta.name, plugin->info.allocatedDataMemoryAddress); + DEBUG_FUNCTION_LINE_VERBOSE("Deleted allocated .data section for plugin %s [%08X]", plugin->meta.name, plugin->info.allocatedDataMemoryAddress); } for (auto &trampoline : gPluginInformation->trampolines) { @@ -162,7 +162,7 @@ void PluginManagement::callInitHooks(plugin_information_t *pluginInformation) { CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_WUT_MALLOC); CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_WUT_NEWLIB); CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_WUT_STDCPP); - DEBUG_FUNCTION_LINE("Done calling init hooks"); + DEBUG_FUNCTION_LINE_VERBOSE("Done calling init hooks"); } void module_callback(OSDynLoad_Module module, @@ -178,7 +178,7 @@ void module_callback(OSDynLoad_Module module, } void PluginManagement::PatchFunctionsAndCallHooks(plugin_information_t *gPluginInformation) { - DEBUG_FUNCTION_LINE("Patching functions"); + DEBUG_FUNCTION_LINE_VERBOSE("Patching functions"); FunctionPatcherPatchFunction(method_hooks_hooks_static, method_hooks_size_hooks_static); DCFlushRange((void *) 0x00800000, 0x00800000); @@ -197,7 +197,7 @@ std::vector PluginManagement::loadPlugins(const std::vector plugins; for (auto &pluginData : pluginList) { - DEBUG_FUNCTION_LINE("Load meta information"); + DEBUG_FUNCTION_LINE_VERBOSE("Load meta information"); auto metaInfo = PluginMetaInformationFactory::loadPlugin(pluginData); if (metaInfo) { PluginContainer container; diff --git a/source/globals.h b/source/globals.h index 4907d9d..e3313af 100644 --- a/source/globals.h +++ b/source/globals.h @@ -9,7 +9,4 @@ extern plugin_information_t *gPluginInformation; extern MEMHeapHandle pluginDataHeap; extern uint32_t gPluginDataHeapSize; extern plugin_information_on_reload_t gLinkOnReload; -extern module_information_t *gModuleData; - -extern "C" void __init_wut(); -extern "C" void __fini_wut(); \ No newline at end of file +extern module_information_t *gModuleData; \ No newline at end of file diff --git a/source/hooks.cpp b/source/hooks.cpp index 9e292d3..23a9d36 100644 --- a/source/hooks.cpp +++ b/source/hooks.cpp @@ -48,7 +48,7 @@ static const char **hook_names = (const char *[]) { void CallHookEx(plugin_information_t *pluginInformation, wups_loader_hook_type_t hook_type, int32_t plugin_index_needed) { if(hook_type != WUPS_LOADER_HOOK_VSYNC) { - DEBUG_FUNCTION_LINE("Calling hook of type %s [%d]", hook_names[hook_type], hook_type); + DEBUG_FUNCTION_LINE_VERBOSE("Calling hook of type %s [%d]", hook_names[hook_type], hook_type); } for (int32_t plugin_index = 0; plugin_index < pluginInformation->number_used_plugins; plugin_index++) { plugin_information_single_t *plugin_data = &pluginInformation->plugin_data[plugin_index]; diff --git a/source/main.cpp b/source/main.cpp index 4827503..27b170a 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -46,12 +46,11 @@ WUMS_APPLICATION_STARTS() { } bool initNeeded = false; if (pluginDataHeap == nullptr) { - DEBUG_FUNCTION_LINE("gModuleData = %08X", gModuleData); + DEBUG_FUNCTION_LINE_VERBOSE("gModuleData = %08X", gModuleData); DCFlushRange((void *) gModuleData, sizeof(module_information_t)); uint32_t endAddress = 0; - DEBUG_FUNCTION_LINE("Using %d modules", gModuleData->number_used_modules); + DEBUG_FUNCTION_LINE_VERBOSE("Using %d modules", gModuleData->number_used_modules); for (int i = 0; i < gModuleData->number_used_modules; i++) { - DEBUG_FUNCTION_LINE("%08x", gModuleData->module_data[i].endAddress); uint32_t curEndAddr = gModuleData->module_data[i].endAddress; if (curEndAddr > endAddress) { endAddress = curEndAddr; @@ -70,7 +69,7 @@ WUMS_APPLICATION_STARTS() { if (pluginDataHeap != nullptr) { if (gPluginInformation == nullptr) { - DEBUG_FUNCTION_LINE("Allocate gPluginInformation on heap %08X (size: %d bytes)", pluginDataHeap, sizeof(plugin_information_t)); + DEBUG_FUNCTION_LINE_VERBOSE("Allocate gPluginInformation on heap %08X (size: %d bytes)", pluginDataHeap, sizeof(plugin_information_t)); gPluginInformation = (plugin_information_t *) MEMAllocFromExpHeapEx(pluginDataHeap, sizeof(plugin_information_t), 4); if (gPluginInformation == nullptr) { DEBUG_FUNCTION_LINE("Failed to allocate global plugin information"); @@ -86,7 +85,7 @@ WUMS_APPLICATION_STARTS() { for (auto &pluginContainer : plugins) { for (const auto &kv : pluginContainer.getPluginInformation().getSectionInfoList()) { - DEBUG_FUNCTION_LINE("%s = %s %08X %d", kv.first.c_str(), kv.second.getName().c_str(), kv.second.getAddress(), kv.second.getSize()); + DEBUG_FUNCTION_LINE_VERBOSE("%s = %s %08X %d", kv.first.c_str(), kv.second.getName().c_str(), kv.second.getAddress(), kv.second.getSize()); } if (!PluginContainerPersistence::savePlugin(gPluginInformation, pluginContainer)) { DEBUG_FUNCTION_LINE("Failed to save plugin"); @@ -116,10 +115,10 @@ WUMS_APPLICATION_STARTS() { DEBUG_FUNCTION_LINE("We need to delete the plugin data for plugin %s", plugin->meta.name); if (plugin->data.buffer != nullptr) { if (plugin->data.memoryType == eMemTypeMEM2) { - DEBUG_FUNCTION_LINE("Free plugin data buffer for %s [%08X]", plugin->meta.name, plugin->data.buffer); + DEBUG_FUNCTION_LINE_VERBOSE("Free plugin data buffer for %s [%08X]", plugin->meta.name, plugin->data.buffer); free(plugin->data.buffer); } else if (plugin->data.memoryType == eMemTypeExpHeap) { - DEBUG_FUNCTION_LINE("Free plugin data buffer for %s [%08X on heap %08X]", plugin->meta.name, plugin->data.buffer, plugin->data.heapHandle); + DEBUG_FUNCTION_LINE_VERBOSE("Free plugin data buffer for %s [%08X on heap %08X]", plugin->meta.name, plugin->data.buffer, plugin->data.heapHandle); MEMFreeToExpHeap((MEMHeapHandle) plugin->data.heapHandle, plugin->data.buffer); } else { DEBUG_FUNCTION_LINE("########################"); diff --git a/source/plugin/PluginContainerPersistence.cpp b/source/plugin/PluginContainerPersistence.cpp index 612079b..aa07e1c 100644 --- a/source/plugin/PluginContainerPersistence.cpp +++ b/source/plugin/PluginContainerPersistence.cpp @@ -14,7 +14,6 @@ bool PluginContainerPersistence::savePlugin(plugin_information_t *pluginInformat int32_t plugin_count = pluginInformation->number_used_plugins; auto pluginName = plugin.getMetaInformation().getName(); - //auto pluginPath = plugin.getMetaInformation().getPath(); if (plugin_count >= MAXIMUM_PLUGINS - 1) { DEBUG_FUNCTION_LINE("Maximum of %d plugins reached. %s won't be loaded!", MAXIMUM_PLUGINS, pluginName.c_str()); @@ -63,7 +62,6 @@ bool PluginContainerPersistence::savePlugin(plugin_information_t *pluginInformat auto pluginInfo = plugin.getPluginInformation(); - // Relocation std::vector relocationData = pluginInfo.getRelocationDataList(); for (auto &reloc : relocationData) { @@ -73,11 +71,9 @@ bool PluginContainerPersistence::savePlugin(plugin_information_t *pluginInformat } } - std::vector function_data_list = pluginInfo.getFunctionDataList(); std::vector hook_data_list = pluginInfo.getHookDataList(); - if (function_data_list.size() > MAXIMUM_FUNCTION_PER_PLUGIN) { DEBUG_FUNCTION_LINE("Plugin %s would replace to many function (%d, maximum is %d). It won't be loaded.", pluginName.c_str(), function_data_list.size(), MAXIMUM_FUNCTION_PER_PLUGIN); return false; @@ -101,7 +97,7 @@ bool PluginContainerPersistence::savePlugin(plugin_information_t *pluginInformat continue; } - DEBUG_FUNCTION_LINE("Adding function \"%s\" for plugin \"%s\"", curFunction.getName().c_str(), pluginName.c_str()); + DEBUG_FUNCTION_LINE_VERBOSE("Adding function \"%s\" for plugin \"%s\"", curFunction.getName().c_str(), pluginName.c_str()); strncpy(function_data->function_name, curFunction.getName().c_str(), MAXIMUM_FUNCTION_NAME_LENGTH - 1); @@ -121,7 +117,7 @@ bool PluginContainerPersistence::savePlugin(plugin_information_t *pluginInformat for (auto &curHook : pluginInfo.getHookDataList()) { replacement_data_hook_t *hook_data = &plugin_data->info.hooks[i]; - DEBUG_FUNCTION_LINE("Set hook for plugin \"%s\" of type %08X to target %08X", plugin_data->meta.name, curHook.getType(), (void *) curHook.getFunctionPointer()); + DEBUG_FUNCTION_LINE_VERBOSE("Set hook for plugin \"%s\" of type %08X to target %08X", plugin_data->meta.name, curHook.getType(), (void *) curHook.getFunctionPointer()); hook_data->func_pointer = (void *) curHook.getFunctionPointer(); hook_data->type = curHook.getType(); @@ -220,7 +216,7 @@ std::vector PluginContainerPersistence::loadPlugins(plugin_info if (sectionInfo->addr == 0 && sectionInfo->size == 0) { continue; } - DEBUG_FUNCTION_LINE("Add SectionInfo %s", sectionInfo->name); + DEBUG_FUNCTION_LINE_VERBOSE("Add SectionInfo %s", sectionInfo->name); std::string name(sectionInfo->name); curPluginInformation.addSectionInfo(SectionInfo(name, sectionInfo->addr, sectionInfo->size)); } diff --git a/source/plugin/PluginData.cpp b/source/plugin/PluginData.cpp index 3d44890..7a57cef 100644 --- a/source/plugin/PluginData.cpp +++ b/source/plugin/PluginData.cpp @@ -43,18 +43,17 @@ PluginData::PluginData(const std::vector& input, MEMHeapHandle heapHand default: case eMemTypeExpHeap: data_copy = MEMAllocFromExpHeapEx(heapHandle, length, 4); - DEBUG_FUNCTION_LINE("Allocated %d kb on ExpHeap", length / 1024); + DEBUG_FUNCTION_LINE_VERBOSE("Allocated %d kb on ExpHeap", length / 1024); if (data_copy == nullptr) { DEBUG_FUNCTION_LINE("Failed to allocate space on exp heap"); } else { memcpy(data_copy, &input[0], length); } this->buffer = data_copy; - DEBUG_FUNCTION_LINE("copied data to exp heap"); break; case eMemTypeMEM2: data_copy = memalign(4, length); - DEBUG_FUNCTION_LINE("Allocated %d kb on default heap", length / 1024); + DEBUG_FUNCTION_LINE_VERBOSE("Allocated %d kb on default heap", length / 1024); if (data_copy == nullptr) { DEBUG_FUNCTION_LINE("Failed to allocate space on default heap"); } else { diff --git a/source/plugin/PluginDataFactory.cpp b/source/plugin/PluginDataFactory.cpp index af4e7b1..1b55dc0 100644 --- a/source/plugin/PluginDataFactory.cpp +++ b/source/plugin/PluginDataFactory.cpp @@ -50,7 +50,7 @@ std::vector PluginDataFactory::loadDir(const std::string &path, MEMH if ((stbuf.st_mode & S_IFMT) == S_IFDIR) { // Skip directories continue; } else { - DEBUG_FUNCTION_LINE("Found file: %s", full_file_path.c_str()); + DEBUG_FUNCTION_LINE("Loading plugin: %s", full_file_path.c_str()); auto pluginData = load(full_file_path, heapHandle); if (pluginData) { result.push_back(pluginData.value()); @@ -88,7 +88,7 @@ std::optional PluginDataFactory::load(const std::string &filename, M free(data); is.close(); - DEBUG_FUNCTION_LINE("Loaded file!"); + DEBUG_FUNCTION_LINE_VERBOSE("Loaded file!"); return load(result, heapHandle); } diff --git a/source/plugin/PluginInformationFactory.cpp b/source/plugin/PluginInformationFactory.cpp index efede06..9e7c439 100644 --- a/source/plugin/PluginInformationFactory.cpp +++ b/source/plugin/PluginInformationFactory.cpp @@ -79,7 +79,7 @@ std::optional PluginInformationFactory::load(const PluginData return std::nullopt; } - DEBUG_FUNCTION_LINE("Allocated %d kb from ExpHeap", text_size / 1024); + DEBUG_FUNCTION_LINE_VERBOSE("Allocated %d kb from ExpHeap", text_size / 1024); void *data_data = MEMAllocFromExpHeapEx(heapHandle, data_size, 0x1000); if (data_data == nullptr) { DEBUG_FUNCTION_LINE("Failed to alloc memory for the .data section (%d bytes)", data_size); @@ -87,7 +87,7 @@ std::optional PluginInformationFactory::load(const PluginData MEMFreeToExpHeap(heapHandle, text_data); return std::nullopt; } - DEBUG_FUNCTION_LINE("Allocated %d kb from ExpHeap", data_size / 1024); + DEBUG_FUNCTION_LINE_VERBOSE("Allocated %d kb from ExpHeap", data_size / 1024); uint32_t entrypoint = (uint32_t) text_data + (uint32_t) reader.get_entry() - 0x02000000; @@ -126,16 +126,16 @@ std::optional PluginInformationFactory::load(const PluginData const char *p = psec->get_data(); if (psec->get_type() == SHT_NOBITS) { - DEBUG_FUNCTION_LINE("memset section %s %08X to 0 (%d bytes)", psec->get_name().c_str(), destination, sectionSize); + DEBUG_FUNCTION_LINE_VERBOSE("memset section %s %08X to 0 (%d bytes)", psec->get_name().c_str(), destination, sectionSize); memset((void *) destination, 0, sectionSize); } else if (psec->get_type() == SHT_PROGBITS) { - DEBUG_FUNCTION_LINE("Copy section %s %08X -> %08X (%d bytes)", psec->get_name().c_str(), p, destination, sectionSize); + DEBUG_FUNCTION_LINE_VERBOSE("Copy section %s %08X -> %08X (%d bytes)", psec->get_name().c_str(), p, destination, sectionSize); memcpy((void *) destination, p, sectionSize); } std::string sectionName(psec->get_name()); pluginInfo.addSectionInfo(SectionInfo(sectionName, destination, sectionSize)); - DEBUG_FUNCTION_LINE("Saved %s section info. Location: %08X size: %08X", psec->get_name().c_str(), destination, sectionSize); + DEBUG_FUNCTION_LINE_VERBOSE("Saved %s section info. Location: %08X size: %08X", psec->get_name().c_str(), destination, sectionSize); totalSize += sectionSize; @@ -147,7 +147,7 @@ std::optional PluginInformationFactory::load(const PluginData for (uint32_t i = 0; i < sec_num; ++i) { section *psec = reader.sections[i]; if ((psec->get_type() == SHT_PROGBITS || psec->get_type() == SHT_NOBITS) && (psec->get_flags() & SHF_ALLOC)) { - DEBUG_FUNCTION_LINE("Linking (%d)... %s at %08X", i, psec->get_name().c_str(), destinations[psec->get_index()]); + DEBUG_FUNCTION_LINE_VERBOSE("Linking (%d)... %s at %08X", i, psec->get_name().c_str(), destinations[psec->get_index()]); if (!linkSection(reader, psec->get_index(), (uint32_t) destinations[psec->get_index()], (uint32_t) text_data, (uint32_t) data_data, trampolin_data, trampolin_data_length, trampolinId)) { DEBUG_FUNCTION_LINE("elfLink failed"); @@ -173,7 +173,7 @@ std::optional PluginInformationFactory::load(const PluginData pluginInfo.setTrampolinId(trampolinId); - DEBUG_FUNCTION_LINE("Saved entrypoint as %08X", entrypoint); + DEBUG_FUNCTION_LINE_VERBOSE("Saved entrypoint as %08X", entrypoint); std::optional secInfo = pluginInfo.getSectionInfo(".wups.hooks"); if (secInfo && secInfo->getSize() > 0) { @@ -182,7 +182,7 @@ std::optional PluginInformationFactory::load(const PluginData if (entries != nullptr) { for (size_t j = 0; j < entries_count; j++) { wups_loader_hook_t *hook = &entries[j]; - DEBUG_FUNCTION_LINE("Saving hook of plugin Type: %08X, target: %08X"/*,pluginData.getPluginInformation()->getName().c_str()*/, hook->type, (void *) hook->target); + DEBUG_FUNCTION_LINE_VERBOSE("Saving hook of plugin Type: %08X, target: %08X"/*,pluginData.getPluginInformation()->getName().c_str()*/, hook->type, (void *) hook->target); HookData hook_data((void *) hook->target, hook->type); pluginInfo.addHookData(hook_data); } @@ -196,7 +196,7 @@ std::optional PluginInformationFactory::load(const PluginData if (entries != NULL) { for (size_t j = 0; j < entries_count; j++) { wups_loader_entry_t *cur_function = &entries[j]; - DEBUG_FUNCTION_LINE("Saving function \"%s\" of plugin . PA:%08X VA:%08X Library: %08X, target: %08X, call_addr: %08X", cur_function->_function.name/*,pluginData.getPluginInformation()->getName().c_str()*/, + DEBUG_FUNCTION_LINE_VERBOSE("Saving function \"%s\" of plugin . PA:%08X VA:%08X Library: %08X, target: %08X, call_addr: %08X", cur_function->_function.name/*,pluginData.getPluginInformation()->getName().c_str()*/, cur_function->_function.physical_address, cur_function->_function.virtual_address, cur_function->_function.library, cur_function->_function.target, (void *) cur_function->_function.call_addr); FunctionData function_data((void *) cur_function->_function.physical_address, (void *) cur_function->_function.virtual_address, cur_function->_function.name, (function_replacement_library_type_t) cur_function->_function.library, (void *) cur_function->_function.target, (void *) cur_function->_function.call_addr, (FunctionPatcherTargetProcess) cur_function->_function.targetProcess); @@ -229,7 +229,7 @@ std::vector PluginInformationFactory::getImportRelocationData(co for (uint32_t i = 0; i < sec_num; ++i) { section *psec = reader.sections[i]; if (psec->get_type() == SHT_RELA || psec->get_type() == SHT_REL) { - DEBUG_FUNCTION_LINE("Found relocation section %s", psec->get_name().c_str()); + DEBUG_FUNCTION_LINE_VERBOSE("Found relocation section %s", psec->get_name().c_str()); relocation_section_accessor rel(reader, psec); for (uint32_t j = 0; j < (uint32_t) rel.get_entries_num(); ++j) { Elf64_Addr offset; @@ -288,7 +288,7 @@ bool PluginInformationFactory::linkSection(const elfio &reader, uint32_t section for (uint32_t i = 0; i < sec_num; ++i) { section *psec = reader.sections[i]; if (psec->get_info() == section_index) { - DEBUG_FUNCTION_LINE("Found relocation section %s", psec->get_name().c_str()); + DEBUG_FUNCTION_LINE_VERBOSE("Found relocation section %s", psec->get_name().c_str()); relocation_section_accessor rel(reader, psec); for (uint32_t j = 0; j < (uint32_t) rel.get_entries_num(); ++j) { Elf64_Addr offset; @@ -344,10 +344,10 @@ bool PluginInformationFactory::linkSection(const elfio &reader, uint32_t section return false; } } - DEBUG_FUNCTION_LINE("done"); + DEBUG_FUNCTION_LINE_VERBOSE("done"); return true; } } - DEBUG_FUNCTION_LINE("Failed to find relocation section"); + DEBUG_FUNCTION_LINE_VERBOSE("Failed to find relocation section"); return true; } diff --git a/source/utils/logger.h b/source/utils/logger.h index 901689c..52786b5 100644 --- a/source/utils/logger.h +++ b/source/utils/logger.h @@ -13,6 +13,7 @@ extern "C" { OSFatal_printf("[%s]%s@L%04d: " FMT "",__FILENAME__,__FUNCTION__, __LINE__, ## ARGS); \ } while (0) +#define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) while (0) #define DEBUG_FUNCTION_LINE(FMT, ARGS...)do { \ WHBLogPrintf("[%23s]%30s@L%04d: " FMT "",__FILENAME__,__FUNCTION__, __LINE__, ## ARGS); \ } while (0);