Commit graph

672 commits

Author SHA1 Message Date
Ian Lance Taylor
430a399719 * config/obj-coff.c (fixup_segment): After handling the difference
of two symbols from the same segment, set fx_subsy to NULL, to
	satisfy existing TC_COUNT_RELOC macros.
1994-09-13 17:06:26 +00:00
Ken Raeburn
e23b25eccd Generate .gdbinit file:
* aclocal.m4 (GAS_GDBINIT): New macro.
	* configure.in: Use it.
	* configure: Regenerated.
(using autoconf-1.117)
1994-09-13 05:54:13 +00:00
Ken Raeburn
c570d36139 PIC enhancements just checked in (based on work of Paul Kranenburg and Eric
Youngdale).

New debugging code for .gdbinit.  "this file generated..." msg in config.h.
1994-09-13 02:20:55 +00:00
Ian Lance Taylor
1779d515da * config/obj-elf.c (obj_elf_type): Rewrite to accept syntax
reportedly to be used on Irix 6.
1994-09-12 22:36:08 +00:00
Ian Lance Taylor
c1444ec48f * config/tc-mips.c (md_pseudo_table): Handle .globl and .global.
(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.
1994-09-12 22:11:18 +00:00
Ian Lance Taylor
1b434ced73 * read.c (read_a_source_file): The second argument to as_where is
unsigned int *, not int *.
1994-09-12 21:52:43 +00:00
Ken Raeburn
353acf312b forgot an entry for makefile dependency changes 1994-09-09 18:34:25 +00:00
Kung Hsu
326d16cac7 Modified Files:
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.
1994-09-09 01:05:28 +00:00
Ian Lance Taylor
eb4fd16f4d * config/obj-coff.c (size_section): Do an fprintf to stderr rather
than a printf.
	(fixup_segment): Use as_bad_where rather than as_bad.
1994-09-08 23:46:00 +00:00
Steve Chamberlain
20c9d49a4e * config/tc-{h8300,sh}.[ch] (tc_coff_symbol_emit): Function doing nothing
becomes macro doing nothing.
1994-09-08 00:52:23 +00:00
Ken Raeburn
723735327a tc_gen_reloc, i386-linux, brokensed changes 1994-09-08 00:00:08 +00:00
Ken Raeburn
bf111c9f7d Update for autoconf beta 1.112:
* 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.
1994-09-07 23:34:23 +00:00
Ian Lance Taylor
c8570de863 * configure.in: Check ${host} and ${target} rather than
${host_canon} and ${target_canon}.
	* configure: Likewise.
1994-09-07 16:53:27 +00:00
Ian Lance Taylor
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
Ken Raeburn
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
Ken Raeburn
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
Ian Lance Taylor
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
Ken Raeburn
7f64fd4e27 remove alloca stuff from atof-generic.c 1994-09-01 01:35:19 +00:00
Ken Raeburn
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
Ken Raeburn
1bc37618f0 Makefile.in (INCLUDES): Include "-I.." for libiberty/alloca-conf.h. 1994-08-31 23:51:38 +00:00
Ken Raeburn
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
Ian Lance Taylor
bdee23af17 * configure.in, configure: Initialize bfd_gas to no. 1994-08-31 15:35:04 +00:00
Ken Raeburn
a48f997a6b fix mpw problem with ".." for stan 1994-08-30 23:37:15 +00:00
Ian Lance Taylor
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
Ken Raeburn
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
Ken Raeburn
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
Ken Raeburn
65ad84c14e Makefile.in (distclean, realclean): Remove new configure-generated files. 1994-08-28 20:26:27 +00:00
Ken Raeburn
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
Ken Raeburn
27bf48ecfe input-file.c: Don't include assert.h here. 1994-08-28 04:06:36 +00:00
Ken Raeburn
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
Ken Raeburn
8ef75e2c07 write.c(write_contents): always enable BFD_FAST_SECTION_FILL code 1994-08-26 21:53:59 +00:00
Ken Raeburn
6668a0624d subsegs.c: fix EMIT_SECTION_SYMBOLS handling 1994-08-26 21:49:10 +00:00
Ian Lance Taylor
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
Ian Lance Taylor
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
Ian Lance Taylor
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
Ian Lance Taylor
904b6037e8 * configure.in: Recognize i586 as a synonym for i[34]86. 1994-08-24 16:48:38 +00:00
Jeff Law
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
Jeff Law
2cffb4f411 * config/tc-hppa.c (pa_comm): Set sy_resolved for the common
symbol.
1994-08-16 07:54:06 +00:00
Ian Lance Taylor
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
Stu Grossman
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
Ian Lance Taylor
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
Ian Lance Taylor
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
Ian Lance Taylor
55933a587a * config/tc-mips.c (md_parse_option): Accept -mcpu=4400, 4600, and
orion.
1994-08-09 15:18:26 +00:00
Jeff Law
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
Ian Lance Taylor
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
Steve Chamberlain
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
Jeff Law
fbf718862a * config/tc-hppa.c (create_new_space): Initialize sd_subspaces
field in the space chain.
1994-08-01 20:12:41 +00:00
Jeff Law
363d615082 * config/tc-hppa.c (tc_gen_reloc): Cast return value from
hppa_gen_reloc_type.
1994-08-01 08:46:08 +00:00
Ken Raeburn
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
Ken Raeburn
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