11 years ago.

Compiling latest github with ARM DS5 fails (Potentially a compiler bug)

Hi,

When compiling latest github soruces (checking out from https://github.com/mbedmicro/mbed.git) I get the following error:

mottig@fw-srv1:~/work/cloudkey/trunk/out/import/mbed/workspace_tools$ ./build.py -m LPC1768 -t ARM -r -e
Building library CMSIS (LPC1768, ARM)
Building library MBED (LPC1768, ARM)
Building library RTX (LPC1768, ARM)
Compile: rt_CMSIS.c
Internal fault: [0xc81b19:5040081] in osMailGet
Please contact your supplier.

Completed in: (0.91)s

  Build failures:
  * ARM::LPC1768

However, when fudging the "osMailGet" function in rt_CMSIS.c as describe below, the build succeeded.

/// Get a mail from a queue
os_InRegs osEvent osMailGet (osMailQId queue_id, uint32_t millisec) {
  osEvent ret;

  if (queue_id == NULL) {
    ret.status = osErrorParameter;
    //return ret;
  } else {
    ret = osMessageGet(*((void **)queue_id), millisec);
    if (ret.status == osEventMessage) ret.status = osEventMail;
  }

  return ret;
}

I'm using ARM DS5 compiler version 5.04

Appreciate your quick help on this one, Thank you, Motti.

Edit 0xc0170: please use '<<code>><</code>>'

Hi, what version of DS-5 are you using? IT does build with uvision which I believe uses the same compiler.

posted by Martin Kojtal 23 Oct 2014

mottig@fw-srv1:/work/cloudkey/trunk$ armcc Product: DS-5 Professional 5.19.1 [5191005] Component: ARM Compiler 5.04 update 2 (build 82) Tool: armcc [5040081]

posted by Motti Gondabi 23 Oct 2014

1 Answer

10 years, 6 months ago.

Hi,

I tested this with ARMCC compiler, version 5.05 , it fails with the same error as you reported above. The line which causes this is

ret = osMessageGet(*((void )queue_id), millisec);