summaryrefslogtreecommitdiff
path: root/rtl.h
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2012-05-08 08:47:31 +1000
committerChris Johns <chrisj@rtems.org>2012-05-08 08:47:31 +1000
commitb78c02ab55ae3c0a932901896051617e1a212952 (patch)
treed8ce5cd954bc7d6a830d49f4e6abc210c77fefab /rtl.h
parent7f7cdc2de97f006def935f3b2788a24dd25248eb (diff)
Add RTL allocator.
Add a custom allocator that can be hooked. The default heap allocator in this code does nothing more than wrap the libc heap allocator. Fix up the RTL initialise to better handle the locking and initialisation of internal structures.
Diffstat (limited to 'rtl.h')
-rw-r--r--rtl.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/rtl.h b/rtl.h
index c1029cf..0ebfce1 100644
--- a/rtl.h
+++ b/rtl.h
@@ -23,6 +23,8 @@
#include <rtems/chain.h>
// #include <rtems/rtl/rtl-elf.h>
+
+#include <rtl-allocator.h>
#include <rtl-fwd.h>
#include <rtl-elf.h>
#include <rtl-obj.h>
@@ -79,6 +81,7 @@ typedef void (*rtems_rtl_cdtor_t)(void);
struct rtems_rtl_data_s
{
rtems_id lock; /**< The RTL lock id */
+ rtems_rtl_allocator_t allocator; /**< The memory allocator handler. */
rtems_chain_control objects; /**< List if loaded object files. */
const char* paths; /**< Search paths for archives. */
rtems_rtl_symbols_t globals; /**< Global symbol table. */