summaryrefslogtreecommitdiffstats
path: root/runtime/ChangeLog
blob: 01772044c5a11311273dafeb544df8de2ad451d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
2005-11-08  Martin Hunt  <hunt@redhat.com>

	* map.c (_stp_map_init): New function. Extracted from _stp_map_new()
	so it can be used in _stp_pmap_new().
	(_stp_map_new): Call _stp_map_init().
	(_stp_pmap_new): New function.
	(_stp_pmap_new_hstat_linear): New function.
	(_stp_pmap_new_hstat_log): New function.
	(_stp_pmap_del): New function.
	(_stp_pmap_printn_cpu): New function.
	(_stp_pmap_printn): New function.	
	(_stp_new_agg): New function.
	(_stp_add_agg): New function.	
	(_stp_pmap_agg): New function.		
	(_new_map_clear_node): New function.
	
	* map.h (struct map_root): Add Hist struct. Add copy
	and cmp function pointers for pmaps.

	* stat.h: Remove Stat struct. Replace with Hist struct
	that is limited to only histogram params.
	* map-stat.c: Fix up references to histogram params in map_root.
	* stat-common.c: Ditto.
	* stat.c: Ditto.
	
	* pmap-gen.c: New file. Implements per-cpu maps.
	
	* map-gen.c: Minor bug fixes. Use new VAL_IS_ZERO() macro.

	* alloc.c (vmalloc_node): For NUMA, provide a vmalloc that
	does node-local allocations.
	(_stp_alloc_cpu): A version of _stp_alloc() that does
	node-local allocations.
	(_stp_valloc): A version of _stp_valloc() that does
	node-local allocations.
	(__stp_valloc_percpu): New function. Like alloc_percpu()
	except uses _stp_valloc().
	(_stp_vfree_percpu): New function. Like free_percpu().

2005-11-04  Martin Hunt  <hunt@redhat.com>

	* runtime.h: #include <linux/version.h>.
	(init_module): Remove old ppc comment.
	ifdef _stp_kta so it only gets set for x86 and x86_64.

2005-10-31  Martin Hunt  <hunt@redhat.com>

	* ALL: Cleanup copyrights.

2005-10-28  Martin Hunt  <hunt@redhat.com>

	* map-gen.c (MAP_GET_VAL): Use the _stp_get_*() functions.
	(_stp_map_set_*): When setting to "", don't create
	node if key not found.
	(_stp_map_get_*): Use new MAP_GET_VAL. Return "" when
	string lookups not found.
	
	* map.c (_stp_get_int64): Check args and return
	0 on bad args or wrong type.
	(_stp_get_stat): Ditto.	
	(_stp_key_get_int64): Ditto.
	(_stp_get_str): Check args and return
	"bad type" on bad args or wrong type.
	(_stp_key_get_str): Ditto.
	(_new_map_set_str): If setting to "", delete node.
	(_new_map_get_*): Delete. Use _stp_get_*().
	

2005-10-26  Martin Hunt  <hunt@redhat.com>

	* map-gen.c (KEY4CPY): Fix typo.
	(KEYCPY): Add missing semicolon.

2005-10-26  Martin Hunt  <hunt@redhat.com>
	* map-gen.c: New file.
	
	* map.c (_new_map_create, _new_map_del_node, _new_map_del_node,
	_new_map_set_int64, _new_map_set_str,_new_map_get_int64,
	_new_map_get_str, _new_map_get_stat, _new_map_set_stat):
	New internal functions for the new API.

	* map-int.c (__stp_map_set_int64): Modify to return an
	error code.
	* map-stat.c (_stp_map_add_stat): Ditto.
	* map-str (_stp_map_set_str): Ditto.

	* Doxyfile: Remove predefines NEED_STRING_VALS, 
	NEED_STATS, NEED_INT64.
	* map-keys.c: Ditto.	
	* list.c (_stp_list_new): Ditto. Also set map->list.
	* map-values.c: Ditto.

2005-10-19  Martin Hunt  <hunt@redhat.com>

	* runtime.h (_stp_kallsyms_lookup_tabled): Only
	compile this for systemtap. Runtime-only examples
	don't need it.

2005-10-19  Tom Zanussi  <zanussi@us.ibm.com>

	* print.c (_stp_print_flush): Switch to binary TIMESTAMP.

2005-10-14  Tom Zanussi  <zanussi@us.ibm.com>

	PR 1455
	* string.c (_stp_sprintf): Restore overwritten NULL byte.
	* print.c: Change STP_PRINT_BUF_LEN to correct size.

