This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, In cross-compile remote debug environment, the gdb will load the solib of local host if user doesn't set sysroot or something. Load the wrong lib will make gdb get error. So I make a patch check the solib bfd arch after load it. I am not check the other thing in arch_info because the mach of solib and inferior is not same (powerpc) sometime. This patch is tested in a i386 ubuntu and powerpc linux. Thanks, Hui 2009-07-03 Hui Zhu <teawater@gmail.com> * solib.c (solib_bfd_open): Check solib bfd arch. --- solib.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/solib.c +++ b/solib.c @@ -311,6 +311,14 @@ solib_bfd_open (char *pathname) found_pathname, bfd_errmsg (bfd_get_error ())); } + /* Check bfd arch. */ + if (bfd_get_arch (abfd) != gdbarch_bfd_arch_info (target_gdbarch)->arch) + { + bfd_close (abfd); + make_cleanup (xfree, found_pathname); + error (_("`%s': ARCH not same with inferior."), found_pathname); + } + return abfd; }
Attachment:
solib-check-bfd_arch_info.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |