]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Darwin, Objective-C] Switch Objective-C meta-data sections properly.
authorIain Sandoe <iain@sandoe.co.uk>
Tue, 3 Sep 2019 19:13:23 +0000 (19:13 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Tue, 3 Sep 2019 19:13:23 +0000 (19:13 +0000)
We were emitting the directives to switch, but not recording the change
in varasm. This means that subsequent switches might be omitted (since
varasm incorrectly concludes that the wrong section is current).

2019-09-03  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline
2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c (darwin_file_end): Use switch_to_section ()
instead of direct output of the asm.

From-SVN: r275349

gcc/ChangeLog
gcc/config/darwin.c

index 0b1ff3181ac330ab2fc23ae9b60372b9eb1027aa..1057a3b298129aeb32a1d6e40d663666569ce943 100644 (file)
@@ -1,3 +1,11 @@
+2019-09-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       Backport from mainline
+       2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_file_end): Use switch_to_section ()
+       instead of direct output of the asm.
+
 2019-09-03  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline
index bafb1c541cdfb557599c70a94121e9283e11e8d0..7e413104f28bba1645a686f6b2f88ce9f5bf91f0 100644 (file)
@@ -2908,12 +2908,10 @@ darwin_file_end (void)
       if (flag_objc_abi >= 2)
        {
          flags = 16;
-         output_section_asm_op
-           (darwin_sections[objc2_image_info_section]->unnamed.data);
+          switch_to_section (darwin_sections[objc2_image_info_section]);
        }
       else
-       output_section_asm_op
-         (darwin_sections[objc_image_info_section]->unnamed.data);
+       switch_to_section (darwin_sections[objc_image_info_section]);
 
       ASM_OUTPUT_ALIGN (asm_out_file, 2);
       fputs ("L_OBJC_ImageInfo:\n", asm_out_file);