Hi:
    I upgraded my MBP to macOS Sierra, and gdb was broke because Apple 
tightened security policy. So I compiled LLDB from trunk according to here 
<http://ribrdb.github.io/lldb/> and here <http://lldb.llvm.org/build.html>. 
Here are the steps:

> svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
> cd llvm/tools
> svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
> svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
> cd clang/tools
> svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk 
clang-tools-extra
> cd ../../../projects
> svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
> svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
> svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
> svn co http://llvm.org/svn/llvm-project/libunwind/trunk libunwind
> svn co http://llvm.org/svn/llvm-project/lld/trunk lld
> cd .. && mkdir build && cd build
> cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR"/llvm-
"$1" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_DOXYGEN=Off 
-DLLVM_ENABLE_SPHINX=Off

The lldb I compiled only works for simple project contains one go source 
file. If the project contains many go files (go build with -gcflags "-N 
-l"), the outputs of lldb were all assembly codes:

> lldb ./bin/debug/xkcd 

(lldb) target create "./bin/debug/xkcd"

Current executable set to './bin/debug/xkcd' (x86_64).

(lldb) b main.main

Breakpoint 1: where = xkcd`main.main + 77 at xkcd.go:16, address = 
0x000000000000208d

(lldb) r

Process 38114 launched: './bin/debug/xkcd' (x86_64)

Process 38114 stopped

* thread #6: tid = 0x0001, 0x000000000000208d libenergytrace.dylib, stop 
reason = breakpoint 1.1

    frame #0: 0x000000000000208d libenergytrace.dylib

->  0x208d: callq  0x5d4a0

    0x2092: movq   0x366ccf(%rip), %rax

    0x2099: jmp    0x209b

    0x209b: movzbl (%rax), %eax


It seems llvm supports go from v3.8 (
https://groups.google.com/forum/#!topic/golang-nuts/pzpNcarQcvo).

So, did I miss some compile options?



-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to