newlib newbie wants to malloc
J. Johnston
jjohnstn@cygnus.com
Tue Oct 9 11:27:00 GMT 2001
Christian Groessler wrote:
>
> Hi,
>
> I'm trying to get newlib working on a new system and I've encountered
> a problem.
>
> There is a function _malloc_r used throughout the library, even malloc
> simply calls _malloc_r.
>
> This function is provided in the file newlib/libc/stdlib/mallocr.c.
> There is a "#define mALLOc _malloc_r".
>
> The problem is now that mALLOc() expects one parameter, but _malloc_r
> is defined to get 2 parameters.
> The first parameter to _malloc_r is a pointer which is now interpreted
> by mALLOc as requested size.
> How should this work? What am I doing wrong?
>
> confused,
> chris
Chris,
Are you using the Makefile.in given to compile the files? You will note
there is a -DINTERNAL_NEWLIB flag added to the compilation. This make
mALLOc define to _malloc_r and also adds the extra parameter which points
to the reentrant structure.
In addition, please note the comment on the top of libc/include/reent.h
which discusses the various strategies for supporting reentrancy. You
should likely be specifying -DREENTRANT_SYSCALLS_PROVIDED for your
port.
-- Jeff J.
More information about the Newlib
mailing list