OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libmudflap/] [ChangeLog] - Blame information for rev 328

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 275 jeremybenn
2010-07-31  Release Manager
2
 
3
        * GCC 4.5.1 released.
4
 
5
2010-06-10  Iain Sandoe  
6
 
7
        PR bootstrap/43170
8
        * configure: Regenerate.
9
 
10
2010-04-14  Release Manager
11
 
12
        * GCC 4.5.0 released.
13
 
14
2010-04-02  Ralf Wildenhues  
15
 
16
        * Makefile.in: Regenerate.
17
        * aclocal.m4: Regenerate.
18
        * testsuite/Makefile.in: Regenerate.
19
 
20
2010-03-15  David S. Miller  
21
 
22
        * testsuite/libmudflap.c/pass54-frag.c: Add explicit return from
23
        main.
24
 
25
2010-01-09  Jakub Jelinek  
26
 
27
        * mf-runtime.c (__mf_usage): Update copyright notice dates.
28
 
29
2009-12-05  Ralf Wildenhues  
30
 
31
        * Makefile.in: Regenerate.
32
        * configure: Regenerate.
33
        * testsuite/Makefile.in: Regenerate.
34
 
35
2009-09-22  Frank Ch. Eigler  
36
 
37
        PR libmudflap/41433
38
        * mf-runtime.c (__mf_init): Ignore $MUDFLAP_OPTIONS if
39
        running setuid or setgid.
40
 
41
2009-09-01  Loren J. Rittle  
42
 
43
        * mf-runtime.c (__mf_init): Support FreeBSD.
44
        Prime mutex which calls calloc upon first lock to avoid deadlock.
45
        * mf-hooks1.c (__mf_0fn_mmap): Support FreeBSD.
46
        Ignore red zone allocation request for initial thread's stack.
47
 
48
2009-09-01  Loren J. Rittle  
49
            Andreas Schwab  
50
 
51
        * testsuite/libmudflap.c/pass51-frag.c (MAP_FAILED): Define,
52
        if not in system header; use it.  On FreeBSD, must pass fd==-1
53
        with MAP_ANON flag.  Correct mmap error check.
54
        * testsuite/libmudflap.c/fail40-frag.c: Ditto.
55
 
56
2009-08-24  Ralf Wildenhues  
57
 
58
        * configure.ac (AC_PREREQ): Bump to 2.64.
59
 
60
2009-08-22  Ralf Wildenhues  
61
 
62
        * Makefile.am (install-html, install-pdf): Remove.
63
        * Makefile.in: Regenerate.
64
 
65
        * Makefile.in: Regenerate.
66
        * aclocal.m4: Regenerate.
67
        * config.h.in: Regenerate.
68
        * configure: Regenerate.
69
        * testsuite/Makefile.in: Regenerate.
70
 
71
2009-07-30  Ralf Wildenhues  
72
 
73
        * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
74
 
75
2009-07-16  Joseph Myers  
76
 
77
        * configure: Regenerate.
78
 
79
2009-07-11  Richard Sandiford  
80
 
81
        PR testsuite/40699
82
        PR testsuite/40707
83
        PR testsuite/40709
84
        * testsuite/lib/libmudflap.exp: Revert 2009-06-30 commit.
85
 
86
2009-07-01  Richard Guenther  
87
 
88
        PR tree-optimization/19831
89
        * testsuite/libmudflap.c/fail11-frag.c: Make allocated memory
90
        escape.
91
        * testsuite/libmudflap.c/fail12-frag.c: Likewise.
92
        * testsuite/libmudflap.c/fail16-frag.c: Likewise.
93
        * testsuite/libmudflap.c/fail31-frag.c: Likewise.
94
 
95
2009-06-30  Richard Sandiford  
96
 
97
        * testsuite/lib/libmudflap.exp (libmudflap-init): Don't add "."
98
        to ld_library_path.  Use add_path.  Add just find_libgcc_s to
99
        ld_library_path, not every libgcc multilib directory.
100
 
101
2009-04-09  Nick Clifton  
102
 
103
        * mf-hooks1.c: Change copyright header to refer to version 3
104
        of the GNU General Public License with version 3.1 of the GCC
105
        Runtime Library Exception and to point readers at the COPYING3
106
        and COPYING3.RUNTIME files and the FSF's license web page.
107
        * mf-heuristics.c: Likewise.
108
        * mf-hooks2.c: Likewise.
109
        * mf-hooks3.c: Likewise.
110
        * mf-impl.h: Likewise.
111
        * mf-runtime.c: Likewise.
112
        * mf-runtime.h: Likewise.
113
 
114
2009-04-09  Jakub Jelinek  
115
 
116
        * testsuite/lib/mfdg.exp: Change copyright header to refer to
117
        version 3 of the GNU General Public License and to point readers
118
        at the COPYING3 file and the FSF's license web page.
119
        * testsuite/lib/libmudflap.exp: Likewise.
120
 
121
2009-03-31  Ben Elliston  
122
 
123
        PR libmudflap/38462
124
        * testsuite/libmudflap.c/fail27-frag.c: Match `mudflap dead
125
        object', not `mudflap object'.
126
 
127
2009-03-01  Ralf Wildenhues  
128
 
129
        * configure: Regenerate.
130
 
131
2009-02-03  Jakub Jelinek  
132
 
133
        * mf-runtime.c (__mf_usage): Update copyright notice dates.
134
 
135
2009-01-23  Jie Zhang  
136
 
137
        * mf-impl.h (__mf_get_state, __mf_set_state): Don't use
138
        __thread when TLS support is emulated.
139
        * mf-hooks3.c (__mf_get_state, __mf_set_state): Likewise.
140
        * mf-runtime.c (__mf_state_1): Likewise.
141
        * configure.ac: Use GCC_CHECK_EMUTLS.
142
        * configure: Regenerate.
143
        * config.h.in: Regenerate.
144
 
145
2008-12-18  Ralf Wildenhues  
146
 
147
        * configure: Regenerate.
148
 
149
2008-11-26  Janis Johnson  
150
 
151
        PR testsuite/28870
152
        * testsuite/lib/mfdg.exp (dg-test): Use new timeout support.
153
        (dg-timeout): Remove.
154
        (standard-wait): Remove.
155
        * testsuite/lib/libmudflap.exp: Include new timeout library files.
156
        (libmudflap_target_compile): Set timeout value from new proc.
157
 
158
2008-11-10  Jakub Jelinek  
159
 
160
        PR middle-end/35314
161
        * testsuite/libmudflap.c/pass67-frag.c: New test.
162
 
163
2008-10-09  Jakub Jelinek  
164
 
165
        PR c++/37568
166
        * testsuite/libmudflap.c++/pass66-frag.cxx: New test.
167
 
168
2008-09-26  Peter O'Gorman  
169
            Steve Ellcey  
170
 
171
        * configure: Regenerate for new libtool.
172
        * Makefile.in: Ditto.
173
        * testsuite/Makefile.in: Ditto.
174
 
175
2008-09-15  Jakub Jelinek  
176
 
177
        PR libmudflap/36397
178
        * testsuite/libmudflap.c/pass64-frag.c: New test.
179
 
180
2008-06-17  Ralf Wildenhues  
181
 
182
        * Makefile.in: Regenerate.
183
        * config.h.in: Regenerate.
184
        * configure: Regenerate.
185
        * testsuite/Makefile.in: Regenerate.
186
 
187
2008-04-18  Paolo Bonzini  
188
 
189
        PR bootstrap/35457
190
        * aclocal.m4: Regenerate.
191
        * configure: Regenerate.
192
 
193
2008-03-20  Volker Reichelt  
194
 
195
        * testsuite/libmudflap.c/pass63-frag.c: New test.
196
 
197
2008-03-16  Ralf Wildenhues  
198
 
199
        * aclocal.m4: Regenerate.
200
        * configure: Likewise.
201
        * Makefile.in: Likewise.
202
        * testsuite/Makefile.in: Likewise.
203
 
204
2008-03-02  Jakub Jelinek  
205
 
206
        * mf-runtime.c (__mf_usage): Update copyright notice dates.
207
 
208
2008-02-21  Uros Bizjak  
209
 
210
        * testsuite/libmudflap.c/fail8-frag.c: Adjust scan pattern for
211
        mudflap dead object.
212
        * testsuite/libmudflap.c/fail9-frag.c: Ditto.
213
 
214
2008-01-24  David Edelsohn  
215
 
216
        * configure: Regenerate.
217
 
218
2008-01-05  Jakub Jelinek  
219
 
220
        PR tree-optimization/34618
221
        * testsuite/libmudflap.c/pass62-frag.c: New test.
222
 
223
2008-01-03  Jakub Jelinek  
224
 
225
        PR c++/34619
226
        * testsuite/libmudflap.c++/pass61-frag.cxx: New test.
227
 
228
2008-01-01  Volker Reichelt  
229
 
230
        PR libmudflap/26442
231
        * testsuite/libmudflap.c++/pass60-frag.cxx: New test.
232
 
233
2007-10-15  Maciej W. Rozycki  
234
 
235
        * configure: Regenerate following changes to ../config/tls.m4.
236
 
237
2007-07-26  Tom Tromey  
238
 
239
        * Makefile.in: Rebuilt.
240
        * Makefile.am (clean-local): Removed.
241
        (pth/mf-runtime.lo, pth/mf-heuristics.lo, pth/mf-hooks1.lo,
242
        pth/mf-hooks2.lo, pth/mf-hooks3.lo): Likewise.
243
        (libmudflapth_la_SOURCES): List sources.
244
        (libmudflapth_la_LIBADD): Clear.
245
        (libmudflapth_la_CFLAGS): New variable.
246
 
247
2007-07-05  H.J. Lu  
248
 
249
        * aclocal.m4: Regenerated.
250
 
251
2007-06-02  Paolo Bonzini  
252
 
253
        * configure: Regenerate.
254
 
255
2007-05-31  Frank Ch. Eigler  
256
 
257
        From Andi Kleen :
258
        * mf-runtime.c (options): Rename structure for compatibility with
259
        glibc getopt_long.
260
 
261
2007-05-23  Steve Ellcey  
262
 
263
        * Makefile.in: Regenerate.
264
        * configure: Regenerate.
265
        * aclocal.m4: Regenerate.
266
        * testsuite/Makefile.in: Regenerate.
267
 
268
2007-03-14  Uros Bizjak  
269
 
270
        * testsuite/libmudflap.cth/pass59-frag.c (main): Fix casting of arg.
271
 
272
2007-03-01  Brooks Moses  
273
 
274
        * Makefile.am: Add dummy install-pdf target.
275
        * Makefile.in: Regenerate
276
 
277
2007-02-07  Jakub Jelinek  
278
 
279
        PR libgomp/28468
280
        * configure: Regenerate.
281
 
282
2006-12-04  Eric Botcazou  
283
 
284
        * configure: Regenerate.
285
 
286
2006-11-13  Daniel Jacobowitz  
287
 
288
        * configure: Regenerated.
289
 
290
2006-11-10  Frank Ch. Eigler  
291
 
292
        PR libmudflap/28578
293
        * mf-hooks1.c (__mf_0fn_malloc): Make the bootstrap buffers
294
        static but not function scope static.
295
        (free): Skip deallocation attempts for objects placed into
296
        bootstrap buffers.
297
        * testsuite/libmudflap.cth/pass59-frag.c: New test.
298
 
299
2006-11-06  Frank Ch. Eigler  
300
 
301
        From Herman ten Brugge :
302
        * mf-runtime.c (__mf_uncache_object): Optimize the code so that
303
        small and large objects are handled a lot faster.
304
 
305
2006-11-06  Frank Ch. Eigler  
306
 
307
        * configure.ac (__libc_freeres): Look for it.
