0

Hello support team,

I found the following statements in the Release Notes of the GCC 8.3.0.202204-GNURX. Please don’t remove the feature because the RX SmartConfigurator strongly depends on it and there is an easy workaround.

3. [Deprecation] Automatic interrupt vector entry generation
Declaring interrupt handlers with a numeric argument resulted in the compiler creating additional symbols, which could be referenced in the linker script to initialize the interrupt vector.
This feature is being deprecated and removed in a future release, since the current implementation does not work when paired with the -gc-section command line option.

WORKAROUND:

Add the following KEEP() statements. (Recently I noticed that Azure RTOS Kernel source code needs little modification of `gnu/src/tx_thread_schedule.S` files to work with the combination of the feature and the -gc-section option. Therefore, unfortunately the following workaround doesn’t support Azure RTOS Kernel as of today.)

src/linker_script.ld

.text 0xFFC00000: AT(0xFFC00000) <– This line is an example.
{
*(.text)
KEEP(*(.text.*_isr)) /* for FIT */
KEEP(*(.text.*_interrupt)) /* for CG */
KEEP(*(.text.*Interrupt)) /* for CG Motor Component */
KEEP(*(.text.*ISR)) /* for FreeRTOS Kernel and Demos */
*(.text.*)
*(P)
etext = .;
} > ROM

Best regards,
NoMaY

NoMaY-jp commented