bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/23570] New: AVR .noinit section defaults to PROGBITS used to be


From: rauter.gabriel at gmail dot com
Subject: [Bug gas/23570] New: AVR .noinit section defaults to PROGBITS used to be NOBITS
Date: Fri, 24 Aug 2018 16:16:35 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=23570

            Bug ID: 23570
           Summary: AVR .noinit section defaults to PROGBITS used to be
                    NOBITS
           Product: binutils
           Version: 2.31
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: rauter.gabriel at gmail dot com
  Target Milestone: ---

This really isn't my area of expertise so some of those assumptions may be
wrong.

Since GCC 8.2 some section types are omitted and it is left for the assembler
to decide the specific type.

This is the commit that changed the behavior:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=259969

This results in the .noinit section found in binutils linker scripts for avr
getting the type PROGBITS rather then the type NOBITS it used have.

So in my case avrdude will fail to flash with an address 0x800293 out of range
error for the following variable in c code:

uint32_t reset_key  __attribute__ ((section (".noinit")));

Injecting the section type is a possible workaround for now but i am not sure
if this is the right thing to do in this case:

uint32_t reset_key  __attribute__ ((section (".noinit,\"aw\",@nobits;")));

If this is all misassumptions on my side i am sorry for the inconvenience.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

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