(s_mips_globl): New static function; needed for Irix 5 support.
* ecoff.c (ecoff_build_symbols): If BSF_FUNCTION is set for an
external symbol with no type, set the type to st_Proc rather than
st_Global. Don't set the index of an external st_Proc or
st_StaticProc symbol unless it is also a local symbol.
ChangeLog read.h read.c ecoff.h ecoff.c
* read.h : ditto.
* read.c (read_a_source_file): if no file when inst is read, set
generate_asm_lineno to true.
* ecoff.h : change name to generate_asm_lineno and add function
ecoff_no_current_file.
* ecoff.c : change name to generate_asm_lineno.
* ecoff.c (ecoff_generate_asm_lineno) : new function, to generate
ecoff style line for asm file.
* aclocal.m4 (GAS_CHECK_DECL_NEEDED, GAS_WORKING_ASSERT): New macros.
* configure.in: Use them. Use AC_ARG_PROGRAM (now provided by autoconf)
instead of my hacked-up AC_PROGRAM_TRANSFORM_NAME. Move test for CROSS_COMPILE
just before AC_FUNC_ALLOCA, and emit a message to try to ease confusion about
autoconf's "cross-compiling" message.
* acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_FREE,
NEED_DECLARATION_ERRNO): Renamed from NEED_*_DECLARATION.
* configure, conf.in: Regenerated.
(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.
(alloca): Replace alloca-conf.h inclusion with code recommended in autoconf
documentation. Include config.h first.
Makefile.in (INCLUDES): Deleted last patch (using -I..).
* 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.
(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.
* 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.
(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.
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.
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.
* 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.
* config/te-ppcnw.h: New file to support Power-PC/Netware
configurations. Currently, it just enables the use of backslash
escapes in string directives.
* as.h: If FOPEN_WB is not defined, do the right thing in a go32
environment.
Mon Jul 11 11:34:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* config/tc-h8300.c (pint): New function for handling varying
size of int pseudo op.
* doc/as.texinfo: Fix typo describing .h8300h pseduop.
(md_parse_option) [NO_V9]: Complain if v9 was selected.
(md_show_usage): Derive architecture list in usage message from
architecture_pname array.
(cypress): Macro deleted.
(op_hash): Don't initialize.
(s_common): Use bfd_und_section_ptr instead of bfd_und_section.
(BSR): New function.
(sparc_ip): Use it for right-shift operations of 32 bits or more.
(sparc_ip): Implement new operand type 'x'.
* config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls tc_headers_hook.
* config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX was used
previously.
(tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
* config/tc-i960.c (po_hash): Declaration deleted.
(next_object_file_charP): Ditto.
(regnames, aregs, coj): Now const.
(parse_memop): Static array def_scale now const.
(md_begin): Cast away const when passing hash routines addresses of values in
regnames or aregs.
(md_longopts): Added "link-relax" and "no-relax" hyphenated forms. Continue to
accept one-word forms.
(struct tabentry, arch_tab): Moved to top level from inside md_parse_option.
Now const.
(md_show_usage): Use arch_tab to generate usage message. Print hyphenated
forms of relax options.
* config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
TC_S_FORCE_TO_*): Moved from here...
* config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff to test
OBJ_AOUT and OBJ_BOUT directly.
* config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ, M1-M3, REG_OPC,
R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F, {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK,
FP_OK, REG_ALIGN, MEMOP, I_*): Macros deleted.
* config/tc-i960.c (ARCH_XL): Define.
(arch_tab): Include XL.
(targ_has_sfr, targ_has_iclass): Handle XL.
(tc_headers_hook): Set flags to F_I960XL for i960XL.