> There are also odd stuffs such as COMDAT groups or > merge-not-by-name-but-by-content sections, that may complicate the model. (I > don't think about that yet.)For comdats (on ELF) you should be able to avoid even reading the bits from subsequent files once a comdat of a given name has been found. Cheers, Rafael
On 3/12/2015 5:12 PM, Rafael Espíndola wrote:>> There are also odd stuffs such as COMDAT groups or >> merge-not-by-name-but-by-content sections, that may complicate the model. (I >> don't think about that yet.) > For comdats (on ELF) you should be able to avoid even reading the bits > from subsequent files once a comdat of a given name has been found.Symbols are not resolved as part of reading. So this is not achievable with lld. Shankar Easwaran -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
On 13 March 2015 at 11:32, Shankar Easwaran <shankare at codeaurora.org> wrote:> On 3/12/2015 5:12 PM, Rafael Espíndola wrote: >>> >>> There are also odd stuffs such as COMDAT groups or >>> merge-not-by-name-but-by-content sections, that may complicate the model. >>> (I >>> don't think about that yet.) >> >> For comdats (on ELF) you should be able to avoid even reading the bits >> from subsequent files once a comdat of a given name has been found. > > Symbols are not resolved as part of reading. So this is not achievable with > lld.Looks like a design decision that might cost us some performance. Cheers, Rafael