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