Replace %R%s with %r
authorNick Clifton <nickc@cygnus.com>
Mon, 26 Jul 1999 10:59:55 +0000 (10:59 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Mon, 26 Jul 1999 10:59:55 +0000 (10:59 +0000)
From-SVN: r28264

gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h

index 2f9847c909b1fc9c8f48a56c269e305b1441e3bb..2b5ce97a7645f1abcfa57566caae19427f10b54f 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
+       * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
+
 Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
 
        * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
index f970becbaaeb78a22a31940eb8bcaaa92ed787a9..2a15262f0989e79b37bbbf4f5040ce040b2a0bba 100644 (file)
@@ -4409,16 +4409,18 @@ fp_const_from_val (r)
    must follow the register list.  */
 
 void
-print_multi_reg (stream, instr, mask, hat)
+print_multi_reg (stream, instr, reg, mask, hat)
      FILE * stream;
      char * instr;
-     int mask, hat;
+     int reg;
+     int mask;
+     int hat;
 {
   int i;
   int not_first = FALSE;
 
   fputc ('\t', stream);
-  fprintf (stream, instr, REGISTER_PREFIX);
+  asm_fprintf (stream, instr, reg);
   fputs (", {", stream);
   
   for (i = 0; i < 16; i++)
@@ -4427,7 +4429,7 @@ print_multi_reg (stream, instr, mask, hat)
        if (not_first)
          fprintf (stream, ", ");
        
-       asm_fprintf (stream, "%R%s", reg_names[i]);
+       asm_fprintf (stream, "%r", i);
        not_first = TRUE;
       }
 
@@ -5557,15 +5559,15 @@ output_func_prologue (f, frame_size)
   return_used_this_function = 0;
   lr_save_eliminated = 0;
   
-  fprintf (f, "\t%s args = %d, pretend = %d, frame = %d\n",
-          ASM_COMMENT_START, current_function_args_size,
-          current_function_pretend_args_size, frame_size);
-  fprintf (f, "\t%s frame_needed = %d, current_function_anonymous_args = %d\n",
-          ASM_COMMENT_START, frame_pointer_needed,
-          current_function_anonymous_args);
+  asm_fprintf (f, "\t%@ args = %d, pretend = %d, frame = %d\n",
+              current_function_args_size,
+              current_function_pretend_args_size, frame_size);
+  asm_fprintf (f, "\t%@ frame_needed = %d, current_function_anonymous_args = %d\n",
+              frame_pointer_needed,
+              current_function_anonymous_args);
 
   if (volatile_func)
-    fprintf (f, "\t%s Volatile function.\n", ASM_COMMENT_START);
+    asm_fprintf (f, "\t%@ Volatile function.\n");
 
   if (current_function_anonymous_args && current_function_pretend_args_size)
     store_arg_regs = 1;
@@ -5574,7 +5576,7 @@ output_func_prologue (f, frame_size)
     if (regs_ever_live[reg] && ! call_used_regs[reg])
       live_regs_mask |= (1 << reg);
 
-  if (flag_pic && ! TARGET_SINGLE_PIC_BASE 
+  if (flag_pic && ! TARGET_SINGLE_PIC_BASE
       && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
     live_regs_mask |= (1 << PIC_OFFSET_TABLE_REGNUM);
 
@@ -5602,13 +5604,11 @@ output_func_prologue (f, frame_size)
     }
 
   if (lr_save_eliminated)
-    fprintf (f,"\t%s I don't think this function clobbers lr\n",
-            ASM_COMMENT_START);
+    asm_fprintf (f,"\t%@ I don't think this function clobbers lr\n");
 
 #ifdef AOF_ASSEMBLER
   if (flag_pic)
-    asm_fprintf (f, "\tmov\t%R%s, %R%s\n", reg_names [IP_REGNUM],
-                reg_names[PIC_OFFSET_TABLE_REGNUM]);
+    asm_fprintf (f, "\tmov\t%r, %r\n", IP_REGNUM, PIC_OFFSET_TABLE_REGNUM);
 #endif
 }
 
@@ -5671,8 +5671,8 @@ output_func_epilogue (f, frame_size)
            if (regs_ever_live[reg] && ! call_used_regs[reg])
              {
                floats_offset += 12;
-               asm_fprintf (f, "\tldfe\t%R%s, [%R%s, #-%d]\n", 
-                        reg_names[reg], reg_names [FP_REGNUM], floats_offset);
+               asm_fprintf (f, "\tldfe\t%r, [%r, #-%d]\n", 
+                            reg, FP_REGNUM, floats_offset);
              }
        }
       else
