aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-symbian-tdep.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2010-03-08 19:28:27 +0000
committerPedro Alves <palves@redhat.com>2010-03-08 19:28:27 +0000
commit081058572de4f2c063bfbe76017134a9d8fd9907 (patch)
tree696e5bf63f919faf20ad6e98c777394acb0f619f /gdb/arm-symbian-tdep.c
parent7c953934352840c28dcda0c8a6a18660aa1e3ab9 (diff)
downloadgdb-081058572de4f2c063bfbe76017134a9d8fd9907.zip
gdb-081058572de4f2c063bfbe76017134a9d8fd9907.tar.gz
gdb-081058572de4f2c063bfbe76017134a9d8fd9907.tar.bz2
* solib.c (solib_find): Replace extension if
solib_symbols_extension is set in the target gdbarch. * arm-symbian-tdep.c (arm_symbian_init_abi): Set solib_symbols_extension to "sym". * gdbarch.sh (solib_symbols_extension): New variable. (pstring): New function. * gdbarch.h, gdbarch.c: Regenerate.
Diffstat (limited to 'gdb/arm-symbian-tdep.c')
-rw-r--r--gdb/arm-symbian-tdep.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/arm-symbian-tdep.c b/gdb/arm-symbian-tdep.c
index 264c00f..32f65f4 100644
--- a/gdb/arm-symbian-tdep.c
+++ b/gdb/arm-symbian-tdep.c
@@ -69,6 +69,15 @@ arm_symbian_init_abi (struct gdbarch_info info,
/* Shared library handling. */
set_gdbarch_skip_trampoline_code (gdbarch, arm_symbian_skip_trampoline_code);
+ /* On this target, the toolchain outputs ELF files, with `sym' for
+ filename extension (e.g., `FOO.sym'); these are post-linker
+ processed into PE-ish DLLs (e.g., `FOO.dll'), and it's these that
+ are actually copied to and run on the target. Naturally, when
+ listing shared libraries, Symbian stubs report the DLL filenames.
+ Setting this makes it so that GDB automatically looks for the
+ corresponding ELF files on the host's filesystem. */
+ set_gdbarch_solib_symbols_extension (gdbarch, "sym");
+
set_solib_ops (gdbarch, &solib_target_so_ops);
}