Commit graph

1372 commits

Author SHA1 Message Date
Ian Lance Taylor
2db90a6320 * gasp.c: Include libiberty.h.
(main): Remove unused variable i.
1994-05-06 18:39:04 +00:00
Ken Raeburn
23a832d2b9 Note deleted files. 1994-05-06 00:03:20 +00:00
Ken Raeburn
fbefddfb9c * symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions to the symbol
table if it's already been set in the output bfd.
(symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]: Don't use
bfd_abs_section.symbol for gas absolute symbol.
1994-05-06 00:03:11 +00:00
Ken Raeburn
5923201105 doc/Makefile.in (distclean, clean-dvi, clean-info): Delete gasp files too. 1994-05-06 00:00:41 +00:00
Ian Lance Taylor
6d41de1976 * config/tc-mips.c (mips_emit_delays): Make call to
mips_no_prev_insn unconditional.
1994-05-05 22:22:24 +00:00
Ken Raeburn
a139d99b3c * config/obj-coff*.*: Merged coffbfd versions into coff versions, with a single
"#ifdef BFD_ASSEMBLER" controlling most of it for now.  Deleted obj-coffbfd.*
files.
* configure.in: Always use obj-coff.* for COFF targets.
1994-05-05 21:38:25 +00:00
Ken Raeburn
8f10906f94 * config/default.exp: Renamed from unix-gas.exp. 1994-05-05 21:34:11 +00:00
Ken Raeburn
608a26dbb2 * config/te-dpx2.h (TARGET_FORMAT, REGISTER_PREFIX_OPTIONAL): Define.
* configure.in (m68k-bull-sysv3*): Enable.
1994-05-04 20:24:51 +00:00
Ian Lance Taylor
2237e240e3 * config/tc-m68k.h (TARGET_FORMAT): If not TE_SUN3, define as
"a.out-zero.big".
1994-05-04 19:58:58 +00:00
Ken Raeburn
9267b020fa coff_gnu deletion 1994-05-04 17:38:50 +00:00
Ken Raeburn
7617444ce7 not used 1994-05-04 17:33:50 +00:00
Ian Lance Taylor
9fc63ce06a * config/obj-coffbfd.c (fixup_segment): Make common symbol and PC
relative adjustments when TE_LYNX is defined as well as when
	TC_I386 is defined.
1994-05-04 15:31:17 +00:00
Ken Raeburn
3f048548cc adjust_symtab, as.h changes 1994-05-04 07:08:44 +00:00
Ken Raeburn
a3547e53b5 i386-gnu config, coff sync, i960 coff changes 1994-05-04 06:32:20 +00:00
Ken Raeburn
de66fe1f18 (i386-*-gnu*): New target, handled like i386-mach. 1994-05-04 06:29:30 +00:00
Ken Raeburn
8fb85d50cd * obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little endian version.
* obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.

* obj-coff.c (coff_frob_section): Round up the size of every section to a
multiple of the alignment, so that BFD doesn't surprise us.

Eliminate many simple differences between the two COFF back ends:

* obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID.  Made minor
stylistic changes, deleted some register declarations.
(stack_top): Deleted.
(symbol_to_chars): Use absolute_section and reg_section instead of the
corresponding SEG_* symbols.
(obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
(stack typedef, stack_init, stack_delete, stack_push, stack_pop): Moved to just
after pseudo-op table.  All functions now static.
(stack_delete): Removed declaration.
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just after stack
functions.
* obj-coffbfd.h: Reordered some declarations and macros.
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
(stack typedef): Deleted.
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
(SYM_AUXENT): New macro.
(SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
(SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
(SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX, SA_SET_SYM_ENDNDX,
object_headers typedef, data_section_header, text_section_header): Delete
non-BFD_HEADERS versions, since we always define that symbol now.

* obj-coff.c (stack_top): Deleted.
(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, obj_coff_scl,
obj_coff_tag, obj_coff_type, obj_coff_val): Change argument name from "ignored"
to "ignore".
(obj_coff_val): Use frag_now_fix.
(obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't get used.
(stack typedef, stack_init, stack_delete, stack_push, stack_pop): Moved to just
after pseudo-op table.  All functions now static.
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just after stack
functions.
* obj-coff.h: Reordered some declarations and macros.  Protected against
multiple inclusions.
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
(stack typedef): Deleted.
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
(stdoutput): Deleted declaration.
(TARGET_FORMAT) [TC_I386]: Don't define if already defined.
1994-05-04 06:19:26 +00:00
Ian Lance Taylor
1b96bdce15 * subsegs.h (segment_info_type): Use fix_tail field even if
BFD_ASSEMBLER.
	* subsegs.c (subseg_change): Initialize fix_tail field.
	(subseg_get): Likewise.
	* write.c (frags_chained): New static variable.
	(fix_new_internal): If frags_chained is set, use fix_root and
	fix_tail from seg_info (now_seg), rather than frchain_now.
	(chain_frchains_together_1): Set fix_tail field.
	(chain_frchains_together): Set frags_chained.
1994-05-02 21:26:55 +00:00
Ken Raeburn
17f0b355ee * config/tc-mips.c (s_option): Only refer to g_switch_* variables if GPOPT is
defined.
(s_abicalls): Ditto.
(md_apply_fix): Cast char* to unsigned char* to avoid pointer mismatch.
1994-04-28 06:25:53 +00:00
Steve Chamberlain
6d65841ba1 Fix dos on H'digits.. 1994-04-27 18:19:42 +00:00
Steve Chamberlain
fa1a86f302 * configure.in (i386-*-go32): Uses coff now.
* gasp.c (main): Now takes -D on command line.
	(show_usage): Describe new options.
1994-04-27 18:15:14 +00:00
Steve Chamberlain
a5f4bc3075 More testcases. 1994-04-27 18:03:31 +00:00
Ken Raeburn
926ffe9446 m68k changes - optional reg pfx, apollo, delta, init 1994-04-26 22:22:51 +00:00
Ken Raeburn
326aa685fe * tc-m68k.c (flag_reg_prefix_optional): New variable. Initialized to value of
REGISTER_PREFIX_OPTIONAL, if defined, or zero.
(m68k_reg_parse): If flag_reg_prefix_optional is set, permit register prefix to
be absent.
(m68k_ip_op): Accept `&' also for immediate constants.
(insert_reg): Don't bother with (two!?) sanity checks of the symbol table when
inserting each register.
(m68k_parse_long_option): New function.  Set flag_reg_prefix_optional if
"register-prefix-optional" is passed.
* tc-m68k.h (REGISTER_PREFIX): Always define if not already defined.
(OPTIONAL_REGISTER_PREFIX): Don't define.
(REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
or one depending on M68KCOFF.

Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
* tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC): Define as macros instead
of enumerators, since the Apollo compiler can't handle "enumVal1, enumVal2 =
enumVal1" when defining an enum type.
(make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
(tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE, R_DIR16, and
R_DIR32 relocs.
* tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC): Use Apollo versions.
[TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine.  That is, do include the
optional header for Apollo target.
(COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.

* tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%' can be used within a
label name.

* tc-m68k.h (m68k_init_after_args): Declare.
(tc_init_after_args): Define as m68k_init_after_args.
* tc-m68k.c (m68k_init_after_args): New function, containing one-shot code from
md_assemble.  Added warning for combination of 68040 and 68851.
(md_assemble): Startup-time code deleted.
1994-04-26 22:21:15 +00:00
Ken Raeburn
fb51366fe8 * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
also before setting STYP_NOLOAD for .bss section.
1994-04-26 21:28:49 +00:00
Ken Raeburn
b46f83f2d9 * listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and "NO UNDEFINED
SYMBOLS" if there aren't any, instead of displaying the header with an empty
list.
1994-04-26 21:26:04 +00:00
Ian Lance Taylor
497c179acb * doc/Makefile.in (clean, distclean): Remove asconfig.texi. 1994-04-25 20:19:54 +00:00
Ken Raeburn
a926dd6a1b as.c, read.c log entries i forgot to check in friday 1994-04-25 19:55:03 +00:00
Jeff Law
f38cd6ec95 * config/tc-hppa.c (pa_ip): 13 bit immediate constant (for break
instruction) is unsigned.
1994-04-24 07:13:52 +00:00
Ian Lance Taylor
92867d8efa * config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
and bfd_ecoff_set_regmasks to set the GP value and the register
	masks, rather than using the now obsolete fake .reginfo section.
1994-04-22 22:09:44 +00:00
Ken Raeburn
988238d380 * config/obj-coff.c (obj_symbol_new_hook): Don't need to strip underscores,
since symbol_new will already have done it.
* config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
1994-04-22 20:39:01 +00:00
Ken Raeburn
e860dfd0e5 * listing.c (list_symbol_table): Don't print register symbols as undefined. 1994-04-22 20:36:39 +00:00
Ian Lance Taylor
6fdc26e663 * config/tc-mips.c (append_insn): Permit branches to be switched
with the preceding instruction even if .set nobopt has been seen.
	.set nobopt actually controls whether to bring up an instruction
	from the branch target, which gas does not currently support.
1994-04-21 19:53:25 +00:00
Ken Raeburn
71b4de6fb8 * config/obj-coff.h, config/obj-coff.c: Deleted all code used only when
BFD_ASSEMBLER is not defined, and all conditionals relating to such code.  No
such targets remain.

Fixes for stabs-in-coff:
* config/obj-coff.c: Include subsegs.h.
(coff_frob_section): New function.
(obj_coff_init_stab_section): New function.
* config/obj-coff.h (obj_coff_init_stab_section, coff_frob_section): Declare.
(obj_frob_section): New macro; uses coff_frob_section.
(INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
1994-04-20 23:01:40 +00:00
Ken Raeburn
a6652b1c62 * config/tc-sparc.c (md_section_align): Always round up to multiple of
alignment power specified in bfd target vector.
1994-04-20 22:58:13 +00:00
Ken Raeburn
d924d209d3 * gasp.c: Include ctype.h. 1994-04-20 22:48:12 +00:00
Ken Raeburn
19990560be doc, obj-vms.c, ho-sysv.h changes 1994-04-19 01:21:07 +00:00
Ken Raeburn
ed307a20aa added info on warning functions &c 1994-04-19 01:20:04 +00:00
Ken Raeburn
dcdf81bb64 * Makefile.in, as.texinfo: Renamed asdoc-config.texi to asconfig.texi.
* Makefile.in (install-info-as, install-info-gasp): Get file
names from source directory without pathname.
1994-04-19 01:18:54 +00:00
Ken Raeburn
ad8019e829 (VMS_write_object_file): While looking for register mask, skip empty fill frags
caused by enabling listing output.
1994-04-19 01:12:48 +00:00
Ken Raeburn
77c36070dd Include string.h. 1994-04-19 01:08:38 +00:00
Jeff Law
9de7c1fc8d * config/tc-hppa.c (pa_parse_space_stmt): Use the built-in
defaults for defined, private, and spnum fields for the
        $TEXT$ and $PRIVATE$ spaces.  Do not clobber spnum.  Do
        not reset the segment if just updating a space.
        (pa_spaces_begin): Set BFD section flags for all built-in
        subspaces.
1994-04-18 21:29:28 +00:00
Ian Lance Taylor
37032d9599 * ecoff.c (first_proc_ptr): New static variable.
(add_procedure): Set first_proc_ptr if it hasn't been set.
	(ecoff_build_lineno): If the first procedure does not start at
	address zero, insert a dummy line to compensate.
1994-04-15 18:39:31 +00:00
Ian Lance Taylor
e904716cb4 * Makefile.in (bootstrap, bootstrap2, bootstrap3): Make gasp.new
as well as as.new.
1994-04-15 15:07:31 +00:00
Ken Raeburn
c92d9ee900 * Makefile.in: Make $(OBJS) depend on $(ALL_OBJ_DEPS).
* configure.in: Set ALL_OBJ_DEPS in output Makefile.

Based on suggestions from <BAILEY@hmivax.humgen.upenn.edu> (Charles Bailey):
* vmsconf.sh: In generated file, get ".obj" suffix right, build source files
from other directories into objects in the current directory, and specify PSECT
attributes explicitly to linker.  Also added missing label.
* Makefile.in (stamp-mk.com): Reference new variable VMS_OTHER_OBJS for list of
non-local object files, instead of listing them here.
(VMS_OTHER_OBJS): New variable, added more libiberty files.
* make-gas.com: Regenerated.

* config/ho-vms.h (unlink): Define as delete.

* config-gas.com: Fix quoting on TARGET_CANONICAL definition.  Delete files
before creating them.
1994-04-14 22:46:53 +00:00
Ken Raeburn
d6f98c552b * expr.c (operand): Try to parse "0f" and "0b" sequences as floating point and
binary numbers respectively; if it doesn't work, treat them as local labels.
1994-04-14 22:30:22 +00:00
Ian Lance Taylor
b3cd855535 * Makefile.in (de-stage1, de-stage2, de-stage3): Use rm -f. 1994-04-14 20:39:39 +00:00
Ian Lance Taylor
2f06dd5c75 Remove assertion that was not intended to be checked in. 1994-04-14 17:59:14 +00:00
Ian Lance Taylor
1a69212c01 config/tc-mips.[ch] changes. 1994-04-14 17:40:43 +00:00
Ian Lance Taylor
ecd4ca1cef * config/tc-mips.h (DIFF_EXPR_OK): Define.
* config/tc-mips.c (macro_build): Permit BFD_RELOC_PCREL_LO16 for
	certain cases of 'i', 'j' and 'o'.  Change 'u' to take an
	argument, the reloc type.
	(load_register): Pass reloc type to macro_build for 'u'.
	(macro): Likewise.  For M_LA_AB permit a difference expression
	when generating embedded PIC code between an arbitrary symbol and
	a symbol in the .text section.
	(mips_force_relocation): Force BFD_RELOC_PCREL_HI16_S and
	BFD_RELOC_PCREL_LO16 to be emitted.
	(md_apply_fix): Check that most relocs are not PC relative.
	Handle BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
	(tc_gen_reloc): Change #error to as_fatal.  Handle
	BFD_RELOC_PCREL_LO16 and BFD_RELOC_PCREL_HI16_S.
1994-04-14 17:39:55 +00:00
Stan Shebs
cc886e3d1e Tue Apr 12 18:25:13 1994 Stan Shebs (shebs@andros.cygnus.com)
* subsegs.c (subsegs_begin): Call memset with args in the correct
	order.
	(subseg_get): Clear newly allocated seginfo, set its pointer slots
	to NULL instead of 0.

Fixes a problem observed in sparc-lynx progressive.
1994-04-13 02:02:48 +00:00