diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-08-21 21:19:29 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-08-21 21:19:29 +0000 |
commit | 6e112da93a731085ff9b07f0804395bb3866925a (patch) | |
tree | 63320d9f5200bb3892ccfbcc55be84a5da535023 /libc/sysdeps/linux/sh/bits/machine-gmon.h | |
parent | e50f6d1c15483fc17323ecdd427f4a84c018f3af (diff) |
Kill off all support for 'gcc -pg' / 'gprof' style profiling. There is both a
size and performance penalty to profiling applications this way, as well as
Heisenberg effects, where the act of measuring changes what is measured.
There are better tools for doing profiling, such as OProfile, that do not
require gcc to instrument the application code.
-Erik
Diffstat (limited to 'libc/sysdeps/linux/sh/bits/machine-gmon.h')
-rw-r--r-- | libc/sysdeps/linux/sh/bits/machine-gmon.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/libc/sysdeps/linux/sh/bits/machine-gmon.h b/libc/sysdeps/linux/sh/bits/machine-gmon.h deleted file mode 100644 index f2ef019c7..000000000 --- a/libc/sysdeps/linux/sh/bits/machine-gmon.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Machine-dependent definitions for profiling support. SH version. - * - * Copyright (C) 2003 Stefan Allius <allius@atecom.com> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the Free - * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - * 02111-1307 USA - */ - -#define mcount_internal __mcount_internal - -#define _MCOUNT_DECL(frompc, selfpc) \ -static void __attribute_used__ mcount_internal (u_long frompc, u_long selfpc) - -/* - * This mcount implementation expect the 'frompc' return address on - * the stack and the 'selfpc' return address in register pr. - * - * Your compiler should include some stuff like this at each function - * entry: - * - * mov.l 1f,r1 - * sts.l pr,@-r15 - * mova 2f,r0 - * jmp @r1 - * lds r0,pr - * .align 2 - * 1: .long mcount - * 2: lds.l @r15+,pr - * - * or for PIC: - * - * mov.l 3f,r1 - * mova 3f,r0 - * add r1,r0 - * mov.l 1f,r1 - * mov.l @(r0,r1),r1 - * sts.l pr,@-r15 - * mova 2f,r0 - * jmp @r1 - * lds r0,pr - * .align 2 - * 1: .long mcount@GOT - * 3: .long _GLOBAL_OFFSET_TABLE_ - * 2: lds.l @r15+,pr - * - * - * This ABI will be supported by GCC version 3.3 or newer! - */ -#define MCOUNT asm(\ - ".align 4\n\t" \ - ".globl _mcount\n\t" \ - ".type _mcount,@function\n" \ - "_mcount:\n\t" \ - "mov.l r4, @-r15\n\t" \ - "mov.l r5, @-r15\n\t" \ - "mov.l r6, @-r15\n\t" \ - "mov.l r7, @-r15\n\t" \ - "sts.l pr, @-r15\n\t" \ - "sts pr, r5\n\t" \ - "bsr __mcount_internal\n\t" \ - " mov.l @(5*4,r15), r4\n\t" \ - "lds.l @r15+, pr\n\t" \ - "mov.l @r15+, r7\n\t" \ - "mov.l @r15+, r6\n\t" \ - "mov.l @r15+, r5\n\t" \ - "rts\n\t" \ - " mov.l @r15+, r4\n\t" \ - ".size _mcount,.-_mcount;\n\t" \ - ".weak mcount;\n\t" \ - " mcount = _mcount;"); - |