Ian Lance Taylor [Wed, 25 Oct 1995 16:33:02 +0000 (16:33 +0000)]
* sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
output_bfd is not SunOS.
(bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
non-SunOS input files.
PR 8270.
Ian Lance Taylor [Wed, 25 Oct 1995 15:49:27 +0000 (15:49 +0000)]
* emultempl/aix.em: Add support for various AIX linker options,
for AIX import and export files, and for AIX shared objects.
* scripttempl/aix.sc: Add .pad. Put .ds just before the TOC.
* config/pa/hppahpux.mh: Remove hardcoding of X locations.
* Makefile.in: Use X11_CFLAGS, X11_LDFLAGS and X11_LIBS.
* configure.in: Link X statically on Solaris, SunOS and HPUX.
Stan Shebs [Wed, 25 Oct 1995 00:54:55 +0000 (00:54 +0000)]
* configure.in: Add xcofflink.o to pmac_xcoff_vec.
* configure: Rebuild.
* mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
* coff-pmac.c: Include coff-rs6000.c instead of duplicating its
contents.
(pmac_xcoff_vec): Update to use new xcoff support.
* coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
(xcoff_write_armap): Declare buf as unsigned char.
* xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
Stu Grossman [Tue, 24 Oct 1995 21:31:07 +0000 (21:31 +0000)]
* monitor.c (monitor_expect_regexp): Same as monitor_expect, but
with the obvious extension. (monitor_read_memory_single): Use
regexp for getmem.resp_delim because of parsing ambiguities caused
by certain monitors. (monitor_read_memory): Use new regexp stuff
to parse getmem.resp_delim.
* sh3-rom.c: Finish off table. Use new regexp capability for
getmem commands.
Jeff Law [Tue, 24 Oct 1995 21:26:51 +0000 (21:26 +0000)]
* config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode.
(pa_subspace): For ".nsubspa", always create a new subspace
with the given attributes, even if one already exists with the
same name.
So we can put every function into its own $CODE$ subspace.
Stu Grossman [Tue, 24 Oct 1995 21:22:56 +0000 (21:22 +0000)]
* infrun.c (wait_for_inferior): Disable questionable code near
the step range test. Replace call detection test with much
simpler (and more efficient) test that doesn't require prologue
examination (as often).
* symtab.c symtab.h (in_prologue): New function that indicates
whether or not we are in a function prologue. This uses the
symbol table, and then falls back to prologue examination if that
fails. It's much more efficient for remote debugging because it
avoids examining memory, which is very slow. This is used in
wait_for_inferior to determine if we've made a function call that
needs to be skipped over (for next/nexti).
* mips-tdep.c (after_prologue): New function, returns the PC
after the prologue. Uses PDRs and the symbol table.
(mips_find_saved_regs): Use in_prologue() to avoid costly
prologue examination if possible.
(mips_skip_prologue): Use after_prologue() if possible to avoid
costly prologue examination.
The revision 2.48 change (grossman 1995/10/16) had unfortunately
broken the prompt spotting for the <RISQ> variant of the IDT
monitor. Also took this opportunity to add the vr4300 configure.in
options.
Renamed the VR4300 specific emulparams files to 8.3 unique names,
since the old names could cause problems when hosting the source tree
on non-Un*x systems.
Stan Shebs [Thu, 19 Oct 1995 19:29:52 +0000 (19:29 +0000)]
* mpw-config.in: Adapt to work with autoconf'ed configury;
build config.h, add empty definitions to mk.tmp.
(powerpc-apple-macos): Make it work.
* mpw-make.sed: New file, sed commands to translate Unix makefile
into MPW syntax.
* mpw-make.in: Remove.
* mac-gdb.r: New file, was macgdb.r, renamed for consistency
with other tools, now includes cfrg resource.
* macgdb.r: Remove.
* config/m68k/xm-mpw.h: Remove most of contents, replace with
include of include/mpw/mpw.h.
* winsup. New directory.
* Makefile.in: Build winsup.
* configure.in: Winsup is configured when target is win32.
Can only build win32 target GDB when native.
* winsup. New directory.
* Makefile.in: Build winsup.
* configure.in: Winsup is configured when target is win32.
Can only build win32 target GDB when native.
* coff-i386.c (coff_i386_reloc_type_lookup): New.
* coffcode.h (coff_write_object_contents): If .bss is before
.data us that as data_start.
* cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
calc correct.
* peicode.h (add_data_entry): Use _cooked_size of data directory.
(coff_swap_outhdr_out): Hardwire in version number.
Ken Raeburn [Wed, 18 Oct 1995 21:32:53 +0000 (21:32 +0000)]
* sunos.c (sunos_add_dynamic_symbols): Rename local variables major and minor
to *_vno, since the former are also macros in SunOS header files. Cast result
of bfd_alloc to appropriate type.
Ken Raeburn [Wed, 18 Oct 1995 21:21:38 +0000 (21:21 +0000)]
Use one active frag and one obstack per frag chain:
* 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.
Ian Lance Taylor [Wed, 18 Oct 1995 17:29:38 +0000 (17:29 +0000)]
* ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
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.
Ken Raeburn [Wed, 18 Oct 1995 16:26:46 +0000 (16:26 +0000)]
* stabs.c (aout_process_stab): Insert debug symbol into symbol chain after
parsing value expression, if any, to avoid separating continued .stabs lines.
Ian Lance Taylor [Tue, 17 Oct 1995 22:36:25 +0000 (22:36 +0000)]
* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
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.
Ian Lance Taylor [Tue, 17 Oct 1995 16:23:59 +0000 (16:23 +0000)]
* Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
(eelf32lppc.c): Likewise.
* emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
(GENERATE_SHLIB_SCRIPT): Define as yes.
Ian Lance Taylor [Mon, 16 Oct 1995 23:19:04 +0000 (23:19 +0000)]
* configure.tgt (powerpc-*-aix*): New target; use aixppc.
(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.
Stu Grossman [Mon, 16 Oct 1995 18:59:54 +0000 (18:59 +0000)]
* remote-array.c: Move baud_rate initialization from
_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!!!
Stu Grossman [Mon, 16 Oct 1995 18:51:15 +0000 (18:51 +0000)]
* Makefile.in sh3-rom.c config/sh/sh.mt config/sh/tm-sh.h: Add
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.
Stu Grossman [Mon, 16 Oct 1995 18:25:19 +0000 (18:25 +0000)]
* dcache.c: Change default value of remotecache to off. It just
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...