[PATCH] D38360: [ELF] Set Dot initially to --image-base value when using linker scripts
James Henderson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 9 03:45:34 PDT 2017
jhenderson added inline comments.
================
Comment at: ELF/LinkerScript.cpp:349
+static uint64_t getInitialDot() {
+ // By default linker scripts use an initial value of 0 for '.', but prefer
----------------
ruiu wrote:
> I wonder if you really have to call this function twice. Can you initialize `Dot` only once in LinkerScript's ctor?
No, because the value is not final until after command-line processing, whereas the LinkerScript instance is constructed during program initialisation. We also need to reset Dot every time we call assignAddresses, because it might be called multiple times. However, having looked closer it does not need setting in processCommands (it's never updated, and should never be referenced, although it currently could be in SUBALIGN expressions - this is a bug, these expressions should only accept constants, and the current behaviour results in an assertion failure if it is used). This allows me to move the function inline into assignAddresses.
https://reviews.llvm.org/D38360
More information about the llvm-commits
mailing list