<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:todd.fiala@gmail.com" title="Todd Fiala <todd.fiala@gmail.com>"> <span class="fn">Todd Fiala</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - log enable --stack isn't getting function or line info in liblldb.so on Ubuntu 14.04"
   href="https://llvm.org/bugs/show_bug.cgi?id=25133">bug 25133</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>ASSIGNED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Assignee</td>
           <td>lldb-dev@lists.llvm.org
           </td>
           <td>todd.fiala@gmail.com
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - log enable --stack isn't getting function or line info in liblldb.so on Ubuntu 14.04"
   href="https://llvm.org/bugs/show_bug.cgi?id=25133#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - log enable --stack isn't getting function or line info in liblldb.so on Ubuntu 14.04"
   href="https://llvm.org/bugs/show_bug.cgi?id=25133">bug 25133</a>
              from <span class="vcard"><a class="email" href="mailto:todd.fiala@gmail.com" title="Todd Fiala <todd.fiala@gmail.com>"> <span class="fn">Todd Fiala</span></a>
</span></b>
        <pre>Playing with the llvm_add_symbol_exports did not yield anything interesting for
me.  It requires generating export statements for everything to be publicly
exported.

What I *did* find that worked was the following:

Step #1: remove the step that sets up an explicit exports in the
source/API/CMakeLists.txt file for cmake.  (i.e. *don't* do the
llvm_add_symbol_exports.  It looks like the second that is called for the SB
API, then nothing else gets out, even with step 2 below).

Step #2: pass the following linker flag to cmake:
-DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=gold -Wl,-E"

My full build line was:
CC=/usr/bin/clang-3.6 CXX=/usr/bin/clang++-3.6 cmake -GNinja
-DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=gold -Wl,-E"
-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCMAKE_BUILD_TYPE=Debug ../llvm 2>&1 |
tee ~/logs/cmake-symbols.log

This got my --stack line to show useful info.

I'll add a cmake flag that lets us essentially say "skip explicit liblldb
exports".  Specifying that, along with whatever linker flags are needed to say
"export everything", takes care of this.

I'll get something up for review on that tomorrow morning.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>