summaryrefslogtreecommitdiff
path: root/gdb/arm-symbian-tdep.c
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2010-03-08 19:28:26 +0000
committerPedro Alves <pedro@codesourcery.com>2010-03-08 19:28:26 +0000
commit7a7e6e90398199ebe92dd5b3e329980ef23d56ad (patch)
tree284bf62a9d55b107911a0066d9c17646e341a44e /gdb/arm-symbian-tdep.c
parente266e1b82fd14d9e2f73fd2351a342bed03ce3f5 (diff)
downloadgdb-7a7e6e90398199ebe92dd5b3e329980ef23d56ad.tar.gz
* 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 264c00f50fb..32f65f40a50 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);
}