]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
authorUlrich Weigand <uweigand@de.ibm.com>
Mon, 2 Mar 2009 19:32:05 +0000 (19:32 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Mon, 2 Mar 2009 19:32:05 +0000 (19:32 +0000)
* config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
(spu_section_type_flags): New function.

From-SVN: r144550

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

index fdd53c508190d30fc2fa613f40c3cbb92eac5c78..525076600e05b7d8942029d65ef926cb6bd12e6a 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 a29125269e509e2bbd024664458a41f70b9c5929..c2fbb331b0a147ce3234fb52b366f3e20c70cc9e 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);
+}
+