308
        * mf-impl.h (call_libc_freeres): New configuration flag.
309
        * mf-runtime.c (__mf_set_default_options): Set it by default.
310
        (__mfu_report): Call it if needed.
311
        (__mfu_unregister): Remove "unaccessed registered object" warning.
312
        * configure, config.h.in: Regenerated.
313
 
314
2006-09-18  Tom Tromey  
315
 
316
        * configure: Rebuilt.
317
 
318
2006-06-21  Frank Ch. Eigler  
319
 
320
        PR 21274
321
        mf-runtime.h installation based on ssp patch for PR 26473 from
322
        Mark Mitchell  .
323
        * configure.ac (ACX_NONCANONICAL_TARGET): Use it.
324
        * Makefile.am (target_noncanonical): Define.
325
        (libsubincludedir): New variable.
326
        (nobase_libsubinclude_HEADERS): Add mf-runtime.h.
327
        (include_HEADERS): Remove.
328
        * configure, aclocal.m4, config.h.in: Regenerated.
329
        * Makefile.in, testsuite/Makefile.in: Likewise.
330
        * mf-runtime.h: Add #ifndef protection for conflicting _REENTRANT
331
        and _THREAD_SAFE redefinition values.
332
 
333
2006-05-23  Carlos O'Donell  
334
 
335
        * Makefile.am: Add install-html target. Add install-html to .PHONY
336
        * Makefile.in: Regenerate.
337
 
338
2006-04-19  Volker Reichelt  
339
 
340
        PR mudflap/26789
341
        * testsuite/libmudflap.c++/error1-frag.cxx: New test.
342
 
343
        PR mudflap/26790
344
        * testsuite/libmudflap.c++/error2-frag.cxx: New test.
345
 
346
2006-04-10  Matthias Klose  
347
 
348
        * testsuite/lib/libmudflap.exp (libmudflap-init): Recognize multilib
349
        directory names containing underscores.
350
 
351
2005-11-22  Janis Johnson  
352
 
353
        * testsuite/lib/libmudflap.exp (libmudflap-init): Remove -static from
354
        MUDFLAP_FLAGS if static library not supported.
355
        * testsuite/libmudflap.c/cfrags.exp (MUDFLAP_FLAGS): new.
356
        * testsuite/libmudflap.c/externs.exp: Ditto.
357
        * testsuite/libmudflap.c++/ctors.exp: Ditto.
358
        * testsuite/libmudflap.c++/c++frags.exp: Ditto.
359
        * testsuite/libmudflap.cth/cthfrags.exp: Ditto.
360
 
361
2005-10-04  James E Wilson  
362
 
363
        * configure.ac (mudflap_cv_entry_point): Use quadrigraphs to declare
364
        $name as array of characters with unknown bound.  Also store into the
365
        array.
366
        * configure: Regenerate.
367
 
368
2005-09-30  James E. Wilson  
369
 
370
        * configure.ac (pthread.h): Use AC_CHECK_HEADERS instead of
371
        AC_CHECK_HEADER.
372
        (target_thread_file): New.  Set from sed'ed gcc output.
373
        (posix_threads): New.  Set from target_thread_file.  Use instead of
374
        ac_have_pthread_h.
375
        (pthread_create_version): Move initialization before code using it.
376
        * configure: Regenerate.
377
 
378
        * mf-heuristics.c (_end, ENTRY_POINT): Make them arrays with unknown
379
        bounds.
380
 
381
2005-09-29  James E. Wilson  
382
 
383
        * mf-hooks1.c (__mf_0fn_mmap, mmap, __mf_0fn_munmap, munmap): Protect
384
        with HAVE_MMAP ifdef.
385
 
386
2005-09-23  Frank Ch. Eigler  
387
 
388
        PR 23084.
389
        * mf-hooks2.c (accept): Tolerate NULL sockaddr* parameter.
390
 
391
2005-09-23  Frank Ch. Eigler  
392
 
393
        * testsuite/libmudflap.c++/pass58-frag.cxx: New test for heisenbug 19319.
394
 
395
2005-09-23  Tom Tromey  
396
 
397
        * aclocal.m4, configure: Rebuilt.
398
        * configure.ac: Use GCC_CHECK_TLS.
399
        * acinclude.m4 (LIBMUDFLAP_CHECK_TLS, LIBMUDFLAP_ENABLE): Moved
400
        to ../config.
401
 
402
2005-08-22  Jim Wilson  
403
 
404
        * mf-hooks2.c (MF_REGISTER_fopen): Define to __MF_TYPE_STATIC when
405
        __FreeBSD__ is defined.
406
 
407
2005-08-17  Jim Wilson  
408
 
409
        * mf-hooks1.c (malloc, calloc, realloc, free,
410
        __mf_wrap_alloca_indirect): Call BEGIN_MALLOC_PROTECT before calling
411
        the real routines, and END_MALLOC_PROTECT afterwards.
412
        * mf-impl.h (enum __mf_state_enum): Expand comment.  Add in_malloc.
413
        (BEGIN_PROTECT): Handle in_malloc state.
414
        (BEGIN_MALLOC_PROTECT, END_MALLOC_PROTECT): New.
415
        * testsuite/libmudflap.c/hook2-allocstuff.c: New.
416
 
417
2005-08-17  Kelley Cook  
418
 
419
        * All files: Update FSF address.
420
 
421
2005-08-15  Ulrich Weigand  
422
 
423
        * mf-hooks3.c (main_seen_p): Remove.
424
        (__mf_get_state): Remove attempt to recognize the main thread.
425
 
426
2005-08-15  Maciej W. Rozycki  
427
 
428
        * configure.ac: Test for the name of the symbol used for the entry
429
        point; define ENTRY_POINT to the result.
430
        * configure: Regenerate.
431
        * config.h.in: Regenerate.
432
        * mf-heuristics.c: Replace _start with ENTRY_POINT throughout.
433
 
434
2005-08-14  Ulrich Weigand  
435
 
436
        * mf-runtime.c (__mf_state_1): Initialize to reentrant.
437
        (__mf_init): Set thread state active.
438
        * mf-hooks3.c (__mf_pthread_spawner): Always set thread
439
        state active.
440
        (pthread_create wrapper): Always use thread spawner.
441
 
442
        * testsuite/libmudflap.cth/pass37-frag.c: Increase timeout.
443
        * testsuite/libmudflap.cth/pass39-frag.c: Likewise.
444
 
445
2005-07-16  Richard Henderson  
446
 
447
        * acinclude.m4: New file.
448
        * configure.ac: Invoke LIBMUDFLAP_CHECK_TLS.
449
        * configure, config.h.in, Makefile.in, testsuite/Makefile.in: Rebuild.
450
        * mf-hooks1.c (__mf_0fn_malloc): Move body from ...
451
        (__mf_0fn_calloc): ... here.
452
        * mf-hooks3.c (struct pthread_info): Remove.
453
        (__mf_pthread_info, __mf_pthread_info_idx): Remove.
454
        (LIBMUDFLAPTH_THREADS_MAX): Set to 1021.
455
        (struct mf_thread_data): New.
456
        (mf_thread_data, mf_thread_data_lock): New.
457
        (__mf_allocate_blank_threadinfo): Remove.
458
        (__mf_find_threadinfo): Rewrite and simplify.  Only use if TLS is
459
        not available.
460
        (__mf_state_perthread): Remove.
461
        (__mf_get_state, __mf_set_state): New.
462
        (__mf_pthread_cleanup): Use &errno, rather than saved pointer.
463
        Update mf_thread_data killing procedure.
464
        (__mf_pthread_spawner): Similarly.
465
        (__mf_0fn_pthread_create): Only use wrapper if necessary.  Remove
466
        code to allocate thread stack space.
467
        (__mf_0fn_pthread_join, pthread_join): Remove.
468
        (__mf_0fn_pthread_exit, pthread_exit): Remove.
469
        * mf-impl.h (dyn_pthread_join, dyn_pthread_exit): Remove.
470
        (__mf_state_1): Rename from __mf_state; use TLS when available.
471
        (__mf_get_state, __mf_set_state): New.  Update all users.
472
        * mf-runtime.c (begin_recursion_protect1): New.
473
        (BEGIN_RECURSION_PROTECT): Use it.
474
        (__mf_state_1): Rename from __mf_state; use TLS when available.
475
        (threads_active_p): Remove.
476
        (__mf_usage): Compute it directly.
477
 
478
2005-06-19  Ulrich Weigand  
479
 
480
        * testsuite/libmudflap.c/externs-1.c (main): Add return statement.
481
 
482
2005-06-15  Frank Ch. Eigler  
483
 
484
        Fix for uncaching bug reported by Herman ten Brugge.
485
        * mf-runtime.c (__mf_uncache_object): Search whole cache.
486
        * testsuite/libmudflap.c/fail40-frag.c: New test.
487
 
488
2005-05-23  Alfred M. Szmidt  
489
 
490
        PR libmudflap/21724
491
        * Makefile.am (AM_MAKEFLAGS): Pass includedir.
492
        * Makefile.in: Amend.
493
 
494
2005-06-14  Frank Ch. Eigler  
495
 
496
        PR mudflap/21023
497
        * testsuite/libmudflap.c/externs.exp, externs-{1,2}.c: New test files.
498
        * testsuite/libmudflap.c/cfrags.exp: Bypass new sources.
499
 
500
2005-06-14  Frank Ch. Eigler  
501
 
502
        PR libmudflap/21094
