Commit graph

572 commits

Author SHA1 Message Date
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
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
Ian Lance Taylor
f71babce75 Various entries. 1994-01-25 00:27:25 +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
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
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
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
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
Ken Raeburn
642709633f ecoff.c, as.c changes 1994-01-14 02:05:28 +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
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
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
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
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
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
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
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
Rob Savoye
fce98d637f * config/ho-vsta.h, configure.in, .Sanitize: Add support for VSTa
micro-kernel.
1994-01-05 05:26:47 +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
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
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
0a75cb6cd8 sparc-coff reloc, symbols.c BSF_* changes 1993-12-20 21:54:33 +00:00
Ken Raeburn
d3e3010b0b md_end, listing, obj-coff changes 1993-12-20 16:58:19 +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
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
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
Ken Raeburn
a1328e79d0 output-file.c, write.c changes 1993-12-09 01:13:10 +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
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
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
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
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
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
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
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
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
29cc5816c5 Various entries. 1993-11-18 19:10:20 +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
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
18c4f112b4 * config/tc-hppa.c: (update_subspace): Fix type and name of last
parameter.  All callers fixed.
        (md_begin, pa_chk_field_selector, pa_entry): Lint.
1993-11-07 07:23:52 +00:00
Jeff Law
1cc248d263 * config/tc-hppa.c (cons_fix_new_hppa): Reset field selector
to default state after it's been used.
1993-11-07 06:43:24 +00:00
Jeff Law
88eb7ea6b2 * config/obj-som.c (obj_som_init_stab_section): Change
space/subspace sort keys for the stab sections so as to avoid
        bugs in the hp linker and pxdb.
1993-11-05 20:11:19 +00:00
Jeff Law
0f894895a1 * write.c (chain_frchains_together): Update pointer to last
frag for a segment in the seginfo structure.
1993-11-05 01:01:18 +00:00
Jeffrey Wheat
de074576ce Changed RUNTESTFLAGS to RUNTEST_FLAGS 1993-11-04 17:36:24 +00:00
Jeff Law
d6e524f308 * tc-hppa.c: Add %dp and %rp as synonyms for %r27 and %r2 in the
predefined register table.
	(pa_parse_number): Handle %rp in common register shortcut code.
	Consistently set return value to -1 for an error.  Clean up error
	messages and only print them when "print_errors" is true.  Handle
	empty string case like the HP assembler -- assume a value of
	zero.
1993-11-03 06:21:14 +00:00
Ken Raeburn
25270a1ca7 log my expr.c change 1993-11-02 23:44:59 +00:00
Jeff Law
20cee6d8bd * config/ho-hpux.h: Do not include ho-sysv.h. Instead include
standard hpux include files to pick up various function decls.
1993-11-02 23:39:55 +00:00
Ian Lance Taylor
efe8ef02b2 * read.c (s_lcomm): Put small objects in .sbss for MIPS ELF as
well as MIPS ECOFF.
	(get_stab_string_offset): Remove unused variable aligned.
1993-11-02 23:15:58 +00:00
Jeff Law
aa14e86394 * config/ho-hppaosf.h: Delete _IO* macros. They are defined in
stdio.h.  Delete bogus declaration of free.  Get path to
        alloca-conf.h right.
1993-11-02 23:07:54 +00:00
Jeff Law
ff852e1177 * config/obj-som.h (obj_attach_unwind_info): Define as a hook
so GAS can attach unwind descriptor information to a BFD symbol.
	* config/tc-hppa.c (fix_new_hppa): If necessary attach unwind
	descriptor information to the BFD symbol.
	(md_apply_fix): R_HPPA_ENTRY and R_HPPA_EXIT can never be "applied",
	they are simply markers.  Make R_HPPA_UNWIND_* handling OBJ_ELF
	dependent.
	(pa_build_unwind_subspace): Whole function is OBJ_ELF dependent.
	(pa_entry): Build a R_HPPA_ENTRY relocation when configured for SOM.
	(pa_exit): Likewise, but built a R_HPPA_EXIT relocation.  Do not
	build "end-of-function" symbols for SOM, they are not needed.
1993-11-02 08:06:23 +00:00
Jeff Law
a50e9b5506 * config/tc-hppa.c (process_exit): Create temporary symbols with
correct prefixes so they can be eliminated later.
1993-11-02 06:43:11 +00:00
Jeff Law
49fc68a13f * config/tc-hppa.c (call_info struct): Delete unused "frame" field.
(pa_callinfo): Insert framesize into the unwind information as
	soon as it's available.
	(pa_build_unwind_subspace): Do not insert framesize into the unwind
	information here.
