diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-10-07 13:06:17 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-10-07 13:06:17 -0400 |
commit | 0d633db21595f7160d0f7a767ab92181284d8adb (patch) | |
tree | c55f11d1280e0b940195d6c5ef9fc85b752a42da /translate.cxx | |
parent | 53ed08414957de1e90c8332f7d5a71a384de039e (diff) | |
download | systemtap-steved-0d633db21595f7160d0f7a767ab92181284d8adb.tar.gz systemtap-steved-0d633db21595f7160d0f7a767ab92181284d8adb.tar.xz systemtap-steved-0d633db21595f7160d0f7a767ab92181284d8adb.zip |
PR4886: weaken build-id failure semantics
Diffstat (limited to 'translate.cxx')
-rw-r--r-- | translate.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/translate.cxx b/translate.cxx index 0ee51792..bbd8a01b 100644 --- a/translate.cxx +++ b/translate.cxx @@ -4423,6 +4423,8 @@ dump_unwindsyms (Dwfl_Module *m, (const unsigned char **)&build_id_bits, &build_id_vaddr)) > 0) { + /* XXX: But see https://bugzilla.redhat.com/show_bug.cgi?id=465872; + dwfl_module_build_id was not intended to return the end address. */ if (c->session.verbose > 1) { clog << "Found build-id in " << name << ", length " << build_id_len; @@ -4608,6 +4610,10 @@ dump_unwindsyms (Dwfl_Module *m, c->output << "\", " << endl; c->output << ".build_id_len = " << build_id_len << ", " << endl; + /* XXX: kernel data boot-time relocation works differently from text. + This hack disables relocation altogether, but that's not necessarily + correct either. We may instead need a relocation basis different + from _stext, such as __start_notes. */ if (modname == "kernel") c->output << ".build_id_offset = 0x" << hex << build_id_vaddr << dec << ", " << endl; |