Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:GA
cross-aarch64-gcc48-icecream-backend.7021
function-profiling-aarch64.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File function-profiling-aarch64.patch of Package cross-aarch64-gcc48-icecream-backend.7021
2013-09-30 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. Index: gcc-4.8.2-r206703/gcc/config/aarch64/aarch64.c =================================================================== --- gcc-4.8.2-r206703.orig/gcc/config/aarch64/aarch64.c +++ gcc-4.8.2-r206703/gcc/config/aarch64/aarch64.c @@ -3647,13 +3647,6 @@ aarch64_print_operand_address (FILE *f, output_addr_const (f, x); } -void -aarch64_function_profiler (FILE *f ATTRIBUTE_UNUSED, - int labelno ATTRIBUTE_UNUSED) -{ - sorry ("function profiling"); -} - bool aarch64_label_mentioned_p (rtx x) { Index: gcc-4.8.2-r206703/gcc/config/aarch64/aarch64.h =================================================================== --- gcc-4.8.2-r206703.orig/gcc/config/aarch64/aarch64.h +++ gcc-4.8.2-r206703/gcc/config/aarch64/aarch64.h @@ -758,8 +758,22 @@ do { \ #define PRINT_OPERAND_ADDRESS(STREAM, X) \ aarch64_print_operand_address (STREAM, X) -#define FUNCTION_PROFILER(STREAM, LABELNO) \ - aarch64_function_profiler (STREAM, LABELNO) +#define MCOUNT_NAME "_mcount" + +#define NO_PROFILE_COUNTERS 1 + +/* Emit rtl for profiling. Output assembler code to FILE + to call "_mcount" for profiling a function entry. */ +#define PROFILE_HOOK(LABEL) \ +{ \ + rtx fun,lr; \ + lr = get_hard_reg_initial_val (Pmode, LR_REGNUM); \ + fun = gen_rtx_SYMBOL_REF (Pmode, MCOUNT_NAME); \ + emit_library_call (fun, LCT_NORMAL, VOIDmode, 1, lr, Pmode); \ +} + +/* All the work done in PROFILE_HOOK, but still required. */ +#define FUNCTION_PROFILER(STREAM, LABELNO) do { } while (0) /* For some reason, the Linux headers think they know how to define these macros. They don't!!! */ Index: gcc-4.8.2-r206703/gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc-4.8.2-r206703.orig/gcc/testsuite/lib/target-supports.exp +++ gcc-4.8.2-r206703/gcc/testsuite/lib/target-supports.exp @@ -487,13 +487,6 @@ proc check_profiling_available { test_wh return 0 } - # We don't yet support profiling for AArch64. - if { [istarget aarch64*-*-*] - && ([lindex $test_what 1] == "-p" - || [lindex $test_what 1] == "-pg") } { - return 0 - } - # cygwin does not support -p. if { [istarget *-*-cygwin*] && $test_what == "-p" } { return 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor