summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-14 07:49:14 +0000
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-14 07:49:14 +0000
commit853000f290c8b1f2f903a858de1b98e22b3db326 (patch)
tree1c21566fb30d00cb79d178deb684bbba64e6424f
parent9b0fef97f18ed5c9f2f9a361262fbb450f2b0b53 (diff)
downloadgcc-853000f290c8b1f2f903a858de1b98e22b3db326.tar.gz
gcc/
PR target/43746 * config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove, i.e. use default_elf_select_section. (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove. (READONLY_DATA_SECTION_ASM_OP): Remove. (TARGET_ASM_NAMED_SECTION): Move from here... * config/avr/avr.c: ...to here. (avr_asm_init_sections): Set unnamed callback of readonly_data_section. (avr_asm_named_section): Make static. testsuite/ PR target/43746 * gcc.dg/array-quals-1.c: Don't xfail on AVR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176262 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config/avr/avr.c11
-rw-r--r--gcc/config/avr/elf.h12
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/array-quals-1.c2
5 files changed, 26 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2c7b0dfc997..3cbc03c6330 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2011-07-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/43746
+ * config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove,
+ i.e. use default_elf_select_section.
+ (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove.
+ (READONLY_DATA_SECTION_ASM_OP): Remove.
+ (TARGET_ASM_NAMED_SECTION): Move from here...
+ * config/avr/avr.c: ...to here.
+ (avr_asm_init_sections): Set unnamed callback of
+ readonly_data_section.
+ (avr_asm_named_section): Make static.
+
2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR bootstrap/49739
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 128706d6776..d535f330621 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -194,8 +194,8 @@ static const struct attribute_spec avr_attribute_table[] =
#undef TARGET_SECTION_TYPE_FLAGS
#define TARGET_SECTION_TYPE_FLAGS avr_section_type_flags
-/* `TARGET_ASM_NAMED_SECTION' must be defined in avr.h. */
-
+#undef TARGET_ASM_NAMED_SECTION
+#define TARGET_ASM_NAMED_SECTION avr_asm_named_section
#undef TARGET_ASM_INIT_SECTIONS
#define TARGET_ASM_INIT_SECTIONS avr_asm_init_sections
#undef TARGET_ENCODE_SECTION_INFO
@@ -5091,8 +5091,11 @@ avr_asm_init_sections (void)
progmem_section = get_unnamed_section (AVR_HAVE_JMP_CALL ? 0 : SECTION_CODE,
avr_output_progmem_section_asm_op,
NULL);
- readonly_data_section = data_section;
+ /* Override section callbacks to keep track of `avr_need_clear_bss_p'
+ resp. `avr_need_copy_data_p'. */
+
+ readonly_data_section->unnamed.callback = avr_output_data_section_asm_op;
data_section->unnamed.callback = avr_output_data_section_asm_op;
bss_section->unnamed.callback = avr_output_bss_section_asm_op;
}
@@ -5101,7 +5104,7 @@ avr_asm_init_sections (void)
/* Implement `TARGET_ASM_NAMED_SECTION'. */
/* Track need of __do_clear_bss, __do_copy_data for named sections. */
-void
+static void
avr_asm_named_section (const char *name, unsigned int flags, tree decl)
{
if (!avr_need_copy_data_p)
diff --git a/gcc/config/avr/elf.h b/gcc/config/avr/elf.h
index 9bbd32fd7b1..f360e882a96 100644
--- a/gcc/config/avr/elf.h
+++ b/gcc/config/avr/elf.h
@@ -26,24 +26,12 @@
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-#undef TARGET_ASM_NAMED_SECTION
-#define TARGET_ASM_NAMED_SECTION avr_asm_named_section
-
-/* Use lame default: no string merging, ... */
-#undef TARGET_ASM_SELECT_SECTION
-#define TARGET_ASM_SELECT_SECTION default_select_section
-
#undef MAX_OFILE_ALIGNMENT
#define MAX_OFILE_ALIGNMENT (32768 * 8)
-#undef TARGET_HAVE_SWITCHABLE_BSS_SECTIONS
-
#undef STRING_LIMIT
#define STRING_LIMIT ((unsigned) 64)
-/* Setup `readonly_data_section' in `avr_asm_init_sections'. */
-#undef READONLY_DATA_SECTION_ASM_OP
-
/* Take care of `signal' and `interrupt' attributes. */
#undef ASM_DECLARE_FUNCTION_NAME
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a38c046e430..192c908505b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/43746
+ * gcc.dg/array-quals-1.c: Don't xfail on AVR.
+
2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/no-r11-1.c: Change -mno-r11 to
diff --git a/gcc/testsuite/gcc.dg/array-quals-1.c b/gcc/testsuite/gcc.dg/array-quals-1.c
index f01db686b45..17df9837817 100644
--- a/gcc/testsuite/gcc.dg/array-quals-1.c
+++ b/gcc/testsuite/gcc.dg/array-quals-1.c
@@ -4,7 +4,7 @@
/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
/* { dg-do compile } */
/* The MMIX port always switches to the .data section at the end of a file. */
-/* { dg-final { scan-assembler-not "\\.data(?!\\.rel\\.ro)" { xfail powerpc*-*-aix* mmix-*-* x86_64-*-mingw* picochip--*-* avr-*-*} } } */
+/* { dg-final { scan-assembler-not "\\.data(?!\\.rel\\.ro)" { xfail powerpc*-*-aix* mmix-*-* x86_64-*-mingw* picochip--*-* } } } */
static const int a[2] = { 1, 2 };
const int a1[2] = { 1, 2 };
typedef const int ci;