2005-10-06  Frank Ch. Eigler  <fche@elastic.org>

	PR 1332.
	* sym.h: New file to declare explicit symbol table struct.
	* runtime.h (_stp_kallsyms_lookup_tabled): Use it if available.
	* sym.c (_stp_symbol_sprint): HAS_LOOKUP mooted.

2005-09-30  Graydon Hoare  <graydon@redhat.com>

	* loc2c-runtime.h (_put_user_asm): Fix bracket-matching.

2005-09-23  Martin Hunt  <hunt@redhat.com>

	* map.c (_stp_map_sortn):  Call _stp_map_sort()
	when n is 0.

2005-09-23  Martin Hunt  <hunt@redhat.com>

	* map.c (_stp_cmp): New comparison function for sorts.
	(_stp_swap): New swap function for bubble sort.
	(_stp_map_sortn): New function.
	(_stp_map_sort): New function.	
	(_stp_map_printn): New function.
	(_stp_map_print): Convert to a macro.	

2005-09-22  Martin Hunt  <hunt@redhat.com>

	* regs.h: PPC64 version from 
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>

	* runtime.h (init_module): Only initialize _stp_kta and 
	_stp_kallsyms_lookup on i386 and x86_64. Define HAS_LOOKUP.

	* sym.c (_stp_symbol_sprint): If HAS_LOOKUP is not
	defined, just print address in hex.

	* current.c (_stp_ret_addr): Add ppc64 version.
	(_stp_sprint_regs): PPC64 version from 
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>

2005-09-14  Martin Hunt  <hunt@redhat.com>

	* map.c (_stp_map_clear): New function. CLears a map but
	does not free it.

	* copy.c (__stp_strncpy_from_user): Add ppc64 support.
	(_stp_strncpy_from_user): Call access_ok().
	(_stp_string_from_user): Ditto.
	(_stp_copy_from_user): Ditto.

2005-09-12  Martin Hunt  <hunt@redhat.com>

	* io.c (ERR_STRING): Remove ansi codes.
	 (WARN_STRING): Ditto.

2005-09-12  Martin Hunt  <hunt@redhat.com>

	* arith.c (_stp_div64): Check for division by 0 or -1 first.
	This simplifies things and removes the possibility of x86_64
	trying LLONG_MIN/-1 and faulting.
	(_stp_mod64): Ditto.

2005-09-10  Frank Ch. Eigler  <fche@elastic.org>

	* arith.c: Add some comments explaining why the last change works.

2005-09-09  Roland McGrath  <roland@redhat.com>

	* loc2c-runtime.h [__powerpc__] (store_register): Add #undef.

2005-09-09  Martin Hunt  <hunt@redhat.com>

	* stat-common.c (_stp_stat_print_valtype): Use _stp_div64().
	* arith.c (_stp_div64): Check error before writing to it.
	Remove check against 32-bit LONG_MIN and -1. That only
	applies to 64-bit.
	(_stp_mod64): Ditto.

2005-09-08  Martin Hunt  <hunt@redhat.com>
	* arith.c (_stp_div64): Check for overflow.
	(_stp_mod64): Ditto.

2005-09-08  Martin Hunt  <hunt@redhat.com>

	* arith.c (_stp_div64): For 64-bit cpus, just use native
	division. Otherwise call _div64().
	(_stp_mod64): Call _mod64() isf necessary.
	(_div64): 64-bit division for 32-bit cpus.
	(_mod64): 64-bit modulo for 32-bit cpus.

	* map-values.c (_stp_map_entry_exists): Remove unused var.

2005-09-01  Martin Hunt  <hunt@redhat.com>

	* stack.c (_stp_stack_sprint): Add a verbose arg
	to pass along to underlying funcs.

2005-08-31  Martin Hunt  <hunt@redhat.com>

	* runtime.h (init_module): Include full prototype
	info in function cast to satisfy stap.

	* sym.c (_stp_kallsyms_lookup): Moved to runtime.h.
	* stack.c (_stp_kta): Moved to runtime.h.
	* runtime.h (init_module): Initialize _stp_kallsyms_lookup
	and _stp_kta.
	* probes.c (_stp_lookup_name): Replaced by kallsyms_lookup_name().
	* list.c (_stp_copy_argv_from_user): ifdef this function
	NEED_STRING_VALS.

