660 Commits

Author SHA1 Message Date
c8570de863 * configure.in: Check ${host} and ${target} rather than
${host_canon} and ${target_canon}.
	* configure: Likewise.
1994-09-07 16:53:27 +00:00
8c63448afe * 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.
1994-09-06 15:51:09 +00:00
a5a2f1562b * doc/Makefile.in (VPATH): Define using @srcdir@.
(prefix, program_transform_name, exec_prefix): Use autoconf style @-substitutions.
1994-09-05 11:21:16 +00:00
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
3ffbc9073e * ecoff.c (add_file): Don't try to generate line numbers if the
symbol table has been frozen.
1994-09-02 20:42:28 +00:00
7f64fd4e27 remove alloca stuff from atof-generic.c 1994-09-01 01:35:19 +00:00
c7072f5689 * 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..).
1994-09-01 00:48:30 +00:00
1bc37618f0 Makefile.in (INCLUDES): Include "-I.." for libiberty/alloca-conf.h. 1994-08-31 23:51:38 +00:00
fb589130a8 * 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.
1994-08-31 21:50:38 +00:00
bdee23af17 * configure.in, configure: Initialize bfd_gas to no. 1994-08-31 15:35:04 +00:00
a48f997a6b fix mpw problem with ".." for stan 1994-08-30 23:37:15 +00:00
0c49642db9 * 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.
1994-08-29 20:14:13 +00:00
e9296bdb6f * 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.
1994-08-28 22:15:33 +00:00
c72aa0e23d 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.
1994-08-28 22:01:11 +00:00
65ad84c14e Makefile.in (distclean, realclean): Remove new configure-generated files. 1994-08-28 20:26:27 +00:00
b11fb93989 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.
1994-08-28 07:59:06 +00:00
27bf48ecfe input-file.c: Don't include assert.h here. 1994-08-28 04:06:36 +00:00
aaeee55045 * 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.
1994-08-28 03:35:40 +00:00
8ef75e2c07 write.c(write_contents): always enable BFD_FAST_SECTION_FILL code 1994-08-26 21:53:59 +00:00
6668a0624d subsegs.c: fix EMIT_SECTION_SYMBOLS handling 1994-08-26 21:49:10 +00:00
20ae2fb832 * 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.
1994-08-24 23:46:53 +00:00
fd4f335ccf * 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.
1994-08-24 22:10:14 +00:00
a2a1a548c7 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.
1994-08-24 21:48:18 +00:00
904b6037e8 * configure.in: Recognize i586 as a synonym for i[34]86. 1994-08-24 16:48:38 +00:00
f3b7067941 * gas/config/tc-hppa.c (pa_comm): Set sy_frag for the common
symbol to the zero address frag.
1994-08-16 18:28:12 +00:00
2cffb4f411 * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
symbol.
1994-08-16 07:54:06 +00:00
101fbf7ed7 * config/tc-mips.c (md_begin): Drop "el" from the end of
TARGET_CPU.  Check for mips64orion.
1994-08-12 21:55:42 +00:00
a1dafd5511 * configure.in: Recognize ppc-*-netware.
* config/te-ppcnw.h:  New file to support Power-PC/Netware
	configurations.  Currently, it just enables the use of backslash
	escapes in string directives.
1994-08-10 02:47:48 +00:00
8e4796369a * config/tc-ppc.c (ppc_stabx): Call expression directly, rather
than via pseudo_set.  If expression is a symbol, move stab symbol
	to just after symbol from expression.
