[lld] r265512 - Do not allocate MipsReginfo using BumpPtrAllocator.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 6 10:48:42 PDT 2016


Probably no because I think MipsReginfo is trivially destructible. But with
the new code you don't have to even think about it.

On Wed, Apr 6, 2016 at 7:44 AM, Rafael EspĂ­ndola <rafael.espindola at gmail.com
> wrote:

> This was showing as a leak in the asan bot?
>
> Cheers,
> Rafael
>
>
> On 5 April 2016 at 22:52, Rui Ueyama via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> > Author: ruiu
> > Date: Tue Apr  5 21:52:47 2016
> > New Revision: 265512
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=265512&view=rev
> > Log:
> > Do not allocate MipsReginfo using BumpPtrAllocator.
> >
> > So that MipsReginfo's destructor will be called.
> >
> > Modified:
> >     lld/trunk/ELF/InputFiles.cpp
> >     lld/trunk/ELF/InputFiles.h
> >
> > Modified: lld/trunk/ELF/InputFiles.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=265512&r1=265511&r2=265512&view=diff
> >
> ==============================================================================
> > --- lld/trunk/ELF/InputFiles.cpp (original)
> > +++ lld/trunk/ELF/InputFiles.cpp Tue Apr  5 21:52:47 2016
> > @@ -268,8 +268,8 @@ elf::ObjectFile<ELFT>::createInputSectio
> >    // A MIPS object file has a special section that contains register
> >    // usage info, which needs to be handled by the linker specially.
> >    if (Config->EMachine == EM_MIPS && Name == ".reginfo") {
> > -    MipsReginfo = new (Alloc) MipsReginfoInputSection<ELFT>(this, &Sec);
> > -    return MipsReginfo;
> > +    MipsReginfo.reset(new MipsReginfoInputSection<ELFT>(this, &Sec));
> > +    return MipsReginfo.get();
> >    }
> >
> >    // We dont need special handling of .eh_frame sections if relocatable
> >
> > Modified: lld/trunk/ELF/InputFiles.h
> > URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.h?rev=265512&r1=265511&r2=265512&view=diff
> >
> ==============================================================================
> > --- lld/trunk/ELF/InputFiles.h (original)
> > +++ lld/trunk/ELF/InputFiles.h Tue Apr  5 21:52:47 2016
> > @@ -146,7 +146,7 @@ private:
> >    std::vector<SymbolBody *> SymbolBodies;
> >
> >    // MIPS .reginfo section defined by this file.
> > -  MipsReginfoInputSection<ELFT> *MipsReginfo = nullptr;
> > +  std::unique_ptr<MipsReginfoInputSection<ELFT>> MipsReginfo;
> >
> >    llvm::BumpPtrAllocator Alloc;
> >    llvm::SpecificBumpPtrAllocator<InputSection<ELFT>> IAlloc;
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160406/8b72861e/attachment.html>


More information about the llvm-commits mailing list