Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/xscale/machine/profile.h')
-rw-r--r--newlib/libc/machine/xscale/machine/profile.h88
1 files changed, 0 insertions, 88 deletions
diff --git a/newlib/libc/machine/xscale/machine/profile.h b/newlib/libc/machine/xscale/machine/profile.h
deleted file mode 100644
index 90198ba69..000000000
--- a/newlib/libc/machine/xscale/machine/profile.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* profile.h
-
- Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
-
- Permission to use, copy, modify, and distribute this software
- is freely granted, provided that this notice is preserved. */
-
-#ifndef __XSCALE_PROFILE_H__
-#define __XSCALE_PROFILE_H__
-
-/* FIXME:
- We need to create a string version of the CPP predefined
- __USER_LABEL_PREFIX__ macro. Ideally we would like to
- so do something like:
-
- #if __USER_LABEL_PREFIX__ == _
-
- but this fails for arm-elf targets because although
- __USER_LABEL__PREFIX__ is defined, it is not defined to
- a specific value (even 0) and so the above test fails
- with:
-
- operator '==' has no left operand
-
- Instead we have to test the CPP predefined __ELF__ and
- rely upon the *assumption* that ELF targets will not use
- an underscore prefix and that COFF targets will. */
-
-#ifdef __ELF__
-#define FOO ""
-#else
-#define FOO "_"
-#endif
-
-#define _MCOUNT_DECL(frompc, selfpc) \
-void __attribute__ ((no_instrument_function)) \
-mcount_internal (frompc, selfpc)
-
-/* mcount_internal expects two arguments
- r0 frompc (return address for function that call function that calls mcount)
- r1 selfpc (return address for function that called mcount)
-
- The frompc is extracted from the stack frames. If the code does not
- generate stack frames, then mcount cannot extract this
- information. Thus, the -fomit-frame-pointer optimization cannot be
- used if a call graph information is required.
-
- Due to optimizations mcount doesn't set up a new fp. mcount has the fp
- of the calling function.
-
- r0 frompc is from the current frame
- r1 selfpc can be obtained directly from lr. */
-
-#ifdef __thumb__
-#define MCOUNT \
-void __attribute__ ((naked)) \
- __attribute__ ((no_instrument_function)) \
-mcount (void) \
-{ \
- __asm__("push {r0, r1, r2, r3, lr};" \
- "add r0, r7, #0;" \
- "beq 1f;" \
- "sub r0, r0, #4;" \
- "ldr r0, [r0];" \
- "1: mov r1, lr;" \
- "bl " FOO "mcount_internal ;" \
- "pop {r0, r1, r2, r3, pc};" \
- ); \
-}
-#else
-#define MCOUNT \
-void __attribute__ ((naked)) \
- __attribute__ ((no_instrument_function)) \
-mcount (void) \
-{ \
- __asm__("stmdb sp!, {r0, r1, r2, r3, lr};" \
- "movs r0, fp;" \
- "ldrne r0, [r0, #-4];" \
- "mov r1, lr;" \
- "bl " FOO "mcount_internal ;" \
- "ldmia sp!, {r0, r1, r2, r3, pc};" \
- ); \
-}
-#endif
-
-#define FUNCTION_ALIGNMENT 2
-
-#endif /* !__XSCALE_PROFILE_H__ */