Harshit, why didn't you propose this patch for trunk?  Why should we
make it a google-local patch?


Diego.

On Fri, Sep 28, 2012 at 5:24 AM, Harshit Chopra <hars...@google.com> wrote:
> commit fc3a55ccec9bc770c79f8a221f5abd397befc8f6
> Author: Harshit Chopra <hars...@google.com>
> Date:   Thu Sep 20 17:49:59 2012 -0700
>
>     Instead of emitting absolute addresses to the function patch sections, 
> emit relative addresses. Absolute addresses might require relocation, which 
> is time consuming and fraught with other issues.
>
> M       gcc/config/i386/i386.c
>
> Tested:
>   Ran make check-gcc and manually confirmed that the affected tests pass.
>
> ChangeLog:
>
> 2012-09-28  Harshit Chopra  <hars...@google.com>
>
>         * gcc/config/i386/i386.c 
> (ix86_output_function_nops_prologue_epilogue): Emit relative address to 
> function patch sections.
>
> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
> index f72b0b5..8c9334f 100644
> --- a/gcc/config/i386/i386.c
> +++ b/gcc/config/i386/i386.c
> @@ -11098,7 +11098,7 @@ ix86_output_function_nops_prologue_epilogue (FILE 
> *file,
>         $LFPEL0:
>           <pre_instruction>
>           0x90 (repeated num_actual_nops times)
> -         .quad $LFPESL0
> +         .quad $LFPESL0 - .
>       followed by section 'section_name' which contains the address
>       of instruction at 'label'.
>     */
> @@ -11110,7 +11110,10 @@ ix86_output_function_nops_prologue_epilogue (FILE 
> *file,
>      asm_fprintf (file, ASM_BYTE"0x90\n");
>
>    fprintf (file, ASM_QUAD);
> +  /* Output "section_label - ." for the relative address of the entry in
> +     the section 'section_name'.  */
>    assemble_name_raw (file, section_label);
> +  fprintf (file, " - .");
>    fprintf (file, "\n");
>
>    /* Emit the backpointer section. For functions belonging to comdat group,
> @@ -11144,7 +11147,7 @@ ix86_output_function_nops_prologue_epilogue (FILE 
> *file,
>           .quad $LFPEL0
>     */
>    ASM_OUTPUT_INTERNAL_LABEL (file, section_label);
> -  fprintf(file, ASM_QUAD"\t");
> +  fprintf(file, ASM_QUAD);
>    assemble_name_raw (file, label);
>    fprintf (file, "\n");
>
>
> --
> This patch is available for review at http://codereview.appspot.com/6572065

Reply via email to