@@ -5688,39 +5688,38 @@ output_func_epilogue (f, frame_size)
                  /* We can't unstack more than four registers at once */
                  if (start_reg - reg == 3)
                    {
-                     asm_fprintf (f, "\tlfm\t%R%s, 4, [%R%s, #-%d]\n",
-                                  reg_names[reg], reg_names [FP_REGNUM],
-                                  floats_offset);
+                     asm_fprintf (f, "\tlfm\t%r, 4, [%r, #-%d]\n",
+                                  reg, FP_REGNUM, floats_offset);
                      start_reg = reg - 1;
                    }
                }
              else
                {
                  if (reg != start_reg)
-                   asm_fprintf (f, "\tlfm\t%R%s, %d, [%R%s, #-%d]\n",
-                                reg_names [reg + 1], start_reg - reg,
-                                reg_names [FP_REGNUM], floats_offset);
+                   asm_fprintf (f, "\tlfm\t%r, %d, [%r, #-%d]\n",
+                                reg + 1, start_reg - reg,
+                                FP_REGNUM, floats_offset);
                  start_reg = reg - 1;
                }
            }
 
          /* Just in case the last register checked also needs unstacking.  */
          if (reg != start_reg)
-           asm_fprintf (f, "\tlfm\t%R%s, %d, [%R%s, #-%d]\n",
-                        reg_names [reg + 1], start_reg - reg,
-                        reg_names [FP_REGNUM], floats_offset);
+           asm_fprintf (f, "\tlfm\t%r, %d, [%r, #-%d]\n",
+                        reg + 1, start_reg - reg,
+                        FP_REGNUM, floats_offset);
        }
       
       if (TARGET_INTERWORK)
        {
          live_regs_mask |= 0x6800;
-         print_multi_reg (f, "ldmea\t%sfp", live_regs_mask, FALSE);
-         asm_fprintf (f, "\tbx\t%R%s\n", reg_names [LR_REGNUM]);
+         print_multi_reg (f, "ldmea\t%r", FP_REGNUM, live_regs_mask, FALSE);
+         asm_fprintf (f, "\tbx\t%r\n", LR_REGNUM);
        }
       else
        {
          live_regs_mask |= 0xA800;
-         print_multi_reg (f, "ldmea\t%sfp", live_regs_mask,
+         print_multi_reg (f, "ldmea\t%r", FP_REGNUM, live_regs_mask,
                           TARGET_APCS_32 ? FALSE : TRUE);
        }
     }
@@ -5739,8 +5738,8 @@ output_func_epilogue (f, frame_size)
        {
          for (reg = 16; reg < 24; reg++)
            if (regs_ever_live[reg] && ! call_used_regs[reg])
-             asm_fprintf (f, "\tldfe\t%R%s, [%R%s], #12\n",
-                          reg_names[reg], reg_names [SP_REGNUM]);
+             asm_fprintf (f, "\tldfe\t%r, [%r], #12\n",
+                          reg, SP_REGNUM);
        }
       else
        {
@@ -5752,17 +5751,17 @@ output_func_epilogue (f, frame_size)
                {
                  if (reg - start_reg == 3)
                    {
-                     asm_fprintf (f, "\tlfmfd\t%R%s, 4, [%R%s]!\n",
-                                  reg_names[start_reg], reg_names [SP_REGNUM]);
+                     asm_fprintf (f, "\tlfmfd\t%r, 4, [%r]!\n",
+                                  start_reg, SP_REGNUM);
                      start_reg = reg + 1;
                    }
                }
              else
                {
                  if (reg != start_reg)
-                   asm_fprintf (f, "\tlfmfd\t%R%s, %d, [%R%s]!\n",
-                                reg_names [start_reg], reg - start_reg,
-                                reg_names [SP_REGNUM]);
+                   asm_fprintf (f, "\tlfmfd\t%r, %d, [%r]!\n",
+                                start_reg, reg - start_reg,
+                                SP_REGNUM);
                  
                  start_reg = reg + 1;
                }
@@ -5770,9 +5769,8 @@ output_func_epilogue (f, frame_size)
 
          /* Just in case the last register checked also needs unstacking.  */
          if (reg != start_reg)
-           asm_fprintf (f, "\tlfmfd\t%R%s, %d, [%R%s]!\n",
-                        reg_names [start_reg], reg - start_reg,
-                        reg_names [SP_REGNUM]);
+           asm_fprintf (f, "\tlfmfd\t%r, %d, [%r]!\n",
+                        start_reg, reg - start_reg, SP_REGNUM);
        }
 
       if (current_function_pretend_args_size == 0 && regs_ever_live[LR_REGNUM])