1993-11-02 06:38:20 +00:00
Jeff Law
c43d56f78c * Add support for marker type relocations. These mark areas
of interest to the linker.  ENTRY/EXIT relocations for SOM are
	an example of marker relocations.
	* write.c (write_relocs): Instead of assuming size of a relocation
	is 4 bytes, pick up the size from relocation itself.
	(fixup_segment): Do not complain that a value is too small for
	marker relocations.
1993-11-02 06:31:36 +00:00
Jeff Law
009dc5e1e5 * struc-symbol.h: Add new "sy_used" field to the symbol structure.
* expr.c (operand): Set sy_used for any symbol used as an operand.
	(expr): Likewise for any symbol used in an expression.
	* config/tc-hppa.h (tc_frob_symbol): Define.  Punt imported
	symbols which are never used and absolute symbols which local scope.
1993-11-02 06:10:52 +00:00
Jeff Law
f197d7eb66 * config/obj-som.h (obj_frob_file): Define.
* config/obj-som.c (obj_som_init_stab_section): Set alignment
	of stab sections.  Make space for the special stab entry.
	(adjust_stab_sections): Adjust the special entry in the
	stabs section.
	(som_frob_file): New function.  Simply calls adjust_stab_sections
	for each section.
1993-11-02 05:37:58 +00:00
Ian Lance Taylor
bca9cf0b9e * config/tc-mips.c (PIC_CALL_REG, SP, FP): Define.
(mips_pic, mips_cprestore_offset): New static variables.
	(md_pseudo_table): Handle .abicalls, .cpload, and .cprestore.
	Ignore .bgnb and .endb.
	(gp_reference): _gp_disp is never addressed off GP.
	(macro_build): Ignore macros while searching for insn.  For cases
	i, j, and o, accept the reloc type as an argument rather than
	assuming BFD_RELOC_LO16.  Don't try to convert BFD_RELOC_LO16 to
	BFD_RELOC_MIPS_GPREL.  Added new case a.
	(set_at, load_register, macro): Changed calls to macro_build to
	pass new argument for i, j and o cases.
	(macro): Handle M_JAL_1, M_JAL_2 and M_JAL_A.  These require
	special handling when generating SVR4 PIC code.
	(mips_ip, tc_get_register, s_frame): Use macros FP, SP, GP and AT
	rather than hard coded constants.
	(md_apply_fix): Handle BFD_RELOC_MIPS_LITERAL and
	BFD_RELOC_MIPS_CALL16.
	(s_option): Set mips_pic based on .option picN.
	(s_abicalls): New function; set mips_pic to 2.
	(s_cpload): New function; handle .cpload.
	(s_cprestore): New function; handle .cprestore.

	* config/obj-ecoff.c (obj_pseudo_table): Add entries for .bgnb,
	.endb and .verstamp, setting them to s_ignore.
1993-11-01 23:27:05 +00:00
Jeff Law
47f45d6636 * config/tc-hppa.c (subspace_dictionary_chain): Add new ssd_defined
field.  Define SUBSPACE_DEFINED accessor macro.
	(pa_subspace): Allow user to override subspace attributes for
	built-in subspaces.  Set ssd_defined at the end of fcn -- that
	way the attributes can only be changed once.  Pass newly allocated
	name to is_defined_subspace, not a pointer to the input line.
	Fix typo in space/subspace rework.
	(is_defined_subspace): Delete unused 2nd arg.  All callers changed.

	* config/tc-hppa.c (pa_import): If currently in the text segment
	and a symbol is imported without type information, set BSF_FUNCTION
	for the symbol.
1993-10-31 18:49:26 +00:00
Jeff Law
20b39b6f05 * write.c (relax_and_size_seg): Correct test to determine
if the section's size was rounded up.
1993-10-31 08:06:11 +00:00
Jeff Law
e75acd689b * config/obj-som.h (obj_set_symbol_type): Define a hook so GAS
can properly set all the SOM symbol types.
	* config/tc-hppa.c (pa_symbol_type): New enum to represent the
	symbol types which can be set from an IMPORT/EXPORT statement.
	(pa_export_args): Set the pa_symbol_type type based on arguments.
	If defined, call obj_set_symbol_type to pass this information on
	to the BFD backend.
1993-10-31 07:48:41 +00:00
Jeff Law
d191a03cf5 * read.c (get_stab_string_offset): Set SEC_DEBUGGING for any
stab section we make.
        (s_stab_generic): Likewise.
1993-10-31 07:38:33 +00:00
Jeff Law
65a7f8a604 Allow backends to override the value of the "fake" label.
See ChangeLog for the details.
1993-10-31 02:19:05 +00:00
Jeff Law
6bc14195fb Rework space/subspace handling in PA code to fully support
SOM spaces/subspaces.
	* tc-hppa.c (USE_ALIASES): New object-format dependent define
	to control the use of space/subspace name aliases.
	(update_subspace): Accept space chain entry for containing space
	as a new parameter.  All callers changed.
	(pa_get_label): Use current_space rather than pa_segment_to_space.
	(pa_define_label): Likewise.
	(pa_undefine_label): Likewise.
	(md_begin): Change into the (possibly modified) text_section.
	(pa_parse_space_stmt): Create a new segment/space if create_flag
	is true, and the space name is not one of the two predefined spaces.
	(pa_subspace): Use current_space rather than a lookup via
	pa_segment_to_space.  Reset BFD section flags as required by
	the .subspace directive.  Likewise for the section alignment.
	Pass the current space to update_subspace and create_new_subspace.
	(pa_spaces_begin): Only use space/subspace aliases if USE_ALIASES
	is true.  When not using aliases, create a BFD section for each
	subspace encountered.  When not using aliases replace the default
	text, data, and bss segments with new ones.
	(create_new_subspace): When not using aliases each subspace has a
	section/segment and subsegments are not needed, so set the subsegment
	to zero.
1993-10-31 01:54:01 +00:00
Jeff Law
548ea75baa * config/tc-hppa.c (pa_parse_space_stmt): If needed, call
obj_set_section_attributes to pass space attributes to the
        BFD backend.
        (create_new_space): Likewise.
        (create_new_subspace): Likewise for subspace attributes using
        obj_set_subsection_attributes.
        (update_subspace): Likewise for subspace attributes using
        obj_set_subsection_attributes.
1993-10-30 23:11:31 +00:00
Jeff Law
0f3b419c4c * config/tc-hppa.c (pa_parse_space_stmt): Get segment and sort key
for $TEXT$ and $PRIVATE$ from the default space structure.
1993-10-30 23:00:34 +00:00
Jeff Law
9a182533aa * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
as appropriate for the given type.
1993-10-30 22:55:19 +00:00
Jeff Law
62f0841b9d * config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
SOM relocations.
1993-10-30 22:35:49 +00:00
Jeff Law
d56f45f5bc * config/tc-hppa.c (pa_comm): Delete incorrect check for symbol
redefinition.
1993-10-30 22:02:53 +00:00
Jeff Law
3c87583d0a * config/obj-som.[ch]: New files for SOM support. Note SOM
support is not yet complete in GAS or BFD.
1993-10-30 21:57:16 +00:00
Jeff Law
12696e9cb5 * config/ho-hppabsd.h: Delete IO* macros, they are defined in
stdio.h.  Delete declaration of free.  Include stdlib.h, unistd.h,
        and string.h.
1993-10-30 21:29:29 +00:00
Jeff Law
53c0b9e754 Back out of last change. Instead:
* config/tc-hppa.c (md_begin): Disable "-R" option to fold
        text and data segments.  Warn user "-R" is unsupported on the
        PA.
1993-10-29 21:08:19 +00:00
Jeff Law
37ed805e49 * as.c (main): Disable "-R" option if NO_FOLD_DATA_AND_TEXT
is defined.
        * config/tc-hppa.h (NO_FOLD_DATA_AND_TEXT): Define.  Folding
        of text and data segments fails miserably on the PA.
1993-10-29 20:36:07 +00:00
Jeff Law
d33ace2e25 * config/tc-hppa.c (md_pseudo_table): Default alignment is 8 for
.align and .ALIGN directives.
1993-10-29 01:01:35 +00:00
Jeff Law
3515a504aa * config/tc-hppa.c (pa_parse_space_stmt): Advance
input_line_pointer when an invalid argument is encountered.
1993-10-28 23:14:33 +00:00
Jeff Law
48ac0c90e9 * config/tc-hppa.c (pa_space): Do not report an error for a .space
directive which does not define a "well-known" space and does
	not include a space number as an argument.

	* config/tc-hppa.c (pa_def_subspaces): Correct initialization of the
	"defined", "loadable", "code_only" and "space_index" fields.
	(pa_def_spaces): Correct initialization of the "spnum", "defined",
	and "private" fields.

	* write.h (struct fix): Add new tc_fix_data field for the various
	backends to attach machine dependent fixup information to.
	* write.c (fix_new_internal): Initialize new tc_fix_data field.
	* config/tc-hppa.c (hppa_fix_struct): Delete unnecessary fix_fixP and
	fx_next fields.
	(hppa_find_hppa_fix): Delete unnecessary function.  Fix all
	callers	to get HPPA fixup information from the tc_fix_data field
	in the GAS fixup.
	(hppa_fix_root): Delete unnecessary variable.
	(fix_new_hppa): Attach HPPA fixup data to the GAS fixup.

	* config/tc-hppa.c (pa_set_start_symbol); Delete unwanted
	function.  Fix all callers.
	(subspace_dictionary_chain): Delete unused ssd_start_sym field.

	* config/tc-hppa.c (hppa_fix_adjustable): New function to determine
	if a particular fixup is adjustable.
	* config/tc-hppa.h (tc_fix_adjustable): Call hppa_fix_adjustable to
	perform the real work.

	* config/tc-hppa.h (RELOC_EXPANSION_POSSIBLE): Move definition out
	of OBJ_XXX conditionals.
	(MAX_RELOC_EXPANSION): Likewise.

	* config/tc-hppa.c (log2): Renamed from is_power_of_2.  Fix all
	callers. Now returns log2 (N) for positive N which are an exact
	power of two or -1 for an error.

	* config/tc-hppa.c (pa_callinfo): Range check values provided for
	ENTRY_GR, ENTRY_FR and ENTRY_SR.  Properly adjust vaues before
	inserting them into the unwind table.

	* config/tc-hppa.c (NEEDS_FIXUP): Delete definition and all references.
	(hppa_gen_reloc_type): New object format dependent macro.
	(pa_ip): Delete tons of code which was either OBJ_SOM or OBJ_ELF
	conditional.  The code can (and will) be shared between SOM & ELF
	formats in the near future.
	(cons_fix_new_hppa, md_apply_fix_1): Likewise.
	(pa_build_unwind_subspace, process_exit, pa_exit): Likewise.
	(tc_gen_reloc): Use hppa_gen_reloc rather than an object format
	specific call.

	* config/tc-hppa.c (pa_comm): Set the segment for a common symbol
	to bfd_und_section.

	* config/obj-elf.h (obj_elf_version): Add extern prototype.

	* configure.in (hppa-*-bsd*): New configuration.
	BFD is always used for GAS generating SOM objects.

	* write.c (adjust_reloc_syms): Set sy_used_in_reloc if an
	adjustment is rejected by the target machine.

	* config/tc-hppa.c (pa_big_cons): Delete function and its
	declaration.  All callers changed to use pa_cons.

	* write.c (fixup_segment): Fix indention and open/close brace
	problem.

	From Pete Hoogenboom:
	* config/tc-hppa.c (md_atof): Return a NULL on success rather than
	an empty string.
1993-10-28 20:49:19 +00:00
Ian Lance Taylor
6121fb06ad * config/tc-a29k.c (md_begin): When opcodes are mashed together in
the table, require that the one without bit 0x1000000 set come
	first.  Require further that it be case 'b' or 'P'.  The a29k
	opcode table already meets these constraints.
	(machine_ip): When handling case 'i' or 'A', make sure that the
	appropriate opcode really exists by looking at the next entry in
	the opcode table.
1993-10-28 17:14:16 +00:00
Ian Lance Taylor
729f4bbaa8 * config/tc-m68k.c (m68k_ip): Adjust offsets for PC relative
fixups.  Add 6 for long 7.3 case, 2 for short 7.2 case.
1993-10-27 22:23:16 +00:00
Ian Lance Taylor
007ff46b2e * config/obj-ecoff.c (obj_ecoff_ent): Ignore an optional number
after a .ent directive.
1993-10-27 18:47:40 +00:00
Ian Lance Taylor
d1ee509baf Took case '>' out of macro_build again to avoid confusion. Use & 0x1f
on the shift count rather than % 32.
1993-10-27 16:54:54 +00:00
Ian Lance Taylor
56c96faae6 * config/tc-mips.c (macro_build): Handle '>' case (shift amount
between 32 and 63 for double shift instruction).
	(mips_ip): Likewise.
	(printInsn): Likewise.
1993-10-27 15:52:03 +00:00
Ian Lance Taylor
5694ad9319 * config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol
number in the right place.  Untested.  Probably does not work for
	cross assembly.  From cagney@cs.adelaide.edu.au (Andrew Cagney).
1993-10-26 22:10:37 +00:00
Ian Lance Taylor
f3751617c3 * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
an illegal offset of 0 or -1.
1993-10-26 21:58:41 +00:00
Ian Lance Taylor
fa20b8bfd5 * config/obj-elf.c (obj_elf_init_stab_section): Align .stab
section to a longword boundary.
1993-10-26 21:01:15 +00:00
Ken Raeburn
4da7942dbe Makefile.in, tc-hppa.c changes 1993-10-26 17:32:49 +00:00
Steve Chamberlain
8e5afd4f4f * config/tc-sh.c (build_Mbytes): Write the relocs to the correct
address. (md_assemble): Make error handling a bit more graceful.
	(md_apply_fix):  Don't warn on non aligned displacement.
