diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1995-11-30 12:01:53 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1995-11-30 12:01:53 -0800 |
commit | 1bad666c7e811d9969feacdaaed4c810a537b24c (patch) | |
tree | 764a82aa42eaf4be49a85271e3062b48d91d13ee /gcc | |
parent | 44965badd05492fe569dc2fbbee784364592ec11 (diff) | |
download | gcc-1bad666c7e811d9969feacdaaed4c810a537b24c.zip gcc-1bad666c7e811d9969feacdaaed4c810a537b24c.tar.gz gcc-1bad666c7e811d9969feacdaaed4c810a537b24c.tar.bz2 |
(FUNCTION_PROFILER): Use trap #33 instead of trap #5.
Put additional .align before trapa instruction.
From-SVN: r10647
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/sh/sh.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 3b67014..4456c27 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -688,11 +688,15 @@ extern int current_function_anonymous_args; #define SETUP_INCOMING_VARARGS(ASF, MODE, TYPE, PAS, ST) \ current_function_anonymous_args = 1; -/* Call the function profiler with a given profile label. */ +/* Call the function profiler with a given profile label. + We use two .aligns, so as to make sure that both the .long is aligned + on a 4 byte boundary, and that the .long is a fixed distance (2 bytes) + from the trapa instruction. */ #define FUNCTION_PROFILER(STREAM,LABELNO) \ { \ - fprintf(STREAM, " trapa #5\n"); \ + fprintf(STREAM, " .align 2\n"); \ + fprintf(STREAM, " trapa #33\n"); \ fprintf(STREAM, " .align 2\n"); \ fprintf(STREAM, " .long LP%d\n", (LABELNO)); \ } |