EmbDev.net

Forum: ARM programming with GCC/GNU tools linker errors caused by malloc and free


Author: jrmymllr jrmymllr (jrmymllr)
Posted on:

Rate this post
0 useful
not useful
I'm getting this linker error:

arm-none-eabi/lib/thumb2libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text+0xc): undefined reference to `_sbrk'
collect2: ld returned 1 exit status

I think I partly figured out the linker problem. If I remove all
references to malloc and free, the source compiles (CodeSourcery G++).
So, obviously I have a problem with malloc/free. I believe it's using
the compiler's built in functions. So, what do I do? I have no idea
what's missing here. If extra code needs to be written, I'm not sure how
or why. Shouldn't this be taken care of by the compiler?

Author: Martin Thomas (mthomas) (Moderator)
Posted on:

Rate this post
0 useful
not useful
Jerry Milner wrote:
> I'm getting this linker error:
>
> arm-none-eabi/lib/thumb2libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
> sbrkr.c:(.text+0xc): undefined reference to `_sbrk'
> collect2: ld returned 1 exit status
>
> I think I partly figured out the linker problem. If I remove all
> references to malloc and free, the source compiles (CodeSourcery G++).
> So, obviously I have a problem with malloc/free. I believe it's using
> the compiler's built in functions. So, what do I do? I have no idea
> what's missing here. If extra code needs to be written, I'm not sure how
> or why. Shouldn't this be taken care of by the compiler?

Suggestion can be found http://en.mikrocontroller.net/topic/155464#new

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.