1993-10-25 18:48:17 +00:00
Steve Chamberlain
2493403561 * config/tc-z8k.c (get_specific, built_bytes): Understand all the
aspects of lda.
1993-10-25 18:19:16 +00:00
Ken Raeburn
84678d1690 doc/Makefile.in, write.c, config/tc-sparc.* changes 1993-10-25 17:51:05 +00:00
Jim Wilson
52aa70b52d Add support for .dword pseudo op to mips port. 1993-10-24 23:52:09 +00:00
David D. Zuhn
ab0751c895 use lowercase "format" instead of Format/format 1993-10-24 05:25:35 +00:00
Ian Lance Taylor
8efed14f10 * input-scrub.c (physical_input_file, logical_input_file,
physical_input_line, logical_input_line): Made static.
	(as_where): Return current file name and line number, don't print
	them out.
	* messages.c (as_show_where): New static function.  Other
	functions use it instead of as_where.
	(as_bad_internal): New static function.
	(as_bad): Use as_bad_internal.
	(as_bad_where): New function, like as_bad but taking a file name
	and line number.
	* as.h (as_bad_where): Declare.
	(as_where): Change prototype for new arguments.
	* write.h (fixS): Added fields fx_file and fx_line.
	* write.c (fix_new_internal): Save file and line number in fix.
	(fixup_segment): Use as_bad_where, not as_bad.
	* input-file.c (f_in, file_name): Made static.
	* cond.c (struct file_line): Just use file and line fields.
	(s_else): Use as_where and as_bad_where, not get_file_line and
	set_file_line.
	(get_file_line, set_file_line): Removed.
	* listing.c (listing_newline): Use as_where.
	* config/obj-coffbfd.c (obj_coff_init_stab_section): Use as_where.
	* config/obj-ecoff.c (add_file): Use as_where.
	* config/obj-elf.c (obj_elf_init_stab_section): Use as_where.
	* config/tc-m68k.c (md_apply_fix_2): Use as_bad_where.
	* config/tc-mips.c (tc_gen_reloc): Use as_bad_where, not assert.
1993-10-22 19:15:20 +00:00
Ken Raeburn
efa0c22e67 Various arious PA changes from Utah.
V9 bugfix.
See changelog...
1993-10-21 20:03:19 +00:00
Ian Lance Taylor
7766838e96 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
option, which is used by the SunOS make default .s.o rule.
1993-10-21 19:50:57 +00:00
Ian Lance Taylor
dff60b7d48 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
m68k_aout_machtype.
	* config/tc-m68k.c (omagic): Remove obsolete and unused variable.
	(m68k_aout_machtype): New variable, if OBJ_AOUT.
	(md_assemble): Initialize m68k_aout_machtype based on
	current_architecture, if OBJ_AOUT.
	(md_parse_option): Remove obsolete reference to omagic.
1993-10-19 22:18:15 +00:00
Ian Lance Taylor
dd3f1f765f * config/tc-mips.c (md_pseudo_table): Ignore .livereg pseudo-op.
(s_option): Ignore .option O* and .option pic*.
	(s_ent): Skip whitespace between symbol and optional digit.
1993-10-14 21:06:52 +00:00
Ian Lance Taylor
5450813848 * app.c (do_scrub_next_char): Always accept 'x' and 'X' as escape
characters in state 6.
	* read.c (next_char_of_string): Accept \Xh* and \xh* where h* are
	hexidecimal digits.
1993-10-14 21:03:14 +00:00
Ian Lance Taylor
c17cd70926 * config/tc-i386.c (md_apply_fix_1): Make cross segment calls work
for ELF by hacking around bizarre bfd_perform_relocation behaviour
	that I don't dare change.
1993-10-14 20:54:09 +00:00
Ian Lance Taylor
ad660eb164 Thu Oct 14 11:33:25 1993 Michael Meissner (meissner@osf.org)
* config/tc-i386.c: (md_begin): Do not zero static arrays.  Don't
	call strchr for each character to see if it is a special char,
	instead add a second loop over special_chars.  Set alignment
	of text, data and bss sections to 4.
	(pi, te, pt, pe, ps): Add declarations so that DEBUG386 can be
	used again.
	(reloc): Don't return 8 and 16 bit non-PC relative relocations on
	ELF, since the ELF object format does not have these type of
	relocations.  Change the abort into as as_bad and return
	BFD_RELOC_NONE to silence compiler warnings.
	(md_assemble): Keep track of the instruction size.  Allow white
	space between the $ and the constant for compatibility with older
	gases and other assemblers.
	(i386_operand): Skip spaces between $ and expression.
	(tc_gen_reloc): Don't allow anything but 32 bit relocations on
	ELF.  Convert abort into an as_bad and assert into as_fatal.
