diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-08-10 13:15:30 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-08-10 13:15:30 +0000 |
commit | bad55939df3c8a3c7ea58549c95e4a215b4bc0c3 (patch) | |
tree | c4779981eecbc5ecbe835e10d83f68053d4a47a3 | |
parent | Regenerate. (diff) | |
download | rtems-bad55939df3c8a3c7ea58549c95e4a215b4bc0c3.tar.bz2 |
2010-08-10 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1661/testing
* libcsupport/Makefile.am, libcsupport/include/rtems/libcsupport.h: Add
public methods to get/set malloc heap pointer so the tests do not
have to peer behind the API.
* libcsupport/src/mallocgetheapptr.c,
libcsupport/src/mallocsetheapptr.c: New files.
-rw-r--r-- | cpukit/ChangeLog | 9 | ||||
-rw-r--r-- | cpukit/libcsupport/Makefile.am | 1 | ||||
-rw-r--r-- | cpukit/libcsupport/include/rtems/libcsupport.h | 2 | ||||
-rw-r--r-- | cpukit/libcsupport/src/mallocgetheapptr.c | 26 | ||||
-rw-r--r-- | cpukit/libcsupport/src/mallocsetheapptr.c | 28 |
5 files changed, 66 insertions, 0 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 722365c17f..f939728372 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,12 @@ +2010-08-10 Joel Sherrill <joel.sherrill@oarcorp.com> + + PR 1661/testing + * libcsupport/Makefile.am, libcsupport/include/rtems/libcsupport.h: Add + public methods to get/set malloc heap pointer so the tests do not + have to peer behind the API. + * libcsupport/src/mallocgetheapptr.c, + libcsupport/src/mallocsetheapptr.c: New files. + 2010-08-09 Sebastian Huber <sebastian.huber@embedded-brains.de> * score/inline/rtems/score/object.inl: Use attribute unused in diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am index e0643dc33e..acd864a290 100644 --- a/cpukit/libcsupport/Makefile.am +++ b/cpukit/libcsupport/Makefile.am @@ -92,6 +92,7 @@ MALLOC_C_FILES = src/malloc_initialize.c src/calloc.c src/malloc.c \ src/realloc.c src/_calloc_r.c src/_malloc_r.c \ src/free.c src/freenode.c src/_free_r.c \ src/_realloc_r.c src/mallocfreespace.c \ + src/mallocgetheapptr.c src/mallocsetheapptr.c \ src/mallocinfo.c src/malloc_walk.c src/malloc_get_statistics.c \ src/malloc_report_statistics.c src/malloc_report_statistics_plugin.c \ src/malloc_statistics_helpers.c src/posix_memalign.c \ diff --git a/cpukit/libcsupport/include/rtems/libcsupport.h b/cpukit/libcsupport/include/rtems/libcsupport.h index 63ddd4fa91..b231446b08 100644 --- a/cpukit/libcsupport/include/rtems/libcsupport.h +++ b/cpukit/libcsupport/include/rtems/libcsupport.h @@ -35,6 +35,8 @@ void RTEMS_Malloc_Initialize( extern void malloc_dump(void); extern void malloc_walk(size_t source, size_t printf_enabled); +void malloc_set_heap_pointer(Heap_Control *new_heap); +Heap_Control *malloc_get_heap_pointer( void ); extern void libc_init(void); extern int host_errno(void); extern void fix_syscall_errno(void); diff --git a/cpukit/libcsupport/src/mallocgetheapptr.c b/cpukit/libcsupport/src/mallocgetheapptr.c new file mode 100644 index 0000000000..b0df2f57fb --- /dev/null +++ b/cpukit/libcsupport/src/mallocgetheapptr.c @@ -0,0 +1,26 @@ +/* + * RTEMS Malloc Get Heap Pointer -- Primarily for Debug + * + * COPYRIGHT (c) 1989-2010. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ +#include <rtems.h> +#include <rtems/libcsupport.h> +#include "malloc_p.h" + +Heap_Control *malloc_get_heap_pointer( void ) +{ + return RTEMS_Malloc_Heap; +} diff --git a/cpukit/libcsupport/src/mallocsetheapptr.c b/cpukit/libcsupport/src/mallocsetheapptr.c new file mode 100644 index 0000000000..e0d1471750 --- /dev/null +++ b/cpukit/libcsupport/src/mallocsetheapptr.c @@ -0,0 +1,28 @@ +/* + * RTEMS Malloc Set Heap Pointer -- Primarily for Debug + * + * COPYRIGHT (c) 1989-2010. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ +#include <rtems.h> +#include <rtems/libcsupport.h> +#include "malloc_p.h" + +void malloc_set_heap_pointer( + Heap_Control *new_heap +) +{ + RTEMS_Malloc_Heap = new_heap; +} |