This is an archive of the discontinued LLVM Phabricator instance.

Update Go OS Plugin for newer runtimes
ClosedPublic

Authored by ribrdb on Apr 19 2016, 10:21 AM.

Diff Detail

Event Timeline

ribrdb updated this revision to Diff 54220.Apr 19 2016, 10:21 AM
ribrdb retitled this revision from to Update Go OS Plugin for newer runtimes.
ribrdb updated this object.
ribrdb set the repository for this revision to rL LLVM.
ribrdb added a subscriber: lldb-commits.
labath accepted this revision.Apr 20 2016, 1:43 AM
labath added a reviewer: labath.
labath added a subscriber: labath.
labath added inline comments.
source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp
253

To me, as someone who might accidentally wander into this part of codebase, a comment explaining that the symbols to look for differ between runtime versions would definitely be helpful.

This revision is now accepted and ready to land.Apr 20 2016, 1:43 AM

btw, this does not seem to follow lldb code style (braces on a new line), please reformat that.

Is it possible to query the version of the go runtime we are currently debugging and decide which symbol we look for instead of using this fallback mechanism? I think it would make the code easier to understand and also easier to add support for new runtime versions

ribrdb marked an inline comment as done.Apr 20 2016, 2:49 PM

I'm not sure how else we could identify the runtime version. I'm hoping to eventually add a producer string that has the version, but this would just be a git commit for development compilers.

ribrdb updated this revision to Diff 54427.Apr 20 2016, 2:49 PM
ribrdb edited edge metadata.
ribrdb removed rL LLVM as the repository for this revision.
tberghammer accepted this revision.Apr 21 2016, 3:55 AM
tberghammer added a reviewer: tberghammer.

A producer string would be excellent but I know it is not easy to add it to all part of the toolchain. In case of development compilers I would suggest to add the version number of the next or the previous iteration with some additional marking indicating that it is a development build so you can detect it from LLDB (e.g. 1.5+).

This revision was automatically updated to reflect the committed changes.