1993-10-14 15:41:52 +00:00
Ken Raeburn
132239bfda obj-coffbfd change for wellfleet pic 1993-10-13 20:54:54 +00:00
Ian Lance Taylor
463b185190 * config/obj-ecoff.c (ecoff_build_symbols): Handle st_End symbol
for st_StaticProc just like st_Proc.
1993-10-13 18:53:03 +00:00
Ian Lance Taylor
b7cbb59ff6 * write.c (relax_and_size_all_segments): Moved #endif for OBJ_BOUT
so that OBJ_BOUT doesn't forget to adjust all the fragments in the
	.bss section.

Fixes critical PR 3600.
1993-10-13 18:04:53 +00:00
Ian Lance Taylor
f2a663d3a3 * config/tc-mips.c: If OBJ_ELF, include elf/mips.h.
(mips_regmask_frag): New static variable, if OBJ_ELF.
	(md_begin): If OBJ_ELF, create .reginfo section and set
	mips_regmask_frag to a frag.
	(mips_elf_final_processing): New function, if OBJ_ELF.  Set
	mips_regmask_frag to register mask information.
	* config/tc-mips.h (elf_tc_final_processing): New macro, defined
	if OBJ_ELF.
1993-10-12 21:31:29 +00:00
Ken Raeburn
2145a18385 messages.c (as_fatal): use myname in printed message 1993-10-12 15:48:22 +00:00
Ken Raeburn
9902404797 more null/empty string fixups 1993-10-12 08:45:49 +00:00
Steve Chamberlain
2dd4520949 fix for pr 3571
* config/tc-h8300.c (get_specific): Special action if 8 bit
	address seen. (check_operand): Don't complain if truncating top
	bits of an 8 bit address.  (build_bytes): Allow an immediate and
	an absolute in the same insn.
1993-10-11 23:48:55 +00:00
Ian Lance Taylor
f37449aaf3 * write.c (write_contents): Don't crash if seginfo is NULL.
* config/obj-ecoff.c (ecoff_frob_file): Write out register masks
	by modifying .reginfo section, not by directly modifying BFD
	backend data.
1993-10-11 21:40:10 +00:00
David D. Zuhn
fec552ce18 remove extern time() decl 1993-10-11 21:12:37 +00:00
Ken Raeburn
8d3be8030e * messages.c (as_fatal): Do mention that it's the assembler that
got the fatal error.
1993-10-11 20:17:28 +00:00
Ian Lance Taylor
1aa6938eb3 * config/tc-mips.c (mips_gprmask, mips_cprmask): New variables to
hold register masks.
	(md_begin): Initialize them to zero.
	(append_insn): Update mips_gprmask and mips_cprmask.  Also add
	register variables pinfo and prev_pinfo.
	* config/tc-mips.h (mips_gprmask, mips_cprmask): Declare.
	* config/obj-ecoff.c (ecoff_frob_file): If TC_MIPS, set gprmask
	and cprmask from mips_gprmask and mips_cprmask.
1993-10-08 20:01:10 +00:00
Ian Lance Taylor
8822543394 * config/tc-mips.h: Define TARGET_FORMAT if OBJ_ELF.
* config/tc-mips.c (GPOPT): Define if OBJ_ECOFF or OBJ_ELF.
	(various): Change all references to GP references to apply if
	GPOPT, not if OBJ_ECOFF.
	(s_change_sec): Rearrange somewhat.  If OBJ_ELF, use .rodata
	instead of .rdata.  If OBJ_ELF, set section flags for .rodata and
	.sdata sections.
	(s_frame, s_loc, s_mask): Comment out entire functions, rather
	than just body.  They're not used anyhow.
	* configure.in: Set cpu_type to mips for mips*.  Accept
	mips-*-elfl* and mips-*-elf*.
1993-10-08 18:24:41 +00:00
Ian Lance Taylor
17a0da33ca Thu Oct 7 18:36:29 1993 Michael Meissner (meissner@osf.org)
* config/obj-elf.c (obj_elf_common): Allow the alignment field to
	not be specified.
1993-10-08 17:15:03 +00:00
Ian Lance Taylor
abdad6bc5f * config/tc-mips.c (cons_fix_new_mips): New function. Turn
BFD_RELOC_64 into BFD_RELOC_32.
	* config/tc-mips.h (TC_CONS_FIX_NEW): Define.
	(cons_fix_new_mips): Declare.
