tbsaunde+...@tbsaunde.org writes:
> +/* The routine used to output sequences of byte values.  We use a special
> +   version of this for most svr4 targets because doing so makes the
> +   generated assembly code more compact (and thus faster to assemble)
> +   as well as more readable.  Note that if we find subparts of the
> +   character sequence which end with NUL (and which are shorter than
> +   ELF_STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING.  */
> +
> +void
> +ix86_elf_output_ascii (FILE *f, const char *string, size_t length)
> +{
> +  const unsigned char *_ascii_bytes = (const unsigned char *) string;
> +  const unsigned char *limit = _ascii_bytes + length;
> +  unsigned bytes_in_chunk = 0;
> +  for (; _ascii_bytes < limit; _ascii_bytes++)
> +    {
> +      const unsigned char *p;
> +      if (bytes_in_chunk >= 64)
> +     {
> +       fputc ('\n', f);
> +           bytes_in_chunk = 0;
> +     }
> +      for (p = _ascii_bytes; p < limit && *p != '\0'; p++)
> +     continue;
> +      if (p < limit && (p - _ascii_bytes) <= (long) ELF_STRING_LIMIT)
> +     {
> +       if (bytes_in_chunk > 0)
> +         {
> +           fputc ('\n', f);
> +           bytes_in_chunk = 0;
> +         }
> +       ASM_OUTPUT_LIMITED_STRING (f, (const char *) _ascii_bytes);
> +           _ascii_bytes = p;
> +         }
> +       else
> +         {
> +           if (bytes_in_chunk == 0)
> +             fputs (ASM_BYTE, f);
> +           else
> +             fputc (',', f);
> +           fprintf (f, "0x%02x", *_ascii_bytes);                     \
> +             bytes_in_chunk += 5;
> +         }

"_ascii_bytes = p;" onwards seems to be indented too far.

> +DEFHOOK
> +(output_ascii,
> + "A target hook to output an assembly instruction to assemble a string\n\
> + constant containing the @var{length} bytes at @var{str}.\n\
> +\n\
> +The defalt hook uses the @code{.ascii} pseudo op as found in the Berkely 
> Unix assembler.",
> + void, (FILE *f, const char *str, size_t length),
> + default_output_ascii)

Preexisting, but how about s/an assembly instruction/assembly instructions/
(or "assembly directives"?), just to emphasise that more than one instruction
can be used.

> @@ -7586,6 +7586,37 @@ make_debug_expr_from_rtl (const_rtx exp)
>    return dval;
>  }
>  
> +/* Default implementation of TARGET_ASM_OUTPUT_ASCII using .ascii.  */
> +
> +void
> +default_output_ascii (FILE *f, const char *str, size_t length)
> +{
> +  const unsigned char *p = (const unsigned char *) str;
> +
> +      fprintf (f, "\t.ascii \"");
> +    for (unsigned int i = 0; i < length; i++)
> +      {

Some strange indentation here too.

Thanks,
Richard

Reply via email to