<div dir="ltr"><div class="gmail_extra"><div><div class="gmail_signature">On Fri, Sep 9, 2016 at 5:01 PM, Mike Aizatsky <span dir="ltr"><<a href="mailto:aizatsky@google.com" target="_blank">aizatsky@google.com</a>></span> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><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" target="_blank">http://lab.llvm.org:8011/<wbr>builders/sanitizer-x86_64-<wbr>linux-fast/builds/16225/steps/<wbr>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>Script:
--
echo -n "Fluffle Puff" > /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.binary
/mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/./bin/<wbr>ld.lld -m elf_x86_64 -r -b binary /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.binary -o /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.out
/mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/./bin/<wbr>llvm-readobj /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.out -sections -section-data -symbols | /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/./bin/<wbr>FileCheck /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm/tools/lld/test/elf/<wbr>format-binary.test
/mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/./bin/<wbr>llvm-mc -filetype=obj -triple=x86_64-pc-linux /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm/tools/lld/test/elf/<wbr>format-binary.test -o /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.o
/mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/./bin/<wbr>ld.lld /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.o -b binary /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.binary -b default /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.o -shared -o /mnt/b/sanitizer-buildbot3/<wbr>sanitizer-x86_64-linux-fast/<wbr>build/llvm_build_asan/tools/<wbr>lld/test/elf/Output/format-<wbr>binary.test.tmp.out
--
Exit Code: 1

Command Output (stderr):
--

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

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

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