[PATCH] D27712: [ELF] - Do not crash when move location counter backward.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 14 04:25:30 PST 2016
grimar added inline comments.
================
Comment at: ELF/LinkerScript.cpp:467-469
+ uintX_t Val = AssignCmd->Expression(Dot);
+ if (Val < Dot)
+ error("unable to move location counter backward for: " + CurOutSec->Name);
----------------
grimar wrote:
> ruiu wrote:
> > If `Dot` overflows towards negative, your expression cannot detect the error because `Val` would be a very large number. Can you handle this case as well?
> I'll update the patch tomorrow for that case.
After reviewing this I think:
1) This patch should be landed separatelly as it fix specific common case which is not related to overflows.
2) For case of overflow I suggest to use something like CheckedType from D25279 in expressions for all Expr we have. That makes overflow handling to be general and avoids point fixes.
https://reviews.llvm.org/D27712
More information about the llvm-commits
mailing list