Commit graph

1314 commits

Author SHA1 Message Date
Michael Meissner
63cafcefea Allow bogus .stabd with 4 arguments for PowerPC Solaris 1996-05-23 21:49:18 +00:00
Ian Lance Taylor
3ea36b5319 * config/tc-i386.c (md_assemble): Make sure the opcode suffix
matches the register size.
PR 9700.
1996-05-15 16:26:20 +00:00
Jeff Law
ecb9b1cadb * config/obj-coff.c (count_entries_in_chain): Ignore Fixups with
fx_done set.
        (do_relocs_for): Likewise.
        (fixup_segment): Don't just quit if linkrelax is set.  Try to
        apply non pc-relative sym1-sym2 fixups, even if linkrelax is
        nonzero.
So function-relative stabs will work on the H8/300.  HMSE.
1996-05-15 14:40:31 +00:00
Michael Meissner
f122568e72 Allow GOT, section relative relocations all the time with -mrelocatable 1996-05-10 18:32:01 +00:00
Ian Lance Taylor
6648d3ae63 * config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is
non-zero before assuming this is a long file name.
	(w_strings): Likewise.
	(c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name.

	* config/obj-coff.c (w_strings): Move declaration of i inside
	#ifdef block which uses it.
1996-05-07 15:34:25 +00:00
Jeff Law
c47fc40136 * config/tc-h8300.c (do_a_fix_imm): Rename last argument to
"relaxmode".  Output relocs which identify various relaxing
        possibilities for mov.[bwl] instructions.
        (build_bytes): Pass in a relaxing mode to do_a_fix_imm.
So the linker can identify more potential relaxations.  HMSE.
1996-05-07 06:47:56 +00:00
David Edelsohn
9ea827436f * config/tc-arm.h (TC_HANDLES_FX_DONE): Define.
(MD_APPLY_FIX3): Define.
	* config/tc-arm.c (my_get_expression): Only watch for bad segments
	if OBJ_AOUT.
	(md_apply_fix3): Renamed from md_apply_fix.
	If pcrel reloc and symbol is in different section, undo effects
	of md_pcrel_from.
1996-05-06 22:30:52 +00:00
Jeff Law
ab7db73b24 * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust
any reloc with an LR% or RR% field selector for SOM.
Fixes net bug.
1996-05-04 18:46:43 +00:00
Ian Lance Taylor
c9324fcd24 * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_*
variables.
1996-05-04 18:27:15 +00:00
Ian Lance Taylor
d4d7d98cbf * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with
SF_GET_STATICS set.
	(yank_symbols): Likewise.
1996-05-04 01:00:04 +00:00
Ian Lance Taylor
ba97ba7e35 tweak last change 1996-05-02 03:11:26 +00:00
Ian Lance Taylor
7681eb9df7 * subsegs.h (segment_info_type): If MANY_SEGMENTS and not
BFD_ASSEMBLER, add name field.
	* config/obj-coff.c (coff_header_append): Handle long section
	names.
	(crawl_symbols): Just use the name field for the symbol name,
	without worrying about null byte termination.
	(w_strings): Handle long section names.
	(write_object_file): Likewise.  Also, use the name field, rather
	than scnhdr.s_name.
	(obj_coff_add_segment): Permit long section names.
	(obj_coff_init_stab_section): Use the name field, rather than
	scnhdr.s_name.
	(adjust_stab_section): Likewise.
	* config/te-pe.h (COFF_LONG_SECTION_NAMES): Define.
1996-05-02 02:32:52 +00:00
Ian Lance Taylor
8fe2ec52ee * config/tc-i960.c (brtab_emit): Don't set fx_im_disp field.
(mem_fmt): Likewise.
	(md_apply_fix): Don't check fx_im_disp field.
Fixes problem introduced by September 5, 1995 change to fx_im_disp
definition.
1996-05-01 20:40:16 +00:00
Ian Lance Taylor
f9e36fc627 * configure.in: Add * after sparc*-*-vxworks.
* configure: Rebuild.
1996-04-25 21:16:58 +00:00
Ian Lance Taylor
556829bcb9 * app.c (do_scrub_begin): If tc_comment_chars is not defined,
define it to comment_chars.  Use tc_comment_chars rather than
	comment_chars.
	(do_scrub_chars): Use tc_comment_chars rather than comment_chars.
	* config/tc-m68k.h (tc_comment_chars): Define.
	(m68k_comment_chars): Declare.
	* config/tc-m68k.c (m68k_comment_chars): Rename from
	comment_chars.  Change into a pointer rather than an array.
	(md_longopts): Add "bitwise-or".
	(md_parse_option): Handle OPTION_BITWISE_OR.
	(md_show_usage): Mention --bitwise-or.
	* doc/c-m68k.texi: Document --bitwise-or.
PR 9518.
1996-04-25 15:43:13 +00:00
Ian Lance Taylor
912e424518 * config/tc-m68k.c (m68k_ip): Prevent attempts to use long offsets
in 68000 mode.
1996-04-24 21:05:20 +00:00
Ian Lance Taylor
116bf30f41 * config/obj-coff.c (obj_coff_section): BFD_ASSEMBLER version:
call demand_empty_rest_of_line.  Non BFD_ASSEMBLER version:
	correct handling of input line pointer, and call
	demand_empty_rest_of_line.
PR 9525.
1996-04-24 15:30:56 +00:00
David Edelsohn
58c9a12bb8 * config/tc-sparc.c (in_bitfield_range): New static function.
(sparc_ip): New cases X,Y.  Use SPARC_OPCODE_ARCH_V9_P.
	(md_apply_fix, cases BFD_RELOC_32_PCREL_S2,
	BFD_RELOC_SPARC_{WDISP16,WDISP19}): Fix undefined code.
	(md_apply_fix): New cases BFD_RELOC_SPARC_[56].
	(tc_gen_reloc): New cases BFD_RELOC_SPARC_[56].
1996-04-23 01:25:42 +00:00
Ian Lance Taylor
ff406bd3bf * config/obj-coff.c: BFD_ASSEMBLER:
(coff_last_bf): New static variable.
	(coff_frob_symbol): Set endndx of a .bf symbol.
	Non BFD_ASSEMBLER:
	(obj_coff_endef): Call SF_SET_PROCESS on a .bf symbol.
	(last_bfP): New static variable.
	(yank_symbols): Set endndx of a .bf symbol.
PR 9467.
1996-04-18 23:00:29 +00:00
Michael Meissner
47d12b2ce0 Add -le/-be/-s from Solaris. 1996-04-18 15:56:03 +00:00
Ian Lance Taylor
3ce7f41ac4 * read.c (s_space): Support non-constant fill value. Handle fill
value correctly for a size other than 1.
PR 9474.
1996-04-17 16:33:21 +00:00
David Edelsohn
865447db04 * config/tc-arm.c (my_get_float_expression): Update call to
gen_to_words, X_PRECISION changed from 6 to 5.
1996-04-16 22:18:20 +00:00
Michael Meissner
159e6ef88f Add -m{,no-}regnames support; Add Solaris/linux support 1996-04-16 14:41:45 +00:00
Ian Lance Taylor
aa9e2dbe32 * config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to
be associated with a single %lo reloc.
1996-04-15 23:01:50 +00:00
Ian Lance Taylor
7a15a226ad * config/tc-mips.c (load_address): Cast X_add_number to valueT
before comparing against MAX_GPREL_OFFSET, so that negative
	numbers are handled correctly.
	(macro): Likewise.
1996-04-15 16:28:19 +00:00
Ian Lance Taylor
ed94c2b89d * config/tc-sparc.c (last_insn): New static variable.
(md_assemble): Warn about putting floating point branches in a
	delay slot.  If architecture is less than v9, insert NOP
	instructions between floating point instructions and floating
	point branches.  (The SunOS assembler does both these operations.)
	Save the last instruction opcode.
	(sparc_ip): Add pinsn parameter.  Change caller.
PR 355.
1996-04-11 21:35:01 +00:00
Ian Lance Taylor
65feb78d13 * config/tc-m68k.c (md_estimate_size_before_relax): Correct check
for byte jump to next instruction to skip empty frags.
PR 7044.
1996-04-11 16:41:48 +00:00
Ian Lance Taylor
456c301f6e * config/tc-alpha.c (alpha_ip): If we are going to call emit_add64
for addq with a 16 bit signed value, just emit a lda instruction
	instead.
PR 6982.
1996-04-10 20:50:02 +00:00
Jeff Law
b3ed89e865 * config/tc-h8300.c (do_a_fix_imm): Don't cut off high bits
of a 32bit operand.
Fix for mov32bug.s.
1996-04-10 20:33:58 +00:00
Ian Lance Taylor
b4cb4ea2ac * configure.in: Permit --enable-shared to specify a list of
directories.
	* configure: Rebuild.
1996-04-08 18:45:08 +00:00
Jeff Law
dcb195f8fa * config/tc-h8300.c (get_specific): Remove some #if 0 code.
(build_bytes): Remove all ABSMOV related code; it's unnecessary.
ABSMOV is gone... Cleaning up.  hmse.
1996-04-06 00:06:10 +00:00
Ian Lance Taylor
13e4a17e76 Fri Apr 5 15:13:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/atof-ieee.c: Fix handling of denormalized extended
	precision numbers and overflow/underflow detection.
	(MAX_PRECISION, X_PRECISION, P_PRECISION): Changed from 6 to 5, to
	not include the 16 bit gap in the m68k extended precision format.
1996-04-05 20:14:43 +00:00
Ian Lance Taylor
2ae5f50bf2 * configure.in: Add i386-*-freebsdelf* target; from John Polstra
<jdp@polstra.com>.
	* configure: Rebuild.
1996-04-05 19:30:22 +00:00
Jackie Smith Cashion
54ea771f6a Fri Apr 5 18:39:28 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c: Allow non-zero offsets from .sdata symbols to
 	be accessed using the $gp register.
	* config/tc-mips.h (MAX_GPREL_OFFSET): Added.

This ensures that the $gp addressing will continued to be used if the
"combine_statics" optimisation is enabled within GCC.
1996-04-05 17:43:05 +00:00
David Edelsohn
65b12103ff * config/tc-sparc.c (sparc_md_end): Set bfd machine number to
bfd_mach_sparc_sparclet if current_architecture is sparclet.
1996-04-03 18:59:08 +00:00
Ian Lance Taylor
2271578d4e * read.c (get_line_sb): Bump line counters based on
input_line_pointer[-1], not *input_line_pointer.  Don't bother to
	call LISTING_NEWLINE.
	(s_macro): Don't call demand_empty_rest_of_line.
	* app.c (do_scrub_chars): When handling C style comments, unget
	ch2 rather than ch.
1996-04-01 22:03:07 +00:00
Ian Lance Taylor
7d3741edcb * read.h (enum linkonce_type): Define.
(s_linkonce): Declare.
	* read.c (potable): Add "linkonce".
	(s_linkonce): New function.
	* subsegs.h (segment_info_type): Add linkonce field to
	MANY_SEGMENTS && ! BFD_ASSEMBLER section.
	* config/obj-coff.h (obj_handle_link_once): Define if TE_PE.
	(obj_coff_pe_handle_link_once): Declare if TE_PE.
	* config/obj-coff.c: If TE_PE and not BFD_ASSEMBLER, #include
	"coff/pe.h".
	(obj_coff_pe_handle_link_once): New function, defined if TE_PE.
	(c_section_symbol): If TE_PE, set the x_comdat field in the aux
	entry based on the linkonce field in segment_info.
	* doc/as.texinfo: Document .linkonce.
1996-03-29 21:35:44 +00:00
J.T. Conklin
0c20334015 * doc/as.1: Changed to be recognized by catman -w on Solaris. 1996-03-29 19:33:43 +00:00
Ian Lance Taylor
3197da91f9 * stabs.c (s_stab_generic): Call the listing functions before
doing the rest of the processing, which may involve freeing the
	string.  Pass string, not string + stroff, to OBJ_PROCESS_STAB in
	SEPARATE_STAB_SECTIONS case.
1996-03-28 23:13:30 +00:00
Ian Lance Taylor
3c071b9f4e * config/tc-hppa.c: Remove nested comment.
(tc_gen_reloc): Move label done inside the ifdef in which it is
	used.
	(md_apply_fix): Pass pointers to correct types to libhppa.h
	functions.  Always return a value.
1996-03-28 22:49:45 +00:00
Ian Lance Taylor
867a58b368 * config/tc-mips.h (tc_frob_file): Define.
(mips_frob_file): Declare.
	* config/tc-mips.c (struct mips_hi_fixup): Define.
	(mips_hi_fixup_list): New static variable.
	(imm_unmatched_hi): New static variable.
	(md_assemble): Clear imm_reloc, imm_unmatched_hi, and
	offset_reloc.  Pass imm_unmatched_hi to append_insn.
	(append_insn): Add unmatched_hi parameter.  If it is set, add the
	new fixup to mips_hi_fixup_list.  Change all callers.
	(mips_ip): Set imm_unmatched_hi when appropriate.
	(mips_frob_file): New function.
1996-03-28 20:37:02 +00:00
David Edelsohn
d0352cbbe8 * configure.in (sparc-*-solaris2*): Renamed from sparc*-*-solaris2*.
* configure: Regenerated.
1996-03-28 19:49:54 +00:00
Ian Lance Taylor
4f74c0421b * as.c (main): Call bfd_set_error_program_name. 1996-03-26 23:20:22 +00:00
Ian Lance Taylor
c7a89bde9b * as.h (strdup): Don't declare.
* stabs.c: Include libiberty.h
	(get_stab_string_offset): Use xstrdup rather than strdup.
	(s_stab_generic): Likewise.
	* as.c (parse_args): Likewise.
	* read.c (s_mri_sect): Likewise.
1996-03-22 16:44:21 +00:00
Ian Lance Taylor
5ba7c0bee1 * gasp.c (change_base): Recognize \(...) construct documented to
pass through enclosed characters literally through to the output.
	(process_assigns): Likewise.  Also, be more careful to avoid
	looking past the end of the buffer.
PR 9268.
1996-03-22 16:14:07 +00:00
Ian Lance Taylor
d1f38e137a Wed Mar 20 18:13:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* doc/as.texinfo, doc/c-i960.texi: Fix typos.
1996-03-20 23:14:38 +00:00
Ian Lance Taylor
649d87fe30 Wed Mar 20 17:05:16 1996 David Mosberger-Tang <davidm@azstarnet.com>
* config/alpha-opcode.h: Added cvtst instruction.
1996-03-20 22:10:07 +00:00
Ian Lance Taylor
975def01a5 * ecoff.c (ecoff_stab): Don't try to make a symbol out of the stab
string.  Extract the addend from the result of expression.
1996-03-18 18:13:59 +00:00
Ian Lance Taylor
fde6018a93 * app.c (do_scrub_chars): If whitespace is seen in state 11, and
LABELS_WITHOUT_COLONS is not defined, and we are not in m68k MRI
	mode, change the state to 3 rather than 1.
1996-03-15 22:12:10 +00:00
Ian Lance Taylor
ee0f488d03 * config/obj-coff.h (C_REGISTER_SECTION): Change from 20 to 50, to
correspond to 11 March change.
1996-03-14 23:19:08 +00:00