Commit Graph

2494 Commits

Author SHA1 Message Date
Ian Lance Taylor bccbc0aa84 * config/tc-sh.h (struct sh_segment_info_type): Define.
(TC_SEGMENT_INFO_TYPE): Define.
	(sh_frob_label): Declare.
	(tc_frob_label): Define.
	(sh_flush_pending_output): Declare.
	(md_flush_pending_output): Define.
	* config/tc-sh.c (md_assemble): If relaxing, emit a R_SH_CODE
 	reloc before the instruction if necessary.
	(sh_frob_label): New function.
	(sh_flush_pending_output): New function.
	(sh_coff_frob_file): Ignore ALIGN, CODE, DATA, and LABEL relocs
	when looking for the reloc for the target of .uses.
	(md_convert_frag): Fix printf format (%0xlx to 0x%lx).
	(sh_force_relocation): Force CODE, DATA, and LABEL relocs to be
	emitted.
	(md_apply_fix): Ignore CODE, DATA, and LABEL relocs.
	(sh_coff_reloc_mangle): Force CODE, DATA, and LABEL relocs to use
	the absolute symbol.
1996-05-16 19:57:12 +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 5adc603b6c * gas/m68k/op68000.d: Add statements now caught by gas. 1996-04-24 21:06:57 +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
David Edelsohn ef15dfc7b7 * gas/sparc/sparc.exp: Run them. 1996-04-22 23:50:07 +00:00
David Edelsohn 4430e4ad5b Run splet tests. 1996-04-22 23:49:42 +00:00
David Edelsohn a5cb47d815 * gas/sparc/splet.[ds]: New tests for sparclet extensions. 1996-04-22 23:46:24 +00:00
David Edelsohn bee69a3283 New testcase for sparclet extensions. 1996-04-22 23:44:44 +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 4dd7e66b82 * gas/mips/la.d: Updated for April 5 MIPS assembler changes.
* gas/mips/lb.d, gas/mips/ld.d, gas/mips/sb.d: Likewise.
	* gas/mips/uld.d, gas/mips/ulh.d, gas/mips/ulw.d: Likewise.
	* gas/mips/usd.d, gas/mips/ush.d, gas/mips/usw.d: Likewise.
1996-04-15 21:29:27 +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 024e177923 fix typo in comment 1996-04-11 16:44:19 +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
Jeff Law 6af55660ef * gas/h8300/mov32bug.s: New test.
* gas/h8300/h8300.exp: Run it.
Testcase for c-torture failure caused by a gas bug.
1996-04-10 20:26:19 +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
Jeff Law 638c6a9ca4 * gas/h8300/{addsubh.s,bitops1h.s,bitops2h.s}: New h8300h tests.
* gas/h8300/{bitops3h.s,bitops4h.s,branchesh.s}: New h8300h tests.
        * gas/h8300/{cbranchh.s,compareh.s,decimalh.s}: New h8300h tests.
        * gas/h8300/{divmulh.s,incdech.s,logicalh.s}: New h8300h tests.
        * gas/h8300/{misch.s,movbh.s,movwh.s}: New h8300h tests.
        * gas/h8300/{pushpoph.s,rotshifth.s}: New h8300h tests.
        * gas/h8300/h8300.exp: Run them.
More tests.
1996-04-05 23:50:28 +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
Jeff Law d981c0aa7a * gas/h8300/{movb.s,movw.s}: Correct predecrement syntax.
* gas/h8300/h8300.exp: Fix typos in bitops4 and movb tests.
Fixes remaining unexpected failures.
1996-04-05 17:57:01 +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
Jeff Law 01ae5e9996 Fix typo in last change. 1996-04-05 17:40:10 +00:00
Jeff Law 0066efbab5 * gas/h8300/{addsub.s,bitops1.s,bitops2.s}: New h8300 tests.
* gas/h8300/{bitops3.s,bitops4.s,branches.s}: New h8300 tests.
        * gas/h8300/{cbranch.s,compare.s,decimal.s}: New h8300 tests.
        * gas/h8300/{divmul.s,incdec.s,logical.s}: New h8300 tests.
        * gas/h8300/{misc.s,movb.s,movw.s}: New h8300 tests.
        * gas/h8300/{pushpop.s,rotshift.s}: New h8300 tests.
        * gas/h8300/h8300.exp: Run them.
To keep me from screwing up the assembler...
1996-04-05 17:13:28 +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