1994-08-09 20:06:58 +00:00
c9a89891b5 * ecoff.c (ecoff_build_procs): Don't force adr of first fdr to be
zero.  Undoes change of June 4, 1993.
1994-08-09 18:11:30 +00:00
55933a587a * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
orion.
1994-08-09 15:18:26 +00:00
1503edcce9 * gas/config/tc-hppa.c (md_pseudo_table): Delete redundant
upper-case versions of the pseudo-ops.
1994-08-08 18:10:36 +00:00
2cd14ddcae * config/tc-sparc.c (md_apply_fix): If we are going to generate a
non PC relative reloc, don't put the addend in the object file.
1994-08-08 17:46:00 +00:00
6670b7f3e4 Sat Aug 6 01:15:02 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* 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.
1994-08-06 08:23:09 +00:00
fbf718862a * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
field in the space chain.
1994-08-01 20:12:41 +00:00
363d615082 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
hppa_gen_reloc_type.
1994-08-01 08:46:08 +00:00
5e0a90a8d7 * tc-sparc.c (sparc_ip): Check more carefully for conflicting architectures.
(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'.
1994-07-28 23:36:16 +00:00
10db66ecfd I80960XL support (sanitized), misc cleanup:
* 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.
1994-07-27 00:58:19 +00:00
39792caf99 Some bits of COFF cleanup, and i960-coff support:
* config/obj-coff.h: Moved common includes and TARGET_FORMAT definitions
together.
(WORKING_DOT_WORD, WARN_SIGNED_OVERFLOW_WORD, OBJ_COFF_OMIT_OPTIONAL_HEADER,
BFD_HEADERS, BFD) [!BFD_ASSEMBLER]: Moved these definitions to the start of the
file, before the includes.
(SYMBOLS_NEED_BACKPOINTERS, OBJ_COFF_MAX_AUXENTRIES): Always define these.
(S_GET_ZEROES): Deleted.
(S_SET_ZEROES): Moved to obj-coff.c.

* config/obj-coff.c (obj_coff_* psuedo-op fns): Deleted forward declarations.
(obj_pseudo_table): Moved to one version end of file, conditionalized
internally.
(stack typedef, stack_init, stack_delete, stack_push, stack_pop, tag_hash,
tag_init, tag_insert, tag_find, tag_find_or_make): Moved to one combined
version at top of file, unconditional.  Deleted forward declarations.
(s_get_name): Moved one copy of declarations to start of file.
(def_symbol_in_progress): Ditto.  Don't initialize.
(S_SET_ZEROES): Moved here from obj-coff.h.
(write_object_file): If TC_COFF_SET_MACHINE is defined, call it on the file
headers.

* config/obj-coff.c (seg_info_off_by_4): Now const and static.
(SEG_INFO_FROM_SEG_NUMBER): Unused macro deleted.
(previous_file_symbol, def_symbol_in_progress, symbol_externP,
symbol_extern_lastP, last_functionP) [!BFD_ASSEMBLER]: Don't bother explicitly
initializing to zero value.

* config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME and
SF_GET_CALLNAME instead of the TC_S_IS_ versions.
1994-07-27 00:37:46 +00:00
462ab71d9b deleted atof-ns32k.c, no longer used 1994-07-14 21:58:13 +00:00
259e35d4e9 updated ns532 support from Ian Dall 1994-07-14 18:58:06 +00:00
3b6d6f715f * config/obj-aout.c (obj_aout_frob_symbol): Use bfd_ind_section_ptr and
bfd_und_section_ptr.

* subsegs.c (subseg_set_rest): Compare segT values directly, without casting to
int first.
1994-07-14 18:40:36 +00:00
4ac7a9e49f * config/tc-m68k.c (m68k_ip): Change rp to be a const pointer.
(md_parse_option): Clear cpu field of current_architecture before
	setting a new cpu type.  Clear no_68881 for m68881 or m68882.
	Clear no_68851 for m68851.
1994-07-13 18:58:11 +00:00
3c498933ab Updated some copyrights, cleaned up some header-file comments, and:
* symbols.c (symbol_create): New function, most of the guts of the old
symbol_new function.
(symbol_new): Now just checks symbol_table_frozen, calls symbol_create, and
enters the symbol into the symbol table.
* subsegs.c (section_symbol): If EMIT_SECTION_SYMBOLS is not true, and the
symbol table is frozen, call symbol_create instead of symbol_new.
* symbols.h (symbol_create, symbol_table_frozen): Declare.

* symbols.c (symbol_clear_list_pointers): Always a function now.
* struc-symbol.h (symbol_clear_list_pointers): Deleted macro version.

* symbols.c (debug_verify_symchain): New macro, defined to be
verify_symbol_chain or a cast to void, depending on DEBUG_SYMS.
(many functions): Invoke debug_verify_symchain unconditionally.
1994-07-13 01:48:15 +00:00
6b510a40ae config/ho-sysv.h (realloc): Declare. 1994-07-13 01:28:47 +00:00
a85cd2890c Modified Files:
read.c ecoff.h ecoff.c ChangeLog

        * read.c (read_a_source_file): ditto.
        * ecoff.h: change calling interface of
        ecoff_generate_asm_line_stab.
        * ecoff.c (add_file): record of filename to handle case of include
        files, also change default built-in type from int to void for
        asm file.
        * ecoff.c (ecoff_generate_asm_line_stab): handle case of include
        files.
1994-07-12 19:17:35 +00:00
51d8e5aeba * config/tc-mips.c (macro): In case M_LA_AB, SVR4_PIC, large
constant, and case ldd_std, set mips_optimize to 2 temporarily to
	avoid inserting an unexpected nop instruction.
1994-07-11 21:24:08 +00:00
64d527f761 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
line number.
1994-07-09 04:11:19 +00:00
6f15d409d0 * (process_pseudo_op): Pass right are do do_aif.
(get_any_string): New arg 'pretend_quote'.
	(get_and_process, do_formals, macro_expand, do_sdata,
	process_pseudo_op): Use new arg.
1994-07-08 22:34:11 +00:00
daad3bbf95 Modified Files:
read.c read.h ecoff.c ecoff.h ChangeLog

        * read.c (read_a_source_file): generate line stabs for asm file.
        * read.h: add extern generate_asm_line_stab.
        * ecoff.h : add prototype for ecoff_generate_asm_line_stab().
        * ecoff.c (add_file): if there's no filename provided, set switch
        to generate line stabs for .s file.
        * ecoff.c (add_procedure): add stabs symbol for .ent directive.
        * ecoff.c (generate_ecoff_stab): creates an artificial stabs.
        * ecoff.c (generate_asm_line_stab): generate a artifitial label
        for each line and generate a stabn for the line.
1994-07-08 19:38:18 +00:00