503
        * testsuite/libmudflap.c++/*.exp: Assert build tree g++.
504
 
505
2005-06-14  Frank Ch. Eigler  
506
 
507
        PR mudflap/22064
508
        * mf-impl.h (mudflap_mode, violation_mode): Make these ordinary
509
        unsigned vars with #defines instead of enums.
510
 
511
2005-05-09  Mike Stump  
512
 
513
        * configure: Regenerate.
514
 
515
2005-04-12  Mike Stump  
516
 
517
        * configure: Regenerate.
518
 
519
2005-04-12  Frank Ch. Eigler  
520
 
521
        PR mudflap/19266
522
        * testsuite/libmudflap.c++/c++frags.exp: Also test -O permutation.
523
        * testsuite/libmudflap.c++/pass57-frag.cxx: New test.
524
 
525
2005-04-04  Alan Modra  
526
 
527
        * mf-runtime.c (__mfu_unregister): Warning fix for char unsigned.
528
 
529
2005-03-31  Mike Stump  
530
 
531
        * mf-runtime.h: Add libmudflap copyright clause.
532
 
533
2005-03-21  Mike Stump  
534
 
535
        * mf-heuristics.c: Fix whitespace at end of line.
536
        * mf-hooks1.c: Likewise.
537
        * mf-hooks2.c: Likewise.
538
        * mf-hooks3.c: Likewise.
539
        * mf-impl.h: Likewise.
540
        * mf-runtime.c: Likewise.
541
        * mf-runtime.h: Likewise.
542
 
543
2005-03-21  Zack Weinberg  
544
 
545
        * configure.ac: Do not invoke TL_AC_GCC_VERSION.
546
        In all substitutions, expand gcc_version in Makefile.
547
        * aclocal.m4, configure: Regenerate.
548
        * Makefile.am: Set gcc_version.
549
        * Makefile.in, testsuite/Makefile.in: Regenerate.
550
 
551
2005-03-17  Frank Ch. Eigler  
552
 
553
        * mf-runtime.c (__mfu_check): Respect ignore_reads configuration.
554
        * testsuite/libmudflap.c/{pass56,fail39}-frag.c: New tests.
555
 
556
2005-02-13  Frank Ch. Eigler  
557
 
558
        PR mudflap/19319
559
        * testsuite/libmudflap.c++/pass55-frag.c: New test.
560
 
561
2005-01-05  Richard Henderson  
562
 
563
        * testsuite/libmudflap.c/pass32-frag.c: Fix typo.
564
 
565
2005-01-02  Greg McGary  
566
 
567
        * mf-impl.h (uintptr_t): Get typedef via stdint.h or define explicitly.
568
        * mf-runtime.h: New file, replaces mf-runtime.h.in.
569
        * configure.ac (AC_CONFIG_FILES): mf-runtime.h is no longer generated.
570
        * Makefile.in: Ditto.
571
        * testsuite/lib/libmudflap.exp: Add -I${srcdir}/.. to get mf-runtime.h
572
        * testsuite/libmudflap.c/pass32-frag.c: s/uintptr_t/__mf_uintptr_t/
573
        * testsuite/libmudflap.c/fail36-frag.c: New test.
574
        * testsuite/libmudflap.c/fail37-frag.c: New test.
575
        * testsuite/libmudflap.c/fail38-frag.c: New test.
576
 
577
2004-12-08  Kelley Cook  
578
 
579
        * Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
580
        * aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate.
581
 
582
2004-12-02  Richard Sandiford  
583
 
584
        * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
585
        * aclocal.m4: Include ../config/gcc-version.m4.
586
        * configure, Makefile.in, testsuite/Makefile.in: Regenerate.
587
 
588
2004-11-29  Kelley Cook  
589
 
590
        * Makefile.am: Define ACLOCAL_AMFLAGS.
591
        * acinclude.m4: Remove.
592
        * stamp-h.in: Remove superfluous stamp file.
593
        * aclocal.m4, configure, Makefile.in: Regenerate.
594
        * testsuite/Makefile.in: Likewise.
595
 
596
2004-11-24  Kelley Cook  
597
 
598
        * Makefile.am: Revert previous.
599
        * acinclude.m4: Restore.
600
        * aclocal.m4, configure, Makefile.in: Regenerate.
601
        * testsuite/Makefile.in: Likewise.
602
 
603
2004-11-24  Kelley Cook  
604
 
605
        * Makefile.am: Define ACLOCAL_AMFLAGS.
606
        * acinclude.m4: Remove.
607
        * aclocal.m4, configure, Makefile.in: Regenerate.
608
        * testsuite/Makefile.in: Likewise.
609
 
610
2004-11-23  John David Anglin  
611
 
612
        * testsuite/lib/libmudflap.exp: Use new procs in target-libpath.exp.
613
 
614
2004-11-23  Kelley Cook  
615
 
616
        * Makefile.in, configure, aclocal.m4: Regenerate with automake 1.9.3.
617
        * testsuite/Makefile.in: Likewise.
618
 
619
2004-11-01  Andreas Schwab  
620
 
621
        * configure.ac: (target_alias): Default to $host_alias, not
622
        $target.
623
        * configure: Regenerated.
624
 
625
2004-10-28  Frank Ch. Eigler  
626
 
627
        * testsuite/libmudflap.c/fail35-,pass53-,pass54-frag.c: New tests.
628
        * testsuite/libmudflap.c/pass35-frag.c: Correct embedded warning
629
        message.
630
 
631
2004-10-25  Eric Botcazou  
632
 
633
        PR other/18138
634
        * testsuite/lib/libmudflap.exp: Accept more than one multilib libgcc.
635
 
636
2004-10-12  Frank Ch. Eigler  
637
 
638
        * configure.ac: Check for more headers, functions.
639
        * mf-hooks2.c (mkbuffer, unmkbuffer): New helper functions for
640
        tracking overridden FILE buffers.
641
        (fopen, setvbuf): New/revised hook functions for buffer overriding.
642
        (setbuf,setlinebuf,fdopen,freopen,fopen64,freopen64,fclose): Ditto.
643
        (fflush): Accept given NULL stream (means "all streams").
644
        * mf-runtime.h.in:
645
        * mf-runtime.c (__mfu_check): Accept accesses that span adjacent
646
        HEAP/GUESS objects.
647
        (LOOKUP_CACHE_SIZE_MAX): Raise to 64K entries tentatively.
648
        (__mf_adapt_cache): Use them all.
649
        * testsuite/libmudflap.c/pass35-frag.c: Update warning message.
650
        * testsuite/libmudflap.c++/ctors.exp: Ditto.
651
        * testsuite/libmudflap.c/{pass51,pass52}-frag.c: New tests.
652
        * configure, config.h.in: Regenerated.
653
 
654
2004-10-05  Frank Ch. Eigler  
655
 
656
        * configure.ac: Checking for sys/socket.h once is enough.
657
        * configure: Regenerated.
658
 
659
2004-10-04  Frank Ch. Eigler  
660
 
661
        * configure.ac: Look for more headers & functions.
662
        * mf-hooks2.c (getmntent, inet_ntoa, getproto*): New wrapper functions.
663
        * mf-runtime.h.in: Add new "#pragma redefine_extname"s for them.
664
        * mf-runtime.c (options): Clean up integer signedness warnings.
665
        (main): Add a declaration to fix a warning.
666
        * mf-hooks3.c (pthread_exit): Add not-reached exit() to wrapper.
667
        * configure, config.h.in: Regenerated.
668
 
669
2004-10-02  Frank Ch. Eigler  
670
 
671
        * testsuite/libmudflap.c/pass50-frag.c, fail33-frag.c, fail34-frag.c:
672
        New tests for proper base/limit checking for aggregates.
673
 
674
2004-09-15  Joseph S. Myers  
675
 
676
        * testsuite/libmudflap.c/pass35-frag.c: Update expected message.
677
 
678
2004-09-07  Frank Ch. Eigler  
679
 
680
        * configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions.
681
        * mf-hooks2.c (strerror): Unregister previous string returned by
682
        previous strerror.
683
        (getlogin,cuserid,getpwnam,getpwuid,getgrnam,getgrgid): New wrappers.
684
        (getservent,getservbyname,getservbyport,gai_strerror): Ditto.
685
        * mf-runtime.h.in: Add redefine_extname pragmas for them all.
686
        * mf-runtime.c (__mf_describe_object): Clarify object life status.
687
        * testsuite/libmudflap.c/pass48-frag.c, pass49-frag.c, fail32-frag.c:
688
        New tests.
689
        * configure, config.h.in: Regenerated.
690
 
691
2004-08-03  Dale Johannesen  
692
 
693
         * mf-runtime.c: Conditionalize POSIX_SOURCE for Darwin.
694
 
695
2004-08-03  Frank Ch. Eigler  
696
 
697
        * mf-runtime.c (compare_uintptr_t): Remove function.  Inline
698
        simplified contents in all former callers.
699
 
700
2004-07-27  Ulrich Weigand  
701
 
702
        * mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in
703
        the statically linked case.
704
 
705
2004-07-27  Frank Ch. Eigler  
706
 
707
        * splay-tree.[ch]: Remove.  Merge contents into ...
708
        * mf-runtime.c: ... here, renaming symbols and making all functions
709
        static.  Remove unused min/max functions.
710
        * Makefile.am: Forget about splay-tree.[ch].
711
        * Makefile.in, testsuite/Makefile.in: Regenerated.
712
 
713
2004-07-21  Frank Ch. Eigler  
714
 
715
        * mf-runtime.c (__mfu_check): Remove mistaken mode-nop handling.
716
        (__mfu_usage): Include (C) 2004.
717
        * mf-hooks3.c (__mf_find_threadinfo): Don't call tracing functions
718
        here.  Include a comment explaining why.
719
 
720
2004-07-20  Frank Ch. Eigler  
721
 
722
        * mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
723
        * mf-runtime.c (options): Give them a name.
724
        (__mf_set_default_options): Set them.
725
        (__mf_insert_new_object, __mfu_unregister): Optionalize timestamps.
726
        (__mf_violation): Warning cleanup.
727
        * mf-impl.h (MF_VALIDATE_EXTENT): Support ignore_reads option.
728
        * splay-tree.c (splay_tree_delete_helper): Remove obsolete decl.
729
 
730
2004-07-15  Frank Ch. Eigler  
731
 
732
        g++/15861
733
        * mf-runtime.c (__mf_init): Make it non-static.  Tolerate
734
        repeated invocation.
735
 
736
2004-07-09  Frank Ch. Eigler  
737
 
738
        Test case for g++/15861
739
        * testsuite/libmudflap.c++/ctors-[12].cxx: New test case halves.
740
        * testsuite/libmudflap.c++/ctors.exp: Driver.
741
        * testsuite/libmudflap.c++/c++frags.exp: Elide redundant default.
742
        Look only for *frag* test cases.
743
 
744
2004-07-08  Frank Ch. Eigler  
745
 
746
        ANSI C conversion, libmudflap specialization, recursion limiting.
747
        * splay-tree.h (splay_tree_{de,}allocate_fn): Remove allocation_data
748
        argument and indirection function pointers, update callers.
749
        (splay_tree_s): Add statistics and recursion control fields
750
        num_keys, max_depth, depth, rebalance_p.
751
        * splay-tree.c (splay_tree_splay_helper): Track recursion depth.
752
        Back out of search if it exceeds limit.
753
        (splay_tree_splay): Manage recursion limiting with rebalancing as
754
        needed.
755
        (splay_tree_new): More initialization.
756
        (splay_tree_rebalance): New function.
757
        (splay_tree_foreach): Rewrite using nonrecursive logic.
758
        (splay_tree_xmalloc_allocate, splay_tree_xmalloc_deallocate):
759
        Remove.  Point indirect calls to mf-runtime.c's routines.
760
        (splay_tree_compare_ints, splay_tree_compare_pointers): Remove unused
761
        functions.
762
        (splay_tree_delete, splay_tree_delete_helper): Ditto.
763
        * testsuite/heap-scalestress.c: New test based on one from
764
        Eyal Lebedinsky :
765
 
766
2004-07-05  Matthias Klose  
767
 
768
        * libtool-version: New.
769
        * Makefile.am (libmudflap_la_LDFLAGS, libmudflapth_la_LDFLAGS):
770
        Use -version-info for soname.
771
        * Makefile.in: Regenerate.
772
        * configure.ac: Remove libtool_VERSION macro
773
        * configure: Regenerate
774
 
775
2004-07-05  Zack Weinberg  
776
 
777
        * mf-runtime.h.in: Wrap declarations of struct __mf_cache,
778
        __mf_lookup_cache, __mf_lc_mask, or __mf_lc_shift in
779
        #ifndef _MUDFLAP.
780
 
781
2004-06-29  Frank Ch. Eigler  
782
 
783
        Splay tree implementation fork.
784
        * splay-tree.c, splay-tree.h: Copied & modified from libiberty.
785
        Use hard-coded comparison function for uintptr_t.  Remove key/value
786
        deallocation logic.  Cache last splayed key for consecutive lookups.
787
        * Makefile.am, Makefile.in: Use them, don't link to them.
788
        * mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new.
789
        (__mf_find_objects2): Flip successor/predecessor search sequence.
790
        * ansidecl.h, libiberty.h: Removed dummy files.
791
 
792
2004-06-29  Nick Clifton  
793
 
794
        * configure.ac (AC_CHECK_HEADERS): Add dirent.h
795
        * configure: Regenerate.
796
        * mf-hooks2.c: Surround uses of dirent.h with #ifdef
797
        HAVE_DIRENT_H.
798
        Remove spurious inclusion of .
799
 
800
2004-06-29  Nick Clifton  
801
 
802
        * mf-runtime.c (pthread_join): Only apply the weak pragma if the
803
        function actually exists.
804
 
805
2004-06-25  Frank Ch. Eigler  
806
 
807
        * ansidecl.h, libiberty.h: New dummy files for building splay-tree.
808
        * config.h.in: Regenerated.
809
 
810
2004-06-24  Frank Ch. Eigler  
811
 
812
        Adopt splay trees for object database.
813
        * Makefile.am: Copy splay-tree.* from libiberty.
814
        * Makefile.in, testsuite/Makefile.in: Regenerated.
815
        * mf-runtime.h.in (__mf_unregister): Add third parameter (type).
816
        * mf-hooks[123].c (*): Add new third parameter to mf_unregister.
817
        * mf-impl.h (BEGIN_PROTECT): Remove some trace text.
818
        * mf-runtime.c: Rewrite code dealing with object database to use
819
        libiberty splay trees.  Remove tree liveness aging option.
820
        * testsuite/libmudflap.c/fail18-frag.c: Add volatile flag.
821
 
822
2004-06-15  Paolo Bonzini  
823
 
824
        * configure.ac: New name of configure.in.  Update
825
        AC_INIT, AC_CONFIG_SRCDIR, AC_CONFIG_HEADERS, AC_CONFIG_FILES,
826
        AC_OUTPUT, AM_INIT_AUTOMAKE to the preferred style for
827
        Autoconf 2.5x and Automake 1.7 or later.
828
        * configure.in: Remove.
829
        * configure: Regenerate.
830
 
831
        * Makefile.am: Remove useless multilib rules.
832
        * Makefile.in: Regenerate.
833
 
834
2004-06-15  Paolo Bonzini  
835
 
836
        * .cvsignore: New file.
837
 
838
2004-06-10  Stephen Crowley  
839
 
840
        PR libmudflap/13505
841
        * mf-hooks2.c (semctl): Add cygwin porting hack.
842
 
843
2004-06-09  Frank Ch. Eigler  
844
 
845
        ctype support.
846
        * configure.in: Look for ctype header and glibc implementation.
847
        * mf-hooks2.c (__ctype_{b,toupper,tolower}_loc): Sample ctype
848
        array hooks for glibc 2.3.
849
        * mf-runtime.h.in: Wrap them.
850
        * mf-runtime.c (__mf_init): Leave marker regarding other ctype
851
        implementations.
852
        * testsuite/libmudflap.c/pass47-frag.c: New test.
853
        * configure, config.h.in: Regenerated.
854
 
855
2004-06-04  Frank Ch. Eigler  
856
 
857
        Portability improvements, e.g., libmudflap/15293.
858
        * configure.in: Look for glibc extension functions.  Look for
859
        support of -f{function,data}-sections.  Look for more headers.
860
        Create testsuite/mfconfig.exp.  Correct more "test x.." thinkos.
861
        * Makefile.am: Use $(SECTION_FLAGS).  Collapse piecemeal-compiled
862
        mf-hooks* into usual single object per source.
863
        * mf-hooks*.c: Remove all #if WRAP_foo conditionals.
864
        * mf-hooks2.c: #include a bunch more system headers.  Define strnlen
865
        if system doesn't provide one.
866
        * mf-hooks3.c (struct pthread_info): Add stack_*_alloc fields.
867
        (pthread_create): Use it to properly GC dead thread stacks.
868
        * mf-runtime.c (__mf_violation): Correct snprintf type warning.
869
        * testsuite/Makefile.am: Stop generating site.exp.
870
        * testsuite/mfconfig.exp.in: New file.
871
        * testsuite/config/default.exp: Load new mfconfig.exp.
872
        * testsuite/lib/libmudflap.exp (libmudflap-init): Add extra libraries.
873
        (prune_gcc_output): Add glibc static linking warnings.
874
        * testsuite/libmudflap.*/*frags.exp: Enumerate needed -lmudflap* libs.
