[RFC Patch, Aarch64] : Macros for profile code generation to enable gprof support

Marcus Shawcroft marcus.shawcroft@gmail.com
Tue Aug 27 07:46:00 GMT 2013


Hi Venkat,

On 3 August 2013 19:01, Venkataramanan Kumar
<venkataramanan.kumar@linaro.org> wrote:

> This patch adds macros to support gprof in Aarch64. The difference
> from the previous patch is that the compiler, while generating
> "mcount" routine for an instrumented function, also passes the return
> address as argument.
>
> The "mcount" routine in glibc will be modified as follows.
>
> (-----Snip-----)
>  #define MCOUNT \
> -void __mcount (void)                                                         \
> +void __mcount (void* frompc)
>                \
>  {                                                                            \
> -  mcount_internal ((u_long) RETURN_ADDRESS (1), (u_long) RETURN_ADDRESS (0)); \
> +  mcount_internal ((u_long) frompc, (u_long) RETURN_ADDRESS (0)); \
>  }
> (-----Snip-----)


> If this is Ok I will send the patch to glibc as well.

> 2013-08-02  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
>
>          * config/aarch64/aarch64.h (MCOUNT_NAME): Define.
>            (NO_PROFILE_COUNTERS): Likewise.
>            (PROFILE_HOOK): Likewise.
>            (FUNCTION_PROFILER): Likewise.
>         *  config/aarch64/aarch64.c (aarch64_function_profiler): Remove.
>            .
>
> regards,
> Venkat.

+  emit_library_call (fun, LCT_NORMAL, VOIDmode, 1,lr,Pmode); \
+}

GNU coding style requires spaces after the commas, but otherwise I
have no further comments on this patch. Post the glibc patch please.

Thanks
/Marcus



More information about the Gcc-patches mailing list