diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2013-01-07 18:34:40 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2013-01-07 18:34:40 +0000 |
commit | e566948899395fe79f6d1617805a70614b4a1257 (patch) | |
tree | c4a686603df3d3afcc60f7804405c9534c0e7993 /gcc/config/avr/avr.h | |
parent | e35e87dc46b7e9ad4486987db50587e33e643802 (diff) | |
download | gcc-e566948899395fe79f6d1617805a70614b4a1257.zip gcc-e566948899395fe79f6d1617805a70614b4a1257.tar.gz gcc-e566948899395fe79f6d1617805a70614b4a1257.tar.bz2 |
re PR target/55897 ([avr] Allocate __memx data to .progmemx.data)
PR target/55897
* config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
(avr_addrspace_t): Add .section_name field.
* config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
array size.
(avr_addrspace): Same. Initialize .section_name. Remove last
NULL entry. Put __memx into .progmemx.data.
(progmem_section_prefix): Remove.
(avr_asm_init_sections): No need to initialize progmem_section.
(avr_asm_named_section): Use avr_addrspace[].section_name to get
section name prefix.
(avr_asm_select_section): Ditto. And use get_unnamed_section to
retrieve the progmem section.
* avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
boundary to run over avr_addrspace[].
(avr_register_target_pragmas): Ditto.
From-SVN: r194991
Diffstat (limited to 'gcc/config/avr/avr.h')
-rw-r--r-- | gcc/config/avr/avr.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index cadf5b9..32f0e48 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -37,6 +37,9 @@ typedef struct /* Segment (i.e. 64k memory chunk) number. */ int segment; + + /* Section prefix, e.g. ".progmem1.data" */ + const char *section_name; } avr_addrspace_t; extern const avr_addrspace_t avr_addrspace[]; @@ -45,14 +48,16 @@ extern const avr_addrspace_t avr_addrspace[]; enum { - ADDR_SPACE_RAM, + ADDR_SPACE_RAM, /* ADDR_SPACE_GENERIC */ ADDR_SPACE_FLASH, ADDR_SPACE_FLASH1, ADDR_SPACE_FLASH2, ADDR_SPACE_FLASH3, ADDR_SPACE_FLASH4, ADDR_SPACE_FLASH5, - ADDR_SPACE_MEMX + ADDR_SPACE_MEMX, + /* Sentinel */ + ADDR_SPACE_COUNT }; #define TARGET_CPU_CPP_BUILTINS() avr_cpu_cpp_builtins (pfile) |