875
        * testsuite/libmudflap.c/pass46-frag.c: Ditto.
876
        * configure, Makefile, aclocal.m4, config.h.in, testsuite/Makefile.in:
877
        Regenerated with autoconf 2.57 and automake 1.7.
878
 
879
2004-06-04  Per Bothner  
880
 
881
        * configure.in (LIBMUDFLAPTH):  Fix thinko.
882
 
883
        * configure.in:  Check for more headers.
884
        * mf-hooks2.c:  Conditionalize on HAVE_SYS_SOCKET_H etc.
885
 
886
        * mf-runtime.c:  In two places conditionalize on SIUSR1 rather than
887
        HAVE_SIGNAL as mingw has signal.h but not SIUSR1.
888
 
889
2004-06-01  Andreas Jaeger  
890
 
891
        * configure.in: Handle multilibs, support
892
        --enable-version-specific-runtime-libs.
893
        * Makefile.am (lib_LTLIBRARIES): Rename to ...
894
        (toolexeclib_LTLIBRARIES): this for multilib support.
895
        * Makefile.in: Regenerated.
896
        * configure: Regenerated.
897
        * aclocal.m4: Regenerated.
898
        * config.h.in: Regenerated.
899
        * testsuite/Makefile.in: Regenerated.
900
 
901
2004-06-01  Andreas Jaeger  
902
 
903
        * testsuite/lib/libmudflap.exp (libmudflap-init): Handle
904
        multilibs, using multilib directory instead of hardcoded path.
905
        Set LD_RUN_PATH.
906
 
907
2004-05-21  Frank Ch. Eigler  
908
 
909
        * Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS.
910
        * Makefile.in: Ditto.
911
 
912
2004-05-18  Kaz Kojima  
913
 
914
        * acinclude.m4 (lt_cv_deplibs_check_method): Use pass_all on sh*.
915
        * aclocal.m4, configure: Rebuilt.
916
 
917
2004-05-17  Frank Ch. Eigler  
918
 
919
        * lib/libmudflap.exp (libmudflap-init): For C++ test cases only,
920
        import some build settings from libstdc++-v3 testsuite_flags.
921
        * .../cfrags.exp, .../c++frags.exp, .../cthfrags.exp: Corresponding
922
        changes to pass test language.
923
 
924
        * mf-runtime.c (__mfu_check): Poison the cache with antidote for
925
        quicker mode-nop handling.
926
 
927
2004-03-25  Frank Ch. Eigler  
928
 
929
        * mf-impl.h: Added libgcc license header.
930
 
931
2004-03-20  Frank Ch. Eigler  
932
 
933
        * mf-hooks[123].c, mf-runtime.c, mf-heuristics.c:
934
        Added libgcc license header.
935
        * mf-hooks3.c (__mf_0fn_pthread_create): Correct arg constness.
936
        (pthread_create): Simplify stack allocation syntax.
937
 
938
2004-03-08  Loren J. Rittle  
939
 
940
        * mf-hooks2.c: Support FreeBSD.
941
        (WRAP_gets): Avoid gets().
942
        * testsuite/libmudflap.c/pass-stratcliff.c: Do not
943
        test unimplemented mem/str calls on FreeBSD.
944
        * testsuite/libmudflap.c/pass21-frag.c: Do not include
945
         on FreeBSD.
946
 
947
2004-01-30  Frank Ch. Eigler  
948
 
949
        * testsuite/libmudflap.c/pass36-frag.c: Add missing free() call.
950
        * testsuite/libmudflap.c/pass46-frag.c: New test for -fmudflapir.
951
        * testsuite/libmudflap.cth/cthfrags.exp: Add -DSTATIC to compiler
952
        flags for static linking permutation.
953
        * testsuite/libmudflap.cth/pass40-frag.c: When -DSTATIC, avoid
954
        some pthreads code that croaks on linux glibc tls.
955
 
956
2004-01-27  Frank Ch. Eigler  
957
 
958
        * testsuite/libmudflap.c/fail31-frag.c, pass45-frag.c: New tests.
959
 
960
2004-01-15  Frank Ch. Eigler  
961
 
962
        * testsuite/libmudflap.c/pass44-frag.c: New test.
963
 
964
2004-01-12  Frank Ch. Eigler  
965
 
966
        * testsuite/libmudflap.c/fail{28,29,30}-frag.c: New tests.
967
 
968
2004-01-08  Frank Ch. Eigler  
969
 
970
        * testsuite/libmudflap.c/pass43-frag.c: Added missing program rc.
971
 
972
2003-12-11  Frank Ch. Eigler  
973
 
974
        * testsuite/libmudflap.c/pass42-frag.c, pass43-frag.c: New tests.
975
 
976
2003-12-08  Andrew Pinski  
977
 
978
        PR libmudflap/12670
979
        * configure.in: Add check for see if
980
        socklen_t typedef is in sys/socket.h.
981
        * mf-hooks1.c: Add define if socklen_t
982
        is not typedef.
983
        * mf-hooks2.c: Likewise.
984
        * mf-hooks3.c: Likewise.
985
        * config.h.in: Regen.
986
        * configure: Regen.
987
 
988
2003-12-08  Frank Ch. Eigler  
989
 
990
        * mf-runtime.c (__mf_watch_or_not): Tweak tracing message.
991
        * testsuite/libmudflap.c/fail21-frag.c: Defeat aliasing
992
        optimizations.
993
        * testsuite/libmudflap.c/pass25-frag.c: Ditto.
994
        * testsuite/libmudflap.c/pass26-frag.c: Tolerate non-overlapping
995
        (unoptimized) allocation of stack space.
996
 
997
2003-12-07  Richard Henderson  
998
 
999
        * testsuite/libmudflap.c/fail23-frag.c (main): Adjust addend to 11.
1000
        * testsuite/libmudflap.c/fail27-frag.c (foo): Mark noinline.
1001
 
1002
2003-12-06  Andrew Pinski 
1003
 
1004
        partial PR libmudflap/12670
1005
        * mf-hooks1.c: Respect Darwin checks.  Conditionalize POSIX_SOURCE.
1006
        * mf-hooks2.c: Likewise.
1007
        * mf-hooks3.c: Likewise.
1008
 
1009
2003-11-19  Frank Ch. Eigler  
1010
 
1011
        libstdc++/11696
1012
        * mf-runtime.h.in: Switch to #pragma redefine_extname for
1013
        symbols interposed at compile time.
1014
        * testsuite/libmudflap.c++/pass41-frag.cxx: New test.
1015
 
1016
        libmudflap/12939
1017
        * mf-hooks2.c (semctl): Tolerate FreeBSD.
1018
 
1019
        * configure.in: Reorganize check for .
1020
        * configure: Regenerated.
1021
 
1022
2003-11-04  David Edelsohn  
1023
 
1024
        * mf-runtime.c (_ALL_SOURCE): Define for AIX.
1025
        (_LARGE_FILE_API): Define for AIX.
1026
        * mf-hooks[123]: Same.
1027
        (_XOPEN_SOURCE_EXTENDED): Define to 1 for AIX.
1028
 
1029
2003-10-21  David Edelsohn  
1030
 
1031
        * mf-runtime.c (_XOPEN_SOURCE_EXTENDED): Define to 1 for AIX.
1032
 
1033
2003-07-29  Frank Ch. Eigler  
1034
 
1035
        2003-07-29  Gerald Pfeifer  
1036
 
1037
        * configure.in: Update check for union semun.
1038
 
1039
2003-07-29  Gerald Pfeifer  
1040
 
1041
        PR other/11673
1042
        * mf-hooks2.c [WRAP_semctl]: Fix check for HAVE_UNION_SEMUN.
1043
 
1044
2003-07-29  Frank Ch. Eigler  
1045
 
1046
        PR other/11673
1047
        * configure.in: Add checks for 64-bit LFS functions, struct semun
1048
        definition, for BSD compatibility.
1049
        * mf-hooks1.c: Respect BSD checks.  Conditionalize POSIX_SOURCE.
1050
        * mf-hooks2.c: Ditto.  Include  for bcmp* decls.
1051
        * mf-hooks3.c: Ditto.
1052
        (pthread_create): Try MAP_ANON on platforms without the MAP_ANONYMOUS
