Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jan 2016 20:14:25 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 206384] llvm libunwind segfaults while building lang/polyml
Message-ID:  <bug-206384-8-kpaJTDIVEt@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-206384-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-206384-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206384

--- Comment #2 from Ed Maste <emaste@freebsd.org> ---
The large stack usage comes from this function -- note sub $0x878,%rsp:

template <typename A, typename R>
void UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool isReturnAddress) {
    92d0:       55                      push   %rbp
    92d1:       48 89 e5                mov    %rsp,%rbp
    92d4:       41 57                   push   %r15
    92d6:       41 56                   push   %r14
    92d8:       41 55                   push   %r13
    92da:       41 54                   push   %r12
    92dc:       53                      push   %rbx
    92dd:       48 81 ec 78 08 00 00    sub    $0x878,%rsp

from the stack-allocated typename CFI_Parser<A>::PrologInfo prolog

  1229  #if _LIBUNWIND_SUPPORT_DWARF_UNWIND
  1230    // There is no static unwind info for this pc. Look to see if an =
FDE
was
  1231    // dynamically registered for it.
  1232    pint_t cachedFDE =3D DwarfFDECache<A>::findFDE(0, pc);
  1233    if (cachedFDE !=3D 0) {
  1234      CFI_Parser<LocalAddressSpace>::FDE_Info fdeInfo;
  1235      CFI_Parser<LocalAddressSpace>::CIE_Info cieInfo;
  1236      const char *msg =3D CFI_Parser<A>::decodeFDE(_addressSpace,
  1237                                                  cachedFDE, &fdeInfo,
&cieInfo);
  1238      if (msg =3D=3D NULL) {
  1239        typename CFI_Parser<A>::PrologInfo prolog;
  1240        if (CFI_Parser<A>::parseFDEInstructions(_addressSpace, fdeInf=
o,
cieInfo,
  1241                                                                  pc,
&prolog)) {

(lldb) p sizeof(PrologInfo)
(unsigned long) $10 =3D 1952

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-206384-8-kpaJTDIVEt>