1993-10-06 18:36:20 +00:00
Ian Lance Taylor
80aab57939 Changes to let cons handle bignums like general expressions.
* expr.h (expressionS): New field X_unsigned.
	* expr.c (operand): Initialize X_unsigned to 1.  Set it to 0 for
	unary minus case.
	(expr) Fix typo resultP to right if missing operand.  Set
	X_unsigned to 1 when building new expression.
	* read.c (potable): Make "octa" and "quad" call cons, not
	big_cons.
	(cons): Handle bignums.  If given an O_constant (small integer) to
	fill a big space, turn it into a bignum.
	(parse_bitfield_cons): Set X_unsigned field.
	(bignum_low, bignum_limit, bignum_high, grow_bignum, big_cons):
	Removed.
	* read.h (big_cons): Remove prototype.
	* symbols.c (resolve_symbol_value): Don't give a warning if a
	symbol in expr_section can not be resolved.
	(S_SET_VALUE): Clear X_unsigned.
	* write.c (write_object_file): If resolve_symbol_value failed on a
	symbol we are writing out, give a warning.
	* config/tc-h8500.c (parse_reglist): Set X_unsigned.
	* config/tc-hppa.c (md_pseudo_table): Change "octa" and "quad" to
	call pa_cons, not pa_big_cons.
	(pa_big_cons): Remove.
	* config/tc-hppa.h (pa_big_cons): Remove declaration.
	* config/tc-i960.c (md_pseudo_table): Change "quad" to call cons,
	not big_cons.
1993-10-06 17:31:31 +00:00
Ian Lance Taylor
4f5666c520 * read.c (big_cons): Handle "0" correctly.
* config/tc-mips.c (md_begin): Set target_big_endian correctly.
1993-10-04 21:13:48 +00:00
Ken Raeburn
31909d4099 configure.in: Alphabetize list of cpu type alternatives. Enable OS values of
"linux*elf*" and "linux*coff*" to select those formats, with linux emulation.
Don't bother checking for upper- or mixed-case versions of "ose".
1993-10-04 20:17:30 +00:00
Ken Raeburn
8208ab5a91 tc-m68k.c change 1993-10-04 20:10:50 +00:00
K. Richard Pixley
6cc87fbb75 correct a few mistakes found while extending the dissassembler. 1993-09-29 23:18:06 +00:00
Stan Shebs
8f3956b328 More Lynx support, plus better stabs-in-coff generation. 1993-09-28 19:22:08 +00:00
Ken Raeburn
43029a8f84 Whitespace/comment cleanup. Use PARAMS in tc-vax.c.
Make various routines return null pointer instead of empty string for
success indication.
1993-09-28 04:47:32 +00:00
Ken Raeburn
b9790da889 expr.c (expr) [DIFF_EXPR_OK]: Permit subtraction of symbols in different segs. 1993-09-27 04:23:13 +00:00
Ken Raeburn
b7318ac442 some 68k pic stuff 1993-09-27 03:57:58 +00:00
Ken Raeburn
c996b1994e minor tc-m68k.c changes 1993-09-25 09:32:32 +00:00
K. Richard Pixley
58f3e8a9db * config/tc-m88k.c (get_o6): new function.
(get_bf, get_cmp, get_cnd, get_cr, get_fcr, get_imm16, get_reg,
	  get_vec9, getval, get_pcr, calcop, match_name): make static and
	  prototype.
	  (s_file): remove extraneous forward decl.
	  (md_begin): add const to retval decl.
	  (calcop): cope with instructions without arguments.  Handle 'o'
	  type argument, the o6 field of the prot insn.
	  (md_estimate_size_before_relax): return a dummy value.
1993-09-24 19:47:59 +00:00
K. Richard Pixley
6d6b97b749 * config/m88k-opcode.h (m88k_opcodes): comment change; o6 field is
in bits 10 through 7.  flt.[dxs]s requires an r register in the
	  second argument.  New instruction lda.x.  New instruction muls
	  (alias for mul).
1993-09-24 19:41:51 +00:00
Ken Raeburn
6110df28cd obj-coffbfd relax_align change 1993-09-23 17:24:51 +00:00
Ian Lance Taylor
9bd0d6499c * read.c (get_stab_string_offset): Make non-static. Make
arguments const.  Don't align strings to 4 byte boundaries.
	* read.h: Declare get_stab_string_offset.
	* config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
	SEC_LOAD for progbits section.
	(obj_elf_init_stab_section): New function.
	(adjust_stab_sections): Add casts to avoid warnings.
	* config/obj-elf.h (INIT_STAB_SECTION): Call
	obj_elf_init_stab_section.
	(OBJ_PROCESS_STAB): Removed definition.
1993-09-20 23:29:42 +00:00
Ian Lance Taylor
80903ca67b * config/obj-elf.h (S_GET_SIZE): Define.
(obj_frob_forward_symbol): Define.
	* config/tc-i386.c (line_comment_chars): Initialize in all cases.
