1 | 2004-06-24 Oyvind Harboe <oyvind.harboe@zylin.com> |
---|
2 | |
---|
3 | * Added cyg_memalloc_alloc_fail() fn which is invoked before |
---|
4 | return NULL from failed allocations. Useful breakpoint site. |
---|
5 | Andrew Lunn wrote some of the code and pointed out various |
---|
6 | wrinkles to be ironed out. |
---|
7 | |
---|
8 | 2004-02-15 Jonathan Larmour <jifl@eCosCentric.com> |
---|
9 | |
---|
10 | * include/kapi.h: Add throw specifications throughout. |
---|
11 | * src/kapi.cxx: Ditto. |
---|
12 | |
---|
13 | 2003-10-06 Andrew Lunn <andrew.lunn@ascom.ch> |
---|
14 | |
---|
15 | * src/dlmalloc.cxx (Cyg_Mempool_dlmalloc_Implementation): Fixed |
---|
16 | compiler warning added by previous patch. |
---|
17 | |
---|
18 | 2003-09-30 Eric Doenges <Eric.Doengea@DynaPel.com> |
---|
19 | |
---|
20 | * cdl/memalloc.cdl, src/dlmalloc.cxx: Make the minimum memory |
---|
21 | alignment a configuration option for Doug Lea's memory allocator. |
---|
22 | |
---|
23 | 2003-02-05 Jonathan Larmour <jifl@eCosCentric.com> |
---|
24 | |
---|
25 | * include/memjoin.inl: Don't use default arg in definition. |
---|
26 | |
---|
27 | 2003-02-04 John Dallaway <jld@ecoscentric.com> |
---|
28 | |
---|
29 | * src/heapgen.tcl: Accommodate POSIX-style arguments |
---|
30 | under Cygwin. |
---|
31 | |
---|
32 | 2003-01-29 John Dallaway <jld@ecoscentric.com> |
---|
33 | |
---|
34 | * src/heapgen.tcl: Accommodate latest Cygwin Tcl shell |
---|
35 | (tclsh83.exe) |
---|
36 | |
---|
37 | 2002-05-10 Jonathan Larmour <jlarmour@redhat.com> |
---|
38 | |
---|
39 | * tests/heaptest.c (test_pat): Make failure messages clearer. |
---|
40 | (cyg_start): Output what failures mean. |
---|
41 | |
---|
42 | 2002-04-24 Yoshinori Sato <qzb04471@nifty.ne.jp> |
---|
43 | |
---|
44 | * src/memfixed.cxx (resize_alloc): Don't set default args in func |
---|
45 | definition. |
---|
46 | |
---|
47 | 2002-01-30 Bart Veer <bartv@redhat.com> |
---|
48 | |
---|
49 | * tests/malloc4.cxx: |
---|
50 | Never call realloc() with a new size of 0, which frees the buffer. |
---|
51 | Fix the volatility of ptr.p |
---|
52 | |
---|
53 | 2002-01-23 Jesper Skov <jskov@redhat.com> |
---|
54 | |
---|
55 | * tests/malloc4.cxx (myrand): Fix overflow. |
---|
56 | |
---|
57 | 2002-01-15 Jonathan Larmour <jlarmour@redhat.com> |
---|
58 | |
---|
59 | * tests/malloc4.cxx (myrand): Fix so that it really treats the limit |
---|
60 | as a limit. |
---|
61 | |
---|
62 | 2001-10-17 Jesper Skov <jskov@redhat.com> |
---|
63 | |
---|
64 | * include/sepmetaimpl.inl: CYGINT_ISO_STRING_MEMFUNCS checks |
---|
65 | changed to ifdef. |
---|
66 | |
---|
67 | 2001-10-11 Jesper Skov <jskov@redhat.com> |
---|
68 | |
---|
69 | * tests/testaux.hxx (new_thread): Fixed allocation: increase |
---|
70 | counter before starting threads which have been allocated |
---|
71 | resources. |
---|
72 | |
---|
73 | 2001-10-08 Jonathan Larmour <jlarmour@redhat.com> |
---|
74 | |
---|
75 | * cdl/memalloc.cdl: Only build malloc.cxx and kapi.cxx when needed. |
---|
76 | |
---|
77 | 2001-09-20 Jesper Skov <jskov@redhat.com> |
---|
78 | |
---|
79 | * tests/heaptest.c: Fix failure reporting. |
---|
80 | |
---|
81 | 2001-09-07 Jesper Skov <jskov@redhat.com> |
---|
82 | |
---|
83 | * tests/heaptest.c: Added some extra output on failures. |
---|
84 | |
---|
85 | 2001-08-01 Jonathan Larmour <jlarmour@redhat.com> |
---|
86 | |
---|
87 | * include/sepmetaimpl.inl: Define check_free_memdq and |
---|
88 | check_alloced_memdq as inlines. |
---|
89 | |
---|
90 | * cdl/memalloc.cdl: Add new allocator supporting separate metadata, |
---|
91 | and the associated config options, and build sepmeta.cxx and tests. |
---|
92 | Build heapgeninc.tcl with macros that work with both gcc2 and gcc3. |
---|
93 | Ditto for heaps.o. |
---|
94 | Add CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H to allow external entities |
---|
95 | to define the heap. |
---|
96 | * src/malloc.cxx: Include CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H if |
---|
97 | defined instead of default heap definition. |
---|
98 | * include/sepmeta.hxx, include/sepmetaimpl.hxx, include/sepmetaimpl.inl, |
---|
99 | src/sepmeta.cxx, tests/sepmeta1.cxx, tests/sepmeta2.cxx: |
---|
100 | New files for seperated metadata allocator. |
---|
101 | |
---|
102 | 2001-07-18 Jonathan Larmour <jlarmour@redhat.com> |
---|
103 | |
---|
104 | * src/heapgen.tcl: Use constructor priority of CYG_INIT_MEMALLOC |
---|
105 | for heap objects in generated heaps.cxx. |
---|
106 | |
---|
107 | 2001-07-12 Jonathan Larmour <jlarmour@redhat.com> |
---|
108 | |
---|
109 | * tests/malloc1.c (main): Accoutn for allocators that do allocate |
---|
110 | space for allocs of 0. |
---|
111 | Test that allocating all space works. |
---|
112 | * src/dlmalloc.cxx (get_status): Correct again calculation of maxfree |
---|
113 | |
---|
114 | 2001-06-28 Jonathan Larmour <jlarmour@redhat.com> |
---|
115 | |
---|
116 | * include/memjoin.inl (~Cyg_Mempool_Joined): free even when asserts |
---|
117 | disabled. |
---|
118 | |
---|
119 | * include/memvar.hxx (class Cyg_Mempool_Variable): Comment out argument |
---|
120 | names for consistency. |
---|
121 | * include/memfixed.hxx (class Cyg_Mempool_Fixed): Ditto. |
---|
122 | * include/memjoin.hxx (class Cyg_Mempool_Joined): Ditto. |
---|
123 | |
---|
124 | 2001-06-20 Jonathan Larmour <jlarmour@redhat.com> |
---|
125 | |
---|
126 | * include/mvarimpl.inl (get_status): Correct calculation of maxfree |
---|
127 | by taking into account metadata. |
---|
128 | |
---|
129 | 2001-06-18 Jonathan Larmour <jlarmour@redhat.com> |
---|
130 | |
---|
131 | * cdl/memalloc.cdl: Add heaptest test. |
---|
132 | |
---|
133 | * tests/heaptest.c: New test to do a memory check of all of heap. |
---|
134 | |
---|
135 | * src/dlmalloc.cxx (get_status): Correct maxfree and totalfree |
---|
136 | by accounting for block headers. |
---|
137 | |
---|
138 | * tests/realloc.c (cyg_start): Remove warning from declaration. |
---|
139 | * tests/malloc1.c (cyg_start): Ditto. |
---|
140 | * tests/malloc2.c (cyg_start): Ditto. |
---|
141 | * tests/malloc3.c (cyg_start): Ditto. |
---|
142 | * tests/malloc4.cxx (cyg_start): Ditto. Also add DEBUGTEST define |
---|
143 | and fix comment. |
---|
144 | |
---|
145 | * tests/testaux.hxx (STACKSIZE): Double. |
---|
146 | |
---|
147 | 2001-05-02 Hugo Tyson <hmt@redhat.com> |
---|
148 | |
---|
149 | * src/dlmalloc.cxx (Cyg_Mempool_dlmalloc_Implementation): Fix |
---|
150 | previous change; "top" is a pseudo variable via a NULL pointer if |
---|
151 | the heap is not initialized, so you can't use it as a flag for "no |
---|
152 | mem here"; and a typo, the comparison was reversed. The two hid |
---|
153 | each other, so the check for "no mem here" usually said "OK". |
---|
154 | |
---|
155 | 2001-05-01 Jonathan Larmour <jlarmour@redhat.com> |
---|
156 | |
---|
157 | * include/mvarimpl.inl (try_alloc): Allow zero sized heaps. |
---|
158 | (Cyg_Mempool_Variable_Implementation): Ditto. |
---|
159 | * src/dlmalloc.cxx (try_alloc): Ditto. |
---|
160 | (Cyg_Mempool_dlmalloc_Implementation): Ditto. |
---|
161 | |
---|
162 | 2001-04-12 Hugo Tyson <hmt@redhat.com> |
---|
163 | |
---|
164 | * include/memjoin.inl (resize_alloc): Fix typo so it compiles. |
---|
165 | This only applies if you configure multiple heaps. |
---|
166 | |
---|
167 | 2001-03-21 Jonathan Larmour <jlarmour@redhat.com> |
---|
168 | |
---|
169 | * cdl/memalloc.cdl: Specify explicit output file when preprocessing |
---|
170 | heapgen.cpp. Improves portability. |
---|
171 | |
---|
172 | 2001-02-01 Jonathan Larmour <jlarmour@redhat.com> |
---|
173 | |
---|
174 | * tests/malloc4.cxx: Use semaphores to sync startup order. |
---|
175 | |
---|
176 | 2000-11-28 Jonathan Larmour <jlarmour@redhat.com> |
---|
177 | |
---|
178 | * src/heapgen.tcl: Don't use cygpath -s for now as not all cygwins |
---|
179 | have it yet. |
---|
180 | |
---|
181 | 2000-11-25 Jonathan Larmour <jlarmour@redhat.com> |
---|
182 | |
---|
183 | * cdl/memalloc.cdl: Make sure PWD variable doesn't clash with bash PWD |
---|
184 | by renaming to XPWD |
---|
185 | |
---|
186 | 2000-11-24 Jonathan Larmour <jlarmour@redhat.com> |
---|
187 | |
---|
188 | * cdl/memalloc.cdl: Invoke heapgen.tcl with build directory |
---|
189 | surrounded by quotes (and do so in a portable way). |
---|
190 | |
---|
191 | * src/heapgen.tcl: recurse back in on cygwin with correct quoting |
---|
192 | to allow directories containing spaces. Also in a Solaris shell |
---|
193 | compatible way. |
---|
194 | |
---|
195 | 2000-11-21 Jonathan Larmour <jlarmour@redhat.com> |
---|
196 | |
---|
197 | * cdl/memalloc.cdl (CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL): |
---|
198 | New option. |
---|
199 | * src/malloc.cxx (malloc): Use above option to decide if NULL should |
---|
200 | be returned on malloc(0). |
---|
201 | |
---|
202 | 2000-11-01 Jesper Skov <jskov@redhat.com> |
---|
203 | |
---|
204 | * tests/realloc.c (main): Use reasonable factor when making too |
---|
205 | large realloc (targets with 64MB would cause an overflow). |
---|
206 | |
---|
207 | 2000-10-31 Jonathan Larmour <jlarmour@redhat.com> |
---|
208 | |
---|
209 | * tests/testaux.hxx: Prototype cyg_hal_invoke_constructors() |
---|
210 | [ Forgot to check this in at the same time as below ] |
---|
211 | |
---|
212 | 2000-10-20 Jonathan Larmour <jlarmour@redhat.com> |
---|
213 | |
---|
214 | * tests/dlmalloc1.cxx: |
---|
215 | * tests/dlmalloc2.cxx: |
---|
216 | * tests/malloc4.cxx: |
---|
217 | * tests/memfix1.cxx: |
---|
218 | * tests/memfix2.cxx: |
---|
219 | * tests/memvar1.cxx: |
---|
220 | * tests/memvar2.cxx: |
---|
221 | Make sure default priority constructors have been invoked. |
---|
222 | |
---|
223 | 2000-09-14 Jesper Skov <jskov@redhat.com> |
---|
224 | |
---|
225 | * tests/realloc.c (main): fix warning. |
---|
226 | * tests/malloc1.c (main): Same. |
---|
227 | * tests/malloc2.c (main): Same. |
---|
228 | * tests/malloc3.c (main): Same. |
---|
229 | |
---|
230 | 2000-08-31 Jonathan Larmour <jlarmour@redhat.com> |
---|
231 | |
---|
232 | * cdl/memalloc.cdl: Make dlmalloc the default malloc implementation now. |
---|
233 | Also add info to the variable block and dlmalloc descriptions to |
---|
234 | describe the pros and cons of these allocators. |
---|
235 | |
---|
236 | 2000-08-09 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
237 | |
---|
238 | * tests/malloc4.cxx (thrfree): Don't yield at loop end - actually delay |
---|
239 | (thrrealloc): Ditto |
---|
240 | (thrcalloc): Ditto |
---|
241 | (thrmalloc): Ditto |
---|
242 | |
---|
243 | 2000-08-08 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
244 | |
---|
245 | * tests/malloc4.cxx: Make output more frequent |
---|
246 | |
---|
247 | 2000-08-04 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
248 | |
---|
249 | * tests/dlmalloc1.cxx (STACKSIZE): Define larger than default. |
---|
250 | |
---|
251 | 2000-08-03 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
252 | |
---|
253 | * include/dlmallocimpl.hxx (class Cyg_Mempool_dlmalloc_Implementation): |
---|
254 | Ensure typedefs are public so dlmalloc.cxx can use them at outer level. |
---|
255 | |
---|
256 | 2000-08-02 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
257 | |
---|
258 | * src/heapgen.tcl: Fix tclsh invocation quoting problems |
---|
259 | |
---|
260 | 2000-07-31 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
261 | |
---|
262 | * src/heapgen.tcl: Allow builddir to be specified on command-line |
---|
263 | * cdl/memalloc.cdl: Work around NT cygtclsh80 bug by cd'ing into |
---|
264 | heapgen.tcl's directory before running it |
---|
265 | |
---|
266 | 2000-07-26 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
267 | |
---|
268 | * tests/malloc4.cxx: Call rand_r() rather than rand, and use a seed |
---|
269 | var in each thread. |
---|
270 | |
---|
271 | 2000-07-25 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
272 | |
---|
273 | * tests/malloc4.cxx (thrfree): Get mem size here. Tidy output. |
---|
274 | (thrmalloc): Get mem size in thrfree instead |
---|
275 | |
---|
276 | * src/heapgen.tcl: Refine search for user-defined name to cope with |
---|
277 | use of CYG_LABEL_DEFN macro |
---|
278 | |
---|
279 | 2000-07-19 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
280 | |
---|
281 | * cdl/memalloc.cdl (CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE): |
---|
282 | Default to 1 |
---|
283 | |
---|
284 | * include/mvarimpl.inl (resize_alloc): Remember to adjust other |
---|
285 | freelist entries when extending block |
---|
286 | |
---|
287 | 2000-07-04 Jonathan Larmour <jlarmour@redhat.co.uk> |
---|
288 | |
---|
289 | * CYGPKG_MEMALLOC: |
---|
290 | |
---|
291 | Created as new package, merging existing memory allocator related stuff |
---|
292 | from the kernel and libc. Many bug fixes to existing stuff, as |
---|
293 | well as performance improvements, and extra features such as |
---|
294 | a port of dlmalloc, and the ability to support multiple disjoint |
---|
295 | heaps, possibly with run-time configurable size. |
---|
296 | There's even a bit of documentation, and some new tests |
---|
297 | |
---|
298 | //=========================================================================== |
---|
299 | //####ECOSGPLCOPYRIGHTBEGIN#### |
---|
300 | // ------------------------------------------- |
---|
301 | // This file is part of eCos, the Embedded Configurable Operating System. |
---|
302 | // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. |
---|
303 | // |
---|
304 | // eCos is free software; you can redistribute it and/or modify it under |
---|
305 | // the terms of the GNU General Public License as published by the Free |
---|
306 | // Software Foundation; either version 2 or (at your option) any later version. |
---|
307 | // |
---|
308 | // eCos is distributed in the hope that it will be useful, but WITHOUT ANY |
---|
309 | // WARRANTY; without even the implied warranty of MERCHANTABILITY or |
---|
310 | // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
---|
311 | // for more details. |
---|
312 | // |
---|
313 | // You should have received a copy of the GNU General Public License along |
---|
314 | // with eCos; if not, write to the Free Software Foundation, Inc., |
---|
315 | // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
---|
316 | // |
---|
317 | // As a special exception, if other files instantiate templates or use macros |
---|
318 | // or inline functions from this file, or you compile this file and link it |
---|
319 | // with other works to produce a work based on this file, this file does not |
---|
320 | // by itself cause the resulting work to be covered by the GNU General Public |
---|
321 | // License. However the source code for this file must still be made available |
---|
322 | // in accordance with section (3) of the GNU General Public License. |
---|
323 | // |
---|
324 | // This exception does not invalidate any other reasons why a work based on |
---|
325 | // this file might be covered by the GNU General Public License. |
---|
326 | // |
---|
327 | // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. |
---|
328 | // at http://sources.redhat.com/ecos/ecos-license/ |
---|
329 | // ------------------------------------------- |
---|
330 | //####ECOSGPLCOPYRIGHTEND#### |
---|
331 | //=========================================================================== |
---|