Why is this error in RuntimeDyldCOFFX86_64.h not fatal?

In the method RuntimeDyldCOFFX86_64::resolveRelocation there is this bit of code:

if (Value < ImageBase || ((Value - ImageBase) > UINT32_MAX)) {

llvm::errs() << “IMAGE_REL_AMD64_ADDR32NB relocation requires an”

<< “ordered section layout.\n”;

write32BitOffset(Target, 0, 0);


If the address math “wraps” during the relocation, that sounds like a fatal error. But here the code complains and then continues. Is this really a recoverable condition? I’m not an expert in this area so detailed explanations are welcomed.