New reworked patch uses build-id. The patch attached contains both code and test. Thanks, Aleksandar Ristovski QNX Software Systems ChangeLog: Aleksandar Ristovski * mips-linux-tdep.c (mips_linux_init_abi): Assign validate value. * ppc-linux-tdep.c (ppc_linux_init_abi): Ditto. * solib-darwin.c (_initialize_darwin_solib): Ditto. * solib-dsbt.c (_initialize_dsbt_solib): Ditto. * solib-frv.c (_initialize_frv_solib): Ditto. * solib-ia64-hpux.c (ia64_hpux_target_so_ops): Ditto. * solib-irix.c (_initialize_irix_solib): Ditto. * solib-osf.c (_initialize_osf_solib): Ditto. * solib-pa64.c (_initialize_pa64_solib): Ditto. * solib-som.c (_initialize_som_solib): Ditto. * solib-spu.c (set_spu_solib_ops): Ditto. * solib-sunos.c (_initialize_sunos_solib): Ditto. * solib-svr4.c (lm_addr_check): Add const for SO type. (svr4_keep_data_in_core): Remove unused variable and assignment. (svr4_unrelocated_vma): New function. (svr4_validate_build_id): New function. (svr4_validate): New function. (svr4_read_so_list): Remove unused variable. (_initialize_svr4_solib): Assign validate value. * solib-svr4.h (NOTE_GNU_BUILD_ID_NAME): New define. * solib-target.c (solib.h): Include. (_initialize_solib_target): Assign validate value. * solib.c (solib_map_sections): Use ops->validate. (solib_validate): New function. * solib.h (solib_validate): New declaration. * solist.h (target_so_ops): New field 'validate'. * target.c (target_verify_memory): Add fallback using target_read_memory. testsuite/ChangeLog Aleksandar Ristovski * gdb.base/solib-mismatch-lib.c: New file. * gdb.base/solib-mismatch-libmod.c: New file. * gdb.base/solib-mismatch.c: New file. * gdb.base/solib-mismatch.exp: New file.