aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh/sh.h
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-11-30 12:01:53 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-11-30 12:01:53 -0800
commit1bad666c7e811d9969feacdaaed4c810a537b24c (patch)
tree764a82aa42eaf4be49a85271e3062b48d91d13ee /gcc/config/sh/sh.h
parent44965badd05492fe569dc2fbbee784364592ec11 (diff)
downloadgcc-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/config/sh/sh.h')
-rw-r--r--gcc/config/sh/sh.h8
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)); \
}