* frags.c (frags): Variable deleted.
(frag_alloc): New function.
(frag_grow, frag_more, frag_variant, frag_now_fix, frag_append_1_char): Refer
to frchain_now->frch_obstack instead of frags variable.
(frag_new): Ditto. Verify that frch_last and frag_now match on entry and exit,
and that old frag_now has non-zero type. Replace "know" uses with "assert".
Use frag_alloc instead of mucking with obstack alignment.
* frags.h (frags): Declaration deleted.
* subsegs.h (struct frchain): Add new field frch_frag_now.
* subsegs.c (frchains, dummy_frag, absolute_frchain): New static variables.
(subsegs_begin): Initialize frchains obstack. Under gcc, don't give it any
stricter alignment than frchainS structures need. Do not initialize frags
obstack. Set frag_now to point to dummy_obstack. Initialize absolute_frchain.
(subseg_set_rest): Save and restore frag_now in frch_frag_now field of
frchainS. Don't create new frags on section switch, and use frag_alloc when
creating a new frag chain. For absolute section, set frchain_now to
absolute_frchain. Verify that frch_last and frag_now match on entry and exit.
Initialize per-chain obstack, and under gcc, set required alignment to that
needed by fragS structure.
* write.c (chain_frchains_together_1): Verify fr_type is nonzero.
In one test case of Mike's (i386-linux, over 300K lines of .s code with lots
of stabs records), run time and memory use are reduced by about 1/3.
Might introduce some problems in cases that use the frag obstacks in unusual
ways. Test suite does pass for i386-linux and sparc-solaris targets though.
now relative to the section, not absolute.
* ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
get the file name when there is a N_SO directory name. When
handling stabs, remember that section->vma was added to the
offset.
PR 8223.
directory searching code into gld${EMULATION_NAME}_search_dir.
(gld${EMULATION_NAME}_search_dir): New static function, extracted
from gld${EMULATION_NAME}_find_so.
(global_needed, global_found): New static variables.
(gld${EMULATION_NAME}_after_open): New static function.
(gld${EMULATION_NAME}_search_needed): New static function.
(gld${EMULATION_NAME}_try_needed): New static function.
(gld${EMULATION_NAME}_check_needed): New static function.
(ld_${EMULATION_NAME}_emulation): Use new after_open function.
* ld.texinfo, ld.1: Mention -rpath-link on SunOS.
(rs6000-*-aix*): New target; use aixrs6.
* emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
* emultempl/aix.em: New file.
* scripttempl/aix.sc: New file.
* Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
(eaixppc.c, eaixrs6.c): New targets.
_initialize_array to array_open. It was forcing the baud rate of
all targets to be 4800 baud! Seems like I've fixed this before...
* config/mips/idt.mt (TDEPFILES): Remove remote-array.o. This
has *nothing* to do with IDT!!!
sh3 monitor support.
* monitor.c: Cleanup regexp compilation stuff to make it easier
to use several regexps.
* monitor.h: Get rid of struct rom_cmd_data. It's no longer used.
* config/m68k/tm-monitor.h: Don't redefine NUM_REGS here. It just
causes GDB to crash.
screws up too many targets.
* sparcl-stub.c: Add prototypes to many forward decls.
* Create private copies of strlen, strcpy, and memcpy to prevent
chaos when user steps into them.
* (trap_low handle_exception): Clean up DSU support code
(hardware breakpoints). Move lots of stuff from asm-land to
C-land (make it much easier to #ifdef if necessary). Also, use
trap 255 to get into break mode instead of doing a DSU register
write, which may trash the register.
* (putpacket): Don't check return value of putDebugChar. It
returns void...