From: ktietz Date: Tue, 1 Jun 2010 08:13:24 +0000 (+0000) Subject: 2010-06-01 Kai Tietz X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b02fdd3b1c9bc54c5d26e5997a294a27bad7b676;p=thirdparty%2Fgcc.git 2010-06-01 Kai Tietz * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX argument for fprintf. (ix86_output_addr_diff_elt): Likewise. (x86_function_profiler): Likewise. * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore. (LPREFIX): Likewise. (ASM_GENERATE_INTERNAL_LABEL): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160093 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e3110b51ea3..79bb64256398 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2010-06-01 Kai Tietz + + * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX + argument for fprintf. + (ix86_output_addr_diff_elt): Likewise. + (x86_function_profiler): Likewise. + * config/cygming.h (LOCAL_LABEL_PREFIX): Fix + for x64 no-underscore. + (LPREFIX): Likewise. + (ASM_GENERATE_INTERNAL_LABEL): Likewise. + 2010-05-31 Jakub Jelinek PR target/44338 diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index 999cb6e497f9..7c35e2ee57f6 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -42,6 +42,18 @@ along with GCC; see the file COPYING3. If not see #if ! defined (USE_MINGW64_LEADING_UNDERSCORES) #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX (TARGET_64BIT ? "" : "_") + +#undef LOCAL_LABEL_PREFIX +#define LOCAL_LABEL_PREFIX (TARGET_64BIT ? "." : "") + +#undef ASM_GENERATE_INTERNAL_LABEL +#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \ + sprintf ((BUF), "%s%s%ld", LOCAL_LABEL_PREFIX, \ + (PREFIX), (long)(NUMBER)) + +#undef LPREFIX +#define LPREFIX (TARGET_64BIT ? ".L" : "L") + #endif #undef DBX_REGISTER_NUMBER diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 76dace5ce16f..de4fa72c6169 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -13015,7 +13015,7 @@ ix86_output_addr_vec_elt (FILE *file, int value) gcc_assert (!TARGET_64BIT); #endif - fprintf (file, "%s" LPREFIX "%d\n", directive, value); + fprintf (file, "%s%s%d\n", directive, LPREFIX, value); } void @@ -13031,21 +13031,21 @@ ix86_output_addr_diff_elt (FILE *file, int value, int rel) #endif /* We can't use @GOTOFF for text labels on VxWorks; see gotoff_operand. */ if (TARGET_64BIT || TARGET_VXWORKS_RTP) - fprintf (file, "%s" LPREFIX "%d-" LPREFIX "%d\n", - directive, value, rel); + fprintf (file, "%s%s%d-%s%d\n", + directive, LPREFIX, value, LPREFIX, rel); else if (HAVE_AS_GOTOFF_IN_DATA) - fprintf (file, ASM_LONG LPREFIX "%d@GOTOFF\n", value); + fprintf (file, ASM_LONG "%s%d@GOTOFF\n", LPREFIX, value); #if TARGET_MACHO else if (TARGET_MACHO) { - fprintf (file, ASM_LONG LPREFIX "%d-", value); + fprintf (file, ASM_LONG "%s%d-", LPREFIX, value); machopic_output_function_base_name (file); putc ('\n', file); } #endif else - asm_fprintf (file, ASM_LONG "%U%s+[.-" LPREFIX "%d]\n", - GOT_SYMBOL_NAME, value); + asm_fprintf (file, ASM_LONG "%U%s+[.-%s%d]\n", + GOT_SYMBOL_NAME, LPREFIX, value); } /* Generate either "mov $0, reg" or "xor reg, reg", as appropriate @@ -26628,7 +26628,7 @@ x86_function_profiler (FILE *file, int labelno ATTRIBUTE_UNUSED) if (TARGET_64BIT) { #ifndef NO_PROFILE_COUNTERS - fprintf (file, "\tleaq\t" LPREFIX "P%d(%%rip),%%r11\n", labelno); + fprintf (file, "\tleaq\t%sP%d(%%rip),%%r11\n", LPREFIX, labelno); #endif if (DEFAULT_ABI == SYSV_ABI && flag_pic) @@ -26639,16 +26639,16 @@ x86_function_profiler (FILE *file, int labelno ATTRIBUTE_UNUSED) else if (flag_pic) { #ifndef NO_PROFILE_COUNTERS - fprintf (file, "\tleal\t" LPREFIX "P%d@GOTOFF(%%ebx),%%" PROFILE_COUNT_REGISTER "\n", - labelno); + fprintf (file, "\tleal\t%sP%d@GOTOFF(%%ebx),%%" PROFILE_COUNT_REGISTER "\n", + LPREFIX, labelno); #endif fputs ("\tcall\t*" MCOUNT_NAME "@GOT(%ebx)\n", file); } else { #ifndef NO_PROFILE_COUNTERS - fprintf (file, "\tmovl\t$" LPREFIX "P%d,%%" PROFILE_COUNT_REGISTER "\n", - labelno); + fprintf (file, "\tmovl\t$%sP%d,%%" PROFILE_COUNT_REGISTER "\n", + LPREFIX, labelno); #endif fputs ("\tcall\t" MCOUNT_NAME "\n", file); }