Re-entrant library for RX needed for running FreeRTOS?

Our software, running on the RX72N and compiled with e2studio 2021-04 with RX CCRX Compiler v3.03 is migrating to FreeRTOS. Previous software wasn't running on an OS. It was a 'simple' while (1) without tasks. There were some interrupts, but nothing else.

While checking all the project settings I saw the flag 'Generate re-entrant library (-reent)' in the Library Generator -> Object settings.

I was wondering, is it necessary to turn on this flag because several tasks are running now that can all call, for example, sprintf()?

In the CC-RX compiler user manual v3.03.00, chapter 7.3 a list is given which library functions are reentrant and which not:

[Reentrant column O: Reentrant X: Non-reentrant D: Sets the errno variable]

We example use the sprintf() function in multiple tasks.

When turning on the flag the following linker errors were given:

<see first reply, somehow I couldn't post the linker errors included in this post>

So to summarize my question(s):

1. It is needed to turn on the flag 'Generate re-entrant library (-reent)' if we are using FreeRTOS?

2. If it is needed, how can I solve the linker errors?

Parents
  • Here example of the linker errors I receive. Somehow I cannot post the list completely here:

    E0562310:Undefined external symbol "_wait_sem" referenced in "freopen"
    E0562310:Undefined external symbol "_errno_addr" referenced in "printf"
    E0562310:Undefined external symbol "_signal_sem" referenced in "printf"

Reply
  • Here example of the linker errors I receive. Somehow I cannot post the list completely here:

    E0562310:Undefined external symbol "_wait_sem" referenced in "freopen"
    E0562310:Undefined external symbol "_errno_addr" referenced in "printf"
    E0562310:Undefined external symbol "_signal_sem" referenced in "printf"

Children
No Data