Commit graph

620 commits

Author SHA1 Message Date
Ian Lance Taylor
254f845017 PowerPC ELF is now in BFD; fix comment claiming otherwise. 1994-02-22 00:14:02 +00:00
Ian Lance Taylor
c8d02404ea * config/ho-hpux.h (BROKEN_ASSERT): Define if not __GNUC__. 1994-02-21 23:17:59 +00:00
Ian Lance Taylor
9eb5f4b8c6 * read.c (read_a_source_file): Use correct arguments to memcpy
(broken 19 Jul 1993).  From kjd@pescadero.stanford.edu (Kenneth
	Duda).
1994-02-21 19:44:01 +00:00
Ian Lance Taylor
4d88d6dcb3 * config/obj-coff.h (obj_coff_section): Declare.
* config/obj-coff.c (obj_pseudo_table): For "section", use
	obj_coff_section.
	(obj_coff_section): Rewrite.
1994-02-21 02:06:52 +00:00
Ken Raeburn
9e0cbfbbe3 First cut at i386-mach3 support. 1994-02-18 20:08:11 +00:00
Ken Raeburn
741f4d6676 write.c (write_object_file): Removed register declarations. 1994-02-18 19:53:26 +00:00
Ken Raeburn
04bde70d04 missed atof-generic log entry last time 1994-02-18 19:41:53 +00:00
Ian Lance Taylor
5e65fbc84b Some support for PowerPC ELF, although it isn't in BFD yet.
* configure.in: If cpu is powerpc*, use ppc.
	(ppc-*-sysv4*): Use object format elf.
	* config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
	defined.
	(TARGET_ARCH): Make it call ppc_arch.
	(ppc_arch): Declare.
	(TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
	(NO_STRING_ESCAPES): Define.
	(LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
	* config/tc-ppc.c: Only define a number of functions of OBJ_COFF
	is defined.
	(md_pseudo_table): Most pseudo-ops are OBJ_COFF specific.  Added
	OBJ_COFF specific "bi" and "ei".
	(md_parse_option): Fix handling of -u.  Make -m601 set
	PPC_OPCODE_601.  If OBJ_ELF, accept -V and -Q.
	(ppc_set_cpu): New function.
	(ppc_arch): New function.
	(md_begin): Call ppc_set_cpu.
	(ppc_insert_operand): For a signed operand accept an unsigned
	value, for IBM compatibility.
	(ppc_byte): Don't call stringer for strings; instead, treat two
	double quotes as a single double quote.
	(ppc_comm): Set sy_tc.output for a .lcomm symbol.
	(ppc_biei): New function.
	(ppc_tc): If not OBJ_COFF, ignore first argument.
	(ppc_fix_adjustable): Call as_bad_where, not as_bad.
	(ppc_is_toc_sym): New function.
	(md_apply_fix): Use ppc_is_toc_sym.  Handle BFD_RELOC_16 and
	BFD_RELOC_8.
1994-02-17 21:37:32 +00:00
David MacKenzie
f61b81b7c1 * messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and
bfd_set_error and new error names.
1994-02-17 18:14:04 +00:00
Ken Raeburn
c25be7f4e9 * configure.in: Support i960-vxworks versions > 5.0 as coff.
Default is still bout if no version is specified.
1994-02-16 01:28:59 +00:00
Ian Lance Taylor
b1237b9d04 * config/tc-mips.c (macro): Do unaligned loads and stores
correctly when big endian, and give errors on overflow rather than
	generating incorrect code.
1994-02-11 18:16:19 +00:00
Ian Lance Taylor
605e1d90e3 * as.c: Include libiberty.h. 1994-02-10 22:33:56 +00:00
Ken Raeburn
6440d65c34 * config/tc-sparc.c (sparc_ip): Reject integer values for pc-relative operand
fields.  This forces "call 0" to become "jmpl %g0,%o7" with no relocs needed.
1994-02-10 06:48:19 +00:00
Ian Lance Taylor
d87c080eaf * as.h (xmalloc, xrealloc): Declare using PTR rather than char *.
* xmalloc.c (xmalloc, xrealloc): Use PTR rather than char *.
1994-02-09 18:23:23 +00:00
Ian Lance Taylor
ddb393cf89 * app.c (do_scrub_next_char): If NO_STRING_ESCAPES is defined,
don't treat backslash specially inside strings.
	* read.c (next_char_of_string): Likewise.
1994-02-09 18:11:20 +00:00
Stan Shebs
66c774bb3e Wed Feb 9 09:42:45 1994 Stan Shebs (shebs@andros.cygnus.com)
* config/obj-coffbfd.c (obj_coff_init_stab_section): Use memset
	instead of memcpy to zero the initial stab symbol, duh.
	* config/obj-elf.c (obj_elf_init_stab_section): Ditto.
	* config/obj-som.c (obj_som_init_stab_section): Ditto.
1994-02-09 17:47:40 +00:00
Ian Lance Taylor
356315fe1c * write.c (fixup_segment): Use as_bad_where, not as_bad. 1994-02-09 05:02:25 +00:00
Ken Raeburn
cfaf70e3a6 sparclite-coff fix: obj-coff.c, symbols.c, write.c modified for abs_symbol 1994-02-09 00:51:26 +00:00
Ken Raeburn
cafb569b7a -Wall is Ian's friend; make them both happy (by removing `/*' inside comment). 1994-02-08 23:07:55 +00:00
Ken Raeburn
7496639ab5 * configure.in (alpha-*-netware*): New target, like alpha-*-osf*. 1994-02-08 21:52:01 +00:00
Ken Raeburn
8a74b870a5 tc-alpha fixes 1994-02-08 21:09:10 +00:00
Ken Raeburn
df44a8523f * write.c (write_relocs): Print some sensible error message if
bfd_perform_relocation returns bfd_reloc_overflow.
1994-02-08 21:02:35 +00:00
Ken Raeburn
2d33b3aacb tc-alpha.c (md_atof): Warn that FP vals might not assemble properly 1994-02-07 21:36:35 +00:00
Ken Raeburn
c3591adb28 configure.in, tc-alpha, atof-generic changes 1994-02-07 21:14:39 +00:00
Ken Raeburn
5facbfd428 tc-alpha, obj-ecoff changes 1994-02-07 10:13:59 +00:00
Ken Raeburn
fc6b54fdf5 atof-generic.c, ecoff.c, literal.c, write.c changes 1994-02-07 09:58:29 +00:00
Jeff Law
f8693e71a7 * configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP. 1994-02-07 00:34:59 +00:00
Jeff Law
dc536cc0ca * config/obj-som.c (obj_som_init_stab_section): Same change
as coffbfd and elf below.  Zero the initial stab symbol after
        allocating it.
1994-02-07 00:15:01 +00:00
Stan Shebs
41b5ef0f76 Sat Feb 5 12:30:32 1994 Stan Shebs (shebs@andros.cygnus.com)
* config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
	initial stab symbol after allocating it.
	* config/obj-elf.c (obj_elf_init_stab_section): Ditto.

This fixes a critical bug observed in Q4 for Lynx.
1994-02-05 21:45:51 +00:00
Jeff Law
fa4beb7e8f * config/tc-hppa.c (pa_ip): addb[tf] should only accept
non-negated condition completers.  Add support for addb pseudo-op
        which accepts both negated and non-negated completers.
1994-02-05 19:54:51 +00:00
Ian Lance Taylor
1c11ab0e7f * configure.in (rs6000*): Use cpu_type ppc.
(ppc-*-aix*): New target; use coff and force bfd_gas.
1994-02-05 05:38:24 +00:00
Ian Lance Taylor
f85ad9d5c5 * ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
ecoff_undefined.
	(ecoff_frob_symbol): Don't check ecoff_undefined.
	(ecoff_build_symbols): Get size of an undefined symbol from
	sym->ecoff_extern_size, not S_GET_VALUE (sym).
1994-02-04 04:14:24 +00:00
Ian Lance Taylor
11c0749600 Revert last change. 1994-02-04 03:17:30 +00:00
Ian Lance Taylor
fdb3408e12 * config/tc-mips.c (md_apply_fix): If this is an undefined symbol,
subtract the value from fx_addnumber to since
	bfd_perform_relocation is going to add it in.
1994-02-04 02:32:54 +00:00
Jeff Law
b4bd2c92c5 * Makefile.in: Avoid bug in losing hpux sed. 1994-02-02 21:58:54 +00:00
Ian Lance Taylor
1051c97f63 * config/tc-mips.c (file_mips_isa): New static variable.
(md_begin): Set it.
	(s_mipsset): Add support for .set mipN to set the ISA level.
1994-02-02 17:06:24 +00:00
Ken Raeburn
f2cdeec493 gasp.c, atof-ieee.c, ho-i386aix.h changes 1994-02-02 00:40:29 +00:00
Ian Lance Taylor
8bbad6fda8 * config/tc-mips.c (mips_ip): Make an unsupported instruction a
warning, not an error.
1994-02-01 23:10:05 +00:00
Steve Chamberlain
e2847e64ff * gasp.c: Include host.h. 1994-02-01 18:58:32 +00:00
Ian Lance Taylor
9cbf9e57c2 obj-coff, obj-coffbfd changes. 1994-02-01 17:19:54 +00:00
Stan Shebs
2abb453d8b Mon Jan 31 17:55:14 1994 Stan Shebs (shebs@andros.cygnus.com)
* as.c (statistics_flag): Renamed from quiet_flag.
	(main): Get statistics with --statistics instead of -noquiet.
1994-02-01 02:03:06 +00:00
Steve Chamberlain
a5a4b5acdc Support for gasp. 1994-01-31 16:44:53 +00:00
Ken Raeburn
7909261f79 alpha & vax changes 1994-01-30 23:32:56 +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
81f6013aa2 Various changes: alpha support, fx_done handling, EMIT_SECTION_SYMBOLS, ... 1994-01-28 01:42:05 +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
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