re PR target/83013 (MicroBlaze - #ident - Error: operation combines symbols in differ...
authorNathan Rossi <nathan@nathanrossi.com>
Mon, 15 Jan 2018 06:02:19 +0000 (06:02 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 15 Jan 2018 06:02:19 +0000 (23:02 -0700)
        PR target/83013
        * config/microblaze/microblaze.c (microblaze_asm_output_ident):
        Use .pushsection/.popsection.

From-SVN: r256681

gcc/ChangeLog
gcc/config/microblaze/microblaze.c

index 5934cc0..abd0e31 100644 (file)
@@ -1,3 +1,9 @@
+2018-01-14  Nathan Rossi  <nathan@nathanrossi.com>
+
+        PR target/83013
+        * config/microblaze/microblaze.c (microblaze_asm_output_ident):
+        Use .pushsection/.popsection.
+
 2018-01-14  Martin Sebor  <msebor@redhat.com>
 
        PR c++/81327
index 51511ca..9a4a287 100644 (file)
@@ -3394,7 +3394,9 @@ microblaze_asm_output_ident (const char *string)
   else
     section_asm_op = READONLY_DATA_SECTION_ASM_OP;
 
-  buf = ACONCAT ((section_asm_op, "\n\t.ascii \"", string, "\\0\"\n", NULL));
+  buf = ACONCAT (("\t.pushsection", section_asm_op,
+                  "\n\t.ascii \"", string, "\\0\"\n",
+                  "\t.popsection\n", NULL));
   symtab->finalize_toplevel_asm (build_string (strlen (buf), buf));
 }