Commit graph

1053 commits

Author SHA1 Message Date
Ian Lance Taylor
9cc7c60b40 * config/tc-sh.h (tc_init_after_args): Don't define.
* config/tc-sh.c (md_begin): Remove unused variable table.
	(md_assemble): Remove unused variable p.
	(md_convert_frag): Cast fr_address to unsigned long for printf.
	(md_apply_fix): Use as_warn_where rather than as_warn.
	(sh_init_after_args): Remove empty function.
1995-01-23 19:22:52 +00:00
Ian Lance Taylor
eb10ff23af * configure.in (i386-*-gnu*elf*): New target. 1995-01-23 19:09:02 +00:00
Ian Lance Taylor
be7571b69a * hash.c (hash_ask): If we find the slot after wrapping around,
break out of the loop.  Fixes bug in Jan 18 change.
1995-01-22 00:04:01 +00:00
Ken Raeburn
b2683e0914 back out new hash routine 1995-01-20 22:14:27 +00:00
Ken Raeburn
11618ce8f2 gcc lint 1995-01-19 21:04:08 +00:00
Ken Raeburn
8e86815b1c Cleanup of VAX and VMS code, from Pat Rankin:
* config/obj-vms.c: Changed exported function names to lower case.  (Changed
call sites in write.c.)  Declare VMS system function names used, conditional on
actually being on VMS.  Changed many functions that returned no useful value to
now be declared to return void.  Removed many unused variables.  Supply missing
return statements or values.  Supply `default' case in switch statements.
Ensure local variables get initialized.
* config/tc-vax.c: Minor changes to silence "gcc -Wall".
* config/obj-vms.h, config/tc-vax.h: Added some missing declarations.
1995-01-19 20:01:07 +00:00
Ian Lance Taylor
6ece68f0b3 * write.c (fix_new_internal): Clear fx_bsr on those targets which
use it.
1995-01-19 00:17:57 +00:00
Ken Raeburn
fca2796aec some improvements to fp code 1995-01-19 00:13:30 +00:00
Ken Raeburn
29c8d82c45 sparc, coff, hash changes 1995-01-18 18:53:49 +00:00
Ian Lance Taylor
96d1566d78 gcc -Wall lint.
* expr.c (operand): Parenthesize && within ||.
	* listing.c (listing_newline): Likewise.
	(list_symbol_table): Use %lu to print sizeof.
	* symbols.c: Comment out unused function indent.
	(print_symbol_value_1): Cast pointer to unsigned long for printf.
	* config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
	will be used.
	* config/tc-h8300.c (md_begin): Remove unused variable reg.
	(get_operand): Declare type of parameter direction.  Remove unused
	variable size.
	(get_specific): Fix comment to avoid nested comments.
	(check_operand): Cast X_add_number to unsigned long for printf.
	(build_bytes): Remove unused local variables output_ptr, part, and
	high.
	(build_bytes): Cast X_add_number to unsigned long for printf.
	(clever_message): Remove unused variable scan.
	(md_assemble): Remove unused variable i.
	(tc_coff_sizemachdep): Remove unused function.
	* tc-h8300.h (tc_reloc_mangle): Declare.
1995-01-18 17:24:48 +00:00
Ian Lance Taylor
23f61eaae8 * config/tc-mips.c (mips_4650): New static variable.
(md_begin): Handle a cpu string of "4650".  If mips_4650 was not
	initialized, set it to 0.
	(append_insn): Don't insert nops around HI and LO on a 4650.
	(mips_emit_delays): Likewise.
	(mips_ip): Use INSN_ISA mask to check ISA of instruction.  Check
	for INSN_4650.
	(md_longopts): Add m4650 and no-m4650.
	(md_parse_option): Handle mips-cpu=4650.  Handle -m4650 and
	-no-m4650.
	* doc/as.texinfo: Document new MIPS options.
1995-01-17 16:13:44 +00:00
Steve Chamberlain
a11a8d55ee * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
* config/obj-coff.h: Cope with w65.
	* configure, configure.in: Recognize w65.
1995-01-16 00:40:48 +00:00
Ken Raeburn
203235652d * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get' function is
scrub_from_file, call scrub_from_file directly, and get gcc's inlining
capability into the act.
1995-01-13 01:05:42 +00:00
Ken Raeburn
3a762a0bfd Use new hex-value code in libiberty:
* Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
(OBJS): Delete hex-value.o.
(REAL_SOURCES): Delete hex-value.c.
(hex-value.o): Delete dependencies.
* hex-value.c: Deleted.
* as.c (main): Call hex_init.
* expr.c, config/tc-mips.c: Include libiberty.h.  Replace hex_value array
references with hex_* macros.
1995-01-12 23:00:26 +00:00
Ken Raeburn
c01ebe2a5e Don't generate 68020 addressing modes for a 68000 cpu. 1995-01-12 00:34:50 +00:00
Ken Raeburn
7a55f46268 * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k specially
with regard to fixups.
1995-01-10 18:42:28 +00:00
Ken Raeburn
483971bdbf * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to bfd_vma before
subtracting.
1995-01-10 01:45:53 +00:00
Ken Raeburn
aac4d5a77f * config/obj-coff.c (size_section): Handle rs_space like rs_fill, but make sure
fr_symbol is null.
(fill_section): Ditto.
1995-01-10 01:41:54 +00:00
Ian Lance Taylor
1113140a24 * config/tc-mips.c (mips_ip): Fix handling of floating point
values when GPOPT is not defined.
1995-01-08 21:17:56 +00:00
Ken Raeburn
71f9b3c097 * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until after any
remaining operands are also known to match.
1995-01-06 22:02:27 +00:00
Ken Raeburn
2a6978af8d * gasp.c: Include string.h. Put config.h before other includes. 1995-01-06 22:00:50 +00:00
Ken Raeburn
cd3b81bd4c Handle .space directive with non-constant operand:
* read.c (s_space): Rewrite to handle general expressions.  Generate rs_space
frags for non-constant values.
* write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space like rs_align
and rs_org.  Verify that fr_offset is non-negative, and force frag type to
rs_fill only after assertion checks.
(relax_segment): Treat rs_align_code like rs_align.  Treat rs_space like rs_org
in the first switch; in the second, force the operand to a constant, and use it
for the growth size.
1994-12-31 00:08:40 +00:00
Ken Raeburn
849515449b * Makefile.in (dependencies): Make $(OBJS) depend on as.h and everything it
includes.  Delete those files from per-file dependencies.
1994-12-30 23:56:14 +00:00
Ken Raeburn
f949f7b8c5 * listing.c (list_symbol_table): Build a format string based on the size of the
value to be printed, as long as "unsigned long" is at least as wide, after
handling the special case of 4-byte values.
1994-12-30 23:54:59 +00:00
Jeff Law
582d2a4d37 * config/tc-hppa.c (pa_subspace): For sections with the ZERO
attribute, set the "bss" field in the appropriate seginfo structure.
1994-12-29 03:59:28 +00:00
Ken Raeburn
4a9c666ec2 * subsegs.h: Include obstack.h.
* as.h (struct frag): Enable align* components now.
1994-12-28 20:02:03 +00:00
Ken Raeburn
87e4849501 * frags.c (frag_init): Call obstack_begin on `frags'.
* subsegs.c (subsegs_begin): Don't do it here.
* as.c (main): Call frag_init before subsegs_begin.

