<html><head></head><body>I don't think unique _ptr (at least with the default deleter) is desirable as we do benefit from pool allocation.<br>
<br>
Cheers,<br>
Rafael<br><br><div class="gmail_quote">On November 7, 2016 9:21:15 PM EST, Davide Italiano via llvm-dev <llvm-dev@lists.llvm.org> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Mon, Nov 7, 2016 at 6:19 PM, Davide Italiano <davide@freebsd.org> wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> On Mon, Nov 7, 2016 at 5:53 PM, Davide Italiano <davide@freebsd.org> wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> On Mon, Nov 7, 2016 at 4:43 PM, Kostya Serebryany via llvm-dev<br /> <llvm-dev@lists.llvm.org> wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"> The asan bootstrap bot is unhappy with lld.<br /> Rui, os someone, please take a look.<br /><br /> <a
href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/138/steps/check-lld%20asan/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/138/steps/check-lld%20asan/logs/stdio</a><br /><br /> ==26011==ERROR: LeakSanitizer: detected memory leaks<br /><br /> Direct leak of 184 byte(s) in 1 object(s) allocated from:<br />     #0 0x72fab0 in operator new(unsigned long)<br /> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/projects/compiler-rt/lib/asan/asan_new_<a href="delete.cc:82">delete.cc:82</a><br />     #1 0x8c8610 in void<br /> lld::elf::BinaryFile::parse<llvm::object::ELFType<(llvm::support::endianness)1,<br /> true> >()<br /> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/lld/ELF/InputFiles.cpp:823:7<br />     #2 0xb9de74 in<br /> lld::elf::SymbolTable<llvm::object::ELFType<(llvm::support::endianness)1,<br /> true>
>::addFile(lld::elf::InputFile*)<br /> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/lld/ELF/SymbolTable.cpp:61:8<br />     #3 0x82c46f in void<br /> lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1,<br /> true> >(llvm::opt::InputArgList&)<br /> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/lld/ELF/Driver.cpp:723:12<br />     #4 0x819578 in lld::elf::LinkerDriver::main(llvm::ArrayRef<char const*>,<br /> bool)<br /> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/lld/ELF/Driver.cpp:333:5<br />     #5 0x8174b8 in lld::elf::link(llvm::ArrayRef<char const*>, bool,<br /> llvm::raw_ostream&)<br /> /mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/lld/ELF/Driver.cpp:56:11<br />     #6 0x73432f in main<br />
/mnt/b/sanitizer-buildbot2/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/lld/tools/lld/lld.cpp:104:13<br />     #7 0x7fc345503f44 in __libc_start_main<br /> (/lib/x86_64-linux-gnu/<a href="http://libc.so">libc.so</a>.6+0x21f44)<br /><br /> SUMMARY: AddressSanitizer: 184 byte(s) leaked in 1 allocation(s).<br /><br /> --kcc</blockquote><br /><br /> r286193 fixes the inlined failure. There are other 130 outstanding<br /> failures, I'm taking a look at them now.</blockquote><br /><br /> There are no more tests failing in ELF/. All the remaining failures<br /> are in COFF, I'm not super-familiar with the code so I'll let someone<br /> else fixing them.</blockquote><br /><br />Oh I want to point out that maybe these bugs open a case for switching<br />back to the old resource lifetime management (using unique_ptr<>)<br />instead of naked `new`. CC:ing dblaikie as he pointed out similar<br />issues in the post-commit review that did the switch. Rui, what do you<br />think?<br
/></pre></blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>