Commit Graph

1765 Commits

Author SHA1 Message Date
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
Ken Raeburn
95ac738e70 (hash_ask): Call strcmp instead of expanding it inline.
(hash_code): Replaced with a version from bfd.
1995-01-18 18:52:08 +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
b3235d56dc add w65 stuff. 1995-01-16 00:42:14 +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
4f7ce2a5ef note deletion of hex-value.c 1995-01-13 21:02:02 +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
5d7a878c30 delete references to hex-value.c 1995-01-12 23:09:24 +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
460a34e851 For COFF targets, make sure F_RELFLG is set exactly when no relocs are present,
instead of making it depend solely on the target CPU.
1995-01-12 00:36:23 +00:00
Ken Raeburn
c01ebe2a5e Don't generate 68020 addressing modes for a 68000 cpu. 1995-01-12 00:34:50 +00:00
Jeff Law
ef788f4f66 * gas/hppa/unsorted/unsorted.exp (align4.s): Fix glitch in
regexp to avoid losing without a controlling tty.
1995-01-10 18:43:46 +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
d5f4140317 * as.h (relax_substateT): Now defined to be unsigned int.
(relax_stateT): Separate typedef from enum definition.
(enum _relax_state): Reordered for better punctuation.  Added new values
rs_align_code and rs_space.
(lineno, struct lineno_struct): Unused, deleted.

For friendlier assertion-failure messages:
* as.h: No longer include assert.h.
(as_assert): Declare.
(assert): New definition, calls as_assert longer needed.
(__PRETTY_FUNCTION__): Provide default for older versions of gcc.
* messages.c (as_assert): New function.
* gdbinit.in: Put a breakpoint there.
1994-12-30 23:59:23 +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
Ken Raeburn
227fe4adb9 * gas/i386/pushw.l: Fixed whitespace to match current listing style.
* gas/all/gas.exp: Mark test p1480.s expected to pass, even with listings.
[requires patches that'll be checked in soon]
1994-12-30 23:15:52 +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
David Edelsohn
49af8f3533 * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
to table entry.  All callers changed.
	(md_shortopts): New argument -mmult.
	(md_parse_option): Recognize it.
	(md_show_usage): Print it.
	(md_begin): If -mmult, say we have the new multiply and shift insns.
	(md_assemble): Fix reloc generation for 32 bit immediate values.
	Clean up modifier handling.  Try next insn if fake operand says there's
	an error.  Update to new syntax of insertion/extraction fns.
	Recognize predefined aux regs.  Don't abort if insertion fn missing.
1994-12-19 21:05:59 +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
Ken Raeburn
243babd424 * Makefile.in (AS_FOR_TARGET, OBJDUMP_FOR_TARGET): Don't set.
(uninstall): Don't set OBJDUMP and OBJDUMPFLAGS in site.exp.
* config/default.exp: Default OBJDUMP and OBJDUMPFLAGS.  Use findfile and
transform procedures to determine objdump program name.
1994-12-16 00:19:40 +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
d9f4c35f65 * gas/mips/jal-svr4pic.d: Fix 0-strings to work with 64-bit hosted
disassembly.
1994-12-13 23:28:17 +00:00