Add support for R_AMDGPU_RELATIVE64
- Add support for R_AMDGPU_RELATIVE64 relocation record. - Return status error if any unsupported relocation record encountered. Change-Id: Icbb5dcb81109a70c1f2195412a0df58a11be9da1
Этот коммит содержится в:
@@ -1673,14 +1673,16 @@ hsa_status_t ExecutableImpl::ApplyDynamicRelocation(hsa_agent_t agent, amd::hsa:
|
||||
break;
|
||||
}
|
||||
|
||||
case R_AMDGPU_INIT_IMAGE:
|
||||
case R_AMDGPU_INIT_SAMPLER:
|
||||
// Images and samplers are not supported in v2.1.
|
||||
return HSA_STATUS_ERROR_INVALID_CODE_OBJECT;
|
||||
case R_AMDGPU_RELATIVE64:
|
||||
{
|
||||
int64_t baseDelta = reinterpret_cast<uint64_t>(relSeg->Address(0)) - relSeg->VAddr();
|
||||
uint64_t relocatedAddr = baseDelta + rel->addend();
|
||||
relSeg->Copy(rel->offset(), &relocatedAddr, sizeof(relocatedAddr));
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
// Ignore.
|
||||
break;
|
||||
return HSA_STATUS_ERROR_INVALID_CODE_OBJECT;
|
||||
}
|
||||
return HSA_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user