<div dir="ltr">Michael,<div><br></div><div>I think this change introduces a memory leak. Could you take a look?</div><div><br></div><div><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/16225/steps/check-lld%20asan/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/16225/steps/check-lld%20asan/logs/stdio</a><br></div><div><br></div><div><pre style="font-family:"courier new",courier,monotype,monospace;font-size:medium;line-height:normal"><span class="inbox-inbox-stdout">Script:
--
echo -n "Fluffle Puff" > /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.binary
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/ld.lld -m elf_x86_64 -r -b binary /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.binary -o /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.out
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/llvm-readobj /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.out -sections -section-data -symbols | /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/FileCheck /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/test/elf/format-binary.test
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/llvm-mc -filetype=obj -triple=x86_64-pc-linux /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/test/elf/format-binary.test -o /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.o
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/ld.lld /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.o -b binary /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.binary -b default /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.o -shared -o /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/tools/lld/test/elf/Output/format-binary.test.tmp.out
--
Exit Code: 1

Command Output (stderr):
--

=================================================================
==4521==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 968 byte(s) in 1 object(s) allocated from:
    #0 0x657980 in operator new(unsigned long) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:78
    #1 0x6dc7c6 in __allocate /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/libcxx_build_asan/include/c++/v1/new:171:10
    #2 0x6dc7c6 in allocate /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/libcxx_build_asan/include/c++/v1/memory:1771
    #3 0x6dc7c6 in allocate /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/libcxx_build_asan/include/c++/v1/memory:1526
    #4 0x6dc7c6 in __split_buffer /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/libcxx_build_asan/include/c++/v1/__split_buffer:311
    #5 0x6dc7c6 in std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >::__append(unsigned long) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/libcxx_build_asan/include/c++/v1/vector:1032
    #6 0x7e0bce in resize /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/libcxx_build_asan/include/c++/v1/vector:1989:15
    #7 0x7e0bce in std::__1::unique_ptr<lld::elf::InputFile, std::__1::default_delete<lld::elf::InputFile> > lld::elf::BinaryFile::createELF<llvm::object::ELFType<(llvm::support::endianness)1, true> >() /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/ELF/InputFiles.cpp:765
    #8 0xa18171 in lld::elf::SymbolTable<llvm::object::ELFType<(llvm::support::endianness)1, true> >::addFile(std::__1::unique_ptr<lld::elf::InputFile, std::__1::default_delete<lld::elf::InputFile> >) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/ELF/SymbolTable.cpp:58:16
    #9 0x758e17 in void lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1, true> >(llvm::opt::InputArgList&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/ELF/Driver.cpp:620:12
    #10 0x7446eb in lld::elf::LinkerDriver::main(llvm::ArrayRef<char const*>) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/ELF/Driver.cpp:315:5
    #11 0x742800 in lld::elf::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/ELF/Driver.cpp:52:11
    #12 0x65b171 in main /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/lld/tools/lld/lld.cpp:106:13
    #13 0x7f6158eb6f44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44)

SUMMARY: AddressSanitizer: 968 byte(s) leaked in 1 allocation(s).

</span></pre><br class="inbox-inbox-Apple-interchange-newline"></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 9, 2016 at 4:47 PM Michael Spencer via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_msg"><div class="m_-8351668413255112798gmail_signature gmail_msg">On Fri, Sep 9, 2016 at 3:55 PM, Hans Wennborg <span dir="ltr" class="gmail_msg"><<a href="mailto:hwennborg@google.com" class="gmail_msg" target="_blank">hwennborg@google.com</a>></span> wrote:<br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-8351668413255112798gmail- gmail_msg">On Fri, Sep 9, 2016 at 3:08 PM, Michael J. Spencer via llvm-commits<br class="gmail_msg">
<<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
> Author: mspencer<br class="gmail_msg">
> Date: Fri Sep  9 17:08:04 2016<br class="gmail_msg">
> New Revision: 281108<br class="gmail_msg">
><br class="gmail_msg">
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=281108&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=281108&view=rev</a><br class="gmail_msg">
> Log:<br class="gmail_msg">
> [ELF] Add support for -b binary<br class="gmail_msg">
><br class="gmail_msg">
> Implemented by building an ELF file in memory.<br class="gmail_msg">
><br class="gmail_msg">
> elf, default, and binary match gold behavior.<br class="gmail_msg">
><br class="gmail_msg">
> Differential Revision: <a href="https://reviews.llvm.org/D24060" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D24060</a><br class="gmail_msg">
><br class="gmail_msg">
> Added:<br class="gmail_msg">
>     lld/trunk/ELF/ELFCreator.cpp<br class="gmail_msg">
>     lld/trunk/ELF/ELFCreator.h<br class="gmail_msg">
>     lld/trunk/test/elf/<br class="gmail_msg">
>     lld/trunk/test/elf/format-binary.test<br class="gmail_msg">
<br class="gmail_msg">
</span>I assume the test was supposed to go in test/ELF/ ? Having two svn<br class="gmail_msg">
directories with the same name modulo case did not work well on<br class="gmail_msg">
Windows :-) I've tried to fix in r281115.<br class="gmail_msg">
<br class="gmail_msg">
Thanks,<br class="gmail_msg">
Hans<br class="gmail_msg"></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">Yep, thanks for fixing. I thought I had fixed that previously, but apparently not. </div></div><br class="gmail_msg"></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg">- Michael Spencer<br class="gmail_msg"></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"></div></div>
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">Mike<br>Sent from phone</div></div>