Use of malloc primitives in Genode

Stefan Kalkowski stefan.kalkowski at ...1...
Tue Mar 15 21:15:48 CET 2011


Hello Amadeo,

if you really want to use stdlib's malloc and free, you'll have to link
against our 'libc'. The 'mini_c' library you've choosen doesn't provide
malloc/free. It's just a small dummy library for the png-library in our
demo-repository, that provides a few string-handling functions.

If you only need malloc/free without additional libc functionality,
there is a simple implementation in our C++ support-library in:

base/src/base/cxx/malloc_free.cc

which uses the heap-allocator from Genode's base environment. To not
clash with the definition of e.g. the implementation in the 'libc' both
symbols are hidden after linking the C++ support library, so you cannot
use it directly, but it might help you as a starting point, if you don't
want to link against whole 'libc'.

Regards
Stefan

On 03/15/2011 08:53 PM, Amadeo Cuadrado wrote:
> Hello,
> 
>  
> 
> When I try to build the app below in Genode, the following linking error
> happens:
> 
>  
> 
> main.o: In function `main':
> 
> …/main.cc:6: undefined reference to `malloc(unsigned int)'
> 
> …/main.cc:8: undefined reference to `free(void*)'
> 
>  
> 
> What am I missing here? Thanks!
> 
>  
> 
> Amadeo
> 
>  
> 
>  
> 
> ::::::::::::::
> 
> main.cc
> 
> ::::::::::::::
> 
> #include <stdlib.h>
> 
>  
> 
> #define N 10
> 
>  
> 
> int main(void) {
> 
>   int *v = (int *) malloc(N*sizeof(int));
> 
>   for (int i=0; i<N; i++) v[i] = i;
> 
>   free(v);
> 
> }
> 
> ::::::::::::::
> 
> target.mk
> 
> ::::::::::::::
> 
> TARGET = foo
> 
> SRC_CC = main.cc
> 
> LIBS   = cxx env mini_c
> 
>  
> 
> 
> 
> ------------------------------------------------------------------------------
> Colocation vs. Managed Hosting
> A question and answer guide to determining the best fit
> for your organization - today and in the future.
> http://p.sf.net/sfu/internap-sfd2d
> 
> 
> 
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ · http://genode.org/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list