title: Arm sourcery toolchain linking error
body: <p>I want to use standard c function in one of my function</p>
  
  <pre><code>void print(const char* format,...) {    
      char buffer[256];
      va_list args;
      va_start (args, format);
      vsnprintf (buffer,256,format, args);
      va_end (args);
      sendString(buffer);
  }
  </code></pre>
  
  <p>Error coming is </p>
  
  <pre><code>arm-none-eabi-ld  -o check.elf -T /home/sanju/Arm/check/other/ROM.ld Serial.o irq.o lowlevel.o main.o startup.o \
  -L/usr/arm-none-eabi/lib   -lc -lg  -lm
  /usr/arm-none-eabi/lib/libc.a(lib_a-svfprintf.o): In function `_svfprintf_r':
  vfprintf.c:(.text+0x688): undefined reference to `__aeabi_dcmplt'
  vfprintf.c:(.text+0xdfc): undefined reference to `__aeabi_dcmpeq'
  vfprintf.c:(.text+0x10b4): undefined reference to `__aeabi_dcmpeq'
  vfprintf.c:(.text+0x168c): undefined reference to `__aeabi_uldivmod'
  vfprintf.c:(.text+0x16a8): undefined reference to `__aeabi_uldivmod'
  vfprintf.c:(.text+0x1a48): undefined reference to `__aeabi_dcmpeq'
  vfprintf.c:(.text+0x1eac): undefined reference to `__aeabi_dcmpeq'
  /usr/arm-none-eabi/lib/libc.a(lib_a-dtoa.o): In function `quorem':
  dtoa.c:(.text+0x3c): undefined reference to `__aeabi_uidiv'
  /usr/arm-none-eabi/lib/libc.a(lib_a-dtoa.o): In function `_dtoa_r':
  dtoa.c:(.text+0x274): undefined reference to `__aeabi_dcmpeq'
  dtoa.c:(.text+0x360): undefined reference to `__aeabi_ui2d'
  dtoa.c:(.text+0x37c): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0x388): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x394): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0x3a4): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0x3b0): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x3c4): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0x3d0): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0x3e8): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0x418): undefined reference to `__aeabi_dcmpgt'
  dtoa.c:(.text+0x5a8): undefined reference to `__aeabi_ddiv'
  dtoa.c:(.text+0x5ac): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0x5b4): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0x5c0): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x5d4): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0x608): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x61c): undefined reference to `__aeabi_dcmpeq'
  dtoa.c:(.text+0x650): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x664): undefined reference to `__aeabi_dcmpeq'
  dtoa.c:(.text+0x684): undefined reference to `__aeabi_ddiv'
  dtoa.c:(.text+0x688): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0x690): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0x69c): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x6b0): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0x6fc): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0x718): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0x73c): undefined reference to `__aeabi_dcmpeq'
  dtoa.c:(.text+0xa94): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0xaa0): undefined reference to `__aeabi_dcmpeq'
  dtoa.c:(.text+0xbf8): undefined reference to `__aeabi_ddiv'
  dtoa.c:(.text+0xc2c): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0xc58): undefined reference to `__aeabi_ddiv'
  dtoa.c:(.text+0xc80): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0xc90): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0xc9c): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0xca8): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0xce8): undefined reference to `__aeabi_ddiv'
  dtoa.c:(.text+0xcf4): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0xd08): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0xd10): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0xd24): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0xd54): undefined reference to `__aeabi_dcmpgt'
  dtoa.c:(.text+0xd78): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0xd8c): undefined reference to `__aeabi_dcmpgt'
  dtoa.c:(.text+0xdd0): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0xddc): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0xe00): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0xe1c): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0xe28): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0xe30): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0xe44): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0xe64): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0xef0): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0xefc): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0xf08): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0xf24): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0xf38): undefined reference to `__aeabi_dcmpgt'
  dtoa.c:(.text+0xf54): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0x10c0): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x10e8): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x1130): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x1144): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0x114c): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0x1160): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0x119c): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x11a8): undefined reference to `__aeabi_d2iz'
  dtoa.c:(.text+0x11b0): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0x11c8): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0x1200): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0x120c): undefined reference to `__aeabi_dcmplt'
  dtoa.c:(.text+0x12cc): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x12d8): undefined reference to `__aeabi_dcmpge'
  dtoa.c:(.text+0x158c): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x159c): undefined reference to `__aeabi_i2d'
  dtoa.c:(.text+0x15b0): undefined reference to `__aeabi_dmul'
  dtoa.c:(.text+0x15bc): undefined reference to `__aeabi_dadd'
  dtoa.c:(.text+0x15ec): undefined reference to `__aeabi_dsub'
  dtoa.c:(.text+0x15f8): undefined reference to `__aeabi_dcmpgt'
  /usr/arm-none-eabi/lib/libc.a(lib_a-mprec.o): In function `__ratio':
  mprec.c:(.text+0xbc0): undefined reference to `__aeabi_ddiv'
  /usr/arm-none-eabi/lib/libc.a(lib_a-mprec.o): In function `_mprec_log10':
  mprec.c:(.text+0xbf0): undefined reference to `__aeabi_dmul'
  /usr/arm-none-eabi/lib/libc.a(lib_a-svfiprintf.o): In function `_svfiprintf_r':
  vfprintf.c:(.text+0xf30): undefined reference to `__aeabi_uldivmod'
  vfprintf.c:(.text+0xf4c): undefined reference to `__aeabi_uldivmod'
  make: *** [all] Error 1
  *** Failure: Exit code 2 ***
  </code></pre>
  
  <p>My makefile is this </p>
  
  <pre><code>TOOLCHAIN=arm-none-eabi-
  
  ARM_CPU=arm7tdmi
  
  VPATH= /home/sanju/Arm/check/src /home/sanju/Arm/check/other /home/sanju/Arm/check/include
  
  INCLUDE= /home/sanju/Arm/check/include
  
  CCFLAGS= -mcpu=$(ARM_CPU) -mthumb-interwork -ffunction-sections -Os -Wall
  
  ASFLAGS= -mcpu=$(ARM_CPU) -mthumb-interwork -mfpu=softfpa -Wall
  
  
  all: Serial.o irq.o lowlevel.o main.o startup.o 
  
      $(TOOLCHAIN)ld  -o check.elf -T /home/sanju/Arm/check/other/ROM.ld Serial.o irq.o 
  lowlevel.o main.o startup.o \
  
      -L/usr/arm-none-eabi/lib   -lc -lg  -lm
  
      $(TOOLCHAIN)objcopy -O ihex check.elf check.hex 
  
      $(TOOLCHAIN)objcopy -O binary check.elf check.bin 
  
  
  
  Serial.o : Serial.c Serial.h
  
      $(TOOLCHAIN)gcc $(CCFLAGS) -I$(INCLUDE) -c $&lt; 
  
  
  irq.o : irq.c irq.h lpc214x.h
  
      $(TOOLCHAIN)gcc $(CCFLAGS) -I$(INCLUDE) -c $&lt; 
  
  
  lowlevel.o : lowlevel.c lowlevel.h
  
      $(TOOLCHAIN)gcc $(CCFLAGS) -I$(INCLUDE) -c $&lt; 
  
  
  
  main.o : main.c lpc214x.h timer0.h Asm.h lowlevel.h type.h Serial.h
  
      $(TOOLCHAIN)gcc $(CCFLAGS) -I$(INCLUDE) -c $&lt; 
  
  startup.o : startup.S 
  
      $(TOOLCHAIN)as $(ASFLAGS) -o startup.o $&lt; 
  
  
  
  
  .PHONY: clean 
  
  clean : 
  
      rm -rf *.o  *.elf *.hex *.o *.bin 
  </code></pre>
  
  <p>In the target all it fails in linking. I have tried the example with arm-elf toolchain there also i am getting some errors.I have googled a lot for it but did not find any solution for it.</p>