EmbDev.net

Forum: ARM programming with GCC/GNU tools _sbrk exists, linker can't find it


Author: Liviu Vasut (liviu)
Posted on:

Rate this post
0 useful
not useful
Hello,

I'm trying to compile a program for a stm32f4-discovery board using code 
sourcery g++ lite and I'm having a peculiar problem. My program uses the 
"new operator" and I had to implement the _sbrk function.

Here is the linker command:
arm-none-eabi-g++ -mthumb -mcpu=cortex-m4 -march=armv7e-m 
-mfix-cortex-m3-ldrd -o main.elf -O2  -g -Wall -Werror 
-Wl,-T/home/li/dev/arm_rc/ld/cs3.ld  main.o start_cs3.o newlib_stubs.o

_sbrk is in newlib_stubs.c (.o). Knowing that order of the files on the 
command line counts, I tried moving newlib_stubs.o as first/last 
argument but with no success.

What could be wrong?

Note that the C version of the program that uses malloc is compiling 
just fine (arm-none-eabi-gcc instead of arm-none-eabi-g++)

Thanks,
Liviu

Author: Jörg Wunsch (dl8dtl) (Moderator)
Posted on:

Rate this post
0 useful
not useful
Liviu Vasut wrote:

> Note that the C version of the program that uses malloc is compiling
> just fine (arm-none-eabi-gcc instead of arm-none-eabi-g++)

Did you perhaps compile newlibs_stubs with the C++ compiler, so the
names got their C++ mangling?

Try running arm-none-eabi-nm on the file newlib_stubs.o, and see
which symbol it is reporting for _sbrk.

Btw., the order of explicitly mentioned .o files on the commandline
(almost) doesn't matter.  It's only the order of library files that
matters.

Author: Liviu Vasut (liviu)
Posted on:

Rate this post
0 useful
not useful
Thanks Jörg, you made my day!

That was indeed the problem and now it's solved. I learned something 
today (again) :).

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.