@@ -5783,16 +5781,16 @@ output_func_epilogue (f, frame_size)
                live_regs_mask |= 1 << LR_REGNUM;
 
              if (live_regs_mask != 0)
-               print_multi_reg (f, "ldmfd\t%ssp!", live_regs_mask, FALSE);
+               print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, live_regs_mask, FALSE);
              
-             asm_fprintf (f, "\tbx\t%R%s\n", reg_names [LR_REGNUM]);
+             asm_fprintf (f, "\tbx\t%r\n", LR_REGNUM);
            }
          else if (lr_save_eliminated)
            asm_fprintf (f, "\tmov%c\t%r, %r\n",
                         TARGET_APCS_32 ? ' ' : 's',
-                        reg_names [PC_REGNUM], reg_names [LR_REGNUM]);
+                        PC_REGNUM, LR_REGNUM);
          else
-           print_multi_reg (f, "ldmfd\t%ssp!", live_regs_mask | 0x8000,
+           print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, live_regs_mask | 0x8000,
                             TARGET_APCS_32 ? FALSE : TRUE);
        }
       else
@@ -5804,7 +5802,7 @@ output_func_epilogue (f, frame_size)
                live_regs_mask |= 1 << LR_REGNUM;
 
              if (live_regs_mask != 0)
-               print_multi_reg (f, "ldmfd\t%ssp!", live_regs_mask, FALSE);
+               print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, live_regs_mask, FALSE);
            }
 
          if (current_function_pretend_args_size)
@@ -5816,11 +5814,11 @@ output_func_epilogue (f, frame_size)
            }
          /* And finally, go home */
          if (TARGET_INTERWORK)
-           asm_fprintf (f, "\tbx\t%R%s\n", reg_names [LR_REGNUM]);
+           asm_fprintf (f, "\tbx\t%r\n", LR_REGNUM);
          else if (TARGET_APCS_32)
-           asm_fprintf (f, "\tmov\t%R%s, %R%s\n",  reg_names [PC_REGNUM], reg_names [LR_REGNUM]);
+           asm_fprintf (f, "\tmov\t%r, %r\n", PC_REGNUM, LR_REGNUM);
          else
-           asm_fprintf (f, "\tmovs\t%R%s, %R%s\n", reg_names [PC_REGNUM], reg_names [LR_REGNUM]);
+           asm_fprintf (f, "\tmovs\t%r, %r\n", PC_REGNUM, LR_REGNUM);
        }
     }
 
@@ -6129,9 +6127,8 @@ arm_print_operand (stream, x, code)
       return;
 
     case 'M':
-      asm_fprintf (stream, "{%R%s-%R%s}",
-                  reg_names[REGNO (x)],
-                  reg_names[REGNO (x) + NUM_REGS (GET_MODE (x)) - 1]);
+      asm_fprintf (stream, "{%r-%r}",
+                  REGNO (x), REGNO (x) + NUM_REGS (GET_MODE (x)) - 1);
       return;
 
     case 'd':
@@ -6698,9 +6695,9 @@ aof_dump_pic_table (f)
   if (aof_pic_chain == NULL)
     return;
 
