]> gcc.gnu.org Git - gcc.git/commitdiff
(TRAMPOLINE_TEMPLATE): Fixed invalid bsr insn.
authorJohn Hassey <hassey@gnu.org>
Mon, 10 May 1993 19:19:06 +0000 (19:19 +0000)
committerJohn Hassey <hassey@gnu.org>
Mon, 10 May 1993 19:19:06 +0000 (19:19 +0000)
From-SVN: r4412

gcc/config/m88k/m88k.h

index b5bc29d08f1bc654b72561e0f853411aa8c57770..21671439eb137c676c583eef5b82a3cb7bd378f1 100644 (file)
@@ -1183,6 +1183,10 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
 /*** Trampolines for Nested Functions ***/
 
 /* Output assembler code for a block containing the constant parts
+  char buf[256];                                                       \
+  static int labelno = 0;                                              \
+  labelno++;                                                           \
+  ASM_GENERATE_INTERNAL_LABEL (buf, "LTRMP", labelno);                 \
    of a trampoline, leaving space for the variable parts.
 
    This block is placed on the stack and filled in.  It is aligned
@@ -1197,7 +1201,8 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
   /* Save the return address (r1) in the static chain reg (r11).  */   \
   fprintf (FILE, "\tor\t %s,%s,0\n", reg_names[11], reg_names[1]);     \
   /* Locate this block; transfer to the next instruction.  */          \
-  fprintf (FILE, "\tbsr\t 1\n");                                       \
+  fprintf (FILE, "\tbsr\t %s\n", &buf[1]);                                     \
+  ASM_OUTPUT_INTERNAL_LABEL (FILE, "LTRMP", labelno);                  \
   /* Save r10; use it as the relative pointer; restore r1.  */         \
   fprintf (FILE, "\tst\t %s,%s,24\n", reg_names[10], reg_names[1]);    \
   fprintf (FILE, "\tor\t %s,%s,0\n", reg_names[10], reg_names[1]);     \
@@ -1927,7 +1932,7 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
        if (!flag_inhibit_size_directive)                               \
          {                                                             \
            char label[256];                                            \
-           static int labelno;                                         \
+           static int labelno = 0;                                     \
            labelno++;                                                  \
            ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno);        \
            ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno);           \
This page took 0.063934 seconds and 5 git commands to generate.