https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53929

--- Comment #23 from LIU Hao <lh_mouse at 126 dot com> ---
Changes to GCC should look like this I suspect (I didn't test this):

```
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index fbd33a6bfd1..de80c7a805f 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -14080,7 +14080,11 @@ ix86_print_operand_address_as (FILE *file, rtx addr,
              if (flag_pic)
                output_pic_addr_const (file, disp, 0);
              else if (GET_CODE (disp) == LABEL_REF)
-               output_asm_label (disp);
+               {
+                 putc ('\"', file);
+                 output_asm_label (disp);
+                 putc ('\"', file);
+               }
              else if (CONST_INT_P (disp))
                offset = disp;
              else
```

It's a bit strange that `output_asm_label` writes output via a global `FILE*`.

Reply via email to