* config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Mar 2009 19:32:05 +0000 (19:32 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Mar 2009 19:32:05 +0000 (19:32 +0000)
(spu_section_type_flags): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144550 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/spu/spu.c

index fdd53c5..5250766 100644 (file)
@@ -1,3 +1,8 @@
+2009-03-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
+       (spu_section_type_flags): New function.
+
 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
index a291252..c2fbb33 100644 (file)
@@ -143,6 +143,7 @@ static bool spu_vector_alignment_reachable (const_tree, bool);
 static tree spu_builtin_vec_perm (tree, tree *);
 static int spu_sms_res_mii (struct ddg *g);
 static void asm_file_start (void);
+static unsigned int spu_section_type_flags (tree, const char *, int);
 
 extern const char *reg_names[];
 rtx spu_compare_op0, spu_compare_op1;
@@ -329,6 +330,9 @@ const struct attribute_spec spu_attribute_table[];
 #undef TARGET_ASM_FILE_START
 #define TARGET_ASM_FILE_START asm_file_start
 
+#undef TARGET_SECTION_TYPE_FLAGS
+#define TARGET_SECTION_TYPE_FLAGS spu_section_type_flags
+
 struct gcc_target targetm = TARGET_INITIALIZER;
 
 void
@@ -6285,3 +6289,13 @@ asm_file_start (void)
   default_file_start ();
 }
 
+/* Implement targetm.section_type_flags.  */
+static unsigned int
+spu_section_type_flags (tree decl, const char *name, int reloc)
+{
+  /* .toe needs to have type @nobits.  */
+  if (strcmp (name, ".toe") == 0)
+    return SECTION_BSS;
+  return default_section_type_flags (decl, name, reloc);
+}
+