Commit Graph

1281 Commits

Author SHA1 Message Date
Ken Raeburn 9e929d320a fix regexp for all/x930509.s 1994-01-31 04:39:12 +00:00
Ken Raeburn 7909261f79 alpha & vax changes 1994-01-30 23:32:56 +00:00
Ken Raeburn 5677c0288d * configure.in: Handle host vax-*-ultrix* like vax-*-bsd*. Don't bother with
*-*-ultrix or *-*-sysv*, except *-*-sysv, since only the last has an existing
host support file.  Do handle vax-bsd and vax-ultrix targets.
1994-01-30 23:31:44 +00:00
Ken Raeburn 4075afe126 * read.c (do_align): New function, most of guts of s_align_* functions. Look
for md_do_align macro, give it a chance to bypass all but recording of section
alignment.
(s_align_bytes, s_align_ptwo): Call do_align.
(s_lcomm) [TC_ALPHA]: Align object to largest power of two that divides object
size.
1994-01-30 23:29:20 +00:00
Ken Raeburn 4242632039 (Already checked in write.c and config/tc-alpha.c, but no log msg went
out because $CVSROOT was wrong...)

	* write.c (write_object_file): If tc_frob_file is defined, call it
	just before calling obj_frob_file.
	* config/tc-alpha.c (alpha_gp_value): Renamed from gp_value
	(references changed), and made non-static.
	(getExpression): Return void.
	(select_gp_value): Abort if gp_value is non-zero.  Delete call to
	non-existent bfd_set_gp_value.
	(alpha_validate_fix): Function deleted.
	(alpha_frob_symbol): Function deleted.
	(alpha_local_label): Function deleted.
	(alpha_frob_file): Renamed from alpha_end.
	* config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix,
	alpha_local_label, alpha_end): Declarations deleted.
	(alpha_gp_value, alpha_frob_file): Declare.
	(tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
	(LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
	(md_convert_frag): Simplified slightly.
	(tc_frob_file): New macro.
1994-01-30 23:26:55 +00:00
Ken Raeburn c79e67a3b7 * write.c (write_object_file): If tc_frob_file is defined, call it
just before calling obj_frob_file.
* config/tc-alpha.c (alpha_gp_value): Renamed from gp_value (refs changed), made
non-static.
(getExpression): Return void.
(select_gp_value): Abort if gp_value is non-zero.  Delete call to non-existent
bfd_set_gp_value.
(alpha_validate_fix): Function deleted.
(alpha_frob_symbol): Function deleted.
(alpha_local_label): Function deleted.
(alpha_frob_file): Renamed from alpha_end.
* config/tc-alpha.h (alpha_frob_symbol, alpha_validate_fix, alpha_local_label,
alpha_end): Declarations deleted.
(alpha_gp_value, alpha_frob_file): Declare.
(tc_frob_symbol, TC_VALIDATE_FIX, md_end): Macros deleted.
(LOCAL_LABEL): Move code here from tc-alpha.c:alpha_local_label.
(md_convert_frag): Simplified slightly.
(tc_frob_file): New macro.
1994-01-30 23:21:55 +00:00
Ian Lance Taylor 1f029792a2 * config/obj-coff.c (obj_coff_section_header_append): Do not
declare if BFD_ASSEMBLER.
	(stack_pop): Correct test for stack underflow.
	(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size,
	obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Declare
	type of ignored argument to avoid gcc warning.
	(align): Removed unused function.
1994-01-28 16:30:29 +00:00
Ken Raeburn 0b233d31df removed rcs cruft 1994-01-28 05:38:41 +00:00
Roland Pesch 05a0e43b83 Many scattered edits, primarily on recent mods.
Ancient "Internals" text deleted.
1994-01-28 04:32:37 +00:00
Ken Raeburn 81f6013aa2 Various changes: alpha support, fx_done handling, EMIT_SECTION_SYMBOLS, ... 1994-01-28 01:42:05 +00:00
Ken Raeburn d5bd8e851d Comment change: Soften recommendations against supplying sym+addend operands,
since it works, and gas does it.  It's merely wasteful of space.
1994-01-28 01:40:22 +00:00
Ken Raeburn 5749c49700 New Alpha support files, based on files from CMU.
Still to do:
 - fix floating-point handling
 - figure out if we can adapt to using ../opcodes/alpha-opc.h
 - gcc bootstrap testing
 - 32-bit mode support?
 - test cross-assembly
1994-01-28 01:37:02 +00:00
Ken Raeburn 98c6bbbe43 * as.h: If __GNUC__ and inline are both undefined, define inline away.
* write.c (cvt_frag_to_fill): Don't assume that fr_var for rs_align or rs_org
frags will be 1.
(relax_segment): For rs_align, if fr_var is not 1, complain if
required padding is not a multiple of the size of the pad pattern.
(fixup_segment): Leave gp-relative relocations alone.  For pcrel relocations
referring to the same segment, clear fx_pcrel when clearing fx_addsy.
* as.h: Adjust comments on rs_align.

* write.c, config/obj-{aout,bout,coff*}.c, config/tc-sparc.c: Query the fx_done
field instead of fx_addsy to see if the fixup still needs to be applied.  Set
fx_done and clear fx_addsy both, for now.  If TC_HANDLES_FX_DONE isn't defined,
assume md_apply_fix will only clear fx_addsy, and set fx_done accordingly after
returning.
* config/tc-sparc.h (TC_HANDLES_FX_DONE): Define.

* config/obj-coff.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol): Defined
here, static.

* config/obj-aout.c [BFD_ASSEMBLER]: Undef NO_RELOC before including aout/aout64.h.

* write.c (write_object_file): If EMIT_SECTION_SYMBOLS is false, don't write
out a section symbol even if it's used in a relocation; assume relocations will
handle section numbers somehow.  Rename "punt_it" label to "punt_it_if_unused"
to reflect it's true use.
(EMIT_SECTION_SYMBOLS): Default to 1.
(adjust_reloc_syms): Don't create a new symbol for an absolute
reference; just use the absolute section symbol.
(write_relocs): Make printout of reloc values dependent on flag DEBUG3, not
DEBUG2.
* config/obj-aout.h (EMIT_SECTION_SYMBOLS): Define as 0.
* config/obj-ecoff.h (EMIT_SECTION_SYMBOLS): Ditto.
1994-01-28 01:21:53 +00:00
Ken Raeburn 351878df5a whitespace/formatting changes 1994-01-28 00:58:00 +00:00
Ken Raeburn c1b625be7b whitespace/comment changes 1994-01-28 00:21:03 +00:00
Ken Raeburn eec0de3f43 * symbols.c (dot_text_symbol, dot_data_symbol, dot_bss_symbol): Deleted.
(symbol_begin): Moved to end of file, so function inlining can work better.
(fb_label_count, fb_label_max): Default C static initializers are sufficient.
* symbols.h (dot_text_symbol, dot_data_symbol, dot_bss_symbol): Declarations
deleted.
1994-01-28 00:03:38 +00:00
Ken Raeburn 6221fe2090 * atof-generic.c: Some reformatting.
(atof_generic): Be careful when mixing signed/unsigned values of different
sizes.
1994-01-27 23:39:00 +00:00
Ian Lance Taylor ec7a69ea23 * read.c (lex_type): No longer make '{' a valid character for
symbol names.
1994-01-27 23:10:19 +00:00
Ian Lance Taylor fe9205735e * as.c (main): Print long values using %ld. 1994-01-27 21:53:17 +00:00
Ian Lance Taylor a57180adea * messages.c (as_warn_internal): New static function.
(as_warn, 3 versions): Use as_warn_internal.
	(as_warn_where, 3 versions): New function.
	* as.h (as_warn_where): Declare.
1994-01-27 21:50:46 +00:00
Rob Savoye 03372cf4ab Change all occurances of RUNTEST_FLAGS to RUNTESTFLAGS to be consistant with
everything else. (and now work recursively too)
1994-01-26 21:44:50 +00:00
Jeff Law 509d5555dc More changes as suggested by Roland. Fix buglets so that it passes makeinfo. 1994-01-26 06:00:44 +00:00
Stan Shebs ca7bd5579a Tue Jan 25 18:30:34 1994 Stan Shebs (shebs@andros.cygnus.com)
* as.c (quiet_flag): New flag.
	(main): If -noquiet given, display execution time and memory used.
1994-01-26 02:34:20 +00:00
Jeff Law 9dcf805766 * doc/{all.texi,as.texinfo}: Add documentation for HPPA port. 1994-01-25 23:54:34 +00:00
Stan Shebs 6d15011d40 Tue Jan 25 10:49:31 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-config.in (varargs.h, sys/*.h): Don't create when
	configuring.
	(host.h): Create with forward-include.
	* mpw-make.in (CFLAGS): Add -w flag.
	* mpw-build.in: New file, build script fragment.
1994-01-25 18:59:27 +00:00
Stan Shebs 7c805df052 Tue Jan 25 10:52:22 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-xconfig.in: Use forward-include to create include files.
1994-01-25 18:57:17 +00:00
Ian Lance Taylor e4fc9376b2 Use <= in ecoff_frob_symbol, not <. 1994-01-25 18:52:01 +00:00
Ian Lance Taylor f71babce75 Various entries. 1994-01-25 00:27:25 +00:00
Ian Lance Taylor c6858c1be5 * ecoff.c (ecoff_frob_symbol): New function. Put undefined
symbols of known size in the undefined section.  Put small common
	symbols in a .scommon section.
	* ecoff.h (ecoff_frob_symbol): Declare.
	* config/obj-ecoff.h (obj_frob_symbol): Define.
	* config/obj-elf.c (obj_elf_write_symbol_p, obj_elf_write_symbol,
	obj_elf_frob_symbol): Removed unused functions.
	* config/obj-elf.h (obj_frob_symbol, obj_write_symbol): Removed
	unused macros.
	(obj_elf_frob_symbol, obj_elf_write_symbol): Removed declarations
	of unused functions.
	(obj_frob_symbol): Define if ECOFF_DEBUGGING.
1994-01-25 00:26:33 +00:00
Ian Lance Taylor 425625680a * tc-mips.c (g_switch_seen): New static variable.
(md_parse_option): Set g_switch_seen for -G option.
	(s_option): If creating PIC code, force the GP size to be 0.  Warn
	if -G switch used with a non-zero value.
1994-01-25 00:24:57 +00:00
Ian Lance Taylor 0cafaab1f0 * symbols.c (S_IS_COMMON): Use bfd_is_com_section rather than
comparing against bfd_com_section.
1994-01-25 00:20:48 +00:00
Ken Raeburn 2ef7731dee read.c (s_lcomm): Treat Alpha like MIPS in handling of .sbss section. 1994-01-24 19:17:03 +00:00
Rob Savoye 23c6150b6f Fix gas_version. 1994-01-21 00:35:57 +00:00
Rob Savoye 2d9f80791a * gas/all/gas.exp, lib/gas-defs.exp, sun4/addend.exp,
sparc-solaris/addend.exp: Tweaked to fix a few bugs and to run
	well under either version of expect
1994-01-20 23:47:09 +00:00
Rob Savoye ae61c2de71 Tweak to run under either version of expect. Add a hack-around for a
dejagnu 1.1.1 (only) bug.
1994-01-20 23:44:10 +00:00
Rob Savoye fd9b8885e1 Tweak to work with either version of expect. Use the verbose function, fix
gas_version.
1994-01-20 23:30:51 +00:00
Rob Savoye 6caa29338b Tweaked to run under either version of expect. 1994-01-20 23:10:41 +00:00
Ken Raeburn 7691379e7f * expr.c (operand): For floating point operand with unusual fp char from
FLT_CHARS, preserve the character.  Patch from Lisa Repka.
1994-01-20 18:26:17 +00:00
Ian Lance Taylor eb8fd0e9b4 * config/tc-mips.c (md_pseudo_table): Add all data allocation
pseudo-ops: .hword, .int, .long, .octa, .quad, .short, .single.
1994-01-20 04:18:14 +00:00
Ian Lance Taylor 13655af625 Smuggle N_WARNING symbols into BFD in obj_aout_frob_symbol. 1994-01-19 05:02:24 +00:00
Steve Chamberlain d9420fc11c Get implicit val . right. 1994-01-19 00:26:59 +00:00
Jeff Law 2f156c92bd * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
confuses GDB for some unknown reason.
        * cofnig/obj-som.c: Likewise.
1994-01-19 00:21:16 +00:00
Steve Chamberlain ec0bcbbaa1 * config/obj-coffbfd.c (obj_coff_endef): For C_EFCN, C_BLOCK and
C_FCN assume .val has been set to .
1994-01-19 00:16:03 +00:00
Ken Raeburn 19302e449a * literal.c (add_to_literal_pool): Handle duplicates of values already written
to literal pool.
1994-01-19 00:08:50 +00:00
Ian Lance Taylor 4bda835f61 * config/obj-aout.c (obj_aout_frob_symbol): Try to get symbols
with explicitly marked stabs through BFD: if a symbol marked
	N_UNDF | N_EXT is in the absolute section, move it to the
	undefined section; move a symbol marked N_INDR into
	bfd_ind_section and set the BSF_INDIRECT flag.
1994-01-18 22:27:26 +00:00
Ian Lance Taylor 17ed84edb5 * ecoff.h (ecoff_set_gp_prolog_size): Declare.
* ecoff.c (ecoff_set_gp_prolog_size): Return type is void.
1994-01-17 20:44:33 +00:00
Ian Lance Taylor 04cb3372f3 Comment and whitespace changes. 1994-01-17 20:39:26 +00:00
Jeff Law 51517966bc * config/tc-hppa.c (pa_ip): Explicitly check for comma before 'u'
and 'f' template operand.
1994-01-17 09:30:07 +00:00
Jeff Law 3df8598e73 * gas/hppa/basic/fp_misc.s: Delete copr instruction. It's tested
elsewhere now.
        * gas/hppa/basic/{copr, coprmem, spop}.s: New tests.
        * gas/hppa/basic/basic.exp: Run them.
1994-01-17 08:25:42 +00:00
Jeff Law d0286a2112 * config/tc-hppa.c (pa_ip): Handle 'N', 'O', 'o', '0', '1', 'u',
and '2' in copr and sfu instruction templates.
1994-01-17 08:19:56 +00:00
Jeff Law e7501ac710 * as.h (subseg_force_new): Add prototype. 1994-01-17 00:45:15 +00:00
David Edelsohn d307fed126 * app.c (do_scrub_next_char): Allow lines like " foolab :". 1994-01-15 19:00:32 +00:00
David Edelsohn d2550c72df * read.c (emit_expr): Fix computation of mask. 1994-01-15 17:33:16 +00:00
David Edelsohn e79cb10bbe * config/obj-elf.c (obj_elf_section): Fix loop termination test. 1994-01-15 17:31:05 +00:00
Ken Raeburn 642709633f ecoff.c, as.c changes 1994-01-14 02:05:28 +00:00
Ken Raeburn 012353f7d1 (ecoff_set_gp_prolog_size): New function.
(current_file_idx): New static variable.
(add_file): Use and increment current_file_idx instead of indx parameter.

Also removed trailing whitespace from lines.
1994-01-14 02:01:52 +00:00
Ken Raeburn 69ecc03f3d Oops. Didn't mean to change reject_dev_configs. 1994-01-14 01:55:59 +00:00
Ken Raeburn 398527f2a8 Don't include config.h directly any more. 1994-01-14 01:54:01 +00:00
Ken Raeburn ff4325cb9b * struc-symbol.h (struct symbol): Make all bitfields unsigned. 1994-01-14 01:28:19 +00:00
Ken Raeburn d211303dc0 Changes for i960_validate_fix, i386-netbsd* configs, BFDDEF handling, literal
pool offset bugs, config.h handling.
1994-01-13 21:34:15 +00:00
Ken Raeburn acf6404e0b (add_to_literal_pool): Take symbol and addend as arguments, instead of
expression, for now.  Fix calculation of offset to return.
1994-01-13 21:31:50 +00:00
Ken Raeburn 939b21d207 (segment_info_type) [NEED_LITERAL_POOL]: Add field literal_pool_size. 1994-01-13 21:30:18 +00:00
Ken Raeburn 7f955c18aa * as.h: Include config.h. Added forward declaration for struct symbol.
(add_to_literal_pool): Fix declaration.
1994-01-13 21:27:49 +00:00
Ken Raeburn 420065a54e * configure.in (i386-*-netbsd*): New target, using te-netbsd.h.
(i386-*-netbsd0.8): New target, like 386bsd.

* configure.in: Set BFDDEF in Makefile to "define" or "undef".
* Makefile.in (config.h): Protect against multiple inclusions.  Define or undef
BFD_ASSEMBLER as specified by $(BFDDEF).
(ALL_CFLAGS): Omit $(BFDDEF).
1994-01-13 21:24:27 +00:00
Jeff Law 86066d063b * config/obj-som.c (som_frob_file): Call adjust_code_sections
for each section.
        (adjust_code_sections): New function.  Adjusts the VMA for all the
        $CODE$ subspaces.

        * config/tc-hppa.c (md_assemble): Also handle creating a fixup
        for the unwind descriptors if a function's label follows the
        .PROC and .ENTRY directives.
        (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
        is done elsewhere.  Don't create a fixup for the unwind
        descriptors if the function's label has not been defined yet.
        (pa_proc): For SOM, place each procedure within a new $CODE$
        subspace.  Adjust the segment and frag for the associated
        function label if it exists.
1994-01-13 20:17:39 +00:00
Jeff Law 500828a095 * subsegs.c (subseg_get): Accept new argument "force_new". If
set then a new segment is always created.  All callers changed.
        (subseg_force_new): New function.  Similar to subseg_new, but
        always force a new segment to be created.

        * config/obj-som.c (som_frob_file): Call adjust_code_sections
        for each section.
        (adjust_code_sections): New function.  Adjusts the VMA for all the
        $CODE$ subspaces.

        * config/tc-hppa.c (md_assemble): Also handle creating a fixup
        for the unwind descriptors if a function's label follows the
        .PROC and .ENTRY directives.
        (pa_entry): Don't set BSF_FUNCTION for the label symbol here; it
        is done elsewhere.  Don't create a fixup for the unwind
        descriptors if the function's label has not been defined yet.
        (pa_proc): For SOM, place each procedure within a new $CODE$
        subspace.  Adjust the segment and frag for the associated
        function label if it exists.
1994-01-13 20:17:07 +00:00
Jeff Law d025bc7b6f * subsegs.c (subseg_get): Accept new argument "force_new". If
set then a new segment is always created.  All callers changed.
        (subseg_force_new): New function.  Similar to subseg_new, but
        always force a new segment to be created.
1994-01-13 20:16:44 +00:00
Jeff Law 644df6f6c2 * gas/all/gas.exp: No longer expect difference of forward
references to fail.
        * gas/all/x930509.s: Fix testcase to match how the expect code was
        written.
1994-01-13 20:01:22 +00:00
Jeff Law fca59f9d42 * config/tc-hppa.c (hppa_fix_struct): Add new "segment" field.
(hppa_fix_new): Initialize segment field.
        (md_apply_fix): Do nothing for pc-relative fixup which involves
        crossing a segment boundary.
        (pa_procend): Undefine the current label after handling .PROC
        and .PROCEND directives.
        (dummy_symbol): Make type "symbolS *".  Change references as
        appropriate.
1994-01-13 06:06:35 +00:00
Jeff Law 96f147a095 * gas/hppa/more.parse/procbug.s: Add test for another bug relating
to having a function's label follow the .PROC directive.
1994-01-12 21:42:55 +00:00
Ian Lance Taylor 4a99cebf62 Remove CVS merge markers. 1994-01-12 19:18:56 +00:00
Ian Lance Taylor bbf7e43ddc * read.c (read_a_source_file): Cast array argument to unsigned
char.
	* write.c (adjust_reloc_syms): Remove unused variable symseginfo.
	(write_object_file): Don't define punt_it if it won't be used.
	(fixup_segment): Don't define skip if it won't be used.
1994-01-12 18:40:11 +00:00
Jeff Law a1c91916e8 * app.c (do_scrub_next_char): Another attempt to fix bugs
dealing with labels without colons (for HPPA and MRI).
1994-01-12 05:55:09 +00:00
Jeff Law 61bfefd79a * gas/hppa/reloc/reloc.exp: Add test for cross-subspace call bug
found while working on multiple $CODE$ subspace support.
1994-01-12 05:49:12 +00:00
David Edelsohn e9ca7a1951 * config/tc-sparc.c (sparc_ip): Truncate args to %hi/%lo to 32 bits. 1994-01-12 01:11:26 +00:00
David Edelsohn 44ce2f3221 * expr.c (integer_constant): Fix computation of too_many_digits. Variable
digit_2 renamed to start.  Fix check for whether number will fit in 32 bits.
* read.c (emit_expr): Use valueT instead of long.
1994-01-12 01:04:10 +00:00
Ian Lance Taylor f34e27a18a * config/obj-elf.c: If TC_MIPS, include elf/mips.h.
(special_sections): Define.
	(obj_elf_special_section): Get default types and attributes from
	list of special sections.
	* config/tc-mips.c (ELF_TC_SPECIAL_SECTIONS): Define.
1994-01-11 22:35:16 +00:00
Ian Lance Taylor 4e76ae53fc * config/obj-ecoff.c (ecoff_frob_file): Force .sdata and .sbss
sections to be close together.
1994-01-11 21:31:30 +00:00
Ken Raeburn 6f1c6a6796 log for netbsd changes checked in a couple of days ago 1994-01-11 19:53:28 +00:00
Ian Lance Taylor 8197b58995 * config/tc-mips.c (macro): Corrected $at warnings in a couple of
spots.
1994-01-11 19:18:45 +00:00
Ian Lance Taylor af255ca0bb * listing.c (listing_prev_line): New function.
* listing.c: Include subsegs.h.
	(listing_prev_line): New function.
	(calc_hex): Reset byte_in_frag to zero for each new frag.
	* config/tc-mips.c (append_insn): Call listing_prev_line after
	emitting nop instructions.
	* Makefile.in (listing.o): Depends upon subsegs.h.
1994-01-11 18:06:01 +00:00
Stan Shebs 2a79b2028e Set lose_these_too correctly 1994-01-11 02:55:30 +00:00
Jeff Law 378cbfe1c9 * gas/hppa/more.parse/parse.exp: procbug.s is no longer expected
to fail.
        * gas/hppa/more.parse/procbug.s: Add missing .procend.
1994-01-10 17:55:19 +00:00
Jeff Law 4047ff1d24 * config/tc-hppa.c (pa_ip): Put check for missing label on .PROC
here.  Handle case where label may be defined after the .PROC.
        (pa_proc): It is not an error if the procedure's label isn't
        defined before the .PROC directive.
1994-01-10 17:54:01 +00:00
Ken Raeburn 34e4120b45 keep te-netbsd.h 1994-01-09 21:03:39 +00:00
Ken Raeburn 91176af626 te-netbsd.h: New file.
tc-i386.h (TARGET_FORMAT) [TE_NetBSD]: Use a.out-netbsd-386 for this config.
1994-01-09 20:49:23 +00:00
Ian Lance Taylor fe4e32905b * ecoff.c (ecoff_stab): Don't clobber the ECOFF symbol information
with the associate stabs information.
	(ecoff_build_symbols): Never set the type of stabs symbols to
	st_Global.  Don't update the symbol index or ifd if the gas symbol
	is not the same as the ECOFF symbol (which is now the case for
	stabs symbols).
1994-01-07 22:42:23 +00:00
Stan Shebs 0f8cb88de1 Fri Jan 7 11:18:48 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-make.in: Replace 8-bit chars with their names.
	* config/ho-mpw.h (LOSING_COMPILER): Define.
1994-01-07 19:22:15 +00:00
Stan Shebs 917fae09f9 Fri Jan 7 11:14:07 1994 Stan Shebs (shebs@andros.cygnus.com)
* config/tc-mips.c (macro): Add a LOSING_COMPILER ifdef that
	splits the function.
	(macro2): New function, if LOSING_COMPILER defined.
1994-01-07 19:18:16 +00:00
Steve Chamberlain 03a372ed70 * config/obj-coffbfd.c (fill_section): Don't ever fill past the
end of a section. (write_object_file): Temporary fix - setup
	stdoutput.
1994-01-07 17:42:34 +00:00
Ken Raeburn fd0e2cf2d5 fix sparc-solaris reloc bug 1994-01-06 23:17:44 +00:00
Ian Lance Taylor 13fe1379a6 * config/tc-mips.c (mips_ip): Warn about using $1 as well as $at
without .set noat.
1994-01-06 06:09:22 +00:00
Ken Raeburn d4aad2b441 Makefile.in, as.h changes 1994-01-06 01:17:18 +00:00
Ken Raeburn dffc8b9eb4 include literal.c, .o 1994-01-06 01:16:51 +00:00
Ken Raeburn 2d29d89dcf new file literal.c 1994-01-06 01:14:04 +00:00
Ken Raeburn 311ff8d65d tc-mips.h, subsegs.c changes 1994-01-06 01:11:05 +00:00
Ken Raeburn 166d9f909a (TARGET_FORMAT) [OBJ_AOUT]: Fix for new names in bfd. 1994-01-06 01:10:35 +00:00
Rob Savoye fce98d637f * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
micro-kernel.
1994-01-05 05:26:47 +00:00
Rob Savoye 5fdb3602a6 Add default values for AS and ASFLAGS. 1994-01-05 05:21:34 +00:00
Stan Shebs 5a0517735a Tue Jan 4 15:12:43 1994 Stan Shebs (shebs@andros.cygnus.com)
* Makefile.in (INCLUDES): Add $(srcdir)/.. to places to search.
	* config/obj-ecoff.c: Include files as "bfd/" instead of "../bfd/".
	* app.c, flonum.h, hex-value.c (const): Change #if to be more
	portable.
1994-01-04 23:35:56 +00:00
Stan Shebs a10dcb2f7e need GM ChangeLog 1994-01-04 21:20:25 +00:00
Stan Shebs 4f5d16c7d3 fix the .Sanitize 1994-01-04 21:18:15 +00:00
Stan Shebs ea838f998a Mon Jan 3 10:47:37 1994 Stan Shebs (shebs@andros.cygnus.com)
* config.sub:	  Add MPW-related aliases.
	* mpw-configure:  New file, MPW version of configure.
	* mpw-config.in:  New file, MPW version of configure.in.
	* mpw-xconfig.in:  New file, addon to configure.in.

Mon Jan  3 12:42:45 1994  Stan Shebs  (shebs@andros.cygnus.com)

	* mpw-xconfig.in: New file, mpw x mips configuration bits.
1994-01-04 21:14:04 +00:00
Jeff Law 07ec88b67f * gas/hppa/more.parse/labelbug.s: Add testcase for bug in last
app.c change
1994-01-03 18:08:43 +00:00
Jeff Law 6816e053e6 Revert last change. It loses. 1993-12-30 07:00:31 +00:00
Ken Raeburn 9314b3a125 * write.h (struct fix): Field tc_fix_data should be type PTR, not void*, for
compatibility with non-ANSI compilers.  Added single-bit field "fx_done".
1993-12-29 21:21:21 +00:00
Ken Raeburn 1c0f9b3ecc put a breakpoint in as_bad_where too 1993-12-29 21:19:41 +00:00
Jeff Law 88b245830a * gas/hppa/more.parse/labelbug.s: Add more colonless label
tests.
1993-12-29 19:37:20 +00:00
Jeff Law 001581c784 * app.c (do_scrub_next_char): Fix more bugs dealing with
labels without colons (For HPPA and MRI).
1993-12-29 19:33:31 +00:00
Torbjorn Granlund 45db9cafcf Making HPPA assembler case sensitive where it should be, and speeding it up
a factor of 2.
1993-12-26 22:36:02 +00:00
Ken Raeburn 0c3cab7aac Add TODO list item from observing Solaris assembler. 1993-12-21 17:54:38 +00:00
Ken Raeburn 0a75cb6cd8 sparc-coff reloc, symbols.c BSF_* changes 1993-12-20 21:54:33 +00:00
Ken Raeburn e67a0640a0 * write.c (adjust_reloc_syms) [RELOC_REQUIRES_SYMBOL]: If no symbol is present
(i.e., relocation against absolute), create a phony local symbol, and use it in
the reloc.
(fixup_segment): When adjusting a reloc with an absolute symbol, have
TC_FORCE_RELOCATION control clearing add_symbolP too.

* config/tc-sparc.h (RELOC_REQUIRES_SYMBOL): Define.
1993-12-20 21:53:01 +00:00
Ken Raeburn d3e3010b0b md_end, listing, obj-coff changes 1993-12-20 16:58:19 +00:00
Ken Raeburn 6868afe647 * as.c (main): Only invoke md_end if it's defined as a macro.
* tc.h (md_end): Don't declare it.
* config/tc-*.[ch] (md_end): Deleted, in cases where it doesn't do anything.
* config/tc-vax.c (vip_end): Deleted null function.
* config/tc-mips.c (md_mips_end): Renamed from md_end.
* config/tc-mips.h (md_mips_end): Declare.
(md_end): New macro, calls md_mips_end.

* write.c (write_object_file): Don't close output file.
* as.c (main): Close output file (if needed) after calling listing_print, which
should be after calling write_object_file, which sets the frag addresses.
1993-12-20 16:48:00 +00:00
Ken Raeburn 7e1766ba87 whitespace 1993-12-20 16:43:37 +00:00
Ken Raeburn 8b13fa4e5c * as.c (main): Call listing_print before BFD gets closed, when symbol data
hasn't been freed up yet.
1993-12-20 15:43:23 +00:00
Jeff Law 5ea18b5dd9 * config/tc-hppa.c (md_begin): Initialize "dummy_label".
(tc_gen_reloc, SOM version): For relocations which have no symbol,
        set sym_ptr_ptr to dummy_label.  Avoids lossage in generic BFD code.
1993-12-17 05:16:01 +00:00
Ken Raeburn 50f75add59 recent config/* & section_symbol changes 1993-12-16 21:56:03 +00:00
Ken Raeburn c999fd9fc2 * config/tc-vax.c (tc_aout_fix_to_chars): Local variable NBYTES_R_LENGTH now
const.

* config/obj-*.c, config/tc-*.c: Omit superfluous "return" statements at ends
of functions.  Don't check for null return from hash_new, since it won't return
at all if there's no memory available.  Also, check for null return from
hash_insert, rather than zero-length string, as success indicator.
1993-12-16 21:31:22 +00:00
Ken Raeburn a8a72d7480 read.c(lex_type): Don't make '[' a valid symbol name char. 1993-12-16 21:12:43 +00:00
Ken Raeburn 7387c35523 Makefile.in (RUNTEST): New variable.
(CHECKFLAGS): Pass it down.
1993-12-15 20:46:54 +00:00
Ken Raeburn cf4aca575b forgot to check in some log messages last week 1993-12-15 20:44:45 +00:00
Ken Raeburn 29f5c3cb15 Some changes from trying to run test suite in California last week:
* Makefile.in (site.exp): Don't set ASFLAGS.  Quote value of OBJDUMPFLAGS in
case it's empty.  Use temporary names until the end; make creating site.exp the
final step.
(check): Pass in ASFLAGS.

* gas/all/gas.exp: Use all_ones proc.  Change regexp for matching
C comments to avoid bugs in latest expect code.
1993-12-15 16:28:46 +00:00
Ken Raeburn 30d3a445c4 removed an unnecessary comment 1993-12-15 16:23:27 +00:00
Jeff Law 26da035165 * configure.in (hppa*-*-osf*): Do not consider this a developmental
configuration.
1993-12-15 05:45:45 +00:00
Jeff Law 551d2fd4cf * config/tc-hppa.c (md_apply_fix): Handle cases where no
relocation will be emitted for 32bit formats.
1993-12-15 05:41:11 +00:00
Jeff Law 9d5a9b20fe * config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
for any of the 'T' field selectors.
1993-12-14 07:34:37 +00:00
Steve Chamberlain 2b5936ff87 * config/tc-h8500.c (build_bytes): Get reloc type right for a
%page operation. (md_assemble): Don't modify input_line_pointer.
	(mdcoff_sizemachdep): New function.
	* config/tc-h8500.h (TC_COFF_SIZEMACHDEP): New macro.
	* config/tc-z8k.c (get_operand): Delete bogus check.
1993-12-11 19:28:41 +00:00
Steve Chamberlain 816153a3e3 Recognise SH. 1993-12-11 19:21:19 +00:00
Ken Raeburn a1328e79d0 output-file.c, write.c changes 1993-12-09 01:13:10 +00:00
Ken Raeburn f5c324244d (number_to_chars_*): Delete bogus range checks. 1993-12-09 01:08:37 +00:00
Jeff Law 28b9501dcd * gas/m68k/disperr.s: New test.
* gas/m68k/all.exp: Run it.
1993-12-08 22:32:05 +00:00
Steve Chamberlain ef7ce769aa Tue Dec 7 16:02:53 1993 Steve Chamberlain (sac@jonny.cygnus.com)
* config/tc-sh.c (md_convert_frag): Truncate disps before calling
	md_number_to_chars.  (md_assemble): Don't modify
	input_line_pointer.
1993-12-08 00:12:02 +00:00
David Edelsohn 677070311e * config/tc-h8300.c (md_assemble): Don't update input_line_pointer. 1993-12-06 19:50:09 +00:00
Jeff Law dd2f509f3d * config/obj-som.[ch] (obj_read_begin_hook): Remove last change.
Breaks with the HP compilers.

        * config/tc-hppa.c (struct call_info): Remove fields which were
        set but never used.  Remove all code which sets those fields.
        (struct subspace_dictionary_chain): Likewise.
        (struct space_dictionary_chain): Likewise.
        (pa_desc): Delete useless function.  Delete all references.
        (hppa_tc_make_sections): No need to count the number of symbols for
        the symbol extension section.
1993-12-06 19:21:51 +00:00
Jeff Law eb91665b4c * config/obj-som.c (obj_som_version): Pass version string to
SOM BFD backend.
        (obj_som_copyright): New function.  Much like obj_som_version.

        * config/tc-hppa.c (obj_copyright): Define as appropriate for
        SOM and ELF.
        (pa_copyright): Just a stub now.
1993-12-06 08:55:06 +00:00
Jeff Law 42ecb40985 * config/obj-som.c (obj_read_begin_hook): Delete unused function.
* config/obj-som.h (obj_read_begin_hook): Provide dummy definition.
        (TARGET_SYMBOL_FIELDS): Delete.  SOM isn't making use of them.
1993-12-06 07:19:13 +00:00
Jeff Law 9fad66b50b * gas/hppa/reloc/roundmode.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.  Fix typo in last change.
1993-12-06 03:26:33 +00:00
Jeff Law 4165dcc239 * config/tc-hppa.c (tc_gen_reloc, SOM version): Handle relocation
expansion due to rounding mode selectors.  Handle R_[RDSN]_MODE
        relocations for selecting the current rounding mode.
1993-12-06 03:24:49 +00:00
Jeff Law 7b624bf25c * config/tc-hppa.c (evaluate_absolute): Support e_rrsel and
e_rlsel field selectors.
1993-12-06 01:07:03 +00:00
Jeff Law 585635c706 Fri Dec 3 09:47:30 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
* tc-hppa.c: (tc_gen_reloc): Addend for a plabel relocation should
        be either 0 or 2 (no static link or static link required).  Always
        assume no static link.
1993-12-03 19:20:30 +00:00
Jeff Law 753dcbbd0b * config/tc-hppa.c (md_apply_fix): Delete old wrapper function.
(md_apply_fix_1): Rename to md_apply_fix.  Fix argument decls.
	Fix comments in various places.  Always return a value.
	Avoid dereferencing a NULL fx_addsy.
	(hppa_force_relocation): Avoid dereferencing a NULL fx_addsy.
1993-12-03 18:57:28 +00:00
Ken Raeburn 9919256d50 Deleted RCS crap, since it frequently seems to wind up being the only
thing "changed", and somehow cvs thinks the file has really been modified.
1993-12-03 03:12:35 +00:00
Ken Raeburn bfbfba45ba Lots of changes for:
- sparc[lite]-coff as well as sparc-lynx
 - producing coff (including debug info) under BFD_ASSEMBLER option
 - cleanup of cpu-specific code in non-cpu-specific files
   (especially write.c)
 - providing common code to avoid duplication in cpu-specific files
   (specifically, md_number_to_chars)
 - stylistic changes & misc cleanup

================

* config/tc-sparc.c (tc_gen_reloc): Make adjustment to addend be dependent on
howto fields, not on format flavour.

* struc-symbol.h (struct symbol): New fields sy_obj and sy_tc, defined as types
OBJ_SYMFIELD_TYPE and TC_SYMFIELD_TYPE, if those macros are defined.
* config/obj-coff.h (TC_SYMFIELD_TYPE, OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS, I960_SYM_FIELDS): Don't define.
(sy_tc, sy_obj): Define so that the fields look like they used to, until all
references get changed.

* write.c (fixup_segment): Lots of variables no longer register.  Reordered
some code for easier reading.
* config/obj-coff.c (obj_coff_dim): dim_index no longer register.  Deleted
superfluous return statement.
(obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_type, obj_coff_val,
tag_init, tag_insert): Deleted superfluous return statement.
(align, obj_coff_section): Deleted debugging printfs.
* config/tc-i386.c (md_assemble): Discard some register decls.  Use assignment
rather than memcpy to copy template.
(op_hash, reg_hash, prefix_hash): Default C initialization of statics is
sufficient.
* config/tc-sparc.c (print_insn): Array Reloc is now const, and points to
const.

* config/obj-coff.h (TARGET_FORMAT): Only use coff-sparc-lynx if TE_LYNX; use
coff-sparc otherwise.
[USE_NATIVE_HEADERS]: Delete this code; it isn't used.

* write.c (fixup_segment): Call TC_VALIDATE_FIX, if defined, before processing
a fixup.  Call TC_ADJUST_RELOC_COUNT just before returning.  Remove some
i960-coff-specific code.
(TC_ADJUST_RELOC_COUNT): Default to doing nothing.
* config/tc-i960.h (TC_ADJUST_RELOC_COUNT) [OBJ_COFF]: Define.
(i960_validate_fix): Declare.
(TC_VALIDATE_FIX): Define.
* config/tc-i960.c (i960_validate_fix): New function.

* write.c (number_to_chars_littleendian): New function.  Write out bytes in
little endian order, doing size and range checking.
(number_to_chars_bigendian): New function, similar.
* write.h: Declare them.
* config/tc-*.c (md_number_to_chars): Use them.
* config/tc-vax.c (md_apply_fix): Ditto.
* config/tc-i386.c (md_apply_fix): Ditto.

* config/obj-coff.c: Rearranged code for handling line number data.
(line_fsym): Renamed from function_lineoff in BFD_ASSEMBLER case, since the
usage is different from non-BFD_ASSEMBLER case.
(in_function, clear_function, set_function): New macros, to combine some of the
functionality implemented in differnet ways in BFD_ASSEMBLER and non-... code.
Used in other functions that used to check function_lineoff &c.
(obj_emit_lineno): Split into two copies, one for BFD_ASSEMBLER, one for not.
Non-BFD_ASSEMBLER version now has temporary variable to contain char* pointer
pointed to by char** argument.  Always follow CROSS_COMPILE code; easier to
read that way.
(obj_coff_ln): Don't call add_lineno or c_line_new if appline is set.
(obj_coff_endef) [BFD_ASSEMBLER]: Don't do anything special for ".bf", it's
been done elsewhere.
(coff_frob_symbol): If ilne number data is pending, call add_linesym to flush it.
(coff_frob_file): Don't do that here.
* config/obj-coff.h (coff_frob_file): Declare.
(obj_frob_file): Define, to call it.

* config/tc-sparc.h (md_create_short_jump, md_create_long_jump,
md_estimate_size_before_relax: Define them as macros calling as_fatal.
* config/tc-sparc.c: Don't define them as functions.
1993-12-03 03:10:08 +00:00
Jeff Law 0a8ae18f38 * Makefile (clean): Depend on clean-here. 1993-12-02 07:37:51 +00:00
Ken Raeburn 9a048e4868 changes so far 1993-12-01 23:00:57 +00:00
Ken Raeburn 2713382f20 include fopen-bin.h 1993-12-01 22:53:14 +00:00
Ian Lance Taylor 4032d3f09e * config/tc-mips.c (macro): From wilson@cygnus.com: for M_L_DAB,
set coproc before doing goto ld.
1993-12-01 19:26:45 +00:00
Jeff Law 44c0de5363 * config/tc-hppa.c (hppa_elf_mark_end_of_function): New function.
(pa_process_exit, pa_procend): Call it for ELF objects.
1993-12-01 18:43:53 +00:00
Ian Lance Taylor 777ad64d69 * config/tc-mips.c (macro): Subtract 8 from offset in non PIC l.d
case.  See comment.
1993-12-01 17:13:12 +00:00
Jeff Law b28171d0d0 * gas/hppa/more.parse/parse.exp: Test for error on for subspace
directive is an XFAIL for SOM assmeblers.

        * gas/hppa/reloc/reloc.exp: Remove XFAIL for relocation on
        cross-subspace call test.
1993-11-30 21:44:41 +00:00
Jeff Law 335d35c8bc * write.c (TC_FORCE_RELOCATION): Provide a default definition.
(fixup_segment): Allow the target machine to specify that a
        relocation must be generated for a particular fixup.  Remove
        #ifndef TC_HPPA hack.

        * config/tc-hppa.h (TC_FORCE_RELOCATION): Define.

        * config/tc-hppa.c (md_apply_fix_1): Never change fx_addsy to
        be NULL.  Only fixup_segment is supposed to do that.
        (hppa_force_relocation): New function.
1993-11-30 21:43:15 +00:00
Ian Lance Taylor c751ad1914 * Makefile.in (stabs.o): Added dependencies. 1993-11-30 16:25:18 +00:00
Ian Lance Taylor 018f2bba3f * config/obj-ecoff.c (ecoff_frob_file): Don't call bfd_set_symtab. 1993-11-30 16:23:33 +00:00
Jeff Law 6e4eda3368 * gas/hppa/more.parse/appbug.s: New test.
* gas/hppa/more.parse/parse.exp: Run it.
1993-11-28 21:17:36 +00:00
Jeff Law 278cd007b4 * app.c (do_scrub_next_char): Output a TAB before any
.app* directive.
1993-11-28 21:16:24 +00:00
Jeff Law 81413fa20b * config/tc-hppa.c (fix_new_hppa): Make sure a sub_symbol
exists before trying to peek at its name.
	(pa_space): Do not call pa_align_subseg.  See hppa/unsorted/align3.s
	for testcase.
	(pa_align_subseg): Delete unused/unwanted function.
1993-11-28 20:15:21 +00:00
Jeff Law 16539b5df7 * gas/hppa/unsorted/align3.s: New test.
* gas/hppa/unsorted/unsorted.exp: Run it.
1993-11-28 20:14:41 +00:00
Jeff Law 48c3dee6f0 Fix typo in last change. 1993-11-28 19:57:00 +00:00
Jeff Law d53253d854 * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define. 1993-11-28 06:54:22 +00:00
Jeff Law 385ce4337d * read.c (read_a_source_file): Fix test for when to stick a colon
on the end of a label.  Make code conditional on either MRI or
        LABELS_WITHOUT_COLONS.

        * app.c (do_scrub_next_char): If a line begins with whitespace, leave
        the single whitespace character alone.  Eat all others.

        * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define.
1993-11-28 06:54:04 +00:00
Jeff Law 5f74c94042 * gas/all/p2425.s: Insert a tab before assembler directives so
that the directives are not interpreted as labels.

        * gas/hppa/basic/weird.s: Sync with GDB version.

        * gas/hppa/more.parse/labelbug.s: New test.

        * gas/hppa/more.parse/parse.exp: Run it.
1993-11-28 06:52:42 +00:00
Jeff Law 1421609c24 * gas/hppa/more.parse/labelbug.s: New test.
* gas/hppa/more.parse/parse.exp: Run it.
1993-11-28 06:52:28 +00:00
Jeff Law 8d898eda89 * gas/hppa/reloc/fixupbug.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.
1993-11-24 20:45:32 +00:00
Jeff Law 64f591aea9 * gas/hppa/reloc/exitbug.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.
1993-11-24 09:26:23 +00:00
Jeff Law 31a385d17a * config/tc-hppa.c (pa_procend): Do not call process_exit.
(exit_processing_complete): Delete unwanted variable and all
        references.
1993-11-24 09:24:39 +00:00
Ian Lance Taylor c5953036d8 * ecoff.c (ecoff_setup_ext): Renamed from ecoff_build_ext.
Changed to not actually build the external symbol information, as
	that is now done by the ECOFF back end.
	(ecoff_build_debug): Changed accordingly.
	* ecoff.h (obj_ecoff_set_ext): Declare.   obj-format.c function
	called by ecoff_setup_ext.
	* config/obj-ecoff.c (ecoff_frob_file): If debug_info count is 0,
	set corresponding pointer to NULL.  Don't set raw_size and
	raw_syments.
	(obj_ecoff_set_sym_index): Removed.
	(obj_ecoff_set_ext): New function.
	* config/obj-ecoff.h (obj_set_sym_index): Don't define.
	(obj_ecoff_set_sym_index): Don't declare.
	* config/obj-elf.c (obj_ecoff_set_ext, elf_get_extr,
	elf_set_index): New functions used for ECOFF_DEBUGGING.
	(elf_frob_file): Reworked ECOFF debug generation to use
	new functions in bfd/ecofflink.c.
1993-11-24 07:42:03 +00:00
Jeff Law cd4d802bbb * gas/hppa/reloc/reloc.exp: Minor fixes so that SOM & ELF can
share the same test code.
        * gas/hppa/reloc/relocreduce.s: Likewise.
1993-11-22 07:28:08 +00:00
Jeff Law 4a1781156b * gas/hppa/basic/fmem.s: Add quadword FP store instructions.
* gas/hppa/basic/basic.exp: Test quadword FP store instructions.
1993-11-22 06:14:24 +00:00
Jeff Law 29249b4271 Add stabs.c to things-to-keep. 1993-11-22 06:04:32 +00:00
Ian Lance Taylor e0209756f8 * config/obj-coffbfd.c: Use PARAMS rather than EXFUN.
(yank_symbols): Don't call S_SET_EXTERNAL if the storage class is
	already set.  Fixes .def var; .val external_var; .scl 3; .endef.
	(adjust_stab_section): Make static.  Declare return type.  Remove
	unused variables.

	* config/tc-i386.h: Declare tc_coff_fix2rtype and
	tc_coff_sizemachdep.
1993-11-19 21:37:50 +00:00
Ken Raeburn 0669e04793 sparc-coff related changes 1993-11-19 20:04:07 +00:00
Ian Lance Taylor 5f6efd5a5e Get ECOFF gas to work again after this morning's checkins. 1993-11-18 21:00:19 +00:00
Ian Lance Taylor 29cc5816c5 Various entries. 1993-11-18 19:10:20 +00:00
Ian Lance Taylor 0dd2d296fc * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
OBJ_ECOFF in many cases.
	(mips_any_noreorder): New variable.
	(mips_cprestore_offset): Initialize to -1.
	(mips_frame_reg): New variable.
	(RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
	RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
	(md_pseudo_table): Handle "gpword" and "cpadd".
	(md_begin): Initialize ok to false.  If OBJ_ELF, set alignment
	of text, data and bss sections to 4.  Set alignment of
	.reginfo section to 2.  If ECOFF_DEBUGGING, create .mdebug
	section.
	(ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
	check.
	(append_insn, macro_build, macro_build_lui): Take place
	argument.  Changed all callers.
	(append_insn): If appending a nop, don't emit one.
	(macro_build): Changed assertion for 'i', 'j', 'o' case.
	(gp_reference): Removed.
	(load_address): New function.
	(macro): If mips_noreorder is used, set mips_any_noreorder.
	Extensive changes to handle GP and PIC symbols differently.
	Build both possible code choices using a variant frag, and
	make a final decision at the end of assembly when all
	information is known.  Added PIC support for all symbol
	references.
	(mips_ip): Don't permit anything but a number after $ for a
	coprocessor register.  Don't use .lit4 or .lit8 sections when
	generating PIC code.  If OBJ_ELF, set alignment of .lit4 or
	.lit8 section to 4.
	(md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
	(s_change_sec): Set alignment of ELF .rodata or .sdata section
	to 4.
	(s_mipsset): If .set noreorder, set mips_any_noreorder.
	(s_cpload): Ignore .cpload if not generating PIC code.  Warn
	if .cpload is not in noreorder section.
	(s_cprestore): Ignore .cprestore if not generating PIC code.
	(s_gpword, s_cpadd): New functions.
	(tc_get_register): Added frame argument; if true, set
	mips_frame_reg to return value.  Changed all callers.
	(md_estimate_size_before_relax): Don't error out, but instead
	determine how much a frag should grow.
	(tc_gen_reloc): Return multiple relocs if appropriate, as
	determined by md_estimate_size_before_relax.
	(md_convert_frag): New function.
	(mips_elf_final_processing): Set ELF header flags based on
	mips_any_noreorder and mips_pic.
	* config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
	(MAX_RELOC_EXPANSION): Define to be 3.
	(md_relax_frag): Define to be 0.
	(md_convert_frag): Don't define.
	(tc_get_register): Changed declaration.
1993-11-18 18:56:31 +00:00
Ian Lance Taylor 00f4e65966 * configure.in (mips-*-irix5*): New target. Use elf and mips-big. 1993-11-17 23:26:43 +00:00
Ian Lance Taylor 9cc8106c47 * Makefile.in (REAL_SOURCES): Added ecoff.c.
(REAL_HEADERS): Added ecoff.h.
	(OBJS): Added ecoff.o.
	(ecoff.o): New target.
1993-11-17 23:25:35 +00:00
Ian Lance Taylor 9faec336f4 New files for ECOFF debugging split out of config/obj-ecoff.c. 1993-11-17 23:23:39 +00:00
Ian Lance Taylor a58374d72a * write.c (is_dnrange): Do not define if md_relax_frag is defined.
(relax_segment): If md_relax_frag is defined, use it to handle a
	frag of type rs_machine_dependent rather than looking through
	md_relax_table.

	* write.c (relax_and_size_seg): Don't set SEC_HAS_CONTENTS for a
	bss section.  Set SEC_RELOC if there are any relocations, even for
	a zero size section.

	* write.c (write_relocs): In RELOC_EXPANSION_POSSIBLE case, based
	data offset on reloc[0]->address rather than reloc[j]->address, so
	that multiple relocs can affect different memory locations.

	* write.c (chain_frchains_together, relax_and_size_seg,
	adjust_reloc_syms, write_relocs): Make third argument PTR, not
	char *, to match definition of bfd_map_over_sections.
1993-11-17 23:06:12 +00:00
Ian Lance Taylor 46b8119005 * read.c (read_a_source_file): If we find a bad pseudo-op,
do a continue to go on to the next line rather than a break.
	Removed duplicate bad pseudo-op code which was never executed.

	* read.c (s_lcomm): Do not require a comma after the name.

	* read.c (s_lcomm): Set bss flag for .sbss section if used.
1993-11-17 23:03:42 +00:00
Jeff Law c5e9ccd030 * config/tc-hppa.c (pa_ip): Fix thinko in 21bit range check. 1993-11-17 04:40:15 +00:00
Jeff Law 3e330968cd * config/tc-hppa.[ch]: Fix assorted trivial indention problems. 1993-11-13 01:08:50 +00:00
Jeff Law 4a1b59ef72 * config/obj-som.c (obj_som_version): Add missing ';'.
(som_frob_file): Delete whitespace at EOL.
1993-11-13 00:54:15 +00:00
Ken Raeburn f3b6e1f2b1 version number updated following 2.2 release 1993-11-12 23:44:55 +00:00
Jeff Law f2eed8840d * config/tc-hppa.c (hppa_fix_struct): Use a real type for the
field selector, rather than an int.  All uses of field selectors
	fixed.
	(tc_gen_reloc): For SOM PLABELs, always set addend to zero for now.
	(md_apply_fix_1): Do not call hppa_field_adjust for any PLABEL
	field.
1993-11-12 22:54:41 +00:00
Jeff Law a721c80b05 * config/tc-hppa.c (pa_type_args): For .import statements,
silently ignore attempt to change the symbol type for a function
        from ST_ENTRY to ST_CODE on .import
1993-11-11 23:51:20 +00:00
Ian Lance Taylor ca16b5e55a * write.h (fixS): Rename fx_callj field to fx_tcbit.
* write.c, config/obj-coff.c, config/obj-coffbfd.c,
	config/tc-i960.c: Corresponding changes.
1993-11-10 22:06:06 +00:00
Jeff Law 7420b02b8d * Makefile.in (distclean): Delete config-stamp and config.h 1993-11-09 09:57:02 +00:00
Jeff Law f41f3d72ec * config/tc-hppa.c (evaluate_absolute): Avoid relying on
ANSI-C features.
1993-11-09 09:52:59 +00:00
Jeff Law 48153d49ce * config/tc-hppa.c (pa_type_args): Renamed from pa_export_args.
Accept new argument "is_export".  All callers changed.  When
        processing a .export directive for a function, do not allow
        the user to set the type to "CODE", instead warn and set the
        type to "ENTRY".
1993-11-09 08:51:02 +00:00
Ian Lance Taylor 9226253a41 * config/tc-mips.c (mips_ip, printInsn): Handle 'k' (from Ted
Lemon <mellon@pepper.ncd.com>).
	(mips_ip): Permit odd numbered floating point registers if -mips3.
1993-11-08 17:09:18 +00:00
David Edelsohn 5308785003 * configure.in: Remove h8300h, we have multilib now. 1993-11-08 15:48:42 +00:00
David Henkel-Wallace 5f8a378823 netware target support. 1993-11-08 14:22:06 +00:00
Jeff Law 513f04711d * First cut at cleaning up PA instruction parsing.
* config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
	insn structure as an argument, and a pointer to a string.  All
	callers changed.  Always read any field selector here.  Call
	evaluate absolute to get a return value.
	(evaluate_absolute): Addept pointer to insn structure as its
	argument.  All callers changed.
	(INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
	into an instruction and continuing the main pa_ip loop.
	(CHECK_FIELD): New macro for simple range checking of fields.
	(pa_ip): Delete unused variables.  Use INSERT_FIELD_AND_CONTINUE
	and CHECK_FIELD.  All immediate fields now pass through
	pa_get_absolute_expression which will also handle field selectors.
	Delete dead code.  Simplify.
	(md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
	applied are in range.  Use bfd_put_32 rather than inserting each
	byte of the fixed instrution into the buffer ourselves.
1993-11-07 20:33:18 +00:00
Jeff Law 3e411021cc * write.c (fixup_segment): Delete {SEG,GLOBAL}_DIFF_ALLOWED code,
it was PA specific and is no longer needed (it's now handled
        within the PA backend).
        * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
        * config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
        a fixup is $global$ change it to NULL as $global$ is really only
        needed long enough to determine the base type of relocation to use.
1993-11-07 20:08:19 +00:00
Jeff Law 2598939269 * config/tc-hppa.h (SEG_DIFF_ALLOWED): Delete definition.
* config/tc-hppa.c (fix_new_hppa): If the subtract symbol for
        a fixup is $global$ change it to NULL as $global$ is really only
        needed long enough to determine the base type of relocation to use.
1993-11-07 20:07:51 +00:00
Jeff Law 240cbc571f * config/tc-hppa.c (create_new_subspace): Initialize subspace_defined. 1993-11-07 09:15:13 +00:00
Jeff Law 163aac84be * config/tc-hppa.c (pa-ip, case 'z'): Make field selectors work
for 'z' operands (target of ble branch).
1993-11-07 09:03:59 +00:00
Jeff Law f60a4a0b52 * gas/hppa/basic/basic.exp: No longer expect failures for
system instruction tests now that probei is fixed.
1993-11-07 08:33:03 +00:00