aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/avr/avr.h
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2013-01-07 18:34:40 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2013-01-07 18:34:40 +0000
commite566948899395fe79f6d1617805a70614b4a1257 (patch)
treec4a686603df3d3afcc60f7804405c9534c0e7993 /gcc/config/avr/avr.h
parente35e87dc46b7e9ad4486987db50587e33e643802 (diff)
downloadgcc-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.h9
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)