2005-08-30  Roland McGrath  <roland@redhat.com>

	* loc2c-runtime.h (fetch_register, store_register): Rewritten to pass
	REGS to dwarf_register_<N> as a macro argument.
	[__i386__, __x86_64__]: Update dwarf_register_* macros.
	[__i386__] (dwarf_register_4): Define special case for stack pointer.

2005-08-29  Martin Hunt  <hunt@redhat.com>

	* list.c (_stp_copy_argv_from_user): Move to here.
	* copy.c (_stp_copy_argv_from_user): Delete.
	* runtime.h: Always include copy.h.

2005-08-25  Roland McGrath  <roland@redhat.com>

	* loc2c-runtime.h (deref_string): Rewritten using deref.

2005-08-24  Roland McGrath  <roland@redhat.com>

	* loc2c-runtime.h (deref_string): New macro.

2005-08-24  Martin Hunt  <hunt@redhat.com>

	* io.c (_stp_vlog): Send warnings and errors to STP_OOB_DATA.

2005-08-23  Martin Hunt  <hunt@redhat.com>

	* runtime.h: Add a prototype for _stp_dbug().

2005-08-22  Martin Hunt  <hunt@redhat.com>

	* runtime.h (kbug): New dbug macros that calls printk.

2005-08-21  Frank Ch. Eigler  <fche@redhat.com>

	* arith.c (*): Adapt to last_error context variable.

2005-08-19  Frank Ch. Eigler  <fche@elastic.org>

	* arith.c (_stp_random_pm): New function.

2005-08-19  Martin Hunt  <hunt@redhat.com>

	* print.c: Change ifdefs to STP_RELAYFS.
	* runtime.h: Ditto.
	* io.c (_stp_vlog): Call _stp_write instead of
	_stp_ctrl_send.
	* Makefile: Don't build stp-control.
	* README.doc: Update.
	* TODO: Update.

2005-08-12  Graydon Hoare  <graydon@redhat.com>

	* map-values.c (_stp_map_entry_exists): New function.
	* map.h (_stp_map_entry_exists): Declare it.

2005-08-12  Frank Ch. Eigler  <fche@elastic.org>

	* arith.c: New file to contain arithmetic helper functions.
	* builtin_functions.h: Remove, unused.
	* runtime.h: Include it.

2005-08-10  Roland McGrath  <roland@redhat.com>

	* loc2c-runtime.h (store_bitfield): Fix argument use.
	(store_deref): New macro (three flavors).

2005-08-03  Martin Hunt  <hunt@redhat.com>

	* io.c 	(_stp_vlog): Revert previous change for now.
	* print.c (_stp_print_flush): Ditto.

2005-08-03  Tom Zanussi  <trz@us.ibm.com>

	* io.c (_stp_vlog): Remove call to _stp_print_flush().
	* print.c (_stp_print_flush): _stp_warn() on first
	transport failure.

2005-08-01  Martin Hunt  <hunt@redhat.com>

	* io.c (_stp_vlog): Use _stp_pid instead os _stp_tport->pid.
	* print.c (_stp_print_flush): Don't need _stp_tport.
	*runtime.h (probe_start): Just call _stp_transport_init().
	(probe_exit): Just call _stp_transport_close().

2005-07-28  Graydon Hoare  <graydon@redhat.com>

	* loc2c-runtime.h: New file from elfutils CVS.

2005-07-20  Martin Hunt  <hunt@redhat.com>

	* io.c (_stp_vlog): Don't count transport failures for
	these messages.

2005-07-19  Martin Hunt  <hunt@redhat.com>

	* print.c (_stp_print_flush): Check return value and increment
	transport failures.

2005-07-14  Frank Ch. Eigler  <fche@redhat.com>

	* builtin_functions.h (printk): Use explicit format string.

2005-07-11  Graydon Hoare  <graydon@redhat.com>

	* builtin_functions.h: New file.

2005-07-10  Martin Hunt  <hunt@redhat.com>

	* runtime.h (init_module): Fix return value.

2005-07-08  Martin Hunt  <hunt@redhat.com>

	* runtime.h: Move some common pieces of modules into this file.
	Includes MODULE_LICENSE, cleanup_module and init_module.

	* print.c (_stp_print_flush): Rename "t" to "_stp_tport".

	* io.c (_stp_vlog): Ditto.