-  asm_fprintf (f, "\tAREA |%R%s$$adcons|, BASED %R%s\n",
-              reg_names[PIC_OFFSET_TABLE_REGNUM],
-              reg_names[PIC_OFFSET_TABLE_REGNUM]);
+  asm_fprintf (f, "\tAREA |%r$$adcons|, BASED %r\n",
+              PIC_OFFSET_TABLE_REGNUM,
+              PIC_OFFSET_TABLE_REGNUM);
   fputs ("|x$adcons|\n", f);
   
   for (chain = aof_pic_chain; chain; chain = chain->next)
index 5b43259aad299275c85188a58b259197ad6ddeb6..43646ea7fa12102cca730ad102f5d2e0c30d77bb 100644 (file)
@@ -22,15 +22,6 @@ along with GNU CC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* Configuration triples for ARM ports work as follows:
-   (This is a bit of a mess and needs some thought)
-   arm-*-*: little endian
-   armel-*-*: little endian
-   armeb-*-*: big endian
-   If a non-embedded environment (ie: "real" OS) is specified, `arm'
-   should default to that used by the OS.
-*/
-
 #ifndef __ARM_H__
 #define __ARM_H__
 
@@ -316,11 +307,11 @@ Unrecognized value in TARGET_CPU_DEFAULT.
 #define ARM_FLAG_NO_SCHED_PRO  (1 << 12)
 
 /* Nonzero if a call to abort should be generated if a noreturn 
-function tries to return. */
+   function tries to return.  */
 #define ARM_FLAG_ABORT_NORETURN        (1 << 13)
 
 /* Nonzero if function prologues should not load the PIC register. */
-#define ARM_FLAG_SINGLE_PIC_BASE       (1 << 14)
+#define ARM_FLAG_SINGLE_PIC_BASE (1 << 14)
 
 #define TARGET_APCS                    (target_flags & ARM_FLAG_APCS_FRAME)
 #define TARGET_POKE_FUNCTION_NAME      (target_flags & ARM_FLAG_POKE)
@@ -343,7 +334,7 @@ function tries to return. */
 #define TARGET_INTERWORK               (target_flags & ARM_FLAG_INTERWORK)
 #define TARGET_LITTLE_WORDS            (target_flags & ARM_FLAG_LITTLE_WORDS)
 #define TARGET_NO_SCHED_PRO            (target_flags & ARM_FLAG_NO_SCHED_PRO)
-#define TARGET_ABORT_NORETURN           (target_flags & ARM_FLAG_ABORT_NORETURN)
+#define TARGET_ABORT_NORETURN          (target_flags & ARM_FLAG_ABORT_NORETURN)
 #define TARGET_SINGLE_PIC_BASE         (target_flags & ARM_FLAG_SINGLE_PIC_BASE)
 
 /* SUBTARGET_SWITCHES is used to add flags on a per-config basis.
@@ -378,7 +369,7 @@ function tries to return. */
      "Load shorts a byte at a time" },                         \
   {"no-short-load-bytes",      -ARM_FLAG_SHORT_BYTE, "" },     \
   {"short-load-words",        -ARM_FLAG_SHORT_BYTE,            \
-     "Load shorts a word at a time" },                         \
+     "Load words a byte at a time" },                          \
   {"no-short-load-words",      ARM_FLAG_SHORT_BYTE, "" },      \
   {"soft-float",               ARM_FLAG_SOFT_FLOAT,            \
      "Use library calls to perform FP operations" },           \
@@ -395,13 +386,13 @@ function tries to return. */
   {"no-thumb-interwork",       -ARM_FLAG_INTERWORK, "" },      \
   {"abort-on-noreturn",         ARM_FLAG_ABORT_NORETURN,       \
    "Generate a call to abort if a noreturn function returns"}, \
-  {"no-abort-on-noreturn",      -ARM_FLAG_ABORT_NORETURN, ""}, \
+  {"no-abort-on-noreturn",     -ARM_FLAG_ABORT_NORETURN, ""},  \
   {"sched-prolog",             -ARM_FLAG_NO_SCHED_PRO,         \
      "Do not move instructions into a function's prologue" },  \
   {"no-sched-prolog",           ARM_FLAG_NO_SCHED_PRO, "" },   \
   {"single-pic-base",          ARM_FLAG_SINGLE_PIC_BASE,       \
      "Do not load the PIC register in function prologues" },   \
-  {"no-single-pic-base",       -ARM_FLAG_SINGLE_PIC_BASE, "" },\
+  {"no-single-pic-base",       -ARM_FLAG_SINGLE_PIC_BASE, "" },        \
   SUBTARGET_SWITCHES                                           \
   {"",                         TARGET_DEFAULT }                \
 }
@@ -760,6 +751,20 @@ extern const char * structure_size_string;
   SUBTARGET_CONDITIONAL_REGISTER_USAGE                         \
 }
 
+/* These are a couple of extensions to the formats accecpted
+   by asm_fprintf:
+     %@ prints out ASM_COMMENT_START
+     %r prints out REGISTER_PREFIX reg_names[arg]  */
+#define ASM_FPRINTF_EXTENSIONS(FILE, ARGS, P)          \
+  case '@':                                            \
+    fputs (ASM_COMMENT_START, FILE);                   \
+    break;                                             \
+                                                       \
+  case 'r':                                            \
+    fputs (REGISTER_PREFIX, FILE);                     \
+    fputs (reg_names [va_arg (ARGS, int)], FILE);      \
+    break;
+
 /* Convert fron bytes to ints.  */
 #define NUM_INTS(X) (((X) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
 
@@ -1234,9 +1239,8 @@ enum reg_class
   char temp[20];                                       \
   rtx sym;                                             \
                                                        \
-  asm_fprintf (STREAM, "\tmov\t%R%s, %R%s\n\tbl\t",    \
-              reg_names[IP_REGNUM] /* ip */,           \
-              reg_names[LR_REGNUM] /* lr */);          \
+  asm_fprintf (STREAM, "\tmov\t%r, %r\n\tbl\t",                \
+              IP_REGNUM, LR_REGNUM);                   \
   assemble_name (STREAM, ARM_MCOUNT_NAME);             \
   fputc ('\n', STREAM);                                        \
   ASM_GENERATE_INTERNAL_LABEL (temp, "LP", LABELNO);   \
@@ -1982,12 +1986,10 @@ extern struct rtx_def * arm_compare_op1;
 
 /* Output a push or a pop instruction (only used when profiling).  */
 #define ASM_OUTPUT_REG_PUSH(STREAM, REGNO) \
-  asm_fprintf (STREAM,"\tstmfd\t%Rsp!,{%R%s}\n", \
-              reg_names [REGNO])
+  asm_fprintf (STREAM,"\tstmfd\t%r!,{%r}\n", SP_REGNUM, REGNO)
 
 #define ASM_OUTPUT_REG_POP(STREAM, REGNO) \
-  asm_fprintf (STREAM,"\tldmfd\t%Rsp!,{%R%s}\n", \
-              reg_names [REGNO])
+  asm_fprintf (STREAM,"\tldmfd\t%r!,{%r}\n", SP_REGNUM, REGNO)
 
 #define ARM_DECLARE_FUNCTION_NAME(STREAM, NAME, DECL)  \
   do                                                   \
@@ -2033,12 +2035,12 @@ extern struct rtx_def * arm_compare_op1;
     int is_minus = GET_CODE (X) == MINUS;                              \
                                                                        \
     if (GET_CODE (X) == REG)                                           \
-      asm_fprintf (STREAM, "[%R%s, #0]", reg_names[REGNO (X)]);                \
+      asm_fprintf (STREAM, "[%r, #0]", REGNO (X));                     \
     else if (GET_CODE (X) == PLUS || is_minus)                         \
       {                                                                        \
        rtx base = XEXP (X, 0);                                         \
        rtx index = XEXP (X, 1);                                        \
-       char * base_reg_name;                                           \
+       int base_reg;                                                   \
        HOST_WIDE_INT offset = 0;                                       \
        if (GET_CODE (base) != REG)                                     \
          {                                                             \
@@ -2047,20 +2049,19 @@ extern struct rtx_def * arm_compare_op1;
            base = index;                                               \
            index = temp;                                               \
          }                                                             \
-       base_reg_name = reg_names[REGNO (base)];                        \
+       base_reg = REGNO (base);                                        \
        switch (GET_CODE (index))                                       \
          {                                                             \
          case CONST_INT:                                               \
            offset = INTVAL (index);                                    \
            if (is_minus)                                               \
              offset = -offset;                                         \
-           asm_fprintf (STREAM, "[%R%s, #%d]", base_reg_name, offset); \
+           asm_fprintf (STREAM, "[%r, #%d]", base_reg, offset);        \
            break;                                                      \
                                                                        \
          case REG:                                                     \
-           asm_fprintf (STREAM, "[%R%s, %s%R%s]",                      \
-                        base_reg_name, is_minus ? "-" : "",            \
-                        reg_names[REGNO (index)] );                    \
+           asm_fprintf (STREAM, "[%r, %s%r]", base_reg,                \
+                        is_minus ? "-" : "", REGNO (index));           \
            break;                                                      \
                                                                        \
          case MULT:                                                    \
@@ -2069,9 +2070,8 @@ extern struct rtx_def * arm_compare_op1;
          case ASHIFT:                                                  \
          case ROTATERT:                                                \
          {                                                             \
-           asm_fprintf (STREAM, "[%R%s, %s%R%s",                       \
-                        base_reg_name, is_minus ? "-" : "",            \
-                        reg_names[REGNO (XEXP (index, 0))]);           \
+           asm_fprintf (STREAM, "[%r, %s%r", base_reg,                 \
+                        is_minus ? "-" : "", REGNO (XEXP (index, 0))); \
            arm_print_operand (STREAM, index, 'S');                     \
            fputs ("]", STREAM);                                        \
            break;                                                      \
@@ -2090,13 +2090,13 @@ extern struct rtx_def * arm_compare_op1;
        abort ();                                                       \
                                                                        \
       if (GET_CODE (X) == PRE_DEC || GET_CODE (X) == PRE_INC)          \
-       asm_fprintf (STREAM, "[%R%s, #%s%d]!",                          \
-                    reg_names[REGNO (XEXP (X, 0))],                    \
+       asm_fprintf (STREAM, "[%r, #%s%d]!",                            \
+                    REGNO (XEXP (X, 0)),                               \
                     GET_CODE (X) == PRE_DEC ? "-" : "",                \
                     GET_MODE_SIZE (output_memory_reference_mode));     \
       else                                                             \
-       asm_fprintf (STREAM, "[%R%s], #%s%d",                           \
-                    reg_names[REGNO (XEXP (X, 0))],                    \
+       asm_fprintf (STREAM, "[%r], #%s%d",                             \
+                    REGNO (XEXP (X, 0)),                               \
                     GET_CODE (X) == POST_DEC ? "-" : "",               \
                     GET_MODE_SIZE (output_memory_reference_mode));     \
     }                                                                  \
@@ -2146,9 +2146,8 @@ extern struct rtx_def * arm_compare_op1;
            shift += 2;                                                         \
           else                                                                 \
            {                                                                   \
-             asm_fprintf (FILE, "\t%s\t%R%s, %R%s, #%d\n",                     \
-                          mi_op, reg_names[this_regno],                        \
-                          reg_names[this_regno],                               \
+             asm_fprintf (FILE, "\t%s\t%r, %r, #%d\n",                         \
+                          mi_op, this_regno, this_regno,                       \
                           mi_delta & (0xff << shift));                         \
              mi_delta &= ~(0xff << shift);                                     \
              shift += 8;                                                       \
@@ -2156,7 +2155,7 @@ extern struct rtx_def * arm_compare_op1;
         }                                                                      \
       fputs ("\tb\t", FILE);                                                   \
       assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));           \
-      if (NEED_PLT_RELOC)                                                              \
+      if (NEED_PLT_RELOC)                                                      \
         fputs ("(PLT)", FILE);                                                 \
       fputc ('\n', FILE);                                                      \
     }                                                                          \