summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include/rtems/malloc.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-25Remove make preinstallChris Johns1-201/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2014-11-28libcsupport: Delete malloc statisticsSebastian Huber1-63/+0
Use the heap handler statistics instead. Add heap walk option to MALLOC shell command. close #1367
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-06-25heap: Add _Heap_Greedy_allocate_all_except_largestSebastian Huber1-2/+16
Add rtems_workspace_greedy_allocate_all_except_largest() and rtems_heap_greedy_allocate_all_except_largest().
2012-12-15libcsupport: Doxygen Enhancement Task #8Alex Ivanov1-1/+1
http://www.google-melange.com/gci/task/view/google/gci2012/7996208
2012-12-13libcsupport: Doxygen enhancement task #9Alex Ivanov1-1/+1
2012-12-13libcsupport: Revert documentation changesSebastian Huber1-1/+1
2012-12-11libcsupport: Doxygen enhancement GCI task #4Alex Ivanov1-0/+3
http://www.google-melange.com/gci/task/view/google/gci2012/8009205
2012-12-10libcsupport: Doxygen enhancement task #5Alex Ivanov1-1/+9
http://www.google-melange.com/gci/task/view/google/gci2012/7992211
2012-10-25score: Work area initialization API changeSebastian Huber1-9/+36
The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
2012-10-15libcsupport: SpellingSebastian Huber1-3/+3
2012-07-17score: Change greedy allocation APISebastian Huber1-3/+7
2012-05-16libcsupport: Adjust malloc_walk() prototypeSebastian Huber1-0/+1
The header file <rtems/malloc.h> provides now also the malloc_walk() prototype. The malloc_walk() prototype reflects now the _Protected_heap_Walk() API. The return status helps to print only in case of an error.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2012-02-10Added support functions for greedy heap allocationSebastian Huber1-0/+18
Various tests must check program paths that result due to failed memory allocations from the heap. To avoid tinkering with internal heap structures throughout the test code these functions should be used.
2011-06-242011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-3/+3
* include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h, include/rtems/pci.h, include/rtems/userenv.h, libblock/include/rtems/flashdisk.h, libblock/include/rtems/nvdisk-sram.h, libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/iosupp.h, libcsupport/include/spurious.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/framebuffer.h, libcsupport/include/rtems/gxx_wrappers.h, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/malloc.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h, libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h, libmisc/capture/capture-cli.h, libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h, libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h, libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h, libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h, libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h, posix/include/mqueue.h, posix/include/semaphore.h, posix/include/rtems/posix/aio_misc.h, posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/posixapi.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/sigset.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/mutex.inl, posix/inline/rtems/posix/priority.inl, posix/inline/rtems/posix/pthread.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, rtems/mainpage.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/timer.inl, rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h, sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h, score/include/rtems/score/object.h, score/include/rtems/score/priority.h, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl: Add @file Doxygen directives and descriptions to files which originated with RTEMS. This improves the file list page generated by Doxygen.
2011-06-172011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-5/+10
* libcsupport/include/rtems/malloc.h, libmisc/stackchk/stackchk.h, posix/include/rtems/posix/time.h, rtems/include/rtems/rtems/object.h, score/include/rtems/score/apiext.h, score/include/rtems/score/interr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/timespec.h, score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/include/rtems/score/tod.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h: Make @brief formatting more consistent. * score/include/rtems/score/rbtree.h: Also reformat.
2011-02-172011-02-17 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-0/+18
* libcsupport/src/rtems_heap_extend.c: New file. * libcsupport/Makefile.am: Reflect change from above. * libcsupport/include/rtems/malloc.h: Declare rtems_heap_extend(). * score/include/rtems/score/heap.h: Documentation.
2010-06-302010-06-30 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill1-14/+0
PR 1472/cpukit * libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/realloc.c, libcsupport/src/rtems_memalign.c: Remove malloc boundary code. It has not been used since before 4.6 and is bitrotted. * libcsupport/src/malloc_boundary.c: Removed.
2010-06-212010-06-21 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill1-1/+1
PR 1581/cpukit * libcsupport/include/rtems/malloc.h, sapi/include/confdefs.h: Remove extra * on function pointer declaration.
2009-11-30Changed base implementation of protected heap allocations to use ↵Thomas Doerfler1-1/+5
_Heap_Allocate_aligned_with_boundary().
2009-11-29Whitespace removal.Ralf Corsepius1-5/+5
2009-11-112009-11-11 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-0/+22
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/rtems_malloc.c: New function rtems_malloc().
2009-06-03Add extern "C" {} guards.Ralf Corsepius1-0/+8
2008-01-292008-01-29 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-0/+20
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/malloc_walk.c, libcsupport/src/posix_memalign.c, libcsupport/src/realloc.c, score/src/heapwalk.c: Add rtems_memalign as helper and as exposed nmemalign variant with few restrictions. Also turn on compilation of _Heap_Walk but make forced calls to it conditionally compiled. This should allow more flexibility to the user as to run-time checking of the heap. * libcsupport/src/rtems_memalign.c: New file.
2008-01-092008-01-09 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+17
* libcsupport/Makefile.am: Add src/malloc_dirtier.c. * libcsupport/include/rtems/malloc.h: Add malloc dirty support. * libcsupport/src/malloc_p.h: Correct prototype.
2008-01-082008-01-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-5/+14
* libcsupport/Makefile.am: Add malloc_sbrk_helpers.c. * libcsupport/include/rtems/malloc.h, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_statistics_helpers.c: Make sbrk() support pluggable and optional. This eliminates the need for heap extend and sbrk in the minimum footprint which is ~2.5K on the SPARC. * sapi/include/confdefs.h: Add the following configuration points: + CONFIGURE_MALLOC_STATISTICS + CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK * libcsupport/src/malloc_sbrk_helpers.c: New file.
2007-12-192007-12-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-0/+1
* libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_report_statistics_plugin.c, libmisc/shell/shell.c, libmisc/shell/shell.h, score/src/objectinitializeinformation.c: Add posix_memalign. Split out management of deferred frees to subroutines. * libcsupport/src/malloc_deferred.c, libcsupport/src/posix_memalign.c: New files.
2007-12-182007-12-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+101
* libcsupport/Makefile.am, libcsupport/preinstall.am, libcsupport/src/malloc.c, libcsupport/src/mallocinfo.c, libmisc/Makefile.am, libmisc/shell/main_mallocinfo.c, libmisc/shell/shellconfig.h: Split malloc.c into multiple files with one function per file. Also split out statistics into a separate file which can be plugged in dynamically. Right now, it is always in. I suspect that splitting the file removed more code than leaving statistics in. I tinkered with malloc information command in the shell. I resurrected the malloc arena code as malloc boundary. This code is now compiled all the time even though it does not appear to work. * libcsupport/include/rtems/malloc.h, libcsupport/src/_calloc_r.c, libcsupport/src/_free_r.c, libcsupport/src/_malloc_r.c, libcsupport/src/_realloc_r.c, libcsupport/src/calloc.c, libcsupport/src/free.c, libcsupport/src/malloc_boundary.c, libcsupport/src/malloc_get_statistics.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_report_statistics.c, libcsupport/src/malloc_report_statistics_plugin.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/realloc.c, libmisc/shell/main_perioduse.c: New files.