diff options
author | dsmith <dsmith> | 2007-10-15 14:43:19 +0000 |
---|---|---|
committer | dsmith <dsmith> | 2007-10-15 14:43:19 +0000 |
commit | f2f51a0eb425c205b52203c1756527b19282f3cf (patch) | |
tree | af38a96237546115ed4d25dec63c960914a1de8f /tapsets.cxx | |
parent | 487ab975166234c1543e8ac09b36853053ad6675 (diff) | |
download | systemtap-steved-f2f51a0eb425c205b52203c1756527b19282f3cf.tar.gz systemtap-steved-f2f51a0eb425c205b52203c1756527b19282f3cf.tar.xz systemtap-steved-f2f51a0eb425c205b52203c1756527b19282f3cf.zip |
2007-10-15 David Smith <dsmith@redhat.com>
From David Wilder <dwilder@us.ibm.com>
* tapsets.cxx (mark_query::handle_query_module): Updated to handle
64-bit platforms correctly.
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 379bb265..a45a9ed9 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -5218,9 +5218,9 @@ mark_query::handle_query_module() if (sess.verbose > 2) clog << "Dump of marker:" << endl << " name: 0x" - << setfill('0') << setw(8) << hex << (unsigned int)mark->name << endl + << setfill('0') << setw(8) << hex << (unsigned long)mark->name << endl << " format: 0x" - << setw(8) << (unsigned int)mark->format + << setw(8) << (unsigned long)mark->format << setfill(' ') << dec << endl; // Since all marker string data lives in the same @@ -5236,8 +5236,8 @@ mark_query::handle_query_module() &marker_string_shdr_mem); if (marker_string_shdr != NULL && marker_string_shdr->sh_type == SHT_PROGBITS - && (GElf_Addr)(uint)mark->name >= marker_string_shdr->sh_addr - && (GElf_Addr)(uint)mark->name < (marker_string_shdr->sh_addr + marker_string_shdr->sh_size)) + && (GElf_Addr)(ulong)mark->name >= marker_string_shdr->sh_addr + && (GElf_Addr)(ulong)mark->name < (marker_string_shdr->sh_addr + marker_string_shdr->sh_size)) { found = true; break; @@ -5251,11 +5251,11 @@ mark_query::handle_query_module() throw semantic_error("cannot get marker string section data"); } - GElf_Addr offset = (GElf_Addr)(uint)mark->name + GElf_Addr offset = (GElf_Addr)(ulong)mark->name - marker_string_shdr->sh_addr; char *name = NULL; char *format = NULL; - if ((GElf_Addr)(uint)mark->name >= marker_string_shdr->sh_addr + if ((GElf_Addr)(ulong)mark->name >= marker_string_shdr->sh_addr && offset < marker_string_shdr->sh_size) { name = (char *)(marker_string_data->d_buf) + offset; @@ -5263,9 +5263,9 @@ mark_query::handle_query_module() clog << " name: " << name << endl; } - offset = (GElf_Addr)(uint)mark->format + offset = (GElf_Addr)(ulong)mark->format - marker_string_shdr->sh_addr; - if ((GElf_Addr)(uint)mark->format >= marker_string_shdr->sh_addr + if ((GElf_Addr)(ulong)mark->format >= marker_string_shdr->sh_addr && offset < marker_string_shdr->sh_size) { format = (char *)(marker_string_data->d_buf) + offset; |