diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-08-11 14:33:04 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-08-11 14:33:04 +0000 |
commit | 4cc631db0f14afeb28c54aab262e5ddf252d3910 (patch) | |
tree | c6634cd15897f2bb2cc3665f0acf9667b6dd06b7 /cpukit/libcsupport/src/malloc.c | |
parent | Added functions to access the errno of the native system when using the (diff) | |
download | rtems-4cc631db0f14afeb28c54aab262e5ddf252d3910.tar.bz2 |
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.
Diffstat (limited to '')
-rw-r--r-- | cpukit/libcsupport/src/malloc.c | 9 |
1 files changed, 8 insertions, 1 deletions
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; |