Commits

Show all
Author Commit Message Labels Comments Date
Wez Furlong
fixup module loading The MODULE_SUFFIX stuff didn't work quite right on darwin. Also: only load a given module once.
Wez Furlong
darwin: modules are .so files When I use libtool with -module, I get a .so now on darwin. Update accordingly.
Wez Furlong
pass the lwpid instead of the debugger thread index This is useful for modules that have some other state keyed by lwpid and that want to render it when the threads are visited.
Wez Furlong
avoid dealing with relocations in gimli_trace sections Noted that the string pointers were NULL on Solaris, presumably due to missing relocation handling. For now, continue to ignore that problem by switching to a collection of strings directly contained in the section.
Wez Furlong
Allow for multiple tracer modules to be declared in an image Useful for situations where you have statically linked multiple libraries that have gimli tracer implementations. This uses a named section in the object file that holds a set of string pointers. The linker will stick this together, and it is ok and expected that there can be duplicate entries for a given module (for example: two different source files can declare that they are traced by the sam…
Wez Furlong
export symbols from glider Some of the V3 APIs need to be exported. This is a bit of a messy area at the moment.
Wez Furlong
Display the thread name on Linux systems
Wez Furlong
The cxa demangler will realloc or free the output buffer So let's just ask it to allocate the right amount of memory
Wez Furlong
The google demangler can't handle some C++11isms, so use libstdc++ Turns out that the demangler in libstdc++ is implemented in C explicitly so we can do this sort of thing. When enabled via configure, check that we can link against __cxa_demangle. If so, we'll link glider against it and use it for symbol demangling.
Wez Furlong
update demangler to most recent version
Wez Furlong
add some basic support for DWARF 4 We still don't handle dwarf expressions that resolve to values (only addresses) so some variables in traces will show as optimized away.
Wez Furlong
port w_realpath from watchman This avoids a stack protector warning on linux systems when compiling with fortify enabled.
Wez Furlong
Add separate configure option for the wdb/lua debug bits
Wez Furlong
Add a configure option to link against libunwind This is wired up for linux only at the moment; Darwin has a mach specific implementation that we could probably adapt to in the future, and I just haven't gotten around to trying this with Illumos. Also: Solaris systems tend to be very good about keeping frame pointers and don't typically need DWARF unwinding. If you request libunwind and it is not present, configure will not fail; you'll just e…
Comments 1
Wez Furlong
Fix up a bunch of compiler warnings
"Lyl...@messagesystems.com>"
add tag for bug fixes to the 1.2 changes refs #11187 #11137 (spent 0.1)
"Lyl...@messagesystems.com>"
merge bugfix/11187 refs #11187 #11137 (spent 3.0)
Tags
1.2.1
Wez Furlong
try harder to detect a stopped process on Linux. It feels hacky for sure; we give the target 5 seconds to stop, and also inspect `/proc/pid/status` to see if the target is in the stopped state (this handles some edges where the target stops before it becomes our child). If it has still not stopped, send a SIGSTOP and give it another 5 seconds. Putting this on the same branch as refs #11187 to make it easier to test out the Gimli changes overal…
Branches
bugfix/11187
Wez Furlong
resolve an issue on 32-bit systems. We treat pointers as 64-bit througout the code but had some places that assumed 32-bit. This lead to a crash in printf on a 32-bit linux system. Resolved this by making sure we're not mixing void* with gimli_addr_t and adding appropriate accessors. Also discovered that using pread/pwrite is dangerous on a 32-bit system in general, as the top of stack ends up being represented by a negative off_…
Branches
bugfix/11187
John Peacock
Tag for next release. Refs #1218 (spent 0)
Wez Furlong
reduce attach timeout and attempt to carry on even if we can't detect the child stopping, as there is a potential race where the child may be stopped even before we attach, and we can't detect an already stopped process. refs #1218 (spent 0.25)
Tags
1.2
Wez Furlong
add CDDL license text. refs #1218 (spent 0.1)
Wez Furlong
merge onering back to default, refs #1218 (spent 40) This improves: * general sparc support * big endian bitfields * recursive struct printing * APIs for tracing modules * success of DWARF CU, CIE, FDE resolution * Solaris unwinding * Performance (by two orders of magnitude, making it faster than gdb by 1 order of magnitude)
Wez Furlong
v3 load went in above that TODO comment, remove it.
Branches
onering
Wez Furlong
fixed the bitfield stuff on both endians, so remove FIXME comment.
Branches
onering
Wez Furlong
fixup linux build after darwin changes
Branches
onering
Wez Furlong
more darwin fixups; apparently the offsets to mctx and siginfo changed since 10.4 or 10.5 and we're reading garbage in 10.6. Falling back to framepointers gives reasonable results, but does have one incorrect frame in wedgie. Not great, but much better than it was at the start of the day.
Branches
onering
Wez Furlong
more darwin fixups; need to adjust line numbers by the object base_addr (and probably need to apply that same offset for non-darwin too). Similar commentary for symbols.
Branches
onering
Wez Furlong
fix compilation on darwin
Branches
onering
Wez Furlong
more fun with bitfields; handle bigger bitfields properly
Branches
onering
  1. Prev
  2. Next