1053
        mmap flag.
1054
        * configure, config.h.in: Regenerated.
1055
 
1056
2003-07-23  Frank Ch. Eigler  
1057
 
1058
        Multithreading fixes:
1059
        * mf-runtime.c (__mf_object): Store allocating/deallocating
1060
        thread id.
1061
        (options): Support new "-thread-stack" option.
1062
        Rename "-heur-argv-environ" option to "-heur-stdlib".
1063
        Disable "-lc-mask" and "-lc-shift" options.
1064
        (__mf_dynamic): Add function pointers for pthread_join/_exit.
1065
        (__assert_fail): New self-contained function for glibc.
1066
        * mf-hooks3.c: Essentially rewritten, particularly related to
1067
        use of __mf_pthread_info array.
1068
        (pthread_join, _exit): New hook functions.
1069
        * mf-impl.h (BEGIN_PROTECT): Handle starting_p case.
1070
        * testsuite/libmudflap.cth/pass40-frag.c: New test.
1071
 
1072
        Warning cleanups:
1073
        * mf-heuristics.c: Add type casts for tracing, sub calls.
1074
        * mf-impl.h (BEGIN_PROTECT): Redefine to omit result type.
1075
        Update all callers to declare explicit result holder.
1076
        (END_PROTECT): Removed.
1077
        * testsuite/*/*frags.exp: Clean up default MUDFLAP_OPTIONS.
1078
 
1079
2003-07-15  Diego Novillo  
1080
 
1081
        * testsuite/libmudflap.c/fail21-frag.c: Add volatile modifiers.
1082
        * testsuite/libmudflap.c/fail15-frag.c: Likewise.
1083
        * testsuite/libmudflap.c/fail13-frag.c: Likewise.
1084
 
1085
2003-07-04  Frank Ch. Eigler  
1086
 
1087
        * mf-hooks1.c, 2.c, 3.c: New file, splits up content from old ...
1088
        * mf-hooks: Removed.
1089
        * mf-impl.h (MF_VALIDATE_EXTENT, BEGIN_PROTECT, END_PROTECT):
1090
        Move these macros from old mf-hooks.c here.
1091
        * Makefile.am: Adapt to split-up hook sources for faster builds.
1092
        * Makefile.in: Regenerated.
1093
 
1094
        * mf-heuristics.c: Remove #if-0 block.
1095
 
1096
        * mf-impl.h (__mf_state): Reorganize declaration and implementation.
1097
        (__mf_starting_p): New state only for use while dlsym bootstrapping.
1098
        (CALL_REAL, __mf_init): Corresponding changes.
1099
        (TRACE, VERBOSE_TRACE): Include thread id and "mf:" prefix.  Update
1100
        all callers to remove redundant "mf:" prefix.
1101
        * mf-runtime.h.in: #define a few reentrancy macros for libmudflapth.
1102
        * mf-hooks3.c: Rewrite chunks to support per-thread __mf_state value.
1103
        (__mf_pthread_info): Become a hash table.
1104
 
1105
        * testsuite/lib/mfdg.exp: Support new "dg-timeout" and
1106
        "dg-repetitions" directives to control test case execution.
1107
        * testsuite/libmudflap.cth/pass37-frag.c: Add timeout and repeat
1108
        options.
1109
        * testsuite/libmudflap.cth/pass39-frag.c: Ditto for this new test.
1110
 
1111
2003-06-25  Frank Ch. Eigler  
1112
 
1113
        * mf-hooks.c (alloca): Separate into stub.
1114
        (__mf_wrap_alloca_indirect): New function.  Use CALL_REAL
1115
        malloc/free for alloca blocks.
1116
        (pthread_create): Tolerate failing pthread_attr_get* calls.
1117
        * mf-runtime.c (__mf_fini): Call __mf_wrap_alloca_indirect.
1118
        * mf-impl.h (CALL_WRAP): Remove macro.
1119
        * testsuite/libmudflap.c/pass21-frag.c: Include .
1120
        * testsuite/libmudflap.c/pass23-frag.c: Include more struct
1121
        padding for ia64 BIT_FIELD_REF constructs.
1122
 
1123
2003-06-19  Frank Ch. Eigler  
1124
 
1125
        * mf-hooks.c (struct pthread_info): Add "thread_errno" field.
1126
        (__mf_pthread_spawner, __mf_pthread_cleanup): Use it with GUESS
1127
        libmudflap object type.
1128
        * mf-runtime.c (__mfu_unregister): Correct cemetary logic to avoid
1129
        crashes on unregistering STATIC objects.
1130
 
1131
2003-06-17  Frank Ch. Eigler  
1132
 
1133
        Based on patch from Eyal Lebedinsky :
1134
        * mf-hooks.c (__mf_pthread_spawner): Register thread errno.
1135
        (time, strerror, fopen, fopen64, fclose, fread): New hooks.
1136
        (fwrite, fgetc, fgets, getc, gets, ungetc, fputc): New hooks.
1137
        (fputs, putc, puts, clearerr, feof, ferror, fileno): New hooks.
1138
        (printf, fprintf, sprintf, snprintf, vprintf, vfprintf): New hooks.
1139
        (vsprintf, vsnprintf, access, remove, fflush, fseek): New hooks.
1140
        (fseeko64, ftell, ftello64, rewind, fgetpos, fsetpos): New hooks.
1141
        (stat, stat64, fstat, lstat, mkfifo, setvbuf, setbuf): New hooks.
1142
        (setvbuf, opendir, closedir, readdir, recv, recvfrom): New hooks.
1143
        (recvmsg, send, sendto, sendmsg, setsockopt, getsockopt): New hooks.
1144
        (accept, bind, connect, gethostname, sethostname): New hooks.
1145
        (gethostbyname, wait, waitpid, popen, pclose, execve): New hooks.
1146
        (execv, execvp, system, dlopen, dlclose, dlerror, dlsym): New hooks.
1147
        (semop, semctl, shmctl, shmat, shmdt): New hooks.
1148
        * mf-runtime.h.in: Corresponding changes.
1149
        * mf-runtime.c (__mf_ini): Register stdio objects.  Use STATIC type.
1150
        (opts) Rename heur_argv_environ to heur_std_data.
1151
        (__mf_wrap_main): Use STATIC type for argv/environ strings.
1152
        * Makefile.am: Corresponding changes.
1153
        * Makefile.in: Regenerated.
1154
 
1155
2003-06-11  Frank Ch. Eigler  
1156
 
1157
        * mf-heuristics.c (__mf_heuristic_check): Disable stack_bounds
1158
        heuristic for threaded case, and for non-x86-linux targets.
1159
        * mf-hooks.c (__mf_0fn_calloc): Provide a working dummy implementation
1160
        for use during pre-main() program startup.
1161
        (__mf_0fn_*): Make these functions non-static.
1162
        * mf-impl.h (DECLARE, CALL_REAL): Support calls to 0fn backup hook
1163
        functions.
1164
        * mf-runtime.c (__mf_state): Set initial state to "starting".
1165
        (__mf_resolve_single_dynamic): Tolerate repeated calls for same symbol.
1166
        (__wrap_main): New function to register argv[] and environ[] strings.
1167
        (__mf_ini): Call it.
1168
        (*): In all trace functions, use "%p" as formatter for uintptr_t.
1169
 
1170
        * testsuite/libmudflap.c/pass38-frag.c: New test case.
1171
        * testsuite/libmudflap.cth/pass37-frag.c: Improved test.
1172
 
1173
        * acinclude.m4: Add comments with aoliva's concerns about x86_64
1174
        pass_all.
1175
        * aclocal.m4, configure: Regenerated.
1176
 
1177
2003-06-04  Frank Ch. Eigler  
1178
 
1179
        * acinclude.m4: Correct typo in AC_MSG_CHECKING.
1180
        * aclocal.m4, configure: Regenerated.
1181
 
1182
2003-06-03  Frank Ch. Eigler  
1183
 
1184
        * acinclude.m4: Force "pass_all" deplibs_check_method for libtool
1185
        for x86_64 target.  Disable caching for this value.
1186
        * aclocal.m4, configure: Regenerated.
1187
 
1188
2003-06-02  Frank Ch. Eigler  
1189
 
1190
        * testsuite/libmudflap.c/pass38-frag.c: Deleted.  -fwritable-strings
1191
        is about to become deprecated, and its present handling bugs are
1192
        unworthy of fixing.
1193
 
1194
2003-05-30  Frank Ch. Eigler  
1195
 
1196
        * testsuite/libmudflap.c/pass38-frag.c: New test for
1197
        -fwritable-strings.
1198
 
1199
2003-05-23  Frank Ch. Eigler  
1200
 
1201
        * mf-runtime.c (__mf_sigusr1_handle): Call unlocked variant of
1202
        __mf_report, asserting reentrant calling context.
1203
 
1204
2003-05-23  Frank Ch. Eigler  
1205
 
1206
        * mf-hooks.c (realloc): Correct reentrancy logic.
1207
        * testsuite/libmudflap.c/hook-allocstuff.c: New test case.
1208
 
1209
2003-05-20  Frank Ch. Eigler  
1210
 
1211
        * mf-hooks.c (LIBMUDFLAPTH_THREADS_MAX): New macro, replaces
1212
        PTHREAD_THREADS_MAX.  Update users.
1213
        * mf-runtime.c (__mf_usage): Print [active] instead of [default]
1214
        for active options.
1215
        * testsuite/Makefile.am (all-local): Prime dejagnu site.exp file
1216
        with libmudflapth presence indicator.
1217
        * testsuite/Makefile.in: Regenerated.
1218
 
1219
2003-05-16  Frank Ch. Eigler  
1220
 
1221
        * Makefile.am (AM_CFLAGS): Remove "-ansi".
1222
        * configure.in: Remove silly no-pthreads => no-shared logic.
1223
        * Makefile.in, configure: Regenerated.
1224
        * mf-heuristics.c (__mf_heuristic_check): Remove reentrancy hacks.
1225
        * mf-hooks.c (BEGIN_PROTECT, END_PROTECT): Reorganize reentrancy
1226
        code.  Count reentrancy events.
1227
        (all hook functions): Don't directly manipulate __mf_state variable.
1228
        Add TRACE calls to hook functions without them.
1229
        * mf-impl.h (LOCKTH): Try to count lock contention events.
1230
        (VERBOSE_TRACE, TRACE): Remove reentrancy hacks.
1231
        * mf-runtime.c (BEGIN_RECURSION_PROTECT, END_RECURSION_PROTECT):
1232
        Reorganize reentrancy code.
1233
        (external __mf_ entry points): Use RECURSION_PROTECT mechanism to
1234
        identify reentrancy with mutex holding times.
1235
        (internal __mfu_ entry points): Remove internal reentrancy code.
1236
        (__mf_init): Use ordinary locked calls.
1237
        (__mfu_report): Print the two new counts.
1238
        * testsuite/lib/libmudflap.exp: Filter out junk ld/pthreads messages.
1239
        * testsuite/libmudfap.cth/cthfrags.exp: New test driver.
1240
        * testsuite/libmudflap.cth/pass37-frag.c: New pthreads test.
1241
        * testsuite/libmudfap.cth/cfrags.exp: Adapt to new libmudflap
1242
        option defaults.
1243
 
1244
2003-05-09  Frank Ch. Eigler  
1245
 
1246
        * configure.in: Add pthread support, plus glibc and porting hacks.
1247
        * Makefile.am (LIBMUDFLAPTH): New conditional, to build -lmudflapth
1248
        from objects built into ./pth/.
1249
        * mf-runtime.c (__mfu_watch,register,...): Fork new unlocked
1250
        functions for internal entry points.  Update callers to pick
1251
        locked vs. unlocked variants.
1252
        (__mf_resolve_single_dynamic): Extend to support symbol versioning
1253
        info coming in from a static data structure.
1254
        (*): Reorder miscellaneous declarations to group data vs functions.
1255
        (__mf_set_default_options): Simplify.
1256
        (__mf_usage): Mention threading status of host executable.
1257
        * mf-impl.h: Move max/min decls here.  Reorganize __mf_dynamic
1258
        decls to match above.
1259
        (LOCKTH, UNLOCKTH): New macros for Big Libmudflap Lock management.
1260
        * mf-heuristics.c: Choose between locked/unlocked calls.  Add
1261
        some lock/unlock markers.  Remove some unused code.
1262
        * mf-hooks: Ditto.
1263
        (pthread_create): New hook function.
1264
        (__mf_pthread_cleanup, _spawner): New helper functions.
1265
        * configure. aclocal.m4, config.h.in, Makefile.in: Regenerated.
1266
 
1267
2003-05-02  Frank Ch. Eigler  
1268
 
1269
        * testsuite/libmudflap.c/fail27-frag.c: Add more volatile flags.
1270
 
1271
2002-04-28  Frank Ch. Eigler  
1272
 
1273
        * Makefile.am (HOOKOBJS): Add *time related hooks.
1274
        * configure.in: Look for pthreads.h header.
1275
        * mf-hooks.c (asctime, ctime, gmtime, localtime): New wrappers.
1276
        * mf-runtime.c: Begin sketching some pthreads support.
1277
        (__mf_usage): Check for -lpthread presence.
1278
        (__mf_unregister): Confirm matching unregistration base.
1279
        (__mf_find_objects_rec): Reduce unnecessary recursion.
1280
        * mf-runtime.h.in: Add "nothrow" attribute to functions.  Add
1281
        #defines for new hook functions.
1282
        * mf-impl.h: Corresponding changes.
1283
        * config.h.in, configure, Makefile.in: Regenerated.
1284
 
1285
2002-04-27  Diego Novillo  
1286
 
1287
        * testsuite/libmudflap.c/fail1-frag.c: Add volatile
1288
        modifiers to prevent being optimized away.
1289
        * testsuite/libmudflap.c/fail10-frag.c: Likewise.
1290
        * testsuite/libmudflap.c/fail13-frag.c: Likewise.
1291
        * testsuite/libmudflap.c/fail14-frag.c: Likewise.
1292
        * testsuite/libmudflap.c/fail15-frag.c: Likewise.
1293
        * testsuite/libmudflap.c/fail2-frag.c: Likewise.
1294
        * testsuite/libmudflap.c/fail20-frag.c: Likewise.
1295
        * testsuite/libmudflap.c/fail3-frag.c: Likewise.
1296
 
1297
2003-04-15  Frank Ch. Eigler  
1298
 
1299
        * Makefile.am (libmudflap_la_LIBADD): Remove -ldl.
1300
        * configure.in: Look for uintptr_t and -ldl on target.
1301
        * mf-runtime.h.in: Adjust uintptr_t declaration logic.
1302
        * Makefile.in, aclocal.m4, configure, config.h.in: Regenerated.
1303
        * testsuite/Makefile.in: Regenerated.
1304
        * mf-runtime.c (__mf_sigusr1_respond): Tweak declaration and calls
1305
        for better C compliance.
1306
 
1307
2003-04-15  Frank Ch. Eigler  
1308
 
1309
        * mf-hooks.c (MF_VALIDATE_EXTENT): Remove unnecessary reentrancy
1310
        prevention code.
1311
        * mf-runtime.c (__mf_set_default_options): Turn off
1312
        check-initialization.
1313
        (__mf_describe_object): Shorten description.
1314
        * testsuite/libmudflap.c/fail25-frag.c: Turn on check-initialization.
1315
 
1316
2003-04-07  Frank Ch. Eigler  
1317
 
1318
        * mf-hooks.c (__mf_0fn_mmap): Correct return value, as per .
1319
 
1320
2003-04-02  Frank Ch. Eigler  
1321
 
1322
        * mf-hooks.c (BEGIN_PROTECT): Handle startup-time reentrant
1323
        calls specially.
1324
        (__mf_0fn_malloc ... _munmap): New dummy backup calls.
1325
        * mf-impl.h (CALL_BACKUP): New macros.
1326
        * mf-runtime.c (__mf_init): Tweak __mf_state during startup.
1327
 
1328
2003-03-31  Frank Ch. Eigler  
1329
 
1330
        * Makefile.am (AM_CFLAGS): Remove optimization flags.
1331
        (HOOKOBJS): Remove dlopen hook.
1332
        (libmudflap_la_LIBADD): Add -ldl.
1333
        * mf-hooks.c (dlopen): Remove hook.
1334
        * mf-impl.h (__mf_dynamic): Ditto.
1335
        * mf-runtime.c (__mf_resolve_dynamics): Ditto.
1336
        * Makefile.in: Regenerated.
1337
 
1338
2003-03-28  Frank Ch. Eigler  
1339
 
1340
        * configure.in: Check for target gettimeofday, signal, some headers.
1341
        * mf-impl.h (__mf_opts): Add new "sigusr1_report" field.  Comment
1342
        out inop multi_threaded field.
1343
        * mf-runtime.c (options): Handle new "-sigusr1-report" option.
1344
        (__mf_set_options): Correct handling of "-help".
1345
        (__mf_sigusr1_respond): New function to manage SIGUSR1 response.
1346
        (__mf_check, __mf_register, __mf_unregister): Call it.
1347
        (__mf_insert_new_object, __mf_unregister): Respect HAVE_GETTIMEOFDAY.
1348
        (__mf_report_leaks): Make callable
1349
        (__mf_tree_analyze): Traverse in-order.  Accumulate address bit
1350
        distribution statistics.
1351
        (__mf_adapt_cache): Rewrite shift guessing logic based on address
1352
        bit distributions.
1353
        * config.h.in, configure: Regenerated.
1354
        * testsuite/libmudflap.c/fail27-frag.c: New test.
1355
        * testsuite/libmudflap.c/pass36-frag.c: New test.
1356
 
1357
2003-03-11  Frank Ch. Eigler  
1358
 
1359
        * mf-runtime.h.in: Tweak.
1360
        * Makefile.am, configure.in: Tweak mf-runtime.h generation some more.
1361
        Don't use intermediate files nor AC_OUTPUT-time postprocessing.
1362
        * Makefile.in, testsuite/Makefile.in, configure: Regenerated.
1363
 
1364
2003-03-10  Frank Ch. Eigler  
1365
 
1366
        * configure.in: Tweak generation of mf-runtime.h some more.  It
1367
        needs to work from both config.status and configure.
1368
        * configure: Regenerated.
1369
 
1370
2003-03-10  Frank Ch. Eigler  
1371
 
1372
        * Makefile.am: Reorganize hook file building.  Add auto dependencies.
1373
        * configure.in: Tweak generation of mf-runtime.h.
1374
        * mf-runtime.h.in: Add new __MF_TYPE_HEAP_I.
1375
        * mf-hooks.c (*): Adapt to initialized-heap object type.
1376
        * mf-impl.h: Tweak cemetary boundaries.
1377
        * mf-runtime.c (__mf_check): Adapt to new initialized-heap object
1378
        type.
1379
        (__mf_insert_new_object, __mf_register, __mf_unregister): Ditto.
1380
        (__mf_describe_object, __mf_report_leaks, __mf_violation): Ditto.
1381
        * testsuite/lib/libmudflap.exp (includes): Include build tree.
1382
        * testsuite/libmudflap.c/pass{26,5}: Further adapt to initialization
1383
        checking.
1384
        * testsuite/.../fail{25,26}-frag.c: New tests.
1385
        * testsuite/.../pass{32,33,34,35}-frag.c: New tests.
1386
        * Makefile.in, configure: Regenerated.
1387
 
1388
2003-03-05  Frank Ch. Eigler  
1389
 
1390
        * mf-runtime.c (__mf_set_default_options): Turn on initialization
1391
        checking by default.
1392
        (__mf_insert_new_object): As a temporary hack, assume that new
1393
        objects registered on the stack start out initialized.
1394
        * testsuite/libmudflap.c/fail9,pass23,pass[6789]-*: Initialize
1395
        heap objects by hand.
1396
 
1397
2003-03-05  Frank Ch. Eigler  
1398
 
1399
        Switch to macro-style hooks for str*/mem*/b* functions.
