From 4cc631db0f14afeb28c54aab262e5ddf252d3910 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 11 Aug 1995 14:33:04 +0000 Subject: Added functions to access the errno of the native system when using the newlib C library. Fixed bug where length did not take into account amount added for alignment requirements. --- cpukit/libcsupport/src/malloc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cpukit/libcsupport/src/malloc.c') diff --git a/cpukit/libcsupport/src/malloc.c b/cpukit/libcsupport/src/malloc.c index 702e6225ce..a7d14b14ab 100644 --- a/cpukit/libcsupport/src/malloc.c +++ b/cpukit/libcsupport/src/malloc.c @@ -53,6 +53,7 @@ void RTEMS_Malloc_Initialize( { rtems_status_code status; void *starting_address; + rtems_unsigned32 old_address; rtems_unsigned32 u32_address; /* @@ -73,8 +74,14 @@ void RTEMS_Malloc_Initialize( } if (u32_address & (CPU_ALIGNMENT-1)) { + old_address = u32_address; u32_address = (u32_address + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - /* XXX: if we do any alignment .. then length should be shortened */ + + /* + * Adjust the length by whatever we aligned by + */ + + length -= u32_address - old_address; } starting_address = (void *)u32_address; -- cgit v1.2.3