1993-09-17 22:16:29 +00:00
Ian Lance Taylor
1399802122 * tc.h: Declare tc_gen_reloc differently depending upong
RELOC_EXPANSION_POSSIBLE.
	* config/obj-elf.c (obj_elf_section): Only set flags when first
	creating the section.
1993-09-16 18:26:36 +00:00
Ian Lance Taylor
90397ff823 * config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
set previous_section and previous_subsection and then call s_data
	and s_text, respectively.
	(obj_pseudo_table): Add data and text.
	(obj_elf_section): Add SEC_LOAD to default initialization of
	flags.  Treat .rodata1 like .rodata.  Set SEC_LOAD as well as
	SEC_ALLOC for "alloc" string.  Don't bother trying to find the
	section; just use subseg_new.
1993-09-14 22:28:22 +00:00
Ian Lance Taylor
4f0bccc7d8 Some more gcc lint, and:
* read.c (change_to_section): Removed.  This is now done by
	subseg_new.
	(get_stab_string_offset): Rearranged somewhat.  Create the section
	using subseg_new.  Store the string index in seg_info, rather than
	in a static variable.  Force the first string to be empty.  Use
	frag_more rather than FRAG_APPEND_1_CHAR.
	(s_stab_generic): Rewrote.
	* subsegs.h (segment_info_type): Added stabu union.
	* subsegs.c (subseg_new): Initialize stab_string_size to 0.
	* config/obj-aout.c: Don't include aout/stab_gnu.h.
	(obj_aout_stab, obj_aout_desc): Removed.
	(obj_pseudo_table): Removed desc and stabX entries.
	* config/obj-bout.c: Same changes as config/obj-aout.c.
	* config/obj-bout.h (S_SET_TYPE): Define.
	(tc_bout_fix_to_chars): Declare.
	* config/obj-coff.c (obj_coff_stab): Removed.
	(obj_pseudo_table): Removed desc and stabX entries.
	* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
	* config/obj-coffbfd.c (current_stab_symbol): Removed.
	* config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
	n_other, n_desc and n_value fields.
	(S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
	(MAKE_STAB_SYMBOL): Removed.
	* config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
	Changed arguments and removed parsing code.
	(obj_pseudo_table): Removed stabX entries.
	* config/obj-ecoff.h (ecoff_stab): Declare.
	(OBJ_PROCESS_STAB): Define.
	* config/obj-elf.c: Don't include aout/stab_gnu.h.
	(obj_elf_stab, obj_elf_xstab, obj_elf_desc,
	elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
	Removed.
	(obj_pseudo_table): Removed desc, stabX and xstabs entries.
	(obj_elf_version): Use subseg_new, not bfd_make_section.  Don't
	set SEC_LOAD for .note section.
	(adjust_stab_sections): Get frag pointer from seg_info, rather
	than looking through frags.
	* config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
	(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
	Define.
	* config/obj-vms.c (obj_aout_stab): Removed.
	(obj_pseudo_table): Removed stabX entries.
	* config/obj-vms.h (S_SET_TYPE): Define.
1993-09-14 17:58:35 +00:00
Ian Lance Taylor
604633aeca * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.
Wrote non-BFD_ASSEMBLER subseg_new.  Now subseg_new always takes a
	section name, and subseg_set always takes a segT.  Changed all
	callers as appropriate.
	* config/obj-coffbfd.c 	(change_to_section): Renamed to
	obj_coff_add_segment.  Corrected.  Made callers use subseg_new.
	* config/obj-coffbfd.h (obj_segment_name, obj_add_segment):
	Define.

Also some more gcc warning removal.
1993-09-13 21:32:07 +00:00
David Edelsohn
54e3e909d2 config/tc-sparc.h (LOCAL_LABEL): Remove test for name[0] == 'L'. 1993-09-13 20:16:03 +00:00
Ian Lance Taylor
58d4951d00 gcc lint. See ChangeLog for details. Also:
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
1993-09-10 16:01:07 +00:00
Ken Raeburn
892a3ff190 gcc -Wall cleanups from Utah 1993-09-09 21:53:03 +00:00
Ian Lance Taylor
abdd08c97c * read.c (get_stab_string_offset, s_stab_generic): If
BFD_ASSEMBLER, call subseg_set rather than subseg_new.
1993-09-09 19:09:23 +00:00
Ian Lance Taylor
414b2c8f7a * config/obj-elf.c (obj_elf_section): Set SEC_LOAD when using
default flag values.
1993-09-08 19:11:47 +00:00
Stan Shebs
1531386bca Add missing ifdef to make m68k-aout targets happy. 1993-09-08 00:20:59 +00:00
Stan Shebs
4064305ec0 Changes to support stabs-in-coff 1993-09-07 17:39:56 +00:00
Ken Raeburn
81b407c990 PA and ELF changes 1993-09-03 22:38:18 +00:00