1400
        * mf-runtime.h.in (__MF_TYPE_*): Moved some internal values out.
1401
        (mem*, str*, b*): Added macro-style hooks for _MUDFLAP case.
1402
        * mf-runtime.c: #include config.h to enable glibc backtraces again.
1403
        (__mf_set_default_options): Turn off heur_proc_map.
1404
        (*): Adapt to to macro-style hook functions.
1405
        (__mf_object_dead_head, __mf_object_cemetary): Correct bounds.
1406
        (__mf_check, __mf_register, __mf_unregister): Tweak tracing message.
1407
        (__mf_violation): Handle __MF_VIOL_WATCH.
1408
        * mf-impl.h (__MF_TYPE_*): Moved these internal values here.
1409
        (__mf_dynamic): Removed mem*/str*/b* functions.
1410
        (TRACE, VERBOSE_TRACE): Add reentrancy locking.
1411
        (WRAPPER2): New macro for macro-style hooks.
1412
        * mf-hooks.c: Convert mem*/str*/b* functions to simpler
1413
        macro-style hooks.
1414
        (BEGIN_PROTECT): Tweak tracing vs reentrancy-lock ordering.
1415
        * mf-heuristics.c: Adapt to macro-style hook functions.
1416
        Correct some comments.
1417
        * testsuite/lib/mfdg.exp (dg-test): Simplify result string for
1418
        output pattern tests.
1419
        * testsuite/libmudflap.c/fail[89]-frag.c: Elaborate output test.
1420
        * testsuite/libmudflap.c++/c++frags.exp: Enable non-static tests.
1421
 
1422
2003-02-28  Frank Ch. Eigler  
1423
 
1424
        * testsuite/libmudflap.c/fail23-frag.c, pass30-frag.c: New tests
1425
        for global array registration.
1426
        * testsuite/libmudflap.c++/fail24-frag.cxx, pass31-frag.cxx: Ditto.
1427
        * testsuite/libmudflap.c++/c++frags.exp: Tweak -static multilib hack.
1428
 
1429
2003-02-27  Frank Ch. Eigler  
1430
 
1431
        * Makefile.am: Add gross make bug workarounds.  Tweaked
1432
        SUBDIRS and AM_CFLAGS.
1433
        * Makefile.in: Regenerated.
1434
 
1435
2003-02-26  Frank Ch. Eigler  
1436
 
1437
        Switch to dejagnu.
1438
        * configure.in (AC_PROG_CXX): Don't look for C++ any more.
1439
        * Makefile.am (TESTS): Remove simple automake testing.
1440
        * configure, Makefile.in: Regenerated.
1441
        (SUBDIRS): Include new testsuite/ directory.
1442
        * tests/*: Removed all files; moved bulk under:
1443
        * testsuite/*: New subdirectory tree.
1444
        * testsuite/libmudflap.c/cfrags.exp: New file, C test driver.
1445
        * testsuite/libmudflap.c++/c++frags.exp: New file, C++ test driver.
1446
        * testsuite/lib/libmudflap.exp: New file, derived from libstdc++.
1447
        * testsuite/lib/mfdg.exp: New file, derived from dejagnu.
1448
        * testsuite/config/default.exp: New file.
1449
        * testsuite/Makefile.am, Makefile.in: New files.
1450
 
1451
2003-01-29  Frank Ch. Eigler  
1452
 
1453
        * Makefile.am (TESTS_ENVIRONMENT): Remove redundant "-mode-check".
1454
        (TESTS): Add fail22 and pass29 tests.
1455
        * mf-runtime.h.in: Change API to take void*/size_t region parameters.
