[PATCH] D64930: [ELF][AArch64] Allow PT_LOAD to have overlapping p_offset ranges
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 20 00:45:03 PDT 2019
MaskRay added a comment.
In D64930#1636634 <https://reviews.llvm.org/D64930#1636634>, @ruiu wrote:
> In D64930#1636625 <https://reviews.llvm.org/D64930#1636625>, @MaskRay wrote:
>
> > In D64930#1626816 <https://reviews.llvm.org/D64930#1626816>, @MaskRay wrote:
> >
> > > In D64930#1626651 <https://reviews.llvm.org/D64930#1626651>, @peter.smith wrote:
> > >
> > > > I'm personally in favour of accepting D64930 <https://reviews.llvm.org/D64930> and D64906 <https://reviews.llvm.org/D64906> (I think that there is also D65865 <https://reviews.llvm.org/D65865> on X86) as I think that this is an important size optimization already performed by Gold and BFD. Thinking about how to progress this further, I think it would be good to write a summary of where each of these reviews is at and what the plan is for this feature. For example:
> > >
> > >
> > > Thanks for pushing forward this patch series!
> > >
> > > > - Have all the comments been addressed, I think the main concern was about TLS?
> > >
> > > All addressed. There was concern about TLS but I aligned p_vaddr/p_offset to p_align of PT_TLS.
> > >
> > > > - Which targets do we want this to apply to, all of them, or just those with a 64k page size?
> > >
> > > All, probably except x86_64 (with max-page-size=4096).
> > >
> > > `bool enable = config->emachine != EM_X86_64 || config->maxPageSize != 4096;`
> > >
> > > > - What is the dependency tree of the reviews, I think D64906 <https://reviews.llvm.org/D64906> is a pre-requisite for all of them?
> > >
> > > A tree with a single internal node:) Yes, D64906 <https://reviews.llvm.org/D64906> is a pre-requisite for all of them.
> > >
> > > D64906 base, PPC64
> > > D64930 AArch64 47 tests
> > > D65865 i386 33 tests
> > > Dxxxxx ARM (30~50 tests)
> > > Dxxxxx MIPS
> > > rLLDxxxxx RISC-V <10 tests
> > > rLLD PPC32 <10 tests
> > > Dxxxxx x86_64 with maxpagesize != 4096
> > >
> > >
> > > Each new target can be enabled independently. The code change is trivial:
> > >
> > > - bool enable = config->emachine == EM_PPC64;
> > > + bool enable =
> > > + config->emachine == EM_AARCH64 || config->emachine == EM_PPC64;
> > >
> > >
> > > The only problem is the number of the affected tests. Due to the layout change nature of the patch series, lots of addresses have to be updated. x86_64 with maxpagesize=4096 is estimated to affect 300+ tests.
> > >
> > > > - Does anyone have any objection, or are they happy for individual people active in a backend to approve that part?
> > >
> > > We haven't heard from MIPS yet. @atanasyan
> >
> >
> > @ruiu Let's move D64906 <https://reviews.llvm.org/D64906>, D64930 <https://reviews.llvm.org/D64930> and D65865 <https://reviews.llvm.org/D65865> forward?
>
>
> Yes, I'm in favor of these patches. Please move forward. Are there any remaining concerns?
Great! No concerns as explained above.
Repository:
rLLD LLVM Linker
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64930/new/
https://reviews.llvm.org/D64930
More information about the llvm-commits
mailing list