fix: resolve builtins depending on the product

Related-To: NEO-6875
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
This commit is contained in:
Naklicki, Mateusz
2023-08-28 11:37:11 +00:00
committed by Compute-Runtime-Automation
parent 5897ddda47
commit 20862ad8fd
13 changed files with 100 additions and 72 deletions

View File

@@ -21,6 +21,7 @@
#include "shared/source/memory_manager/graphics_allocation.h"
#include "shared/source/memory_manager/memory_manager.h"
#include "shared/source/program/program_info.h"
#include "shared/source/release_helper/release_helper.h"
#include "RelocationInfo.h"
@@ -326,7 +327,13 @@ LinkingStatus Linker::link(const SegmentInfo &globalVariablesSegInfo, const Segm
removeLocalSymbolsFromRelocatedSymbols();
resolveImplicitArgs(kernelDescriptors, pDevice);
resolveBuiltins(pDevice, outUnresolvedExternals, instructionsSegments);
auto &productHelper = pDevice->getProductHelper();
auto releaseHelper = pDevice->getReleaseHelper();
if (productHelper.isResolvingBuiltinsNeeded(releaseHelper)) {
resolveBuiltins(pDevice, outUnresolvedExternals, instructionsSegments);
}
if (initialUnresolvedExternalsCount < outUnresolvedExternals.size()) {
return LinkingStatus::LinkedPartially;
}