* frags.c (frag_append_1_char): New function.
* frags.h (frag_append_1_char): Declare it.
(FRAG_APPEND_1_CHAR): Call it.  Old definition is commented out for now.

* as.h (struct frag): Added (but commented out) new fields for tracking current
alignment.
(frag_now_fix): Changed macro to function declaration.
* frags.c (frag_now_fix): Define function here.
(frag_new): Use it instead of accessing `frags' directly.
* frags.h (frags): Change comment to indicate it shouldn't be accessed directly.
* subsegs.h (struct frchain): New field frch_obstack, intended to eventually
replace global `frags' obstack.
* subsegs.c (subseg_set_rest): Use frag_now_fix instead of accessing `frags'
directly.  Initialize fields of new frchainS explicitly instead of with memset.
* config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use frag_now_fix.
* config/tc-mips.c (s_loc), config/obj-vms.c (vms_resolve_symbol_redef),
symbols.c (colon): Likewise.
1994-12-20 22:42:03 +00:00
Ken Raeburn
9ad5755f7b * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT instead of long
and unsigned long.
(md_apply_fix): Cast value before passing it.
1994-12-20 20:23:41 +00:00
Ken Raeburn
d675782a06 * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h, config/obj-som.h,
config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h, config/tc-sh.c,
config/tc-z8k.c: Don't rely on use of ".." when including header files.
* config/tc-rce.c: Ditto.

* config/obj-coff.c (fixup_segment): Reformat condition in an `if' statement.
1994-12-20 20:07:41 +00:00
Ken Raeburn
7e2283d46c * Makefile.in (SUBDIR_INCLUDES): Deleted. 1994-12-20 19:59:57 +00:00
Ian Lance Taylor
972b240176 * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h. 1994-12-20 18:44:46 +00:00
Jeff Law
b8f7596cbe * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
clear for a section with the "ZERO" attribute.
1994-12-19 22:33:35 +00:00
Ian Lance Taylor
847a01cd4c * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
constants.
	(mips_ip): Accept O_big constants in case 'I'.  Change case
	'i'/'j' to treat an O_big constant as an out of range value.
1994-12-19 22:02:01 +00:00
Jeff Law
60937ce7c2 * Reduce useless symbols for ELF in an attempt to make smaller
objects and speed up the linker.
	* config/tc-hppa.c (struct call_info): Replace end_symbol field
	with a size field.
	(hppa_elf_mark_end_function): Delete unneeded function.
	(pa_build_unwind_subspace): For the 2nd unwind relocation, use
	the function symbol + function size instead of a special symbol
	for the end of the function.
	(process_exit): Compute the function size here.  Don't call
	hppa_elf_mark_end_of_function anymore.
	(pa_procend): Likewise.
	(hppa_fix_adjustable): Only reject 32bit relocations for SOM.
	(elf_hppa_final_processing): Simplify.
