* config/vax/nm-obsd.h: Delete file.
* config/vax/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/vax/nm-nbsd.h: Delete file.
* config/vax/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/vax/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/sh/nm-nbsd.h: Delete file.
* config/sh/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/rs6000/nm-rs6000ly.h: Delete file.
* config/djgpp/fnchange.lst: Do not rename nm-rs6000ly.h.
* config/rs6000/rs6000lynx.mh (NAT_FILE): Set to config/nm-lynx.h.
* config/powerpc/nm-obsd.h: Delete file.
* config/powerpc/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/powerpc/nm-nbsd.h: Delete file.
* config/powerpc/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/pa/nm-obsd.h: Delete file.
* config/pa/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/mips/nm-nbsd.h: Delete file.
* config/mips/nbsd.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/m88k/nm-obsd.h: Delete file.
* config/m88k/obsd.mh (NAT_FILE): Set to config/nm-bsd.h.
* config/m68k/nm-nbsd.h: Delete file.
* config/m68k/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/m68k/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nm-nbsd.h: Delete file.
* config/i386/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/i386/obsd64.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nbsd64.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/i386/nm-i386lynx.h: Delete file.
* config/i386/i386lynx.mh (NAT_FILE): Set to config/nm-lynx.h.
* config/arm/nm-nbsd.h: Delete file.
* config/arm/nm-nbsdaout.h: Include config/nm-nbsd.h.
* config/arm/nbsdelf.mh (NAT_FILE): Set to config/nm-nbsd.h.
* config/rs6000/tm-rs6000-aix4.h: Delete file.
* config/djgpp/fnchange.lst: Do not rename tm-rs6000-aix4.h.
* config/rs6000/aix4.mt (TM_FILE): Set to
config/rs6000/tm-rs6000.h.
* config/powerpc/tm-ppc-aix.h: Delete file.
* config/powerpc/aix.mt (TM_FILE): Set to
config/rs6000/tm-rs6000.h.
* config/m68k/tm-linux.h: Delete file.
* config/m68k/linux.mt (TM_FILE): Set to solib.h
* config/i386/tm-linux64.h: Delete file.
* config/i386/linux64.mt (TM_FILE): Set to solib.h.
* config/djgpp/fnchange.lst: Do not rename tm-linux.h.
* configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
(bfd_elf32_littlearm_symbian_vec): Likewise.
* configure: Regenerated.
* elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
* elf32-arm.h (PLT_HEADER_SIZE): Do not define.
(PLT_ENTRY_SIZE): Likewise.
(bfd_vma_elf32_arm_symbian_plt_entry): New
variable.
(elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
and symbian_p.
(create_got_section): Don't create sections when generating BPABI
objects.
(elf32_arm_create_dynamic_sections): Tidy.
(elf32_arm_link_hash_table_create): Set plt_header_size,
plt_entry_size, and symbian_p.
(elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
generating BPABI objects.
(allocate_dynrelocs): Use htab->plt_header_size, not
PLT_HEADER_SIZE. Do not add to .got.plt when
generating BPABI objects.
(elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
* elfarm-nabi.c: Add SymbianOS target vectors.
* elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
(_bfd_elf_link_create_dynamic_sections): Likewise.
* elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
(elfNN_bed): Use it.
* targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
(bfd_elf32_littlearm_symbian_vec): Likewise.
(_bfd_target_vector): Add them.
* Makefile.am (TARG_ENV_HFILES): Add te-symbian.h.
* Makefile.in: Regenerated.
* configure.in: Set em for arm*-*-symbianelf*.
* configure: Regenerated.
* config/tc-arm.c (elf32_arm_target_format): Use Symbian target
vectors when appropriate.
* config/te-symbian.h: New file.
* Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
(earmsymbian.c): New target.
* configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* emulparams/armsymbian.sh: New file.
* config/vax/nbsd.mt (TM_FILE): Set to solib.h.
* config/vax/tm-nbsd.h: Delete file.
* config/sparc/vxworks.mt (TM_FILE): Set to config/tm-vxworks.h.
* config/sparc/tm-vxworks.h: Delete file.
* config/sparc/nbsd.mt (TM_FILE): Set to solib.h.
* config/sparc/tm-nbsd.h: Delete file.
* config/sparc/linux64.mt (TM_FILE): Set to solib.h.
* config/sparc/linux.mt (TM_FILE): Set to solib.h.
* config/sparc/tm-linux.h: Delete file.
* config/s390/s390.mt (TM_FILE): Set to config/tm-linux.h
* config/s390/tm-linux.h: Delete file.
* config/pa/obsd.mt (TM_FILE): Set to solib.h.
* config/pa/tm-bsd.h: Delete file.
* config/m68k/obsd.mt (TM_FILE): Set to solib.h.
* config/m68k/tm-obsd.h: Delete file.
* config/m68k/nbsd.mt (TM_FILE): Set to solib.h.
* config/m68k/tm-nbsd.h: Delete file.
* config/i386/vxworks.mt (TM_FILE): Set to config/tm-vxworks.h.
* config/i386/tm-vxworks.h: Delete file.
* config/i386/obsd64.mt (TM_FILE): Set to solib.h.
* config/i386/obsd.mt (TM_FILE): Set to solib.h.
* config/i386/nbsd64.mt (TM_FILE): Set to solib.h.
* config/i386/nbsd.mt (TM_FILE): Set to solib.h.
* config/i386/tm-nbsd.h: Delete file.
* config/i386/i386lynx.mt (TM_FILE): Set to config/tm-lynx.h.
* config/i386/tm-i386lynx.h: Delete file.
* config/cris/cris.mt (TM_FILE): Set to solib.h.
* config/cris/tm-cris.h: Delete file.
* configure.in: Let TM_FILE, XM_FILE and NAT_FILE specify a path.
* configure: Re-generate.
* config/arm/nbsd.mt (TM_FILE): Set to "solib.h".
* config/arm/tm-nbsd.h: Delete file.
* config/powerpc/tm-ppcle-sim.h: Delete.
* config/powerpc/tm-ppcle-eabi.h: Delete.
* config/powerpc/tm-nbsd.h: Delete.
* config/powerpc/nbsd.mt (TM_FILE): Set to tm-ppc-eabi.h.
* config/djgpp/fnchange.lst: Do not rename tm-ppcle-sim.h or
tm-ppcle-eabi.h.
* gdbarch.sh: Delete check for consistency between GDB_MULTI_ARCH
and GDB_TM_FILE. Check for GDB_TM_FILE instead of
GDB_MULTI_ARCH_PARTIAL.
* gdbarch.h: Re-generate.
* observer.sh: Add struct so_list declaration.
* Makefile.in: Add dependencies on observer.h for solib.c and
breakpoint.c.
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): New
function.
(_initialize_breakpoint): Register
disable_breakpoints_in_unloaded_shlib as an observer of the
"solib unloaded" observation event.
(re_enable_breakpoints_in_shlibs): For bp_shlib_disabled breakpoints,
call decode_line_1 so unfound breakpoint errors are silent.
* solib.c (update_solib_list): When a solib is discovered to have
been unloaded by the program, notify all observers of the
"solib unloaded" observation event.