[llvm-dev] Why is this error in RuntimeDyldCOFFX86_64.h not fatal?

Dale Martin via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 24 09:57:35 PDT 2020


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.

Thanks,
   Dale
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200924/1c069f24/attachment.html>


More information about the llvm-dev mailing list