[lld] r249760 - [ELF2] Make the system page size a target-dependent property

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 9 07:15:23 PDT 2015


Thanks!

On 9 October 2015 at 09:57, Rui Ueyama via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> I was taking a look at the code, and it seems easy to put interp and notes
> on the first page. I'll try.
>
> On Fri, Oct 9, 2015 at 6:12 AM, Ed Maste via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>>
>> On 8 October 2015 at 18:23, Hal Finkel via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> > Modified: lld/trunk/ELF/Writer.cpp
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=249760&r1=249759&r2=249760&view=diff
>> >
>> > ==============================================================================
>> > --- lld/trunk/ELF/Writer.cpp (original)
>> > +++ lld/trunk/ELF/Writer.cpp Thu Oct  8 17:23:54 2015
>> > @@ -484,8 +482,8 @@ template <class ELFT> void Writer<ELFT>:
>> >
>> >    // Reserve space for PHDRs.
>> >    ProgramHeaderOff = FileOff;
>> > -  FileOff = RoundUpToAlignment(FileOff, PageSize);
>> > -  VA = RoundUpToAlignment(VA, PageSize);
>> > +  FileOff = RoundUpToAlignment(FileOff, Target->getPageSize());
>> > +  VA = RoundUpToAlignment(VA, Target->getPageSize());
>> >
>> >    if (needsInterpSection())
>> >      PHDRs.push_back(&InterpPHDR);
>>
>> Rounding up to a page here is one of the issues affecting LLD on
>> FreeBSD that I posted about a couple of days ago (although it predates
>> the change quoted above from r249760).  Rounding up puts the PT_INTERP
>> and ELF ABI notes outside of the first page.
>>
>> As a local hack I changed it to round up to 512 to continue
>> investigating other FreeBSD issues and that's sufficient for me to get
>> further, but we need to be more clever than just reserving the first
>> page for the PHDRs.
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>


More information about the llvm-commits mailing list