Does nano-malloc support target without unaligned load/store instructions?
Can Finner
can.finner@gmail.com
Fri Jan 22 10:08:00 GMT 2016
On Fri, Jan 22, 2016 at 9:14 AM, Pei-Shiang Hung <pshung807@gmail.com> wrote:
> In nano-mallocr.c,
> 262 while (r)
> 263 {
> 264 int rem = r->size - alloc_size;
> 265 if (rem >= 0)
> 266 {
> 267 if (rem >= MALLOC_MINCHUNK)
> 268 {
> 269 /* Find a chunk that much larger than required size, break
> 270 * it into two chunks and return the second one */
> 271 r->size = rem;
> 272 r = (chunk *)((char *)r + rem);
> 273 r->size = alloc_size;
> 274 }
>
> line 272, it is dangerous to cast 'r' to 'char *', plus 'rem', then
> cast back to 'chunk *'. What if the given 'rem' is not a word-aligned
> number? It can cause unaligned access exception. (This does happen in
> my application.)
>
> So, does nano-malloc be designed for specific target with unaligned
> memory access instructions only(eg. ARM)?
>
>
> Thanks all.
Suppose we can support that with a little bit memory cost? CCing Joey
about this.
Thanks,
bin
--
Regards.
More information about the Newlib
mailing list