2004-10-26 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / config / arm / tm-linux.h
CommitLineData
ed9a39eb 1/* Target definitions for GNU/Linux on ARM, for GDB.
ef57c069 2 Copyright 1999, 2000 Free Software Foundation, Inc.
ed9a39eb
JM
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
20
21#ifndef TM_ARMLINUX_H
22#define TM_ARMLINUX_H
23
24/* Include the common ARM target definitions. */
25#include "arm/tm-arm.h"
26
4f2e4a4f 27#include "config/tm-linux.h"
ed9a39eb 28
0e18d038
RE
29/* We've multi-arched this. */
30#undef IN_SOLIB_CALL_TRAMPOLINE
ed9a39eb 31
0e18d038
RE
32/* We've multi-arched this. */
33#undef SKIP_TRAMPOLINE_CODE
ed9a39eb 34
ed9a39eb
JM
35/* When we call a function in a shared library, and the PLT sends us
36 into the dynamic linker to find the function's real address, we
37 need to skip over the dynamic linker call. This function decides
38 when to skip, and where to skip to. See the comments for
39 SKIP_SOLIB_RESOLVER at the top of infrun.c. */
40#if 0
41#undef IN_SOLIB_DYNSYM_RESOLVE_CODE
42extern CORE_ADDR arm_in_solib_dynsym_resolve_code (CORE_ADDR pc, char *name);
43#define IN_SOLIB_DYNSYM_RESOLVE_CODE arm_in_solib_dynsym_resolve_code
44/* ScottB: Current definition is
45extern CORE_ADDR in_svr4_dynsym_resolve_code (CORE_ADDR pc, char *name);
46#define IN_SOLIB_DYNSYM_RESOLVE_CODE in_svr4_dynsym_resolve_code */
47#endif
48
2a451106
KB
49/* When the ARM Linux kernel invokes a signal handler, the return
50 address points at a special instruction which'll trap back into
51 the kernel. These definitions are used to identify this bit of
52 code as a signal trampoline in order to support backtracing
53 through calls to signal handlers. */
54
55int arm_linux_in_sigtramp (CORE_ADDR pc, char *name);
dbfe4626 56#define DEPRECATED_IN_SIGTRAMP(pc, name) arm_linux_in_sigtramp (pc, name)
2a451106
KB
57
58/* Each OS has different mechanisms for accessing the various
59 registers stored in the sigcontext structure. These definitions
60 provide a mechanism by which the generic code in arm-tdep.c can
61 find the addresses at which various registers are saved at in the
62 sigcontext structure. If SIGCONTEXT_REGISTER_ADDRESS is not
63 defined, arm-tdep.c will define it to be 0. (See ia64-tdep.c and
64 ia64-linux-tdep.c to see what a similar mechanism looks like when
65 multi-arched.) */
66
67extern CORE_ADDR arm_linux_sigcontext_register_address (CORE_ADDR, CORE_ADDR,
68 int);
69#define SIGCONTEXT_REGISTER_ADDRESS arm_linux_sigcontext_register_address
70
ed9a39eb 71#endif /* TM_ARMLINUX_H */
This page took 0.322853 seconds and 4 git commands to generate.