* config/tc-mips.c (mips_cpu): New static variable.
(insns_since_cache_access): New static variable.
(md_begin): Set mips_cpu as well as mips_isa.
(append_insn): If mips_cpu is 4600, require four nop instructions
between an instruction which accesses the cache and certain CACHE
instructions. Keep track of the number of instructions seen since
an instruction which accesses the cache.
(md_parse_option): Set mips_cpu as well as mips_isa.
PR 5433.
Stan Shebs [Sun, 4 Sep 1994 23:16:22 +0000 (23:16 +0000)]
* configure.in (config/nm-empty.h): If cross only, use instead
of config/nm-trash.h.
* config/nm-trash.h: Remove.
* config/nm-empty.h: New file.
* config/i386/nm-m3.h: New file, includes config/nm-m3.h.
* config/mips/nm-m3.h: New file, includes config/nm-m3.h.
* config/m68k/nm-sysv4.h: New file, includes config/nm-sysv4.h.
* config/mips/nm-sysv4.h: New file, includes config/nm-sysv4.h.
* config/sparc/nm-sysv4.h: New file, includes config/nm-sysv4.h.
Stan Shebs [Sat, 3 Sep 1994 00:32:08 +0000 (00:32 +0000)]
* objfiles.c (allocate_objfile): Add the newly-created objfile to
the end of the list of objfiles, instead of at the beginning.
* xcoffread.c (allocate_include_entry): New function, abstracted
from code in record_include_begin.
(record_include_begin, record_include_end): Call it.
* blockframe.c (reinit_frame_cache): Test inferior_pid instead of
target_has_stack to decide whether to create a real stack frame
for the cache.
Ken Raeburn [Fri, 2 Sep 1994 18:21:41 +0000 (18:21 +0000)]
* reloc.c (enum bfd_reloc_code_real): Rewrote definition to use new "chew"
commands for simultaneous definition of enumerator and enumerator name table.
(bfd_get_reloc_code_name): New function, for retrieving a symbolic name
associated with an enumerator.
* config/tm-nbsd.h: New file, support for all NetBSD targets.
* config/xm-nbsd.h: fix typo.
* config/sparc/{nm,tm,xm}-nbsd.h: New files, renamed from
{nm,tm,xm}-sparcnbsd.h to conform to prefered file naming
conventions.
* configure.in: (sparc-*-netbsd): use config/sparc/nbsd.m[ht].
* config/tm-nbsd.h: New file, support for all NetBSD targets.
* config/sparc/{nm,tm,xm}-nbsd.h: New files, renamed from
{nm,tm,xm}-sparcnbsd.h to conform to prefered file naming
conventions.
* configure.in: (sparc-*-netbsd): use config/sparc/nbsd.m[ht].
Ken Raeburn [Thu, 1 Sep 1994 00:48:30 +0000 (00:48 +0000)]
* as.h (volatile): Don't test or define here; not needed.
(alloca): Replace alloca-conf.h inclusion with code recommended in autoconf
documentation. Include config.h first.
Makefile.in (INCLUDES): Deleted last patch (using -I..).
Ken Raeburn [Wed, 31 Aug 1994 21:50:38 +0000 (21:50 +0000)]
* Makefile.in (prefix, exec_prefix): Use @-subtitutions.
* aclocal.m4 (AC_OUTPUT_LINKS): Deleted redefinition, since autoconf 1.109 has
this fixed.
* configure.in: Don't change quote characters around AC_MSG_ERROR invocation.
Don't use AC_HEADER_STDC, since it requires running a program. Cache
NEED_*_DECLARATION values.
* configure, conf.in: Regenerated with a modified autoconf 1.109.
Jim Kingdon [Wed, 31 Aug 1994 20:42:10 +0000 (20:42 +0000)]
* inflow.c (set_sigint_trap, clear_sigint_trap): Check for
attach_flag (this check was performed by the callers). Also check
inferior_thisrun_terminal.
* inftarg.c (child_wait), lynx-nat.c (child_wait),
procfs.c (wait_fd), symm-nat.c (child_wait): Don't check
attach_flag in deciding whether to call set_sigint_trap and
clear_sigint_trap.
Ian Lance Taylor [Tue, 30 Aug 1994 16:04:40 +0000 (16:04 +0000)]
* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
argument, and use it to set DT_SONAME dynamic entry.
* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
(bfd_elf64_size_dynamic_sections): Update prototype.
* bfd-in2.h: Rebuilt.
Stan Shebs [Mon, 29 Aug 1994 22:17:09 +0000 (22:17 +0000)]
* Makefile.in (ns32k-opcode.h): Remove reference.
(ns32k-pinsn.o): Update dependencies.
* ns32k-opcode.h: Remove file.
* ns32k-pinsn.c (print_insn): Call version in libopcodes, remove
all other code in this file.
Ian Lance Taylor [Mon, 29 Aug 1994 20:14:13 +0000 (20:14 +0000)]
* config/tc-ppc.c (md_apply_fix): Don't generate a reloc when a
symbol is used as an offset into a CSECT that is not a TOC. These
types of loads are generated by gcc -mminimal-toc.
Ken Raeburn [Sun, 28 Aug 1994 22:15:33 +0000 (22:15 +0000)]
* as.h (flag_*): Added comments describing meanings of some of these variables.
(struct frag): Add some comments about the ns32k-specific fields and why
they're here.
(SIZEOF_STRUCT_FRAG): Cast addresses to char*, not int.
(flag_print_statistics): Declare.
* as.c (parse_args): Set flag_print_statistics instead of statistics_flag.
Options array is now const. Added new option "dump-config"; if specified,
print TARGET_ALIAS, TARGET_CANONICAL, TARGET_CPU, TARGET_OBJ_FORMAT, and
TARGET_FORMAT, if defined.
(main): Change test to check flag_print_statistics.
(statistics_flag): Deleted.
Ken Raeburn [Sun, 28 Aug 1994 22:01:11 +0000 (22:01 +0000)]
Removed pcrel_adjust and bsr arguments from calling interface of
frag_variant, since they're only used on one machine. Let that machine
deal with them specially.
Peter Schauer [Sun, 28 Aug 1994 13:57:48 +0000 (13:57 +0000)]
* symfile.c (symbol_file_add): Move reinit_frame_cache call to
the callers of symbol_file_add. Gets rid of heuristic fence-post
warnings on mips and alpha targets when the PC resides in a shared
library which is not yet read in.
* coff-solib.c (coff_solib_add), cxux-nat.c (add_shared_symbol_files),
irix5-nat.c (solib_add), osfsolib.c (solib_add),
remote-vx.c (vx_open), solib.c (solib_add):
Add call to reinit_frame_cache after all shared libraries are read in.
* remote-udi.c (udi_load), remote-vx.c (vx_load_command),
symfile.c (symbol_file_command, add_symbol_file_command):
Add call to reinit_frame_cache after symbol_file_add.
Ken Raeburn [Sun, 28 Aug 1994 07:59:06 +0000 (07:59 +0000)]
Conversion to autoconf:
* acconfig.h, aclocal.m4: New files.
* configure.in: Rewritten (except for some target-specific code) for autoconf.
* conf.in, configure: New files, generated from the above.
* Makefile.in: Changed magic sequence indicating insertion of makefile
fragments.
(VPATH, srcdir, CC, LIBS, OBJS dependencies): Use @-substitutions from
configure.
(LINKED_HEADERS): Deleted a.out.gnu.h, a.out.h, and host.h.
(config.status, configure): Rewrite rules.
(config-stamp): Depend on conf. Skip variables that configure is now
substituting itself.
(*.o dependencies): Deleted host.h.
(distclean, realclean): Don't delete host.h.
* as.c: Don't include stdio.h, string.h, sys/types.h. Include signal.h after
as.h.
* as.h: Include alloca-conf.h first. Include ctype.h, string.h, strings.h,
stdlib.h, unistd.h, sys/types.h, fopen-bin.h, fopen-same.h, as suggested by
autoconf test results.
[BROKEN_ASSERT]: Don't include assert.h.
(strdup): Declare.
(volatile, const): Define if not __STDC__ and not already defined.
(malloc, realloc) [NEED_MALLOC_DECLARATION]: Declare.
(free) [NEED_FREE_DECLARATION]: Declare.
* gasp.c: Include config.h, stdlib.h (if HAVE_STDLIB_H). Don't include host.h.
(malloc) [NEED_MALLOC_DECLARATION]: Declare.
* messages.c: Include as.h first. Include errno.h only if HAVE_ERRNO_H. If
HAVE_VARARGS_H and not __STDC__, undefine HAVE_STDARG_H. Set NO_STDARG and
NO_VARARGS as appropriate.
* doc/Makefile.in (srcdir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use
autoconf @-substitutions.
Ken Raeburn [Sun, 28 Aug 1994 03:35:40 +0000 (03:35 +0000)]
* config/tc-alpha.c: Added various prototypes for static functions.
(in_range): New function, tests whether a value can fit in an N-bit field.
(build_mem, build_operate_n): New functions for constructing opcode values.
(emit_sll_n, emit_ldah_num, emit_addq_r, emit_lda_n): New functions for
emitting single instructions, no longer requiring a recursive call to
md_assemble.
(emit_add64): New function for expanding a REG:=REG+CONST operation into
one or more instructions, to handle wide constants.
(clear_insn): New variable.
(md_begin): Fill it in with zeros and BFD_RELOC_NONE values.
(alpha_ip): Use it to initialize local variable insns.
(alpha_ip, label "immediate" and cases 'P', 'G'): Use emit_add64 for
calculations.
Ian Lance Taylor [Thu, 25 Aug 1994 14:46:10 +0000 (14:46 +0000)]
* coffgen.c (coff_write_alien_symbol): If we are not using the
symbol, clear the name so that it is not put in the string table.
From Antti.Miettinen@ntc.nokia.com.
J.T. Conklin [Thu, 25 Aug 1994 00:55:39 +0000 (00:55 +0000)]
* config/xm-nbsd.h: New file, support for all NetBSD ports.
* config/sparc/{nm-sparcnbsd.h,tm-sparcnbsd.h,xm-sparcnbsd.h}: New files,
support for NetBSD/sparc.
* configure.in: Add sparc-*-netbsd target.
J.T. Conklin [Thu, 25 Aug 1994 00:54:50 +0000 (00:54 +0000)]
* config/xm-nbsd.h: New file, support for all NetBSD ports.
* config/sparc/{nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}: New files, support
for NetBSD/sparc.
* configure.in: Add sparc-*-netbsd target.
Ian Lance Taylor [Wed, 24 Aug 1994 23:46:53 +0000 (23:46 +0000)]
* config/tc-mips.h (LOCAL_LABEL): Define as 0, for compatibility
with native MIPS assembler.
* configure.in (mips-*-irix*): Don't set emulation.
* config/te-irix.h: Remove.
With these changes, gas works with mips-tfile.
Ian Lance Taylor [Wed, 24 Aug 1994 22:10:14 +0000 (22:10 +0000)]
* ecoff.c (ecoff_symbol_new_hook): Don't add a new file if we
haven't seen any input files yet.
* config/tc-alpha.c (md_begin): Just call symbol_create, rather
than calling symbol_new and then removing the symbol from the
list.
With these changes, Alpha gas will work with mips-tfile.
Ian Lance Taylor [Wed, 24 Aug 1994 21:48:18 +0000 (21:48 +0000)]
gcc lint.
* as.c (main): Move a inside the #if 0 block which uses it.
* ecoff.c (current_stabs_filename): Make const.
* frags.h (frag_align_pattern): Declare.
* gasp.c (new_file): Cast isp to long, and use %ld to print it.
* config/tc-alpha.h (md_operand): Add cast to void.
(alpha_do_align): Declare argument types.
(tc_get_register): Declare.
(alpha_frob_ecoff_data): Declare.
* config/tc-alpha.c: Include <ctype.h>.
(s_mask): Don't declare; does not exist.
(line_comment_chars): Remove /* from descriptive comment.
(tc_get_register): Remove unused local reg.
(tc_gen_reloc): Don't bother to compare unsigned to zero.
(s_base): Correct warning to actually print register number.
(md_begin): Remove unused locals retval, lose, and i.
(alpha_fix_adjustable): Move default case inside switch to avoid
warning.
(load_symbol_address): Remove unused locals reloc_addr, p, sym,
and addend.
(emit_byte_manip_r): Declare types for all arguments.
(emit_extract_r, emit_insert_r, emit_mask_r): Likewise.
(emit_sign_extend, emit_bis_r, s_proc): Likewise.
(alpha_ip): Use sprint_value to print offsetT value. Remove
unused local size. Remove unused label get_macro.
(alpha_do_align): Make fill const.
(md_apply_fix): Remove unused label check_zov.
Ian Lance Taylor [Wed, 24 Aug 1994 21:17:40 +0000 (21:17 +0000)]
* coffgen.c (coff_print_symbol): Cast pointer different to long
and use %ld to print it.
* osf-core.c (osf_core_core_file_p): Remove unused variable
dseccnt.
* ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
bytes in bits2.