diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9efa52b45b..58cda91f602 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-08-03 Richard Henderson + + * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to + constant data. + 2001-08-03 Richard Henderson * rtlanal.c (find_first_parameter_load): Stop if we diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h index 02da9e47ebc..de39c1ebc5f 100644 --- a/gcc/config/ia64/sysv4.h +++ b/gcc/config/ia64/sysv4.h @@ -62,25 +62,23 @@ do { \ #define ASM_OUTPUT_LABELREF(STREAM, NAME) \ do \ { \ - const char * real_name; \ - const char * name_end; \ + const char *real_name; \ + const char *name_end; \ \ STRIP_NAME_ENCODING (real_name, NAME); \ name_end = strchr (real_name, '+'); \ \ + fputs (user_label_prefix, STREAM); \ if (name_end) \ - * name_end = 0; \ - \ - asm_fprintf (STREAM, "%U%s", real_name); \ + fwrite (real_name, name_end - real_name, 1, STREAM); \ + else \ + fputs (real_name, STREAM); \ \ if (ia64_asm_output_label) \ - asm_fprintf (STREAM, "#"); \ + fputc ('#', STREAM); \ \ if (name_end) \ - { \ - * name_end = '+'; \ - asm_fprintf (STREAM, name_end); \ - } \ + fputs (name_end, STREAM); \ } \ while (0)