summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhunt <hunt>2006-11-15 18:38:20 +0000
committerhunt <hunt>2006-11-15 18:38:20 +0000
commitbe44c42327d90bde20c2e44f8405c794a2e3ffa5 (patch)
tree3c139ce6268dfb84107677a2d1dcce416299302f
parent42c808f9b3c9f39c213c4d2799714627c57d7b9f (diff)
downloadsystemtap-steved-be44c42327d90bde20c2e44f8405c794a2e3ffa5.tar.gz
systemtap-steved-be44c42327d90bde20c2e44f8405c794a2e3ffa5.tar.xz
systemtap-steved-be44c42327d90bde20c2e44f8405c794a2e3ffa5.zip
*** empty log message ***
-rw-r--r--runtime/stpd/symbols.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/runtime/stpd/symbols.c b/runtime/stpd/symbols.c
index 2f964866..8533f4f8 100644
--- a/runtime/stpd/symbols.c
+++ b/runtime/stpd/symbols.c
@@ -148,8 +148,8 @@ void do_kernel_symbols(void)
cleanup_and_exit(0);
}
*(int *)data_base = STP_SYMBOLS;
- dataptr = data = data_base + sizeof(int);
- datamax = dataptr + MAX_SYMBOLS*32 - sizeof(int);
+ dataptr = data = data_base + sizeof(long);
+ datamax = dataptr + MAX_SYMBOLS*32 - sizeof(long);
*(int *)sym_base = STP_SYMBOLS;
syms = (struct _stp_symbol *)(sym_base + sizeof(long));
@@ -195,15 +195,16 @@ void do_kernel_symbols(void)
#endif
/* send header */
- *(int *)buf = num_syms;
- *(int *)(buf+4) = (unsigned)(dataptr - data);
- send_request(STP_SYMBOLS, buf, 8);
+ *(int *)buf = STP_SYMBOLS;
+ *(int *)(buf+sizeof(long)) = num_syms;
+ *(int *)(buf+sizeof(long)+sizeof(int)) = (unsigned)(dataptr - data);
+ send_data(buf, 2*sizeof(int)+sizeof(long));
/* send syms */
send_data(sym_base, num_syms*sizeof(struct _stp_symbol)+sizeof(long));
/* send data */
- send_data(data_base, dataptr-data+sizeof(int));
+ send_data(data_base, dataptr-data+sizeof(long));
free(data_base);
free(sym_base);