1994-12-19 21:23:20 +00:00
David Edelsohn
88cc1324ff Various arc stuff. 1994-12-19 21:07:43 +00:00
Ken Raeburn
5cda0c7a7f * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but reject other
vendors until we can be sure we're consistent with bfd.
1994-12-19 20:06:12 +00:00
Ken Raeburn
703139a83b some cleanup of vms code -- sizeof usage &c 1994-12-19 19:18:23 +00:00
Ken Raeburn
091f3a62a8 * config/tc-h8300.c (parse_exp, get_operands, clever_message, md_assemble,
tc_crawl_symbol_chain, md_undefined_symbol, tc_headers_hook, md_operand,
md_number_to_chars): Don't use DEFUN.
1994-12-17 01:11:20 +00:00
Ken Raeburn
d690577632 * config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
(md_relax_table): Use static initialization.
1994-12-17 01:05:10 +00:00
Ken Raeburn
b63defaa3c * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET, CC_FOR_TARGET,
OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not used.
(AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM, NM_FOR_TARGET):
Don't define.
(VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
(tooldir): Use exec_prefix, not libdir.
1994-12-17 01:03:15 +00:00
Stan Shebs
254603ca33 * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h. 1994-12-16 20:06:38 +00:00
Stan Shebs
719153bfe7 * as.h: Include progress.h.
* as.c (main): Call START_PROGRESS and END_PROGRESS.
	(main, perform_an_assembly_pass): Call PROGRESS.
1994-12-16 19:41:56 +00:00
Ian Lance Taylor
0141b6c276 * write.c (adjust_reloc_syms): Use bfd_is_und_section and
bfd_is_abs_section rather than comparing against &bfd_und_section
	and &bfd_abs_section.
1994-12-16 05:49:05 +00:00
Jim Wilson
8b1f3552cf * config/tc-sh.c (md_begin): Use a local variable when
initializing md_relax_table to avoid errors about modifying a
	const data structure.
1994-12-15 23:30:01 +00:00
Ian Lance Taylor
7ac36f6470 * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
appears to no longer be needed.
1994-12-13 20:43:28 +00:00
Ian Lance Taylor
6baef6d24a * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
requiring that the X_op_symbol be in the text_section.
	(macro): Change the test for a legel expression difference to
	correspond to changes in pseudo_set in read.c.
1994-12-13 16:07:02 +00:00
Ken Raeburn
a55774a124 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use bfd_install_relocation. 1994-12-10 02:10:44 +00:00
Ken Raeburn
3504635adc * ecoff.c (ecoff_set_gp_prolog_size): If there is no current routine, just
return.
1994-12-10 02:09:12 +00:00
Ken Raeburn
bd8696524a * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode value from
pattern instead of assuming jsr.
* config/alpha-opcode.h (jmp): Add a "1,Bc" form.
1994-12-10 02:06:26 +00:00
Ken Raeburn
b8f5275075 * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just plain nm. 1994-12-09 01:19:22 +00:00
Ken Raeburn
c574599626 added mips-gnu target for roland 1994-12-08 23:36:37 +00:00
Ken Raeburn
4181c9853b configure.in: fix ns32k-pc532-mach* and mips-sony-bsd* configs 1994-12-08 22:54:22 +00:00
David Edelsohn
6ea93cc98c Initial ARC support. 1994-11-30 02:16:54 +00:00
Ken Raeburn
23c17feaa7 delete signal handler code (which has been disabled since March 93) 1994-11-30 01:01:13 +00:00
Ken Raeburn
d2a0c9f960 switch to libiberty version of xmalloc 1994-11-30 00:56:43 +00:00
Ken Raeburn
75af551fc4 log for alpha, sanitize, m68k, rce (sanitized) changes 1994-11-29 22:30:53 +00:00
David Edelsohn
326fe1a335 (do_scrub_next_char): Insert missing newline at end of file
like warning says we do.
1994-11-28 19:38:39 +00:00
Jeff Law
e07f892633 * config/tc-hppa.h (pa_check_eof): Declare new extern function.
(tc_frob_file): Define to call pa_check_eof.

	* config/tc-hppa.c (pa_check_current_space_and_subspace): New
	function to verify the current space and subspace are reasonable.
	Call for the appropriate pseudo-ops and before instruction parsing.
	(pa_check_eof): New function to verify enter/exit and proc/procend
	pairs match at EOF.
	(pa_code): Simplify.

	* config/obj-som.c: Delete #if 0 code.
1994-11-28 07:54:07 +00:00
Steve Chamberlain
3f67e00028 * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and coff-sh.
* config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
	* config/tc-sh.c  (little): New function.
	(md_parse_option): Notice new option.
	(build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
        Cope with little endian data.
	* config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
1994-11-24 03:42:15 +00:00
Jeff Law
32c7d5d864 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
change.  The real bug was in bfd/elfcode.h and has been fixed.
1994-11-23 17:57:00 +00:00
Jeff Law
740e5428b0 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
to the relocation's offset.
1994-11-23 06:34:13 +00:00
Steve Chamberlain
aa30c7ee22 * Makefile.in (INSTALL_XFORM): Fix typo. 1994-11-22 23:18:24 +00:00
J.T. Conklin
3a443b1efe * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
.set (no)volatile directives.
1994-11-22 18:29:07 +00:00
Jeff Law
e67b3aa3a7 * config/tc-hppa.c (pa_align): New function. Aligns the current
offset within the current subspace along with updating the
	alignment of the subspace itself.
	(pa_subspace): Default alignment to one byte rathern than zero
	bytes to avoid setting alignment to log2(0).
	(md_pseudo_table): Use pa_alignment for .align.
1994-11-16 04:58:48 +00:00
Ken Raeburn
8de6b5f8e9 messages.c (as_fatal): put space after "fatal error:" 1994-11-15 20:26:22 +00:00
Jeff Law
1a9a95bb2a * gas/config/tc-hppa.h (obj_frob_symbol): Delete ELF specific
definition.
	(tc_frob_symbol): Make this condition on OBJ_SOM or OBJ_ELF.  For
	ELF, subtract out the symbol->section->vma for non-common symbols.

	* gas/testsuite/gas/hppa/unsorted/unsorted.exp (importbug): Tweak
	to match current expected ELF output.
	* gas/testsuite/gas/hppa/reloc/reloc.exp
	(do_plabel_relocation_test, do_r_no_reloc): Likewise.
1994-11-15 18:35:32 +00:00
Ken Raeburn
757d41299e add delta68 config 1994-11-09 19:57:37 +00:00
Ian Lance Taylor
642b618673 * config/tc-ppc.c (ppc_bf): Always set coff_line_base.
PR 5830.
1994-11-09 19:53:58 +00:00
Ken Raeburn
3e7acf981d * configure.in: Compare generic cpu name against "sparc", not "sparc*", since
sparc variants should be changed to "sparc".
* configure: Regenerated with autoconf 2.1.
1994-11-07 20:29:46 +00:00
Ken Raeburn
f4c01c9548 tc-a29k.c: some cleanup; range-checking on JUMPTARG relocs 1994-11-07 07:04:09 +00:00
Ken Raeburn
b4123234f0 remove unused file config/go32.mh 1994-11-04 01:29:10 +00:00
Ken Raeburn
5b162d3777 * read.c (get_absolute_expression): Indicate that the error may merely be that
the expression can't currently be reduced.
1994-11-04 01:22:47 +00:00
J.T. Conklin
0cb42d6f8e * config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
"a.out-m68k-netbsd".
* config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
  "a.out-sparc-netbsd".

* config/te-nbsd.h: New file, NetBSD target emulation
* config/te-netbsd.h: Removed.
* configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*):
  Set bfd_gas.  Use nbsd emulation.
1994-11-04 00:13:13 +00:00
Ken Raeburn
f28891108c Changes from net 2.5.2 release branch:
* configure.in: Put AC_DEFINE(sparcv9) on its own line, so that the shell
variable settings associated with it are permanent.  For CPUs requiring
bfd_gas=yes, select it based on CPU only, not individual target names.  Handle
m68k-hp-hpux*, not just -hpux.

* config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument to match
prototype in obj-coff.h.

* configure.in: Skip tests for defining WANT_FOPEN_BIN and IBM_COMPILER_SUX.
* acconfig.h: Deleted them.
* configure, conf.in: Rebuild with autoconf 2.0.
* config/go32.cfg, config/vms-conf.h: Updated.

* config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
IBM_COMPILER_SUX version of code, with comments indicating why.

* listing.c (file_info): Use text mode when opening file for read.  Use "r"
directly, no macro.
* input-file.c (input_file_open): Don't use FOPEN_RT, just use "r".
* read.c (s_include): Ditto.
* output-file.c (output_file_create): Try both "wb" and "w", don't bother with
FOPEN_* macros.
* as.h: Don't include fopen-*.h.

* config/alpha-opcode.h: Make "ret" with no operands equivalent to "ret
zero,(ra)", to match OSF1 and to be consistent with both one-operand forms.

Patches from DJ Delorie:
* as.h (alloca): undef alloca before defining it just in case
* config/go32.cfg: new file for autoconf values
* config/te-go32.h: new file
* configure.bat: new for autoconf

* config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had = for ==.

* configure.in: If target_frag doesn't exist, use /dev/null.

* as.c (parse_args): For non-VMS systems, re-add `v' to std_shortopts.  Add
"verbose" to list of long options.

* write.c (adjust_reloc_syms): When generating an absolute section symbol as a
placeholder, don't mark it as used in a relocation entry, here.

* Makefile.in (comparison): Compare using makefile code from gcc, stripped down
to discard subdir stuff and adapted to give a non-zero exit status if either
file differs.
1994-11-03 23:15:54 +00:00
Ian Lance Taylor
a2c49209cf * config/tc-mips.c (load_address): Fix RELAX_ENCODE arguments for
NO_PIC case.
1994-11-03 20:50:07 +00:00
Ian Lance Taylor
da15a93ea1 * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
switching to the readonly data section.
1994-11-01 22:07:46 +00:00
Ian Lance Taylor
2622a6c256 * ecoff.c (ecoff_directive_type): Fix warning message. 1994-11-01 21:39:38 +00:00
Jeff Law
ec11c09cf8 * config/tc-hppa.c (pa_proc): Delete disabled code to put each
proc in its own subspace, we're not going to use it.
1994-10-30 07:00:14 +00:00
Ian Lance Taylor
94b68f040c * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
.rdata does not become a variant frag.
1994-10-25 21:24:02 +00:00
Ian Lance Taylor
4bb0cc41f2 * config/tc-mips.c (mips_cpu): Initialize to -1.
(md_begin): Don't mips_cpu if it was already set.
	(md_parse_option): For -mipsN, don't set mips_cpu if it was
	already set.  For -mcpu=, just set mips_cpu, not mips_isa.
1994-10-25 18:47:09 +00:00
Ian Lance Taylor
9da4c5d130 * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
(s_elf_section): New static function.
	* ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
	the section when setting the storage class; default to sc_Data.
1994-10-22 00:51:53 +00:00
Jeff Law
e443a02120 * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
fixups to branch instructions (not just pc-relative ones) which
	will generate SOM relocations.
1994-10-20 06:45:55 +00:00
Ian Lance Taylor
030915dc25 * config/tc-a29k.c: Include ctype.h with angle brackets.
(define_some_regs): Add new special register names defined on the
	29040.
	(parse_operand): Add argument opt.  If non-zero, don't warn about
	a missing operand.
	(machine_ip): If handling argument type 'I', pass opt as non-zero
	to parse_operand.  Handle new optional operand type 'I'.
	(md_undefined_symbol): Handle special register names (srNN).
1994-10-19 17:46:43 +00:00
Ian Lance Taylor
683f474317 * write.c (renumber_sections): New static BFD_ASSEMBLER function.
(write_object_file): Call it after removing gas created sections.
1994-10-18 04:46:45 +00:00
Ian Lance Taylor
62d396892b * symbols.c (symbol_create): Use udata.p, not just udata.
* config/obj-elf.c (obj_ecoff_set_ext): Likewise.
	(elf_get_extr): Likewise.
1994-10-17 23:52:27 +00:00
Ian Lance Taylor
f10a96cbec * read.c (read_a_source_file): The second argument to as_where is
unsigned int *, not int *.
1994-10-17 22:07:16 +00:00
Ken Raeburn
2d928291b6 From 2.5 release:
* Makefile.in (BISON): Use bison -y, not bison.

* Makefile.in (VERSION): Updated to 2.5.
(clean-here): Delete stamp-mk.com.
(distclean): Delete .gdbinit.

Also, note release in changelog.
1994-10-14 23:08:21 +00:00
Ken Raeburn
ba49e48d26 Renamed config/te-netbsd532.h to te-nbsd532.h. 1994-10-13 00:33:21 +00:00
J.T. Conklin
4992dbc960 * config/cplus-dem.c: Removed. It isn't used. Even if it was,
it's better to use the one in libiberty.
1994-10-12 23:35:54 +00:00
Ken Raeburn
2cc0357f7f * symbols.c (resolve_symbol_value, case O_symbol): Undo last change; it breaks
the rs6000 support, and doesn't seem to be needed.
1994-10-12 22:53:26 +00:00
J.T. Conklin
eab55c1cef * config/tc-i386.h,te-netbsd532.h (TARGET_FORMAT): Changed to
a.out-<arch>-netbsd to match corresponding changes in BFD.
1994-10-12 19:01:58 +00:00
Ian Lance Taylor
f0b556a2d3 * config/tc-ppc.c (ppc_fix_adjustable): Resolve symbol values
rather than explicitly adding the frag address.
	* config/obj-coff.c (coff_frob_symbol): Add a zero entry to mark
	the end of the line numbers; this replaces the zero entry which
	used to be added by coff_add_linesym, removed Oct 7.
	(coff_adjust_section_syms): Ignore sections with no seginfo.
Update the RS/6000 assembler for recent gas changes.
1994-10-12 18:11:52 +00:00
Ken Raeburn
3256c4b58e * Makefile.in (bootstrap, bootstrap2, bootstrap3): Create a "stage" symlink to
the appropriate stage* directory, and use it instead in the -B options.
(comparison): Revert yesterday's change.
1994-10-12 05:46:05 +00:00
Ken Raeburn
15dc8a201f * config/tc-sparc.c (tc_gen_reloc): For non-a.out relocations, if pc-relative,
use fx_offset only, ignore address of relocation.
1994-10-12 05:41:45 +00:00
Ian Lance Taylor
c8caa6c5f2 * config/tc-mips.c (mips_ip): Don't use S_IS_LOCAL when checking
for an embedded PIC switch expression, since the definition of
	S_IS_LOCAL was changed.
1994-10-11 19:25:42 +00:00
Ken Raeburn
6d60424f34 * Makefile.in (comparison): When comparing as.new or gasp.new, try running the
binary through sed to avoid differences due to "stage1" or "stage2" having been
written into the binary.
1994-10-11 19:12:55 +00:00
Ken Raeburn
15a90f75cb elf fixes 1994-10-08 07:55:52 +00:00
Ken Raeburn
ecee402702 coff aux/lineno, m88k, vms/flagseen changes 1994-10-07 22:06:01 +00:00
Ian Lance Taylor
b2d7b32596 * config/obj-coff.c (coff_frob_section): Remove assert about
section alignment.
	* config/tc-sparc.c (md_section_align): Use section alignment, not
	xvec align_power_min field.
1994-10-05 04:13:29 +00:00
Jeff Law
05d0c2cce6 Add ChangeLog entry that (apparently) I nuked. 1994-10-04 23:30:39 +00:00
Ken Raeburn
13a336c4a1 Rewrote make-gas.com handling so that only "make realclean" will remove it. 1994-10-01 04:30:10 +00:00
Ken Raeburn
dc87e0ce66 vms make-gas.com stuff 1994-10-01 04:20:16 +00:00
Ken Raeburn
76a390e234 i386 pic changes
as.h: __STDC__ -> varargs
write.* PLT changes
write.c,symbols.c debug changes
1994-10-01 03:52:42 +00:00
Ken Raeburn
10ff87e954 yesterday's gdbinit changes 1994-09-30 20:22:59 +00:00
Ken Raeburn
9dc6c00f8d * write.c (print_fixup): Print source location on first line. Show fx_r_type
and fx_addsy fields.
1994-09-29 23:00:45 +00:00
Ken Raeburn
b8480abc20 misc changes to configure.in, gdbinit.in, as.h, symbols.c 1994-09-28 23:24:07 +00:00
Ian Lance Taylor
620a590eed * Makefile.in (gasp.o): Depends upon config.h. 1994-09-28 19:28:24 +00:00
Ken Raeburn
9ff0f5efd6 write.c changes, Makefile.in version update 1994-09-28 19:22:46 +00:00
Ken Raeburn
648acaa0c0 * expr.c (make_expr_symbol): No longer static. Use symbol_create, not
symbol_new, for symbols holding expression values.
* expr.h (make_expr_symbol): Move declaration here.
1994-09-28 19:09:16 +00:00
Ian Lance Taylor
3f42c69e79 * config/tc-mips.c: Include subsegs.h.
(md_apply_fix): If an unconditional b or bal overflows, and we are
	not assembling PIC code, replace it with a j or jal.
1994-09-28 17:41:07 +00:00
Ian Lance Taylor
7b777690a8 * config/tc-mips.c (md_apply_fix): Correct branch overflow test.
Use as_bad_where and as_warn_where rather than as_bad and as_warn.
1994-09-28 15:55:31 +00:00
Ken Raeburn
cacd15c40d typo fixes from pat rankin 1994-09-23 22:56:48 +00:00
Ian Lance Taylor
144659ab48 * symbols.h (copy_symbol_attributes): Declare. 1994-09-23 18:54:40 +00:00
Kung Hsu
bdaa198ad5 Modified Files:
ChangeLog ecoff.c read.c

        * ecoff.c (ecoff_generate_asm_lineno): check if
        current_stabs_filename is NULL before strcmp.
        * read.c (read_a_source_file): fxi a bug in generate_asm_lineno
        checking.
1994-09-22 20:43:39 +00:00
Ken Raeburn
8068b96a5f vms, ho-*.h, sym attr changes just checked in 1994-09-21 22:23:30 +00:00
Ian Lance Taylor
87bbf920bb * config/tc-ppc.c (ppc_current_block): New static variable.
(ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
	ppc_current_block.  Don't move around any stab symbol, just those
	for common symbols.
	(ppc_bs): Set ppc_current_block.
	(ppc_es): Clear ppc_current_block.
	(ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
	from the csect of the enclosing block.
PR 5658.
1994-09-21 17:43:17 +00:00
Ian Lance Taylor
3af9783a6e * config/tc-mips.c (insns_since_cache_access): Remove.
(append_insn): Remove setting of insns_since_cache_access, and
	special 4600 handling; it turns out not to be required.
PR 5664.
1994-09-21 17:03:04 +00:00
Ian Lance Taylor
e8d4d4758b * config/tc-mips.c (md_shortopts): Remove E.
(md_longopts): Add EB and EL.
	(md_parse_option): Handle -EB and -EL as separate options, rather
	than as a single -E option with an argument.
1994-09-20 20:16:24 +00:00
Jeff Law
8268e3ec91 * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions
involving global symbols too.
1994-09-19 18:47:37 +00:00
Ken Raeburn
35e70f5826 vms work, pseudo_set fixes 1994-09-19 16:40:54 +00:00
Ken Raeburn
eb3028aa95 * as.h: Test NEED_DECLARATION_*, not NEED_*_DECLARATION.
* configure.in: Test for remove, not delete.  Fix cross-assembler test.
* as.h: Test HAVE_REMOVE, not HAVE_DELETE; define unlink to remove, not delete.
1994-09-19 16:17:53 +00:00
Ian Lance Taylor
d1578de3b0 * config/obj-coff.c (c_dot_file_symbol): Use bfd_abs_section_ptr,
not &bfd_abs_section.
1994-09-19 16:06:43 +00:00
Ian Lance Taylor
e36830425e * expr.c (clean_up_expression): Use addressT, not bfd_vma. 1994-09-15 22:50:44 +00:00
Jeff Law
fcacfef6ae * expr.c (expr): Don't reduce the difference of two symbols in the
same frag if the symbols are not in normal sections.
1994-09-14 03:53:14 +00:00
Jeff Law
75c28b4966 * config/obj-som.h (S_SET_OTHER, S_SET_TYPE): Delete a.out crud.
(S_SET_DESC, S_GET_OTHER, S_GET_TYPE, S_GET_DESC): Likewise.
	(obj_attach_unwind_info): Do not define.  Not needed anymore.
	* config/tc-hppa.c: Delete whitespace at EOL.
	(struct hppa_fix_struct): Delete fx_unwind field and all references.
	(fix_new_hppa): Last arg is now a pointer to an int.  Do not
	call obj_attach_unwind_info anymore.  For SOM R_ENTRY and R_EXIT
	fixups, store 32bits of unwind information in the fx_addnumber
	field of the fixup.
	(md_assemble, pa_entry, process_exit, pa_procend): For SOM R_ENTRY
	and R_EXIT fixups, pass a NULL pointer to fix_new_hppa, and a
	pointer to 32 bits of unwind info.
	(tc_gen_reloc): For SOM R_ENTRY and R_EXIT fixups, set the symbol
	pointer to the dummy symbol; set the addend field to fx_addnumber.
	(pa_comm, pa_equ, pa_type_args, pa_import): Use bfd_XXX_section_ptr
	rather than &bfd_XXX_section.
1994-09-14 02:20:24 +00:00
Ken Raeburn
d7152d074b 386_GOTPC fix from ericy 1994-09-14 01:43:21 +00:00
Ken Raeburn
26f4447a60 Some Vax and VMS bug fixes from Pat Rankin. 1994-09-14 01:30:56 +00:00
Ken Raeburn
b9419dd224 Do unlink/delete test properly.
Replace HO_VMS tests with VMS.
1994-09-14 00:54:00 +00:00
Steve Chamberlain
a989856340 Tue Sep 13 16:45:08 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* config/obj-coff.c (do_relocs_for):  If TC_KEEP_FX_OFFSET
	is defined, put the tx_offset into the r_offset.
	* config/tc-sh.c (line_comment_chars): Add #
	(tc_reloc_mangle): Deleted.
	* config/tc-sh.h (TC_KEEP_FX_OFFSET): Define.
	(TC_RELOC_MANGLE): Delete.
1994-09-14 00:01:45 +00:00
Ken Raeburn
460531dad9 Use EXIT_SUCCESS and EXIT_FAILURE in all exit calls.
Use exit rather than returning from main, for consistency on VMS.
Call as_fatal instead of as_bad or as_warn followed by exit.
1994-09-13 23:07:48 +00:00
Ken Raeburn
28d3e4a3f8 * Makefile.in (*_FOR_TARGET, INSTALL_XFORM, install, uninstall): Rewrite
handling of program_transform_name.

* configure.in: Test for "unlink" and "delete", define USE_DELETE_FOR_UNLINK if
only the latter is found.  Not expected to be triggered on UNIX/POSIX systems.
* acconfig.h (USE_DELETE_FOR_UNLINK): Undef here, provide comments.

Update for autoconf 1.118:
* gdbinit.in: New file, created from old .gdbinit.
* .gdbinit: Deleted.
* aclocal.m4 (GAS_GDBINIT): Deleted.
* configure.in: Don't use it.  Instead, generate .gdbinit from gdbinit.in.
Don't substitute cpu_type, obj_format, emulation, atof.  Switched order of
AC_LINK_FILES arguments.  Use AC_PREREQ to ensure that older versions of
autoconf aren't used.
* Makefile.in: Added @configure_input@ line.
(configure): Deleted rule.

[regenerated conf.in, configure]
1994-09-13 22:27:20 +00:00
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
Ken Raeburn
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
Ken Raeburn
462ab71d9b deleted atof-ns32k.c, no longer used 1994-07-14 21:58:13 +00:00
Ken Raeburn
259e35d4e9 updated ns532 support from Ian Dall 1994-07-14 18:58:06 +00:00
Ken Raeburn
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
Ian Lance Taylor
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
Ken Raeburn
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
Ken Raeburn
6b510a40ae config/ho-sysv.h (realloc): Declare. 1994-07-13 01:28:47 +00:00
Kung Hsu
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
Ian Lance Taylor
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
Ian Lance Taylor
64d527f761 * ecoff.c (ecoff_build_lineno): Handle count correctly for last
line number.
1994-07-09 04:11:19 +00:00
Steve Chamberlain
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
Kung Hsu
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
Steve Chamberlain
13d9fd33a4 * gasp.c (get_any_string): Cope with getting a string with an
alternate base specifier.
	(do_aif, do_aelse): Only enable output if expression is true and previous
	level was on.
	(chartype_init):  Add BASEBIT chartype.
	(process_pseudo_op):  Notice nesteed AIFs.
1994-07-08 00:13:14 +00:00
Jeff Law
8fd04cbacc * config/tc-hppa.c (hppa_fix_adjustable): Reject reductions for
symbols in DLT relative relocs.
	(tc_gen_reloc): Zero out the addend field for DLT relative relocs.
1994-07-07 17:35:27 +00:00
Ian Lance Taylor
8882a587d9 * config/tc-ppc.c (ppc_tc): If not OBJ_COFF, force TOC entry to
align to a four byte boundary.
1994-07-06 05:14:48 +00:00
Ken Raeburn
10f67315f9 some internals doc updates 1994-07-05 21:00:22 +00:00
Ken Raeburn
4174e05265 handle 32-bit addends in exprs on alpha 1994-07-05 20:51:39 +00:00
Ian Lance Taylor
bcb62abf05 * config/obj-elf.h (S_GET_ALIGN, S_SET_ALIGN): Define.
* config/obj-elf.c (obj_elf_common): Set alignment of common
	symbol.
	* config/tc-sparc.c (s_common): If OBJ_ELF, set alignment of
	common symbol.
1994-07-05 18:06:33 +00:00
Jeff Law
655f3ef4af * config/tc-hppa.c (is_complex): New macro.
(cons_fix_new_hppa): "Handle" complex expressions.
1994-07-05 00:37:14 +00:00
Ken Raeburn
04f0c2e34b Some updates for const-ness added to BFD structures. 1994-06-30 19:09:58 +00:00
Ian Lance Taylor
f255457995 * config/tc-mips.c (macro): For M_LI_SS, decide how to handle it
based on contents of imm_expr and offset_expr, rather than
	mips_pic.  For M_LI_DD, decide how to handle it based on segment
	name of offset_expr, rather than mips_pic.
	(mips_ip): If g_switch_value < 4, use immediate values for 'l'.
	If g_switch_value < 8, use .rdata rather than .lit for 'L'.
1994-06-30 18:47:29 +00:00
Stan Shebs
6f0b87c329 * as.c (show_usage): Break long string into shorter ones.
(parse_args): Add -v, prints version id and continues.
	* config/tc-mips.c (md_show_usage): Break long string.
1994-06-30 00:55:33 +00:00
Stan Shebs
f488a4d631 * as.c (main) [HOST_SPECIAL_INIT]: New hook, for host-specific
initialization.
1994-06-26 23:36:46 +00:00
Jeff Law
1f12ae43c7 * config/tc-hppa.h (obj_frob_symbol): Define for OBJ_ELF.
More gas/bfd lossage exposed by the new linker code.
1994-06-22 06:32:54 +00:00
Ian Lance Taylor
dff770c8d6 * subsegs.c (abs_seg_info, und_seg_info): Define if BFD_ASSEMBLER.
(subseg_change): Store seg_info for bfd_abs_section_ptr in
	abs_seg_info, and store seg_info for bfd_und_section_ptr in
	und_seg_info.
	(subseg_get): Likewise.  Also, don't set output_section if it is
	already set.
	(seg_info): Define as function.
	* subsegs.h (seg_info): Declare as function rather than defining
	as macro.
	* write.c (relax_and_size_seg): Call seg_info rather than
	bfd_get_section_userdata.
1994-06-21 16:45:09 +00:00
Ken Raeburn
639c820dae handle target ppc-*-elf*, for zoo. 1994-06-20 20:36:56 +00:00
Ken Raeburn
e0b36f18e7 expr.c (operand): If "0f" is followed by '\0', don't do eol checks. 1994-06-20 20:34:35 +00:00
Ian Lance Taylor
256816cae7 * ecoff.c (ecoff_build_aux): Call swap_tir_out and swap_rndx_out
via backend pointer, not directly.
1994-06-20 19:25:41 +00:00
Ian Lance Taylor
de442a3c57 * Makefile.in (config-stamp): Make sure there is at least one
element in the for loop.
1994-06-17 22:08:59 +00:00
Jeff Law
239f16dda0 * config/tc-hppa.c: Misc trivial changes to make gcc -Wall happy. 1994-06-17 18:09:16 +00:00
Jeff Law
0e68b3bca1 * config/tc-hppa.h (elf_hppa_final_processing): Declare. 1994-06-17 17:13:13 +00:00
Ken Raeburn
fd4b7c2511 folding v9 change log in; stop sanitizing configure.in 1994-06-16 23:06:58 +00:00
Ken Raeburn
286272fb43 * as.c (parse_args): Cast xmalloc return value. 1994-06-16 01:08:16 +00:00
Ken Raeburn
5ee93e0a8c v9, vms changes and some stuff i checked in recently but didn't log 1994-06-16 01:04:00 +00:00
Ian Lance Taylor
0e35ba9bc3 * config/obj-coff.c (coff_frob_symbol): Use C_STAT for the .text
section symbol, not C_LABEL.
1994-06-15 19:51:21 +00:00
Ian Lance Taylor
adf05987e2 * config/tc-mips.c (mips_ip): Permit a modifier in 'o' case. 1994-06-15 17:00:04 +00:00
Ian Lance Taylor
36a87ad7c5 * config/tc-mips.c (mips_ip): Permit non constant expressions in
'u' case: lets lui %hi(foo) work correctly.
1994-06-15 16:49:51 +00:00
Ian Lance Taylor
a5183648b2 * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
to put a common symbol in a set.
1994-06-13 16:13:10 +00:00
Ian Lance Taylor
02d4e9238a Add weak symbols as an extension to a.out.
* read.c (pseudo_set): Only preserve external bit for OBJ_AOUT and
	OBJ_BOUT if not BFD_ASSEMBLER.
	* config/aout_gnu.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB):
	Define as in ../include/aout/aout64.h.
	* config/obj-aout.h (OBJ_SYMFIELD_TYPE): If not BFD_ASSEMBLER,
	define as char.
	(S_GET_WEAK, S_SET_WEAK): Define if not BFD_ASSEMBLER.
	* config/obj-aout.c (obj_pseudo_table): Add "weak".
	(obj_emit_symbols): Adjust type of weak symbols.
	(obj_aout_weak): New static function.
1994-06-11 20:45:49 +00:00
Ian Lance Taylor
7b1e07b475 * config/obj-elf.c (obj_elf_section): Don't set any flags based on
the type of a special section.
1994-06-10 21:42:30 +00:00
Ian Lance Taylor
726672c5a5 * config/ho-sunos.h: Include <stdlib.h>. Don't declare malloc,
realloc, free, or atol.
1994-06-10 17:55:45 +00:00
Bill Cox
0b3d0999e9 * Makefile.in (check): Delete as.new dependency, so that
regression test doesn't trigger an assembler build.
1994-06-08 13:30:30 +00:00
Ian Lance Taylor
daa7e18489 * Makefile.in (mostlyclean, realclean): New targets.
* doc/Makefile.in, testsuite/Makefile.in: Likewise.
1994-06-07 17:37:52 +00:00
Ian Lance Taylor
d2c71068e8 * config/tc-mips.c (RDATA_SECTION_NAME): Define.
(macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case.  After M_LI_D
	or M_L_DOB or label dob, force a new frag to avoid getting
	confused in tc_gen_reloc.
	(mips_ip): Use RDATA_SECTION_NAME, not .rdata.
	(s_change_sec): Likewise.
1994-06-06 17:16:16 +00:00
Ian Lance Taylor
1fbfe10880 * read.c (emit_expr): Use memset to zero out memory, rather than
going through md_number_to_chars.  This permits handling symbolic
	arguments when the size is larger than sizeof (valueT), if
	TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
1994-06-04 03:38:01 +00:00
David MacKenzie
baed44cd14 * as.c (show_usage), config/tc-alpha.c (md_show_usage),
config/tc-mips.c (md_show_usage): Fix up messages.
1994-06-03 21:19:02 +00:00
David MacKenzie
def66e248c * as.h: Replace flagseen with separate variables.
* as.c (parse_args): Set them.  Don't accept -1 option, or -v
	explicitly (it's a synonym for --version).
	* as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
	config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
	config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
	config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
	config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
	config/tc-vax.c: Use the new flag variables instead of flagseen.
	* config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
	usage.
1994-06-03 20:59:20 +00:00
David MacKenzie
f3d817d8b7 * as.c (show_usage): Remove target specific messages;
instead, call md_show_usage.
	(parse_args): Use getopt_long_only.  Take pointers to argc and
	argv.
	(main): Pass parse_args pointers.
	* as.h: Remove 3 variables that are redundant with flagseen.
	* as.c, messages.c: Change their users to use flagseen.
	Define getopt stuff.
	* tc.h: Update md_parse_option decl.  Add md_show_usage decl.
	* config/tc-*.c: Add md_shortopts, md_longopts,
	md_longopts_size, md_show_usage.  Change calling convention for
	md_parse_option.  Remove md_parse_long_option.
	* config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
	* config/tc-i386.h: Don't define md_parse_option.
1994-06-03 17:42:27 +00:00
David MacKenzie
ebd6f11797 * as.c (show_usage): New function.
(parse_args): Code moved from main.
	Recognize --help and --version.
	* config/tc-ns32k.h: Define TC_NS32K.
	* doc/as.texinfo: Document all of the target-independent command
	line options.
1994-06-02 21:00:19 +00:00
Ken Raeburn
314628f66c Various changes.. 1994-06-02 16:38:54 +00:00
Ian Lance Taylor
0221ddf71a * config/tc-mips.c (mips_ip): Force floating point values to be
aligned correctly.
1994-06-01 14:56:21 +00:00
Ken Raeburn
488442d458 put current timestamp on merge log 1994-05-27 17:06:21 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor
a193acc0cc * as.h: Don't declare parameters for strstr. 1994-05-20 22:02:39 +00:00
Ian Lance Taylor
f9c57637e4 * config/tc-sparc.c (md_section_align): Don't change the size if
OBJ_ELF.
1994-05-19 19:44:02 +00:00
Ian Lance Taylor
ac7f7dfeb9 * Makefile.in (install): Redirect ln output to /dev/null. If ln
fails on gasp, install gasp.new, not gasp.
1994-05-18 17:11:19 +00:00
Jeff Law
44e8d616e5 * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
absolute calls.
1994-05-18 15:18:23 +00:00
Jeff Law
ee8b834600 * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
on a partial completer match.
1994-05-17 18:54:50 +00:00
Jeff Law
3315c7c714 * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
throughout code.
	(is_complex): Delete definition and support for complex relocation
	types.
	(tc_gen_reloc): Delete special unwind crud for ELF.  Simplify and
	rewrite ELF code based on 94-02-02 PA ELF draft spec.
	(pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
	the unwind descriptors.
1994-05-16 19:29:56 +00:00
Steve Chamberlain
c794f0aa85 * config/go32.mh: New makefile fragment for go32 crossing.
* configure.in (host==go32): Use new fragment.
1994-05-06 21:14:49 +00:00
Ian Lance Taylor
2db90a6320 * gasp.c: Include libiberty.h.
(main): Remove unused variable i.
1994-05-06 18:39:04 +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
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
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
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
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
Ken Raeburn
926ffe9446 m68k changes - optional reg pfx, apollo, delta, init 1994-04-26 22:22:51 +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
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
1a69212c01 config/tc-mips.[ch] changes. 1994-04-14 17:40:43 +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
Jeff Law
caed9e8251 * config/tc-hppa.c (pa_procend): Handle case where label was
defined after the .proc directive.
1994-04-11 16:11:12 +00:00
Jeff Law
0521099057 * config/tc-hppa.c (pa_procend): Give an error if we encounter a
procend for a procedure without a name.
1994-04-11 16:02:12 +00:00
Ian Lance Taylor
1c803e5223 * config/tc-mips.c (macro): Pass NULL for expression argument to
macro_build for nori case.
	(SWITCH_TABLE): Define.
	(mips_force_relocation): Force a relocation for a switch table
	entry.
	(md_apply_fix): Write switch table entry value into file.
	(tc_gen_reloc): Use BFD_RELOC_GPREL32 for a switch table entry,
	and set the addend to the difference between the reloc address and
	the subtrahend.
1994-04-07 18:33:09 +00:00
Jeff Law
0b503989f5 * config/tc-hppa.h (elf_tc_symbol): Delete. No longer used.
(elf_tc_make_sections): Likewise.
        (hppa_tc_make_sections, hppa_tc_symbol): Delete extern decls.

        * config/tc-hppa.c (hppa_tc_make_sections): Delete function.
        (hppa_tc_symbol): Likewise.

        * config/obj-elf.c (elf_frob_file): Delete elf_tc_symbol and
        elf_tc_make_sections stuff.  It was there to support PA braindamage
        which has been fixed, and in the case of elf_tc_make_sections is
        redundant with elf_tc_final_processing.
1994-04-07 17:39:16 +00:00
Jeff Law
f39a73b1b6 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
manufacturer.
1994-04-07 03:49:18 +00:00
Ian Lance Taylor
f3645945cf * config/tc-mips.c (mips_ip): For case 'o', when generating
embedded PIC code, accept the difference between two local symbols
	as being constant.
	(mips_force_relocation): Only force a reloc to be generated for a
	PC relative fixup.
	(md_apply_fix): For BFD_RELOC_32 and BFD_RELOC_LO16, put the fixup
	value into the file if the fixup will not generate a reloc.
1994-04-05 19:57:32 +00:00
Ken Raeburn
03fcf1f8f1 sparc, doc/Makefile.in changes 1994-04-05 18:18:04 +00:00
Jeff Law
79381848ca * config/tc-hppa.c (tc_gen_reloc): Fix thinko in ELF version. 1994-04-05 00:06:46 +00:00
Ian Lance Taylor
1937a66509 * config/tc-ppc.c (ppc_insert_operand): Check PPC_OPERAND_SIGNED
flag rather than signedp field.  Only permit extended range if
	PPC_OPERAND_SIGNOPT flag is set and assembling in 32 bit mode.
	Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
1994-04-04 17:28:56 +00:00
Ian Lance Taylor
1e147242d7 * config/tc-ppc.c (ppc_size): New static variable.
(ppc_arch): Check for PPC_OPCODE_PPC before PPC_OPCODE_POWER.
	(md_begin): If an instruction has a size specific flag set, only
	add it if we are assembling that size.
1994-04-04 16:42:16 +00:00
Ian Lance Taylor
7ab2e983d6 * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
cross section PC relative relocs right for COFF and ELF.
1994-03-31 21:54:06 +00:00
Ken Raeburn
75d20ac894 * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Always define.
(OBJ_PROCESS_STAB): Don't define.
1994-03-28 19:40:53 +00:00
Ian Lance Taylor
57afabd05a * config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
the type of symbol set symbols which happen to be in the absolute
	or undefined section.
1994-03-28 17:43:54 +00:00
Ian Lance Taylor
882bdc6952 Mon Mar 28 12:35:00 1994 David Edelsohn (edelsohn@npac.syr.edu)
* config/tc-ppc.c (md_parse_option): Add -mpwrx (POWER/2 aka
	RIOS2), -mpwr (POWER aka RIOS1), -mppc (PowerPC aka MPC603/604),
	and -many (all architectures).
1994-03-28 17:38:39 +00:00
Jeff Law
de3ffc7aef * config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
involving a function symbol which is not a plabel to zero.
        (md_apply_fix): Never pass a function symbol to field_adjust.
1994-03-27 22:05:21 +00:00
Ian Lance Taylor
645f842c99 * config/obj-aout.c (obj_aout_frob_symbol): If N_EXT is set for an
N_INDR symbol, set BSF_EXPORT and clear BSF_LOCAL.
1994-03-25 22:53:40 +00:00
Ian Lance Taylor
5b63f465fc * config/tc-mips.c (append_insn): If EMBEDDED_PIC, don't swap a
branch with an instruction that uses $at, in case the branch is
	later expanded.
	(macro): If EMBEDDED_PIC, case M_JAL_A may use $at.
	(md_pcrel_from): If not OBJ_AOUT, return 4 for an undefined symbol
	to make it pcrel_offset.
	(tc_gen_reloc): If not OBJ_AOUT, set the reloc addend to
	reloc->address; another gruesome hack to get gas reloc handling to
	do the right thing.
1994-03-25 22:40:44 +00:00
Ken Raeburn
11d7c06453 * config/tc-alpha.c (alpha_ip): Only set GP prolog size if using PV register.
(T12): New macro.
(emit_insn): New function.
(md_assemble): Call it.
(alpha_force_relocation): Handle BFD_RELOC_26, for call_pal instructions.
(lituse_pending): New variable.  Set by anything that generates a LITERAL
reloc, cleared by anything that generates a LITUSE reloc, tested by code that
might want to emit a LITUSE reloc.
(emit_unaligned_io): New function.  Currently calls md_assemble, but it should
eventually be converted to generate the insn itself and call emit_insn directly.
(emit_load_unal, emit_store_unal, emit_byte_manip_r, emit_extract_r,
emit_insert_r, emit_mask_r, emit_sign_extend, emit_bis_r): Likewise.
(alpha_ip, case 'I'): Handle with BFD_RELOC_23.
(alpha_ip, label get_macro): Don't emit the final instruction if the opcode is
zero.
(alpha_ip, case 'B', subcase 'd'): New case, for subword and unaligned memory
access macros.
(md_apply_fix): Handle BFD_RELOC_26.  Generate an error message if the value
can't be resolved.
1994-03-25 02:39:19 +00:00
Ian Lance Taylor
d9aba8051e * config/tc-mips.c (enum mips_pic_level): New enum.
(mips_pic): Change from int to enum mips_pic_level.  Change all
	uses (0 becomes NO_PIC, 2 becomes SVR4_PIC).
	(load_address): Handle EMBEDDED_PIC.
	(macro): Handle EMBEDDED_PIC in all PIC cases.
	(md_parse_option): Accept -membedded-pic to use EMBEDDED_PIC.  If
	OBJ_ELF, accept -KPIC and -call_shared to use SVR4_PIC and accept
	-non_shared to use NO_PIC (this is how the Irix 5 assembler
	works).  Do not permit -G with SVR4_PIC.
	(s_abicalls): Warn if -G was used, and force -G 0.
	(tc_gen_reloc): Set reloc->addend to 0 for a PC relative reloc for
	anything but a.out, not just for ELF.  For ECOFF, don't generate a
	BFD_RELOC_16_PCREL_S2 reloc unless using EMBEDDED_PIC.
1994-03-22 20:27:58 +00:00
Ian Lance Taylor
e1b5066f45 * config/obj-ecoff.h (obj_sec_sym_ok_for_reloc): Define to be 1. 1994-03-22 19:00:08 +00:00
Ken Raeburn
c37f6138d4 * Makefile.in (config-stamp): If `defs' is defined, emit a preprocessor
directive to create a macro named by this value into config.new; don't
explicitly go for BFD_ASSEMBLER.
* configure.in: Define `defs', not `BFDDEF'.  Set it to MANY_SEGMENTS for any
obj-coffbfd target.
* config/obj-coffbfd.h (BFD_HEADERS, BFD): Define.
* config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS, BFD_HEADERS.
(LOCAL_LOADLIBES): Deleted.
* config/m68kcoff.mt (TDEFINES): Don't define those macros.
* config/m88kcoff.mt (TDEFINES): Ditto.
* config/ebmon29k.mt: Deleted.
* config/h8300hds.mt: Deleted.
* config/ic960coff.mt: Deleted.
* config/sparc.mt: Deleted.
* config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
* config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
* config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted.
* config/z8k.mt (LOCAL_LOADLIBES): Deleted.
(TDEFINES): Don't define the coffbfd macros.

* Makefile.in: Insert makefile fragments before OBJS definition.
(OBJS): Add $(TE_OBJS).
1994-03-20 21:13:59 +00:00
Ken Raeburn
3680de746a * config/obj-coff.c (obj_pseudo_table): Supply "section" unconditionally. 1994-03-20 21:07:43 +00:00
Ken Raeburn
1871f91a91 * write.c (set_symtab): Define only if BFD_ASSEMBLER. 1994-03-20 21:01:31 +00:00
Jeff Law
c20c75060d * Makefile.in (STAGESTUFF): Add gasp.new. 1994-03-20 20:06:53 +00:00