From: ojab <ojab@ojab.ru>
To: musl@lists.openwall.com
Subject: Re: LLVM testsuite, close-stderr.ll hangs
Date: Tue, 18 Dec 2012 09:55:54 +0400 [thread overview]
Message-ID: <50D0056A.4090303@ojab.ru> (raw)
In-Reply-To: <20121217172227.GU20323@brightrain.aerifal.cx>
[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]
On 17.12.2012 21:22, Rich Felker wrote:
> On Mon, Dec 17, 2012 at 11:58:29AM -0500, Rich Felker wrote:
> To track this down, you could run under gdb and just interrupt the
> program and look at a backtrace once it hangs. This should make it
> clear whether exit was called recursively.
>
> Rich
>
Looks something like that (gdb output in the attached file, `bt` while
`opt` hangs in the bottom): I've set `break exit` and stepped till it
hangs, first exit() happens in command line parsing
(https://github.com/llvm-mirror/llvm/blob/master/lib/Support/CommandLine.cpp#L846),
which calls report_fatal_error("IO failure on output stream.");, which
calls exit itself.
Looks like (note that I'm barely know C/C++) something wrong in ostream
destruction: after changing ifdef to ifndef @
https://github.com/llvm-mirror/llvm/blob/master/lib/Support/raw_ostream.cpp#L501
all works as it should:
> ~ # /root/llvm-build/Release+Asserts/bin/opt --reject-this-option 2>&-
> ~ # echo $?
> 1
//wbr ojab
[-- Attachment #2: gdb_stderr.log --]
[-- Type: text/plain, Size: 42334 bytes --]
~ # \r~ # gdb --args /root/llvm-build/Release+Asserts/bin/opt --reject-this-option 2>&-^[[J
GNU gdb (GDB) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /root/llvm-build/Release+Asserts/bin/opt...done.
(gdb) break exit
Breakpoint 1 at 0x844e30
(gdb) run
Starting program: /root/llvm-build/Release+Asserts/bin/opt --reject-this-option
Breakpoint 1, 0x00007f96637777e5 in exit () from /lib/ld-musl-x86_64.so.1
(gdb) bt
#0 0x00007f96637777e5 in exit () from /lib/ld-musl-x86_64.so.1
#1 0x00000000014091f9 in llvm::cl::ParseCommandLineOptions (argc=2, argv=0x34f01c0, Overview=0x1460678 "llvm .bc -> .bc modular optimizer and analysis printer\n")
at /root/llvm/lib/Support/CommandLine.cpp:846
#2 0x00000000008546f6 in main (argc=2, argv=0x7fff90b6a348) at /root/llvm/tools/opt/opt.cpp:586
(gdb) step
Single stepping until exit from function exit,
which has no line number information.
llvm::raw_fd_ostream::~raw_fd_ostream (this=0x7fff90b69e58, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:490
490 raw_fd_ostream::~raw_fd_ostream() {
(gdb)
491 if (FD >= 0) {
(gdb)
492 flush();
(gdb)
llvm::raw_ostream::flush (this=0x34efc20) at /root/llvm/include/llvm/Support/raw_ostream.h:129
129 void flush() {
(gdb)
130 if (OutBufCur != OutBufStart)
(gdb)
132 }
(gdb)
llvm::raw_fd_ostream::~raw_fd_ostream (this=0x1b50880, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:493
493 if (ShouldClose)
(gdb)
513 if (has_error())
(gdb)
llvm::raw_fd_ostream::has_error (this=0x21) at /root/llvm/include/llvm/Support/raw_ostream.h:406
406 bool has_error() const {
(gdb)
407 return Error;
(gdb)
408 }
(gdb)
llvm::raw_fd_ostream::~raw_fd_ostream (this=0x1b50880, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:514
514 report_fatal_error("IO failure on output stream.");
(gdb)
llvm::report_fatal_error (Reason=0x40 <Address 0x40 out of bounds>) at /root/llvm/lib/Support/ErrorHandling.cpp:52
52 void llvm::report_fatal_error(const char *Reason) {
(gdb)
53 report_fatal_error(Twine(Reason));
(gdb)
llvm::Twine::Twine (this=0x34f01d0, Str=0x0) at /root/llvm/include/llvm/ADT/Twine.h:263
263 /*implicit*/ Twine(const char *Str)
(gdb)
264 : RHSKind(EmptyKind) {
(gdb)
265 if (Str[0] != '\0') {
(gdb)
266 LHS.cString = Str;
(gdb)
267 LHSKind = CStringKind;
(gdb)
271 assert(isValid() && "Invalid twine!");
(gdb)
llvm::Twine::isValid (this=0x7f966377e148) at /root/llvm/include/llvm/ADT/Twine.h:212
212 bool isValid() const {
(gdb)
214 if (isNullary() && getRHSKind() != EmptyKind)
(gdb)
llvm::Twine::isNullary (this=0xdf0418) at /root/llvm/include/llvm/ADT/Twine.h:196
196 bool isNullary() const {
(gdb)
197 return isNull() || isEmpty();
(gdb)
llvm::Twine::isNull (this=0xdf07b0) at /root/llvm/include/llvm/ADT/Twine.h:186
186 bool isNull() const {
(gdb)
187 return getLHSKind() == NullKind;
(gdb)
llvm::Twine::getLHSKind (this=0xfffffffffffffffe) at /root/llvm/include/llvm/ADT/Twine.h:237
237 NodeKind getLHSKind() const { return (NodeKind) LHSKind; }
(gdb)
llvm::Twine::isNull (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:188
188 }
(gdb)
llvm::Twine::isEmpty (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:191
191 bool isEmpty() const {
(gdb)
192 return getLHSKind() == EmptyKind;
(gdb)
llvm::Twine::getLHSKind (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:237
237 NodeKind getLHSKind() const { return (NodeKind) LHSKind; }
(gdb)
llvm::Twine::isEmpty (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:193
193 }
(gdb)
llvm::Twine::isNullary (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:198
198 }
(gdb)
llvm::Twine::isValid (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:218
218 if (getRHSKind() == NullKind)
(gdb)
llvm::Twine::getRHSKind (this=0x8545ce) at /root/llvm/include/llvm/ADT/Twine.h:240
240 NodeKind getRHSKind() const { return (NodeKind) RHSKind; }
(gdb)
llvm::Twine::isValid (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:222
222 if (getRHSKind() != EmptyKind && getLHSKind() == EmptyKind)
(gdb)
llvm::Twine::getRHSKind (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:240
240 NodeKind getRHSKind() const { return (NodeKind) RHSKind; }
(gdb)
llvm::Twine::isValid (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:226
226 if (getLHSKind() == TwineKind &&
(gdb)
llvm::Twine::getLHSKind (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:237
237 NodeKind getLHSKind() const { return (NodeKind) LHSKind; }
(gdb)
llvm::Twine::isValid (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:229
229 if (getRHSKind() == TwineKind &&
(gdb)
llvm::Twine::getRHSKind (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:240
240 NodeKind getRHSKind() const { return (NodeKind) RHSKind; }
(gdb)
llvm::Twine::isValid (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:233
233 return true;
(gdb)
234 }
(gdb)
llvm::Twine::Twine (this=0x7fff90b69bf0, Str=0x1628dd3 "IO failure on output stream.") at /root/llvm/include/llvm/ADT/Twine.h:272
272 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:64
64 void llvm::report_fatal_error(const Twine &Reason) {
(gdb)
65 if (ErrorHandler) {
(gdb)
71 SmallVector<char, 64> Buffer;
(gdb)
llvm::SmallVector<char, 64u>::SmallVector (this=0x1460128) at /root/llvm/include/llvm/ADT/SmallVector.h:878
878 SmallVector() : SmallVectorImpl<T>(N) {
(gdb)
llvm::SmallVectorImpl<char>::SmallVectorImpl (this=0x12, N=0) at /root/llvm/include/llvm/ADT/SmallVector.h:375
375 explicit SmallVectorImpl(unsigned N)
(gdb)
376 : SmallVectorTemplateBase<T, isPodLike<T>::value>(N*sizeof(T)) {
(gdb)
llvm::SmallVectorTemplateBase<char, true>::SmallVectorTemplateBase (this=0x14066dc, Size=140735621274560) at /root/llvm/include/llvm/ADT/SmallVector.h:292
292 SmallVectorTemplateBase(size_t Size) : SmallVectorTemplateCommon<T>(Size) {}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::SmallVectorTemplateCommon (this=0x1614b4f, Size=21033176) at /root/llvm/include/llvm/ADT/SmallVector.h:77
77 SmallVectorTemplateCommon(size_t Size) : SmallVectorBase(&FirstEl, Size) {}
(gdb)
llvm::SmallVectorBase::SmallVectorBase (this=0x7fff90b69bc0, FirstEl=0x1410697, Size=21031949) at /root/llvm/include/llvm/ADT/SmallVector.h:37
37 SmallVectorBase(void *FirstEl, size_t Size)
(gdb)
38 : BeginX(FirstEl), EndX(FirstEl), CapacityX((char*)FirstEl+Size) {}
(gdb)
llvm::SmallVectorImpl<char>::SmallVectorImpl (this=0x7fff90b69b20, N=64) at /root/llvm/include/llvm/ADT/SmallVector.h:377
377 }
(gdb)
llvm::SmallVector<char, 64u>::SmallVector (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:879
879 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:72
72 raw_svector_ostream OS(Buffer);
(gdb)
llvm::raw_svector_ostream::raw_svector_ostream (this=0x7fff90b69b20, O=...) at /root/llvm/lib/Support/raw_ostream.cpp:709
709 raw_svector_ostream::raw_svector_ostream(SmallVectorImpl<char> &O) : OS(O) {
(gdb)
llvm::raw_ostream::raw_ostream (this=0x34e3a00, unbuffered=255) at /root/llvm/include/llvm/Support/raw_ostream.h:76
76 explicit raw_ostream(bool unbuffered=false)
(gdb)
77 : BufferMode(unbuffered ? Unbuffered : InternalBuffer) {
(gdb)
79 OutBufStart = OutBufEnd = OutBufCur = 0;
(gdb)
80 }
(gdb)
llvm::raw_svector_ostream::raw_svector_ostream (this=0x7fff90b69b80, O=...) at /root/llvm/lib/Support/raw_ostream.cpp:714
714 OS.reserve(OS.size() + 128);
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x7f0090b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7fff90b69e30) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorImpl<char>::reserve (this=0x7fff90b69b20, N=64) at /root/llvm/include/llvm/ADT/SmallVector.h:419
419 void reserve(unsigned N) {
(gdb)
420 if (this->capacity() < N)
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:131
131 size_t capacity() const { return capacity_ptr() - begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity_ptr (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:117
117 const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorImpl<char>::reserve (this=0x7fff90b69b20, N=128) at /root/llvm/include/llvm/ADT/SmallVector.h:421
421 this->grow(N);
(gdb)
llvm::SmallVectorTemplateBase<char, true>::grow (this=0x7fff90b69b20, MinSize=64) at /root/llvm/include/llvm/ADT/SmallVector.h:340
340 void grow(size_t MinSize = 0) {
(gdb)
341 this->grow_pod(MinSize*sizeof(T), sizeof(T));
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::grow_pod (this=0x40, MinSizeInBytes=12387808, TSize=140735621274400) at /root/llvm/include/llvm/ADT/SmallVector.h:79
79 void grow_pod(size_t MinSizeInBytes, size_t TSize) {
(gdb)
80 SmallVectorBase::grow_pod(&FirstEl, MinSizeInBytes, TSize);
(gdb)
llvm::SmallVectorBase::grow_pod (this=0x34e3eb8, FirstEl=0x1614b4f, MinSizeInBytes=140735621273868, TSize=140735621273792)
at /root/llvm/lib/Support/SmallVector.cpp:20
20 size_t TSize) {
(gdb)
21 size_t CurSizeBytes = size_in_bytes();
(gdb)
llvm::SmallVectorBase::size_in_bytes (this=0x27) at /root/llvm/include/llvm/ADT/SmallVector.h:46
46 size_t size_in_bytes() const {
(gdb)
47 return size_t((char*)EndX - (char*)BeginX);
(gdb)
48 }
(gdb)
llvm::SmallVectorBase::grow_pod (this=0x7fff90b69b20, FirstEl=0x7fff90b69b38, MinSizeInBytes=128, TSize=1) at /root/llvm/lib/Support/SmallVector.cpp:22
22 size_t NewCapacityInBytes = 2 * capacity_in_bytes() + TSize; // Always grow.
(gdb)
llvm::SmallVectorBase::capacity_in_bytes (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:51
51 size_t capacity_in_bytes() const {
(gdb)
52 return size_t((char*)CapacityX - (char*)BeginX);
(gdb)
53 }
(gdb)
llvm::SmallVectorBase::grow_pod (this=0x7fff90b69b20, FirstEl=0x7fff90b69b38, MinSizeInBytes=128, TSize=1) at /root/llvm/lib/Support/SmallVector.cpp:23
23 if (NewCapacityInBytes < MinSizeInBytes)
(gdb)
27 if (BeginX == FirstEl) {
(gdb)
28 NewElts = malloc(NewCapacityInBytes);
(gdb)
31 memcpy(NewElts, this->BeginX, CurSizeBytes);
(gdb)
37 this->EndX = (char*)NewElts+CurSizeBytes;
(gdb)
38 this->BeginX = NewElts;
(gdb)
39 this->CapacityX = (char*)this->BeginX + NewCapacityInBytes;
(gdb)
40 }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::grow_pod (this=0x7fff90b69b20, MinSizeInBytes=128, TSize=1) at /root/llvm/include/llvm/ADT/SmallVector.h:81
81 }
(gdb)
llvm::SmallVectorTemplateBase<char, true>::grow (this=0x7fff90b69b20, MinSize=128) at /root/llvm/include/llvm/ADT/SmallVector.h:342
342 }
(gdb)
llvm::SmallVectorImpl<char>::reserve (this=0x7fff90b69b20, N=128) at /root/llvm/include/llvm/ADT/SmallVector.h:422
422 }
(gdb)
llvm::raw_svector_ostream::raw_svector_ostream (this=0x7fff90b69b80, O=...) at /root/llvm/lib/Support/raw_ostream.cpp:715
715 SetBuffer(OS.end(), OS.capacity() - OS.size());
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:131
131 size_t capacity() const { return capacity_ptr() - begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity_ptr (this=0x1e) at /root/llvm/include/llvm/ADT/SmallVector.h:117
117 const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x81) at /root/llvm/include/llvm/ADT/SmallVector.h:113
113 iterator end() { return (iterator)this->EndX; }
(gdb)
llvm::raw_ostream::SetBuffer (this=0x7fff90b69b20, BufferStart=0x80034f0762 <Address 0x80034f0762 out of bounds>, Size=12373777)
at /root/llvm/include/llvm/Support/raw_ostream.h:275
275 void SetBuffer(char *BufferStart, size_t Size) {
(gdb)
276 SetBufferAndMode(BufferStart, Size, ExternalBuffer);
(gdb)
llvm::raw_ostream::SetBufferAndMode (this=0xcbc5dc, BufferStart=0x1e <Address 0x1e out of bounds>, Size=140735621274400, Mode=llvm::raw_ostream::Unbuffered)
at /root/llvm/lib/Support/raw_ostream.cpp:88
88 BufferKind Mode) {
(gdb)
91 "stream must be unbuffered or have at least one byte");
(gdb)
94 assert(GetNumBytesInBuffer() == 0 && "Current buffer is non-empty!");
(gdb)
llvm::raw_ostream::GetNumBytesInBuffer (this=0x7fff90b69b38) at /root/llvm/include/llvm/Support/raw_ostream.h:121
121 size_t GetNumBytesInBuffer() const {
(gdb)
122 return OutBufCur - OutBufStart;
(gdb)
123 }
(gdb)
llvm::raw_ostream::SetBufferAndMode (this=0x7fff90b69b80, BufferStart=0x34efc60 "\320\001O\003", Size=129, Mode=llvm::raw_ostream::ExternalBuffer)
at /root/llvm/lib/Support/raw_ostream.cpp:96
96 if (BufferMode == InternalBuffer)
(gdb)
97 delete [] OutBufStart;
(gdb)
98 OutBufStart = BufferStart;
(gdb)
99 OutBufEnd = OutBufStart+Size;
(gdb)
100 OutBufCur = OutBufStart;
(gdb)
101 BufferMode = Mode;
(gdb)
103 assert(OutBufStart <= OutBufEnd && "Invalid size!");
(gdb)
104 }
(gdb)
llvm::raw_ostream::SetBuffer (this=0x7fff90b69b80, BufferStart=0x34efc60 "\320\001O\003", Size=129) at /root/llvm/include/llvm/Support/raw_ostream.h:277
277 }
(gdb)
llvm::raw_svector_ostream::raw_svector_ostream (this=0x7fff90b69b80, O=...) at /root/llvm/lib/Support/raw_ostream.cpp:716
716 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:73
73 OS << "LLVM ERROR: " << Reason << "\n";
(gdb)
llvm::raw_ostream::operator<< (this=0x145205f, Str=0x81 <Address 0x81 out of bounds>) at /root/llvm/include/llvm/Support/raw_ostream.h:168
168 raw_ostream &operator<<(const char *Str) {
(gdb)
172 return this->operator<<(StringRef(Str));
(gdb)
llvm::StringRef::StringRef (this=0x81, Str=0x7fff90b69b20 "`\374N\003") at /root/llvm/include/llvm/ADT/StringRef.h:76
76 /*implicit*/ StringRef(const char *Str)
(gdb)
77 : Data(Str) {
(gdb)
78 assert(Str && "StringRef cannot be built from a NULL argument");
(gdb)
79 Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior
(gdb)
80 }
(gdb)
llvm::raw_ostream::operator<< (this=0x845707, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:155
155 raw_ostream &operator<<(StringRef Str) {
(gdb)
157 size_t Size = Str.size();
(gdb)
llvm::StringRef::size (this=0x200000080) at /root/llvm/include/llvm/ADT/StringRef.h:113
113 size_t size() const { return Length; }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:160
160 if (OutBufCur+Size > OutBufEnd)
(gdb)
163 memcpy(OutBufCur, Str.data(), Size);
(gdb)
llvm::StringRef::data (this=0x7fff90b69a98) at /root/llvm/include/llvm/ADT/StringRef.h:107
107 const char *data() const { return Data; }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:164
164 OutBufCur += Size;
(gdb)
165 return *this;
(gdb)
166 }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=0x1623ac7 "LLVM ERROR: ") at /root/llvm/include/llvm/Support/raw_ostream.h:173
173 }
(gdb)
llvm::operator<< (OS=..., RHS=...) at /root/llvm/include/llvm/ADT/Twine.h:516
516 inline raw_ostream &operator<<(raw_ostream &OS, const Twine &RHS) {
(gdb)
517 RHS.print(OS);
(gdb)
llvm::Twine::print (this=0x845c5b, OS=...) at /root/llvm/lib/Support/Twine.cpp:152
152 void Twine::print(raw_ostream &OS) const {
(gdb)
153 printOneChild(OS, LHS, getLHSKind());
(gdb)
llvm::Twine::getLHSKind (this=0x1623ac7) at /root/llvm/include/llvm/ADT/Twine.h:237
237 NodeKind getLHSKind() const { return (NodeKind) LHSKind; }
(gdb)
llvm::Twine::printOneChild (this=0x7fff90b69b80, OS=..., Ptr=..., Kind=llvm::Twine::NullKind) at /root/llvm/lib/Support/Twine.cpp:59
59 NodeKind Kind) const {
(gdb)
60 switch (Kind) {
(gdb)
67 OS << Ptr.cString;
(gdb)
llvm::raw_ostream::operator<< (this=0x81, Str=0x34efc60 "LLVM ERROR: \226\177") at /root/llvm/include/llvm/Support/raw_ostream.h:168
168 raw_ostream &operator<<(const char *Str) {
(gdb)
172 return this->operator<<(StringRef(Str));
(gdb)
llvm::StringRef::StringRef (this=0x7fff90b69b20, Str=0x7fff90b69b38 "@") at /root/llvm/include/llvm/ADT/StringRef.h:76
76 /*implicit*/ StringRef(const char *Str)
(gdb)
77 : Data(Str) {
(gdb)
78 assert(Str && "StringRef cannot be built from a NULL argument");
(gdb)
79 Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior
(gdb)
80 }
(gdb)
llvm::raw_ostream::operator<< (this=0x845707, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:155
155 raw_ostream &operator<<(StringRef Str) {
(gdb)
157 size_t Size = Str.size();
(gdb)
llvm::StringRef::size (this=0x843f18) at /root/llvm/include/llvm/ADT/StringRef.h:113
113 size_t size() const { return Length; }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:160
160 if (OutBufCur+Size > OutBufEnd)
(gdb)
163 memcpy(OutBufCur, Str.data(), Size);
(gdb)
llvm::StringRef::data (this=0x7fff90b69a18) at /root/llvm/include/llvm/ADT/StringRef.h:107
107 const char *data() const { return Data; }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:164
164 OutBufCur += Size;
(gdb)
165 return *this;
(gdb)
166 }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=0x1628dd3 "IO failure on output stream.") at /root/llvm/include/llvm/Support/raw_ostream.h:173
173 }
(gdb)
llvm::Twine::printOneChild (this=0x7fff90b69bf0, OS=..., Ptr=..., Kind=llvm::Twine::CStringKind) at /root/llvm/lib/Support/Twine.cpp:68
68 break;
(gdb)
100 }
(gdb)
llvm::Twine::print (this=0x7fff90b69bf0, OS=...) at /root/llvm/lib/Support/Twine.cpp:154
154 printOneChild(OS, RHS, getRHSKind());
(gdb)
llvm::Twine::getRHSKind (this=0x7fff90b69bf0) at /root/llvm/include/llvm/ADT/Twine.h:240
240 NodeKind getRHSKind() const { return (NodeKind) RHSKind; }
(gdb)
llvm::Twine::printOneChild (this=0x7fff90b69bf0, OS=..., Ptr=..., Kind=llvm::Twine::CStringKind) at /root/llvm/lib/Support/Twine.cpp:59
59 NodeKind Kind) const {
(gdb)
60 switch (Kind) {
(gdb)
61 case Twine::NullKind: break;
(gdb)
100 }
(gdb)
llvm::Twine::print (this=0x7fff90b69bf0, OS=...) at /root/llvm/lib/Support/Twine.cpp:155
155 }
(gdb)
llvm::operator<< (OS=..., RHS=...) at /root/llvm/include/llvm/ADT/Twine.h:518
518 return OS;
(gdb)
519 }
(gdb)
llvm::raw_ostream::operator<< (this=0xfc66a3, Str=0x1e <Address 0x1e out of bounds>) at /root/llvm/include/llvm/Support/raw_ostream.h:168
168 raw_ostream &operator<<(const char *Str) {
(gdb)
172 return this->operator<<(StringRef(Str));
(gdb)
llvm::StringRef::StringRef (this=0x145003d, Str=0x7fff90b69bf0 "\323\215b\001") at /root/llvm/include/llvm/ADT/StringRef.h:76
76 /*implicit*/ StringRef(const char *Str)
(gdb)
77 : Data(Str) {
(gdb)
78 assert(Str && "StringRef cannot be built from a NULL argument");
(gdb)
79 Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior
(gdb)
80 }
(gdb)
llvm::raw_ostream::operator<< (this=0x845707, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:155
155 raw_ostream &operator<<(StringRef Str) {
(gdb)
157 size_t Size = Str.size();
(gdb)
llvm::StringRef::size (this=0x7fff90b69a98) at /root/llvm/include/llvm/ADT/StringRef.h:113
113 size_t size() const { return Length; }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:160
160 if (OutBufCur+Size > OutBufEnd)
(gdb)
163 memcpy(OutBufCur, Str.data(), Size);
(gdb)
llvm::StringRef::data (this=0x7fff90b69a98) at /root/llvm/include/llvm/ADT/StringRef.h:107
107 const char *data() const { return Data; }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=...) at /root/llvm/include/llvm/Support/raw_ostream.h:164
164 OutBufCur += Size;
(gdb)
165 return *this;
(gdb)
166 }
(gdb)
llvm::raw_ostream::operator<< (this=0x7fff90b69b80, Str=0x1623ad4 "\n") at /root/llvm/include/llvm/Support/raw_ostream.h:173
173 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:74
74 StringRef MessageStr = OS.str();
(gdb)
llvm::raw_svector_ostream::str (this=0x845c5b) at /root/llvm/lib/Support/raw_ostream.cpp:760
760 StringRef raw_svector_ostream::str() {
(gdb)
761 flush();
(gdb)
llvm::raw_ostream::flush (this=0x1623ad4) at /root/llvm/include/llvm/Support/raw_ostream.h:129
129 void flush() {
(gdb)
130 if (OutBufCur != OutBufStart)
(gdb)
131 flush_nonempty();
(gdb)
llvm::raw_ostream::flush_nonempty (this=0x1c) at /root/llvm/lib/Support/raw_ostream.cpp:260
260 void raw_ostream::flush_nonempty() {
(gdb)
261 assert(OutBufCur > OutBufStart && "Invalid call to flush_nonempty.");
(gdb)
262 size_t Length = OutBufCur - OutBufStart;
(gdb)
263 OutBufCur = OutBufStart;
(gdb)
264 write_impl(OutBufStart, Length);
(gdb)
llvm::raw_svector_ostream::write_impl (this=0x845c5b, Ptr=0x2 <Address 0x2 out of bounds>, Size=28) at /root/llvm/lib/Support/raw_ostream.cpp:734
734 void raw_svector_ostream::write_impl(const char *Ptr, size_t Size) {
(gdb)
738 if (Ptr == OS.end()) {
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x1c) at /root/llvm/include/llvm/ADT/SmallVector.h:113
113 iterator end() { return (iterator)this->EndX; }
(gdb)
llvm::raw_svector_ostream::write_impl (this=0x7fff90b69b80, Ptr=0x34efc60 "LLVM ERROR: IO failure on output stream.\n\376N\003", Size=41)
at /root/llvm/lib/Support/raw_ostream.cpp:739
739 assert(OS.size() + Size <= OS.capacity() && "Invalid write_impl() call!");
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x1628dd3) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7fff90b69a18) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:131
131 size_t capacity() const { return capacity_ptr() - begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity_ptr (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:117
117 const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::raw_svector_ostream::write_impl (this=0x7fff90b69b80, Ptr=0x34efc60 "LLVM ERROR: IO failure on output stream.\n\376N\003", Size=41)
at /root/llvm/lib/Support/raw_ostream.cpp:740
740 OS.set_size(OS.size() + Size);
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorImpl<char>::set_size (this=0x7fff90b69b20, N=0) at /root/llvm/include/llvm/ADT/SmallVector.h:696
696 void set_size(unsigned N) {
(gdb)
697 assert(N <= this->capacity());
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity (this=0x1b50880) at /root/llvm/include/llvm/ADT/SmallVector.h:131
131 size_t capacity() const { return capacity_ptr() - begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity_ptr (this=0x0) at /root/llvm/include/llvm/ADT/SmallVector.h:117
117 const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorImpl<char>::set_size (this=0x7fff90b69b20, N=41) at /root/llvm/include/llvm/ADT/SmallVector.h:698
698 this->setEnd(this->begin() + N);
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x29) at /root/llvm/include/llvm/ADT/SmallVector.h:111
111 iterator begin() { return (iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::setEnd (this=0x7fff90b69b20, P=0x7fff90b69b20 "`\374N\003") at /root/llvm/include/llvm/ADT/SmallVector.h:94
94 void setEnd(T *P) { this->EndX = P; }
(gdb)
llvm::SmallVectorImpl<char>::set_size (this=0x7fff90b69b20, N=41) at /root/llvm/include/llvm/ADT/SmallVector.h:699
699 }
(gdb)
llvm::raw_svector_ostream::write_impl (this=0x7fff90b69b80, Ptr=0x34efc60 "LLVM ERROR: IO failure on output stream.\n\376N\003", Size=41)
at /root/llvm/lib/Support/raw_ostream.cpp:749
749 if (OS.capacity() - OS.size() < 64)
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:131
131 size_t capacity() const { return capacity_ptr() - begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity_ptr (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:117
117 const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::raw_svector_ostream::write_impl (this=0x7fff90b69b80, Ptr=0x34efc60 "LLVM ERROR: IO failure on output stream.\n\376N\003", Size=41)
at /root/llvm/lib/Support/raw_ostream.cpp:753
753 SetBuffer(OS.end(), OS.capacity() - OS.size());
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:131
131 size_t capacity() const { return capacity_ptr() - begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::capacity_ptr (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:117
117 const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x81) at /root/llvm/include/llvm/ADT/SmallVector.h:113
113 iterator end() { return (iterator)this->EndX; }
(gdb)
llvm::raw_ostream::SetBuffer (this=0x7fff90b69b20, BufferStart=0x2900000000 <Address 0x2900000000 out of bounds>, Size=12373777)
at /root/llvm/include/llvm/Support/raw_ostream.h:275
275 void SetBuffer(char *BufferStart, size_t Size) {
(gdb)
276 SetBufferAndMode(BufferStart, Size, ExternalBuffer);
(gdb)
llvm::raw_ostream::SetBufferAndMode (this=0xcbc63b, BufferStart=0x7fff90b69b20 "`\374N\003", Size=17179871392, Mode=llvm::raw_ostream::Unbuffered)
at /root/llvm/lib/Support/raw_ostream.cpp:88
88 BufferKind Mode) {
(gdb)
91 "stream must be unbuffered or have at least one byte");
(gdb)
94 assert(GetNumBytesInBuffer() == 0 && "Current buffer is non-empty!");
(gdb)
llvm::raw_ostream::GetNumBytesInBuffer (this=0x27) at /root/llvm/include/llvm/Support/raw_ostream.h:121
121 size_t GetNumBytesInBuffer() const {
(gdb)
122 return OutBufCur - OutBufStart;
(gdb)
123 }
(gdb)
llvm::raw_ostream::SetBufferAndMode (this=0x7fff90b69b80, BufferStart=0x34efc89 "\376N\003", Size=88, Mode=llvm::raw_ostream::ExternalBuffer)
at /root/llvm/lib/Support/raw_ostream.cpp:96
96 if (BufferMode == InternalBuffer)
(gdb)
98 OutBufStart = BufferStart;
(gdb)
99 OutBufEnd = OutBufStart+Size;
(gdb)
100 OutBufCur = OutBufStart;
(gdb)
101 BufferMode = Mode;
(gdb)
103 assert(OutBufStart <= OutBufEnd && "Invalid size!");
(gdb)
104 }
(gdb)
llvm::raw_ostream::SetBuffer (this=0x7fff90b69b80, BufferStart=0x34efc89 "\376N\003", Size=88) at /root/llvm/include/llvm/Support/raw_ostream.h:277
277 }
(gdb)
llvm::raw_svector_ostream::write_impl (this=0x7fff90b69b80, Ptr=0x34efc60 "LLVM ERROR: IO failure on output stream.\n\376N\003", Size=41)
at /root/llvm/lib/Support/raw_ostream.cpp:754
754 }
(gdb)
llvm::raw_ostream::flush_nonempty (this=0x7fff90b69b80) at /root/llvm/lib/Support/raw_ostream.cpp:265
265 }
(gdb)
llvm::raw_ostream::flush (this=0x7fff90b69b80) at /root/llvm/include/llvm/Support/raw_ostream.h:132
132 }
(gdb)
llvm::raw_svector_ostream::str (this=0x7fff90b69b80) at /root/llvm/lib/Support/raw_ostream.cpp:762
762 return StringRef(OS.begin(), OS.size());
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::size (this=0x7fff90b69b80) at /root/llvm/include/llvm/ADT/SmallVector.h:126
126 size_type size() const { return end()-begin(); }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x1e) at /root/llvm/include/llvm/ADT/SmallVector.h:114
114 const_iterator end() const { return (const_iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:112
112 const_iterator begin() const { return (const_iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x1e) at /root/llvm/include/llvm/ADT/SmallVector.h:111
111 iterator begin() { return (iterator)this->BeginX; }
(gdb)
llvm::StringRef::StringRef (this=0x7fff90b69b20, data=0x7f966377e507 "\211D$\020\213\005\217\210%", length=12373777) at /root/llvm/include/llvm/ADT/StringRef.h:83
83 /*implicit*/ StringRef(const char *data, size_t length)
(gdb)
84 : Data(data), Length(length) {
(gdb)
86 "StringRef cannot be built from a NULL argument with non-null length");
(gdb)
87 }
(gdb)
llvm::raw_svector_ostream::str (this=0x7fff90b69b80) at /root/llvm/lib/Support/raw_ostream.cpp:763
763 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:75
75 ssize_t written = ::write(2, MessageStr.data(), MessageStr.size());
(gdb)
llvm::StringRef::size (this=0x1e) at /root/llvm/include/llvm/ADT/StringRef.h:113
113 size_t size() const { return Length; }
(gdb)
llvm::StringRef::data (this=0x7fff90b69bb0) at /root/llvm/include/llvm/ADT/StringRef.h:107
107 const char *data() const { return Data; }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:76
76 (void)written; // If something went wrong, we deliberately just give up.
(gdb)
llvm::raw_svector_ostream::~raw_svector_ostream (this=0x7f96637793a4, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:718
718 raw_svector_ostream::~raw_svector_ostream() {
(gdb)
720 flush();
(gdb)
llvm::raw_ostream::flush (this=0x14517ca) at /root/llvm/include/llvm/Support/raw_ostream.h:129
129 void flush() {
(gdb)
130 if (OutBufCur != OutBufStart)
(gdb)
132 }
(gdb)
llvm::raw_svector_ostream::~raw_svector_ostream (this=0x7fff90b69b80, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:718
718 raw_svector_ostream::~raw_svector_ostream() {
(gdb)
llvm::raw_ostream::~raw_ostream (this=0x7fff90b69b80, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:60
60 raw_ostream::~raw_ostream() {
(gdb)
64 "raw_ostream destructor called with non-empty buffer!");
(gdb)
66 if (BufferMode == InternalBuffer)
(gdb)
68 }
(gdb)
llvm::raw_svector_ostream::~raw_svector_ostream (this=0x7fff90b69b80, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:721
721 }
(gdb)
llvm::SmallVector<char, 64u>::~SmallVector (this=0x7fff90b69b80, __in_chrg=<optimized out>) at /root/llvm/include/llvm/ADT/SmallVector.h:874
874 class SmallVector : public SmallVectorImpl<T> {
(gdb)
llvm::SmallVectorImpl<char>::~SmallVectorImpl (this=0x7fff90b69b80, __in_chrg=<optimized out>) at /root/llvm/include/llvm/ADT/SmallVector.h:380
380 ~SmallVectorImpl() {
(gdb)
382 this->destroy_range(this->begin(), this->end());
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::end (this=0x7f96639cf0c8) at /root/llvm/include/llvm/ADT/SmallVector.h:113
113 iterator end() { return (iterator)this->EndX; }
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:111
111 iterator begin() { return (iterator)this->BeginX; }
(gdb)
llvm::SmallVectorTemplateBase<char, true>::destroy_range () at /root/llvm/include/llvm/ADT/SmallVector.h:295
295 static void destroy_range(T *, T *) {}
(gdb)
llvm::SmallVectorImpl<char>::~SmallVectorImpl (this=0x7fff90b69b20, __in_chrg=<optimized out>) at /root/llvm/include/llvm/ADT/SmallVector.h:385
385 if (!this->isSmall())
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::isSmall (this=0x34efc60) at /root/llvm/include/llvm/ADT/SmallVector.h:85
85 bool isSmall() const {
(gdb)
86 return BeginX == static_cast<const void*>(&FirstEl);
(gdb)
87 }
(gdb)
llvm::SmallVectorImpl<char>::~SmallVectorImpl (this=0x7fff90b69b20, __in_chrg=<optimized out>) at /root/llvm/include/llvm/ADT/SmallVector.h:386
386 free(this->begin());
(gdb)
llvm::SmallVectorTemplateCommon<char, void>::begin (this=0x7fff90b69b20) at /root/llvm/include/llvm/ADT/SmallVector.h:111
111 iterator begin() { return (iterator)this->BeginX; }
(gdb)
llvm::SmallVectorImpl<char>::~SmallVectorImpl (this=0x7fff90b69b20, __in_chrg=<optimized out>) at /root/llvm/include/llvm/ADT/SmallVector.h:387
387 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:82
82 sys::RunInterruptHandlers();
(gdb)
llvm::sys::RunInterruptHandlers () at /root/llvm/lib/Support/Unix/Signals.inc:187
187 void llvm::sys::RunInterruptHandlers() {
(gdb)
188 SignalsMutex.acquire();
(gdb)
llvm::sys::SmartMutex<true>::acquire (this=0xcbb546) at /root/llvm/include/llvm/Support/Mutex.h:96
96 bool acquire() {
(gdb)
97 if (!mt_only || llvm_is_multithreaded()) {
(gdb)
llvm::llvm_is_multithreaded () at /root/llvm/lib/Support/Threading.cpp:55
55 return multithreaded_mode;
(gdb)
56 }
(gdb)
llvm::sys::SmartMutex<true>::acquire (this=0x1b4fb40) at /root/llvm/include/llvm/Support/Mutex.h:103
103 assert((recursive || acquired == 0) && "Lock already acquired!!");
(gdb)
104 ++acquired;
(gdb)
105 return true;
(gdb)
107 }
(gdb)
llvm::sys::RunInterruptHandlers () at /root/llvm/lib/Support/Unix/Signals.inc:189
189 RemoveFilesToRemove();
(gdb)
RemoveFilesToRemove () at /root/llvm/lib/Support/Unix/Signals.inc:123
123 static void RemoveFilesToRemove() {
(gdb)
126 for (unsigned i = 0, e = FilesToRemove.size(); i != e; ++i) {
(gdb)
std::vector<std::string, std::allocator<std::string> >::size (this=0x0)
at /opt/gcc4/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.4/../../../../include/c++/4.5.4/bits/stl_vector.h:533
533 size() const
(gdb)
534 { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
(gdb)
RemoveFilesToRemove () at /root/llvm/lib/Support/Unix/Signals.inc:148
148 }
(gdb)
llvm::sys::RunInterruptHandlers () at /root/llvm/lib/Support/Unix/Signals.inc:190
190 SignalsMutex.release();
(gdb)
llvm::sys::SmartMutex<true>::release (this=0x0) at /root/llvm/include/llvm/Support/Mutex.h:109
109 bool release() {
(gdb)
110 if (!mt_only || llvm_is_multithreaded()) {
(gdb)
llvm::llvm_is_multithreaded () at /root/llvm/lib/Support/Threading.cpp:55
55 return multithreaded_mode;
(gdb)
56 }
(gdb)
llvm::sys::SmartMutex<true>::release (this=0x1b4fb40) at /root/llvm/include/llvm/Support/Mutex.h:116
116 assert(((recursive && acquired) || (acquired == 1)) &&
(gdb)
118 --acquired;
(gdb)
119 return true;
(gdb)
121 }
(gdb)
llvm::sys::RunInterruptHandlers () at /root/llvm/lib/Support/Unix/Signals.inc:191
191 }
(gdb)
llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:84
84 exit(1);
(gdb)
Breakpoint 1, 0x00007f96637777e5 in exit () from /lib/ld-musl-x86_64.so.1
(gdb)
Single stepping until exit from function exit,
which has no line number information.
^C
Program received signal SIGINT, Interrupt.
0x00007f96637777f9 in exit () from /lib/ld-musl-x86_64.so.1
(gdb) bt
#0 0x00007f96637777f9 in exit () from /lib/ld-musl-x86_64.so.1
#1 0x0000000000000029 in ?? ()
#2 0x000000000141a7ea in llvm::report_fatal_error (Reason=...) at /root/llvm/lib/Support/ErrorHandling.cpp:84
#3 0x000000000141a62e in llvm::report_fatal_error (Reason=0x1628dd3 "IO failure on output stream.") at /root/llvm/lib/Support/ErrorHandling.cpp:53
#4 0x000000000145185e in llvm::raw_fd_ostream::~raw_fd_ostream (this=0x1b50880, __in_chrg=<optimized out>) at /root/llvm/lib/Support/raw_ostream.cpp:514
#5 0x00007f96637776c7 in __funcs_on_exit () from /lib/ld-musl-x86_64.so.1
#6 0x0000000000000001 in ?? ()
#7 0x00000000034f0760 in ?? ()
#8 0x00000000008545ce in GetTargetMachine (TripleStr=...) at /root/llvm/tools/opt/opt.cpp:554
#9 0x00007f966377780a in exit () from /lib/ld-musl-x86_64.so.1
#10 0x0000000000000000 in ?? ()
(gdb) ^Dquit
A debugging session is active.
Inferior 1 [process 971] will be killed.
Quit anyway? (y or n) y
~ # d
~ #
next prev parent reply other threads:[~2012-12-18 5:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-17 11:03 ojab
2012-12-17 16:58 ` Rich Felker
2012-12-17 17:22 ` Rich Felker
2012-12-18 5:55 ` ojab [this message]
2012-12-18 6:14 ` Rich Felker
2012-12-18 6:37 ` ojab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50D0056A.4090303@ojab.ru \
--to=ojab@ojab.ru \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).