1456
        Add new access-type parameter for __mf_check.  Move __MF_VIOL* out.
1457
        * mf-impl.h: Corresponding changes.  Update CLAMP* macros for void*
1458
        values.  Move __MF_VIOL* here.
1459
        * mf-runtime.c (*): Adapt to void*/size_t API in mf-runtime.h.
1460
        (check_initialization): New field in __mf_opts.  Default off.
1461
        (read_count,write_count): New fields in __mf_object.
1462
        (__mf_check): Implement basic initialization checking.
1463
        (__mf_insert_new_object): Assume STATIC|GUESS regions are initialized.
1464
        (__mf_describe_object): Print new fields.
1465
        (__mf_violation): Identify check/read vs. check/write in messages.
1466
        * test/pass29-frag.c, test/fail22-frag.c: Basic tests for new
1467
        "-check-initialized" mudflap option.
1468
        * test/pass25-frag.c, test/fail21-frag.c: Adapt to API changes.
1469
        * mf-hooks.c (MF_VALIDATE_EXTENT): Add new access-type parameter.
1470
        Drop __FILE__/__LINE__ hack.  Update callers.
1471
        (*): Adapt to new mf-runtime.h API.
1472
        * Makefile.in: regenerated.
1473
 
1474
2003-01-24  Frank Ch. Eigler  
1475
 
1476
        * configure.in: Build mf-runtime.h a more proper way.
1477
        * mf-hooks.c (strdup, strndup): Correct reentrancy logic.
1478
        * mf-runtime.c (verbose_violations): Turn on by default.
1479
        * mf-runtime.h.in: Remove some miscellaneous stuff ...
1480
        * mf-impl.h: ... and move it here.
1481
        * configure: Regenerated.
1482
 
1483
2003-01-22  Frank Ch. Eigler  
1484
 
1485
        * configure.in: Look for C++ compiler.
1486
        * test/*-frag.c, mf-driver.c: Reformatted with GNU indent and
1487
        fixed type warnings when built with C++.
1488
        * test/pass27-frag.cxx, pass28-frag.cxx: New C++ tests.
1489
        * Makefile.am (TESTS): Run them.
1490
        (*) Add new rules for building and running C++ tests.
1491
        (TESTFLAGS): Set new default to avoid libstdc++-v3 shlib issues.
1492
        * mf-runtime.h.in: Protect with extern "C".
1493
        * Makefile, configure: Regenerated.
1494
 
1495
2003-01-06  Frank Ch. Eigler  
1496
 
1497
        Portability improvements.
1498
        * configure.in: Look for glibc backtrace headers/functions.
1499
        * mf-hooks.c: Don't include  any more.
1500
        * mf-runtime.c (__mf_set_options): Call more stdlib functions
1501
        via CALL_REAL.
1502
        (__mf_backtrace): Provide alternate baby implementation in
1503
        absence of glibc.
1504
        * test/mf-driver.c: Portability tweaks.
1505
        * acinclude.m4: New file, containing top level libtool.m4.
1506
        * aclocal.m4, configure, Makefile.in, config.h.in: Regenerated.
1507
 
1508
2002-12-19  Frank Ch. Eigler  
1509
 
1510
        * mf-runtime.h.in (HAVE_UINTPTR_T): Define unconditionally.
1511
 
1512
2002-11-08  Frank Ch. Eigler  
1513
 
1514
        * mf-runtime.c (options): Add new "wipe-heap", "wipe-stack"
1515
        options.
1516
        (__mf_unregister): Implement stack/heap object wiping.
1517
        (__mf_set_options): Renamed from __mf_process_opts.
1518
        (__mf_uncache_object): Change arg type, correct callers.
1519
        * mf-impl.h: Corresponding changes.
1520
        * mf-hooks.c (realloc): Save/restore heap-wiping flag.
1521
        * mf-runtime.h.in (__mf_set_options): Extend public API.
1522
        * test/pass26-frag.c: New test for stack wiping.
1523
        * Makefile.am (TESTS): Run it.
1524
        * Makefile.in: Regenerated.
1525
 
1526
2002-11-07  Frank Ch. Eigler  
1527
 
1528
        * mf-runtime.h.in (__mf_watch, __mf_unwatch): Extend public API.
1529
        * mf-runtime.c (__mf_object_t): Add watching_p field.
1530
        (__mf_watch_or_not): New function to implement
1531
        object watch flagging.
1532
        (__mf_watch, __mf_unwatch): New wrappers for above.
1533
        (__mf_check, __mf_describe_object): Handle objects with watching_p.
1534
        (__mf_count_violation): Enlarge array.
1535
        (__mf_uncache_object): Renamed from __mf_remove_old_object.  Don't
1536
        unlink object.  Clear cache properly.
1537
        (__mf_unregister): Unlink object explicitly before uncaching.
1538
        * test/fail21-frag.c, pass25-frag.c: New tests.
1539
        * Makefile.in, aclocal.m4: Regenerated.
1540
 
1541
2002-11-05  Frank Ch. Eigler  
1542
 
1543
        * test/fail20-frag.c: New test for NULL pointer dereferencing.
1544
        * Makefile.am (TESTS): Add it.
1545
        * test/pass-stratcliff.c: Add decls of stpcpy.
1546
        * configure.in: Test for .  Generate mf-runtime.h in
1547
        build tree from config.h and new file mf-runtime.h.in.
1548
        * mf-runtime.h.in: Renamed from mf-runtime.h.  Tweak uintptr_t decl.
1549
        * Makefile.in, configure, config.h.in: Regenerated.
1550
        * mf-hooks.c: Add #undef for wrapped glibc str*/mem* macros.
1551
        * mf-runtime.c (options, __mf_set_default_options): Support new
1552
        default "abbreviate" option.
1553
        (__mf_object.description_epoch): New field.
1554
        (__mf_describe_object): Conditionally abbreviate objects already
1555
        displayed in current epoch.  Accept NULL input to increment epoch.
1556
        (__mf_fini, __mf_ini): Reset description epoch.
1557
        (__mf_register, __mf_unregister, __mf_adapt_cache, __mf_init): Ensure
1558
        that NULL pointer slot in lookup cache is invalidated.  Register a
1559
        NOACCESS region around NULL.
1560
        * mf-impl.h: Corresponding changes.
1561
 
1562
2002-10-16  Frank Ch. Eigler  
1563
 
1564
        * test/fail19-frag.c, pass24-frag.c, pass-stratcliff.c: New tests.
1565
        * Makefile.am: Run them.  Install mf-runtime.h.
1566
        * Makefile.in: Regenerated.
1567
        * mf-hooks.c: Add some markers for more missing functions.
1568
        * mf-runtime.c (__mf_adapt_cache): Experiment with a utilization-based
1569
        statistic to tune tune cache size (mask).
1570
 
1571
2002-10-01  Frank Ch. Eigler  
1572
 
1573
        * test/pass23-frag.c: New test for bit_field_ref expressions.
1574
        * Makefile.am, Makefile.in: Add new test.
1575
        * mf-hooks.c (mmap, munmap): Rewrite to track individual pages.
1576
        (MF_VALIDATE_EXTENT): Accept zero-size mem/str operations.
1577
        * mf-runtime.c (__mf_init): Register errno global.
1578
        (__mf_find_object): Removed function.
1579
        (__mf_check): Rewrite logic to support accesses across some
1580
        contiguous but distinctly registered objects.
1581
        (__mf_remove_old_object): Tolerate cache entries that span
1582
        contiguous objects.
1583
 
1584
2002-09-30  Frank Ch. Eigler  
1585
 
1586
        * test/pass21-frag.c, pass22-frag.c: New tests: alloca, bitfields.
1587
        * Makefile.am, Makefile.in: Run new tests.
1588
        * mf-hooks.c (alloca): Correct stack direction logic.
1589
 
1590
2002-09-26  Frank Ch. Eigler  
1591
 
1592
        * mf-impl.h (adapt_cache): New option.
1593
        * mf-runtime.c (__mf_set_default_options): Set its default value.
1594
        Tweak the tree_aging parameter down.
1595
        (__mf_check): Maintain separate counter for cache-adaptation.
1596
        (__mf_tree_analyze): New function to collect object tree stats.
1597
        (__mf_adapt_cache): New function to automate cache parameters.
1598
 
1599
2002-09-24  Frank Ch. Eigler  
1600
 
1601
        * mf-heuristics.c (__init_misc, __mf_heuristic_check): Add
1602
        hypothetical #if-0'd argv/envp region registration.
1603
        * mf-runtime.c (__mf_init): Add kludged form of above.
1604
        (*) Add "heur_argv_environ" flag, default on, to govern this.
1605
        * mf-impl.h: Corresponding changes.
1606
 
1607
2002-09-20  Frank Ch. Eigler  
1608
 
1609
        * test/fail18-frag.c: New test file for NOACCESS regions.
1610
        * Makefile.am (TESTS): Add new test.
1611
        * Makefile.in: Regenerated.
1612
 
1613
        * mf-heuristics.c (__mf_heuristics_check): Correct deja_vu logic.
1614
        * mf-impl.h (tree_aging): Add new mudflap_option, default 1000000.
1615
        (optimize_object_tree): Remove unused mudflap_option.
1616
        * mf-runtime.h (__MF_TYPE_NOACCESS): New region type.  Add printing
1617
        support throughout.  Use .._MAX_CEM for cemetary upper bound.
1618
        * mf-runtime.c (__mf_init): Register __mf_* globals as NOACCESS
1619
        regions.
1620
        (__mf_object): Add new liveness field for use by tree aging.
1621
        (__mf_check): Trigger tree aging when needed.
1622
        (__mf_age_tree): New function to decay liveness field.
1623
        (__mf_find_objects_rec): Use liveness field to rotate tree.
1624
        (__mf_insert_new_object): Only provide backtrace for HEAP objects.
1625
        (__mf_unregister): Ditto.
1626
        (__mf_register): Tweak duplicate-static message.
