Commit Graph

1310 Commits

Author SHA1 Message Date
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
Jeff Law 9da28504b8 * config/tc-h8300.c (build_bytes, MEMIND case): Generate
an R_MEM_INDIRECT reloc rather than R_RELBYTE.
hmse
1996-03-14 22:55:12 +00:00
Ian Lance Taylor ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor 8fee8bf38e * config/atof-ieee.c (gen_to_words): Improve handling of
X_PRECISION numbers.  Based on patches from Andreas Schwab
	<schwab@issan.informatik.uni-dortmund.de>.
1996-03-11 23:58:15 +00:00
Steve Chamberlain a31c2bc74c * as.h (SEG_NORMAL, SEG_LIST): Bump segment limit from 10 to 40.
(SEG_LAST): New.
	* subsegs.c (MANY_SEGMENTS): Increase segment limit.
	* obj-coff.c (seg_N_TYPE, seg_info_off_by_4): Likewise.
	(do_relocs_for, w_symbols, obj_coff_add_segment, do_linenos_for,
	crawl_symbols, coff_header_append): Loop to SEG_LAST rather than
	SEG_E9.

Until BFD backend works with i386-pe.
1996-03-11 18:05:58 +00:00