Hmm, I don't know. I know the DWARF information is there, but I'm not sure
why GDB isn't picking it up. I'll add it to my list of things to check, but
for now I don't know what the issue is.
There's some logging in gdb (I don't quite remember the option, but apropos
jit will probably tell you) that might tell you whether it detects the jit
code and just doesn't use it for some reason or whether it doesn't pick up
on the breakpoint. On the julia side, the registration with GDB should
happen here (
https://github.com/JuliaLang/julia/blob/ce1e856975af4dc8fc12dac8f5526c92feda60cb/src/jitlayers.cpp#L178),
in latest master at least.

On Tue, Jan 5, 2016 at 4:23 PM, 'Jamie Brandon' via julia-users <
[email protected]> wrote:

> Ok, so I built successfully and versioninfo shows LLVM 3.7.1. I do get
> debug info for Julia itself, but I'm still seeing nothing for my own
> code. I can live without I guess - wait for Julia 0.5?
>
> (gdb) bt
> #0  jl_breakpoint (v=0x7ffdf0928018) at
> /home/jamie/julia/src/builtins.c:1659
> #1  0x00007ffff7eb401b in ?? ()
> #2  0x00007fffffffbe40 in ?? ()
> #3  0x00007ffdf3f53f20 in ?? ()
> #4  0x69f839e0ba7ea7c4 in ?? ()
> #5  0x00007fffffffc7a8 in ?? ()
> #6  0x0000000000000002 in ?? ()
> #7  0x000000000000000a in ?? ()
> #8  0x00007fffffffc6f8 in ?? ()
> #9  0x00007ffdf40c0e90 in ?? ()
> #10 0x0000000000000000 in ?? ()
>
> jamie@wanderer:~/julia$ ./julia
>                _
>    _       _ _(_)_     |  A fresh approach to technical computing
>   (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
>    _ _   _| |_  __ _   |  Type "?help" for help.
>   | | | | | | |/ _` |  |
>   | | |_| | | | (_| |  |  Version 0.5.0-dev+1985 (2016-01-04 00:07 UTC)
>  _/ |\__'_|_|_|\__'_|  |  Commit 1d46ca4* (1 day old master)
> |__/                   |  x86_64-linux-gnu
>
> julia> versioninfo(true)
> Julia Version 0.5.0-dev+1985
> Commit 1d46ca4* (2016-01-04 00:07 UTC)
> DEBUG build
> Platform Info:
>   System: Linux (x86_64-linux-gnu)
>   CPU: Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
>   WORD_SIZE: 64
>            Ubuntu 15.10
>   uname: Linux 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC
> 2015 x86_64 x86_64
> Memory: 7.709388732910156 GB (192.3671875 MB free)
> Uptime: 143526.0 sec
> Load Avg:  0.61181640625  1.06640625  4.41552734375
> Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz:
>        speed         user         nice          sys         idle
> irq
> #1  3000 MHz     891057 s       6792 s      81300 s    4590884 s
> 0 s
> #2  2798 MHz     891458 s       6264 s      70433 s     747529 s
> 0 s
> #3  2700 MHz     921910 s       6962 s      73433 s     743126 s
> 0 s
> #4  2700 MHz     894255 s       7091 s      68062 s     743781 s
> 0 s
>
>   BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
>   LAPACK: libopenblas64_
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.7.1
> Environment:
>   TERM = xterm-256color
>   XDG_SESSION_PATH = /org/freedesktop/DisplayManager/Session1
>   XDG_SEAT_PATH = /org/freedesktop/DisplayManager/Seat0
>   DEFAULTS_PATH = /usr/share/gconf/i3.default.path
>   PATH =
> /home/jamie/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
>   MANDATORY_PATH = /usr/share/gconf/i3.mandatory.path
>   HOME = /home/jamie
>
> Package Directory: /home/jamie/.julia/v0.5
> No packages installed
>
> On 5 January 2016 at 14:30, Keno Fischer <[email protected]>
> wrote:
> > Yeah, that should work.
> >
> > On Tue, Jan 5, 2016 at 3:28 PM, 'Jamie Brandon' via julia-users
> > <[email protected]> wrote:
> >>
> >> Ooops, MARCH=native
> >>
> >> On 5 January 2016 at 14:26, Jamie Brandon <[email protected]>
> wrote:
> >> > Ok, so I currently have Make.user with:
> >> >
> >> > LLVM_VER=3.7.1
> >> > ARCH=native
> >> >
> >> > and I'm building with `make debug`. Does that seem right?
> >> >
> >> > On 5 January 2016 at 14:18, Keno Fischer <
> [email protected]>
> >> > wrote:
> >> >> However, taking another look at your backtrace, that's missing debug
> >> >> info in
> >> >> the runtime (rather than any generated code), so you'd have to check
> >> >> whether
> >> >> your version of libjulia is built with debug info.
> >> >>
> >> >> On Tue, Jan 5, 2016 at 3:14 PM, Isaiah Norton <
> [email protected]>
> >> >> wrote:
> >> >>>
> >> >>> sorry, autocorrect messed that up:
> >> >>> `make -C deps distclean-llvm`
> >> >>>
> >> >>> On Tue, Jan 5, 2016 at 9:08 AM, Isaiah Norton
> >> >>> <[email protected]>
> >> >>> wrote:
> >> >>>>
> >> >>>> Probably need 'make -C steps distclean-llvm' before rebuild.
> >> >>>>
> >> >>>>
> >> >>>> On Tuesday, January 5, 2016, Jamie Brandon <
> [email protected]>
> >> >>>> wrote:
> >> >>>>>
> >> >>>>> I'll give that a go. Thanks :)
> >> >>>>>
> >> >>>>> On Tuesday, 5 January 2016 14:00:49 UTC, Keno Fischer wrote:
> >> >>>>>>
> >> >>>>>> This only works with new versions of LLVM. We're in the middle of
> >> >>>>>> transitioning to the new LLVM on master, so I think at this
> point,
> >> >>>>>> just
> >> >>>>>> putting LLVM_VER=3.7.1 in your Make.user should be sufficient.
> >> >>>>>>
> >> >>>>>> On Tue, Jan 5, 2016 at 2:50 PM, Jamie Brandon
> >> >>>>>> <[email protected]>
> >> >>>>>> wrote:
> >> >>>>>>>
> >> >>>>>>> I've seen it mentioned (eg in
> >> >>>>>>>
> >> >>>>>>>
> https://groups.google.com/forum/#!msg/julia-dev/eBwqLqiZSPc/N0QlPMC015EJ)
> >> >>>>>>> that Julia can emit DWARF info for Julia functions. This does
> not
> >> >>>>>>> seem to be
> >> >>>>>>> working for me (see gdb below and cachegrind attached). Is there
> >> >>>>>>> something I
> >> >>>>>>> need to enable, or some dependency I need to update?
> >> >>>>>>>
> >> >>>>>>> Breakpoint 1, 0x00007ffff6edbff4 in jl_array_grow_end () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> (gdb) bt
> >> >>>>>>> #0  0x00007ffff6edbff4 in jl_array_grow_end () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #1  0x00007ffff6edc687 in jl_cell_1d_push () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #2  0x00007ffff6ede8a0 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #3  0x00007ffff6ede7e8 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #4  0x00007ffff6ede7e8 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #5  0x00007ffff6edd1c7 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #6  0x00007ffff6edea88 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #7  0x00007ffff6ede15b in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #8  0x00007ffff6eddcfa in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #9  0x00007ffff6ede7ce in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #10 0x00007ffff6edd1c7 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #11 0x00007ffff6edea88 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #12 0x00007ffff6eddcfa in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #13 0x00007ffff6eddcfa in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #14 0x00007ffff6eddab8 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #15 0x00007ffff6ede15b in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #16 0x00007ffff6ede15b in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #17 0x00007ffff6ee0534 in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #18 0x00007ffff6ee0b58 in jl_restore_system_image_data () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #19 0x00007ffff6ee0cdb in jl_restore_system_image () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #20 0x00007ffff6ed83cb in ?? () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #21 0x00007ffff6ed8d0c in julia_init () from
> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
> >> >>>>>>> #22 0x0000000000401743 in main (argc=1, argv=0x7fffffffe280) at
> >> >>>>>>> repl.c:594
> >> >>>>>>>
> >> >>>>>>> julia> versioninfo(true)
> >> >>>>>>> Julia Version 0.4.2
> >> >>>>>>> Commit bb73f34 (2015-12-06 21:47 UTC)
> >> >>>>>>> Platform Info:
> >> >>>>>>>   System: Linux (x86_64-linux-gnu)
> >> >>>>>>>   CPU: Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
> >> >>>>>>>   WORD_SIZE: 64
> >> >>>>>>>            Ubuntu 15.10
> >> >>>>>>>   uname: Linux 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17
> 22:57:08
> >> >>>>>>> UTC
> >> >>>>>>> 2015 x86_64 x86_64
> >> >>>>>>> Memory: 7.709388732910156 GB (74.875 MB free)
> >> >>>>>>> Uptime: 138002.0 sec
> >> >>>>>>> Load Avg:  0.8466796875  0.62451171875  0.53955078125
> >> >>>>>>> Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz:
> >> >>>>>>>        speed         user         nice          sys         idle
> >> >>>>>>> irq
> >> >>>>>>> #1  2984 MHz     596284 s       6481 s      60313 s    4356735 s
> >> >>>>>>> 0 s
> >> >>>>>>> #2  2982 MHz     605240 s       5964 s      50700 s     502866 s
> >> >>>>>>> 0 s
> >> >>>>>>> #3  2700 MHz     642616 s       6513 s      53248 s     492041 s
> >> >>>>>>> 0 s
> >> >>>>>>> #4  2700 MHz     605240 s       6628 s      48010 s     502254 s
> >> >>>>>>> 0 s
> >> >>>>>>>
> >> >>>>>>>   BLAS: libopenblas (NO_LAPACKE DYNAMIC_ARCH NO_AFFINITY
> Haswell)
> >> >>>>>>>   LAPACK: liblapack.so.3
> >> >>>>>>>   LIBM: libopenlibm
> >> >>>>>>>   LLVM: libLLVM-3.3
> >> >>>>>>> Environment:
> >> >>>>>>>   TERM = xterm-256color
> >> >>>>>>>   XDG_SESSION_PATH = /org/freedesktop/DisplayManager/Session1
> >> >>>>>>>   XDG_SEAT_PATH = /org/freedesktop/DisplayManager/Seat0
> >> >>>>>>>   DEFAULTS_PATH = /usr/share/gconf/i3.default.path
> >> >>>>>>>   PATH =
> >> >>>>>>>
> >> >>>>>>>
> /home/jamie/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
> >> >>>>>>>   MANDATORY_PATH = /usr/share/gconf/i3.mandatory.path
> >> >>>>>>>   HOME = /home/jamie
> >> >>>>>>>
> >> >>>>>>
> >> >>>
> >> >>
> >
> >
>

Reply via email to