summaryrefslogtreecommitdiffstats
path: root/runtime/sym.h
diff options
context:
space:
mode:
authorWenji Huang <wenji.huang@oracle.com>2008-10-06 03:07:09 -0400
committerWenji Huang <wenji.huang@oracle.com>2008-10-06 03:07:09 -0400
commit2949597251fea7f17a0e46c1c885e34b53395d18 (patch)
tree7628da32ea81a5bbaf10f31c7fd60006629db3d6 /runtime/sym.h
parent5311c037f83f66967f9de4cc66815f93940bb005 (diff)
downloadsystemtap-steved-2949597251fea7f17a0e46c1c885e34b53395d18.tar.gz
systemtap-steved-2949597251fea7f17a0e46c1c885e34b53395d18.tar.xz
systemtap-steved-2949597251fea7f17a0e46c1c885e34b53395d18.zip
PR4886: check build-id if able.
This provides sanity check of debuginfo file based on build-id. Many cases are considered, whether build-id exists in debuginfo file or not, whether module is loaded or not, whether build-id exists in runtime kernel/module. It will do work when LD >= 2.18 and kernel >=2.6.23, otherwise no check.
Diffstat (limited to 'runtime/sym.h')
-rw-r--r--runtime/sym.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/runtime/sym.h b/runtime/sym.h
index 5888d2c7..d23c1632 100644
--- a/runtime/sym.h
+++ b/runtime/sym.h
@@ -45,6 +45,16 @@ struct _stp_module {
uint32_t unwind_data_len;
uint32_t unwind_hdr_len;
uint32_t unwind_is_ehframe; /* unwind data comes from .eh_frame */
+ /* build-id information */
+ unsigned char *build_id_bits;
+ unsigned long build_id_offset;
+ unsigned long notes_sect; /* kernel: 1 - no build-id
+ * 2 - has build-id
+ * module: 0 - unloaded
+ * 1 - loaded and no build-id
+ * Other - note section address
+ */
+ int build_id_len;
};