2005-07-01  Martin Hunt  <hunt@redhat.com>

	* string.c (_stp_string_init): CAll stp_error() on bad
	init.

	* list.c (_stp_list_clear): Call _stp_warn().

	* probes.c: Convert all _stp_log() calls to either stp_warn() or
	dbug().

	* print.c: Comment out dbug()s.

	* stat-common.c: Comment out dbug()s.

	* map.c (_stp_map_new): Call _stp_error() on a bad map type.
	Comment out dbug()s.

	* map-stat.c (_stp_map_new_hstat_log): Call _stp_warn().
	(_stp_map_new_hstat_linear): Ditto.

	* map-int.c: Comment out dbug()s.

	* map-str.c: Comment out dbug()s.

	* map-keys.c: Use _stp_warn().  Comment out dbug()s.

	* alloc.c (_stp_alloc): Call _stp_error().
	(_stp_valloc): Ditto.

	* io.c (_stp_warn): New function.
	(_stp_exit): New function.
	(_stp_error): New function.
	(_stp_dbug): New function.

	* runtime.h (dbug): Call _stp_dbug() if	DEBUG is defined.

2005-06-29  Martin Hunt  <hunt@redhat.com>

	* map-values.c (_stp_map_add_int64): Fix docs.
	* map-str.c: Fix some docs
	* map.c: Ditto.
	* map.doc: Ditto.

	* current.c (_stp_ret_addr_r): New function.
	(_stp_probe_addr): New function.
	(_stp_probe_addr_r): New function.

2005-06-27  Martin Hunt  <hunt@redhat.com>

	* Doxyfile (PREDEFINED): Added USE_RET_PROBES.

	* probes.c (_stp_register_kretprobes): New function.
	(_stp_unregister_kretprobes): New function.

2005-06-20  Tom Zanussi  <zanussi@us.ibm.com>

	* print.c: Made relayfs _stp_print_flush() use sequence counter.

	* runtime.h: Added sequence counter, moved subbuf_size etc to probes.

2005-06-18  Martin Hunt  <hunt@redhat.com>

	* counter.c: New file. Counter aggregations.

	* stat.c: New file. Stat aggregations.

	* stat.h: Header file for stats.

	* map-int.c: New file. Support for int64 values.

	* map-stat.c: New file. Support for stat values.

	* map-str.c: New file. Support for string values.

	* map-values.c: Now just includes the necessary map-*.c files.

	* stat-common.c: New file. Stats stuff common to Stats and maps
	containing stats.

	* Doxyfile: Bumped version to 0.6.

	* README: Renamed README.doc and reorganized.


2005-06-15  Martin Hunt  <hunt@redhat.com>

	* current.c (_stp_ret_addr): Fix computation for i386.

2005-06-14  Martin Hunt  <hunt@redhat.com>

	* README: Removed old docs and replaced with simple build
	instructions.

	* Makefile: New file.

	* probes/build: New file.

2005-06-13  Martin Hunt  <hunt@redhat.com>

	* print.c (next_fmt): Move this func to print.c.

2005-06-02  Martin Hunt  <hunt@redhat.com>

	* string.c (_stp_string_cat_cstr): Be sure result is
	always terminated.

	* print.c (_stp_vprintf): Fix typo.

2005-05-31  Martin Hunt  <hunt@redhat.com>

	* map.c (_stp_map_print): Now takes a format string instead of a name.

	* map.h (foreach): Update macro.

	* string.c (_stp_string_cat_char): New function.  Append a char
	to a string.

	* map-keys.c: Don't forget to undef KEYSYM, ALLKEYS and ALLKEYSD.

2005-05-26  Martin Hunt  <hunt@redhat.com>

	* current.c (_stp_sprint_regs): Implement for i386.

	* sym.c (_stp_symbol_sprint): Check name before trying to
	print it.
	(_stp_symbol_print): Change to macro that calls _stp_symbol_sprint().

2005-05-18  Martin Hunt  <hunt@redhat.com>

	* print.c: All functions except _stp_print_flush() are
	now macros which use _stp_stdout.

	* string.c: Add _stp_stdout support.  Data written to
	_stp_stdout is automatically flushed when the print buffer
	is full.

	* runtime.h: Always include string.c.

2005-05-17  Martin Hunt  <hunt@redhat.com>

	* map.c (needed_space): Use do_div().
	(_stp_map_print_histogram): Ditto.
	(_stp_map_print): Ditto.

	* map-values.c (_stp_map_add_int64_stat): Use do_div() when
	computing histogram bucket.

	* map-keys.c (_stp_map_key): Fix some warnings on 32-bit machines
	by using key_data casts.

2005-03-30  Martin Hunt  <hunt@redhat.com>

	* scbuf.c:  Make functions use per-cpu buffers as documented.
	_stp_scbuf_clear(): Now returns a pointer to the buffer.