bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Minus ("-") symbols in section memory region name causes syntax error


From: Sebastiaan de Schaetzen
Subject: Minus ("-") symbols in section memory region name causes syntax error
Date: Mon, 9 Aug 2021 10:49:56 +0200

Hi,

I've recently upgraded from binutils 2.36.1 to version 2.37.
This has now caused some of the firmware code I'm working on to no
longer compile.
The firmware uses RIOT OS, and its linker script uses minus ("-")
symbols in some of its region names.
(specifcally, it has a region called "bkup-ram" allowing one to store
data in special backup memory if the
microcontroller has it).

While this used to work, it now throws a syntax error

/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:215:
warning: memory region `bkup' not declared
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:215:
syntax error
collect2: error: ld returned 1 exit status

Some of the relevant lines in cortexm_base.ld:
     40 /* not all Cortex-M platforms use cortexm.ld yet */
     41 MEMORY
     42 {
     43     bkup-ram (w!rx) : ORIGIN = _backup_ram_start_addr, LENGTH
= _backup_ram_len
     44 }

    208     _sbackup_data_load = LOADADDR(.backup.data);
    209     .backup.data :  ALIGN(4) {
    210         _sbackup_data = .;
    211         *(.backup.data)
    212         _ebackup_data = .;
    213         /* Round size so that we can use 4 byte copy in init */
    214         . = ALIGN(4);
    215     } > bkup-ram AT> rom

Renaming bkup-ram to bkup_ram fixes the issue.

Is this a regression in 2.37, or was it a bug that 2.36.1 even
accepted it in the first place?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]