1627
        (__mf_violation: Tweak nearby-object counter printing.
1628
 
1629
2002-09-16  Frank Ch. Eigler  
1630
 
1631
        * test/pass20-frag.c: New test file.
1632
        * Makefile.am (TESTS): Reorganize.  Add pass20 test.
1633
        * Makefile.in: Regenerated.
1634
 
1635
        * mf-impl.h (TRACE_IN, TRACE_OUT): Remove macros.  Update callers.
1636
        * mf-hooks.c (BEGIN_PROTECT): Add hook tracing here.
1637
        * mf-heuristic.c (__mf_heuristic_check): Track seen /proc/self/map
1638
        entries to avoid repeat registration.
1639
        * mf-runtime.c (__mf_object_cemetary): Don't bother bury GUESS regions.
1640
        (__mf_register, __mf_unregister): Rewrite GUESS handling logic.
1641
 
1642
2002-09-09  Frank Ch. Eigler  
1643
 
1644
        * Makefile.am: Create test sources with #include, not cat>>.
1645
        * Makefile.in: Regenerated.
1646
        * test/buildtest.sh: Removed.
1647
        * test/driver.c (abort_handler, main): Be quiet.
1648
 
1649
2002-09-06  Frank Ch. Eigler  
1650
 
1651
        * test/pass18-frag.c, pass19-frag.c: New tests.
1652
        * Makefile.am (check): Run them.  Rebuild test programs each time.
1653
        * Makefile.in: Regenerated.
1654
 
1655
2002-09-06  Frank Ch. Eigler  
1656
 
1657
        * mf-runtime.c (__mf_register): Correct SEGV-inducing error in
1658
        overlapping object search.
1659
        (__mf_violation): Likewise for nearby objects.
1660
        Improve nearby-object listing.
1661
 
1662
        cleanup:
1663
        * mf-runtime.c, mf-hooks.c: Remove "{{{"/"}}}" folding marks.
1664
        * mf-heuristics.c (__mf_heuristic_check): Tweak message.
1665
 
1666
2002-09-03  Frank Ch. Eigler  
1667
 
1668
        alloca support:
1669
        * Makefile.am (AM_CFLAGS): New definition of needed settings.
1670
        (HOOKOBJS): Add alloca-hook.o.
1671
        * mf-hooks.c (alloca): New function to implement alloca in libiberty
1672
        style.
1673
        * mf-runtime.c (__mf_report): Call alloca(0) to flush remaining blocks.
1674
        (__mf_backtrace): Reimplement without using alloca.
1675
        * Makefile.in: Regenerated.
1676
 
1677
        cleanup:
1678
        * mf-hooks.c: Use VERBOSE_TRACE throughout instead of fprintf(stderr).
1679
        Correct signedness bugs in length-tracking variables.
1680
        * mf-impl.h: Make options unsigned.
1681
        (CALL_WRAP): New macro to parallel CALL_REAL().
1682
        (DECLARE): Remove erroneous ";" at end.
1683
        * mf-runtime.c, mf-hooks.c, mf-heuristics.c: Replace remaining %p
1684
        formatting specs with %08lx.  Correct several compiler warnings.
1685
 
1686
2002-08-28  Frank Ch. Eigler  
1687
 
1688
        * mf-runtime.c (__mf_violation): Try harder to locate nearby objects.
1689
 
1690
2002-08-27  Frank Ch. Eigler  
1691
 
1692
        libmudflap hook breakup:
1693
        * Makefile.am (TESTS_ENVIRONMENT): Add ../../gcc to LD_LIBRARY_PATH
1694
        for libgcc_s.
1695
        (TESTS): Make dependent on libmudflap.
1696
        (HOOKOBJS): Break up mf-hooks.o into many little hook objects,
1697
        compiled from segments of mf-hooks.c.
1698
        * mf-hooks.c: Corresponding changes: wrap each function in
1699
        #ifdef/#endif.
1700
        * Makefile.in: Regenerated.
1701
 
1702
        Heuristics reorganization:
1703
        * mf-heuristics.c (__mf_register_ro_sections, __mf_init_heuristics):
1704
        Remove these functions.  Update callers.
1705
        (__mf_heuristic_check): Incorporate all the various heuristics.
1706
        Encode cacheability/retry judgement into trinary return value.
1707
        Separate start-end logic into a separate fallback heuristic.  Only
1708
        register relevant /proc/self/map segments.
1709
        * mf-impl.h: Corresponding changes.
1710
        * mf-runtime.c (__mf_check): Reorganize heuristics fallback logic.
1711
        (__mf_init): Don't call __mf_init_heuristics.
1712
 
1713
        Tracing cleanup:
1714
        * mf-heuristics.c, mf-runtime.c: Use new MUDFLAP_OPTION
1715
        "-verbose-trace" to emit all tracing messages other than those of
1716
        basic public api.  Eliminate some duplicate/excessive messages.
1717
        * mf-runtime.h: Corresponding changes.
1718
 
1719
2002-08-27  Graydon Hoare  
1720
 
1721
        * mf-impl.h (WRAPPER): Change to create linker aliases for __wrap
1722
        and __real when compiled with -DPIC.
1723
        * mf-hooks.c (WRAPPER): Change all uses of WRAPPER macro slightly.
1724
        * Makefile.am (AUTOMAKE_OPTIONS): Fix LD_LIBRARY_PATH for tests.
1725
        * Makefile.in: Regenerate.
1726
 
1727
2002-08-26  Graydon Hoare  
1728
 
1729
        * mf-impl.h: New file, private implementation header.
1730
        * mf-runtime.h: Reorganize a bit.
1731
        (CLAMPSZ): Fix arithmetic.
1732
        (__MF_CACHE_MISS_P): Fix arithmetic.
1733
        * mf-runtime.c: Reorganize a bit.
1734
        (__mf_dynamic): New structure.
1735
        (resolve_single_dynamic): New function.
1736
        (__mf_resolve_dynamics): New function.
1737
        (__mf_init): Initialize dynamic wrappers.
1738
        * mf-hooks.c: Macro-ize __real calls.
1739
        Clamp various bits of arithmetic.
1740
        Add explicit __mf_check call contexts.
1741
        * Makefile.am: Add dependencies on mf-impl.h
1742
        * Makefile.in: Regenerate.
1743
        * configure.in: Comment out shared override.
1744
        * configure: Regenerate.
1745
 
1746
2002-08-22  Graydon Hoare  
1747
 
1748
        * mf-runtime.c (__mf_process_opts): Sanity-check free_queue_length.
1749
        (__mf_check): Re-inialize and check heuristics before violation.
1750
        (__mf_register): Permit updating pure-guess regions.
1751
        * mf-hooks.c (__wrap_free): Correct some free queue logic.
1752
        (__wrap_dlopen): New wrapper function.
1753
        (__wrap_mmap): New wrapper function.
1754
        (__wrap_munmap): New wrapper function.
1755
        * mf-heuristics.c (__mf_register_ro_sections): Register *all* regions
1756
        which are not stack addresses.
1757
        (is_stack_address): New function.
1758
        (__mf_init_heuristics): Save and restore state, always initialize with
1759
        "starting" state.
1760
 
1761
2002-08-21  Frank Ch. Eigler  
1762
 
1763
        * mf-hooks.c (MF_VALIDATE_EXTENT): Rewrite to correct off-by-one
1764
        error.  Pass location string.
1765
        (wrap_strcpy, wrap_strncpy): Remove extra %s in trace strings.
1766
        * mf-runtime.c (options): Add lc-mask, lc-shift options.
1767
        (__mf_process_opts): Apply some sanity checking for lc-mask.
1768
        (__mf_check, __mf_violation): Take new location-string argument.
1769
        Update callers to pass NULL if necessary.
1770
        (__mf_backtrace): New smart backtracer function.  Calls replace
1771
        several ad-hoc blocks elsewhere.
1772
        (__mf_describe_object): Remove bad reentrancy test.  Improve
1773
        tracing message.
1774
        * mf-runtime.h: Corresponding changes.  Public/private markup.
1775
        (__MF_CACHE_MISS_P): New macro.
1776
 
1777
2002-08-20  Graydon Hoare  
1778
 
1779
        * mf-runtime.h: New option: stack_bound (heuristic).
1780
        Move some macros out of implementation files.
1781
        * mf-runtime.c: New option string: -stack-bound.
1782
        Unify recursion protection with hooks.
1783
        Add more logging.
1784
        (__mf_check): Call __mf_heuristic_check.
1785
        (__mf_process_opts): Fix "no-" processing.
1786
        * mf-heuristics.c (__mf_heuristic_check): New function.
1787
        * mf-hooks.c: Much off-by-one fixing, recursion protection.
1788
 
1789
2002-08-20  Frank Ch. Eigler  
1790
 
1791
        Option parsing improvements, region splitting bug fixes:
1792
        * mf-heuristics.c (__mf_register_ro_sections): Add warned casts.
1793
        * mf-runtime.h (heur_proc_map): New libmudflap option.
1794
        * mf-runtime.c (__mf_set_default_options): Set it.
1795
        (__mf_usage): Print default values/status.
1796
        (__mf_process_opts): Support general "no-" option string prefix.
1797
        (__mf_init): Print __mf_usage on unknown-option error.
1798
        (__mf_register): Print trace message up front.
1799
        Correct region splitting logic for case where a subregion disappears.
1800
        Correct memory leak.
1801
        (__mf_violation): Make even basic message conditional on option.
1802
 
1803
        Build cleanup:
1804
        * Makefile.am (TESTS_ENVIRONMENT): Add -no-heur-proc-map.
1805
        (clean-local): New target.
1806
        (test/*x rules): Add -g CFLAGS.
1807
        (CFLAGS): Add -freorder-blocks.
1808
        (MFCONFIG_CFLAGS, INCLUDE): Remove unneeded settings.
1809
        * Makefile.in: Regenerated.
1810
        * Makefile, mf-config.h: Removed files.
1811
 
1812
2002-08-16  Graydon Hoare  
1813
 
1814
        * mf-runtime.c (__mf_insert_new_object): Factor out of
1815
        __mf_register.
1816
        (__mf_remove_old_object): Factor out of __mf_unregister.
1817
        (__mf_register): Handle guessed regions, splitting
1818
        guesses when new registrations arrive.
1819
        (__mf_unregister): Do not unregister guesses.
1820
        * mf-runtime.h: Move convenience macros around,
1821
        declare new option fields. Add __MF_TYPE_GUESS.
1822
        * mf-hooks.c (__wrap_*alloc): Use crumple zones.
1823
        (__wrap_free): Call __real_free for deferred frees.
1824
        * Makefile.am: Add more tests, fix dependency.
1825
        * Makefile.in: Regenerate.
1826
        * test/pass[13..17]-frag.c: New testcases.
1827
        * test/fail[13..17]-frag.c: New testcases.
1828
 
1829
2002-08-15  Graydon Hoare  
1830
 
1831
        * mf-heuristics.c: New file.
1832
        * mf-runtime.c (options): Add -trace-calls option.
1833
        (__mf_init): Call __mf_init_heuristics.
1834
 
1835
2002-08-14  Graydon Hoare  
1836
 
1837
        * Makefile.am (TESTS): Add testsuite support.
1838
        * Makefile.in: Regenerate.
1839
        * test/mf-driver.c: New file.
1840
        * test/buildtest.sh: New file.
1841
        * test/passNN-frag.c: New testcases.
1842
        * test/failNN-frag.c: New testcases.
1843
 
1844
2002-08-14  Graydon Hoare  
1845
 
1846
        * mf-hooks.c: Change __real_strlen() to __real_strlen()+1 when
1847
        verifying non-size-limited string extents.
1848
 
1849
2002-08-14  Frank Ch. Eigler  
1850
 
1851
        * mf-hooks.c: Make __wrap string* functions use __real_str[n]len
1852
        instead of plain str[n]len for internal checks.
1853
        * mf-runtime.c (__mf_violation): Print optional stack traceback.
1854
 
1855
2002-08-14  Frank Ch. Eigler  
1856
 
1857
        * mf-hooks.c: Remove #if-0 around hooks that are now ld-wrapped.
1858
 
1859
2002-08-13  Graydon Hoare  
1860
 
1861
        * mf-runtime.c: Rework configuration to operate on
1862
        environment variable options rather than #defines
1863
        (__mf_violation): Add simple fork-a-gdb violaiton mode.
1864
        (__mf_init): Set static __mf_active_p flag on startup,
1865
        to inhibit mudflap wrap-based checking during crt0.s.
1866
        * mf-runtime.h: Declare options structure.
1867
        * mf-hooks.c: New wrappings for mem*, b*, str*
1868
        libc functions (temporarily #if 0-ed out).
1869
 
1870
2002-08-12  Frank Ch. Eigler  
1871
 
1872
        * Makefile.am, configure.in: New files.
1873
        * Makefile.in, Makefile, configure, config.h.in: New generated files.
1874
        * stamp-h.in, aclocal.m4: Ditto.
1875
 
1876
2002-08-08  Frank Ch. Eigler  
1877
 
1878
        * Makefile: New file.
1879
        * mf-config.h: New file: runtime configuration.
1880
        * mf-hooks.c: New file: interposed libc functions.
1881
        * mf-runtime.c: New file: bulk of runtime.
1882
        * mf-runtime.h: New file: public functions.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.