Commit graph

1421 commits

Author SHA1 Message Date
Doug Evans
f73062614b * tc-txvu.c: First pass at dma/pke/gpuif support.
(assemble_one_insn): Renamed from assemble_insn.
	Initialize errmsg = NULL before calling parse fn.
	(fixups,fixup_count): Make static globals.
1998-01-27 00:32:01 +00:00
Nick Clifton
26192c5084 Detect when explicltly parallel instructions have i/o conflicts and
generate warning messages.
1998-01-26 21:09:18 +00:00
Nick Clifton
b6930bdf46 Fixed infinite loop bug in can_make_parallel().
Added second level of sanization to remove phase 2 work.
1998-01-26 20:42:15 +00:00
Doug Evans
b5d20cf65d checkpoint 1998-01-26 06:24:59 +00:00
Doug Evans
f62a42d0dc * config/tc-txvu.c (assemble_insn): Initialize errmsg = NULL
before calling insert routine.
1998-01-24 00:44:53 +00:00
Doug Evans
fbe2ad4648 * config/tc-txvu.c (assemble_insn): Delete test for !isalpha
after parsing mnemonic.  ASCII operand chars are case insensitive.
1998-01-24 00:44:52 +00:00
Doug Evans
5ff98e006b * config/tc-txvu.c (assemble_insn): Commas moved to opcode table. 1998-01-23 06:01:23 +00:00
Nick Clifton
775fdd0c3f Added opportunistic parallelisation of adjacent instructions. 1998-01-21 01:13:47 +00:00
Doug Evans
020ba60b39 checkpoint 1998-01-21 00:30:46 +00:00
Doug Evans
9121b10214 tweak m32rx sanitization 1998-01-16 00:14:59 +00:00
Richard Henderson
2833e2512e * tc-h8500.c (parse_reg): Likewise. 1998-01-15 21:51:12 +00:00
Gavin Romig-Koch
ed70a3354d Initial vr4111 Sanitization marks. 1998-01-15 18:46:32 +00:00
Nick Clifton
ebde3f6235 Add support for parallel instructions. 1998-01-15 01:58:34 +00:00
Jeff Law
6c4b811d6a * config/tc-mips.c (macro): Rework division code to avoid unfilled
delay slot.
1998-01-15 00:08:12 +00:00
Doug Evans
b2cf4548a1 * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO. 1998-01-14 23:06:34 +00:00
Doug Evans
b5e9e5625f * tc-m32r.c: Clean up pass over `struct foo' usage.
(md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC.
1998-01-12 21:11:35 +00:00
Doug Evans
61e09fac57 * config/tc-txvu.c (md_assemble): Handle no separator between
upper and lower insn #ifndef VERTICAL_BAR_SEPARATOR.
	(assemble_insn): Likewise.
1998-01-06 13:12:16 +00:00
Doug Evans
71af45ecf2 snapshot 1998-01-05 15:53:49 +00:00
Doug Evans
f6428b86cc * config/tc-txvu.c: #include dis-asm.h, opcode/txvu.h, elf/txvu.h.
(md_begin): Call txvu_opcode_init_tables.
	(assemble_insn): New function.
	(md_assemble): Beginnings of implementation.
1998-01-05 14:56:04 +00:00
Ian Lance Taylor
388fa5c64e * config/tc-i386.c (i386_operand): Give an error if there are
unrecognized characters after an expression.
1998-01-02 13:09:57 +00:00
Doug Evans
209fb34642 * tc-txvu.[ch]: New files. 1997-12-22 17:55:19 +00:00
Ian Lance Taylor
1c6f34415d * config/tc-mips.c (macro): The 4650 doesn't permit M_LDC1_AB,
M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB, or M_S_DOB.
	(mips_ip): Always check for FP_D, not just for instructions that
	are not part of the regular ISA.
1997-12-22 09:56:49 +00:00
Michael Meissner
343b2ab8c1 Make sure NOPS are inserted between 32-bit multiply and load or 16-bit multiply; Compile cleanly with -Wall; Add -n/-N options 1997-12-17 12:43:15 +00:00
Fred Fish
37f82cb4dc * config/tc-tic80.c (tic80_relax): New static variable.
(md_longopts): Add new OPTION_RELAX and OPTION_NO_RELAX options.
	(md_parse_option): Handle new relax options.
	(md_show_usage): Document new relax options.
	(find_opcode): Don't use short forms of PC relative branches if
	tic80_relax is set.
PR 12927
1997-12-16 20:03:53 +00:00
Nick Clifton
d745e6d93d Added m32rx sanitization. 1997-12-16 14:54:08 +00:00
Michael Meissner
e0882f340d Better optimize parallel instructions 1997-12-16 13:25:59 +00:00
Nick Clifton
a450e9f4d1 Add support for --m32rx command line option. 1997-12-15 23:25:27 +00:00
Fred Fish
599ef811c3 * config/tc-tic80.c (build_insn): Handle instructions that have
long (32 bit) PC relative offsets.  Fix places that previously
        misused R_MPPCR for 15 bit offsets to use the new R_MPPCR15W type.
        (md_apply_fix): Add case to handle long PC relative offsets.
PR 12927
1997-12-13 00:58:43 +00:00
Nick Clifton
3b7dc33055 Fixed bug in previous delta (strcmp <=> streq) 1997-12-12 22:02:12 +00:00
Nick Clifton
f520aaee13 Add support for more ARM processor names. 1997-12-12 18:42:40 +00:00
Felix Lee
06434f5f16 sanitization fixes. (files not mentioned, fences misspelled) 1997-12-11 04:18:47 +00:00
Nick Clifton
2f252edab6 Added missing sanitization markers. 1997-12-04 17:30:37 +00:00
Nick Clifton
d4b2cc56c0 Brought up to date with respect to the branch 1997-12-03 01:13:08 +00:00
Ian Lance Taylor
6dbf32687d Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling.
1997-11-22 20:54:16 +00:00
Ian Lance Taylor
c699ff0403 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and
	all corresponding code.
1997-11-22 20:52:29 +00:00
Gavin Romig-Koch
42444087ff config/tc-mips.c (mips_4900): Added.
(hilo_interlocks): Added mips_4900.
(md_begin): Set default for mips_4900.
(macro_build,mips_ip): Test for INSN_4900 if mips_4900.
(md_longopts): Add "m4900" and "no-m4900".
(md_parse_option): Handle above options.
1997-11-12 15:09:33 +00:00
Ken Raeburn
b3ed1af38c * config/tc-mips.c (mips_ip): Added cases for "e", "%", and "P" operand types.
(hilo_interlocks): VR5400 has interlocks.
(md_begin): Expect mips64vr5400, not mips64r5400.

* config/tc-mips.c (mips_ip): In default case, call as_bad instead of fprintf,
to get "assembler messages:" message output before instead of after.
1997-11-08 02:44:22 +00:00
Doug Evans
d57d82d7e5 * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
print out MD fields of fix.
	* frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
 	defined) to initialize MD fields in frag.
	* as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
	Delete pcrel_adjust.  Add fr_opcode_fragP, fr_opcode_offset.
	* config/tc-ns32k.h: Add comments. Remove obsolete
 	BFD_FAST_SECTION_FILL definition, change prototypes for
 	fix_new_ns32k and fix_new_ns32k_exp to add new arguments
 	opcode_frag and opcode_offset and remove pcrel_adjust.
	(TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
	(TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
	(TC_FRAG_INIT): new macro to initialize machine dependent field in
 	frags.
	(frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
 	MD fields in frag structure.
	(fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
 	fix_bsr): macros to access MD fields in fix structure.
	* config/tc-ns32k.c: Avoid overlength lines. Align comments.  Don't
 	use struct opcode_location as these fields are now in the frag
	structure.
	(convert_iif): Call frag_more as it is needed instead
 	of trying to allocate for the whole insn. Avoid call of frag_more
 	with negative argument.
	(md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
	md_estimate_size_before_relax, md_pcrel_from,
	tc_aout_fix_to_chars): use accessor macros to get md fields in fix
 	and frag structures.
	(fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
	opcode_offset and remove pcrel_adjust.
	(convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
 	fix_new_ns32k_exp with changed arguments.
1997-11-05 00:45:23 +00:00
Gavin Romig-Koch
1724c79e75 * tc-mips.c (md_begin): Reorganize setting of default values so
that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
	   mips_cpu.
	   (md_parse_option): Remove all code that sets defaults; md_begin
	   handles all of this now.
1997-11-03 19:32:42 +00:00
Ken Raeburn
aa2e0460a0 * config/tc-mips.c (mips_5400): New variable.
(md_begin, md_parse_option): Handle 5400 options/names.
(macro_build, mips_ip): Check for 5400-specific instructions.
(md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line support for
5400.

* config/tc-mips.c (validate_mips_insn): New function, checks match versus mask
bits, and also verifies that all bits to be output are actually specified
somewhere.
(md_begin): Call it for 32-bit instructions, instead of doing match/mask check
here.  In case of failure, print a message, but check the rest of the opcode
table before exiting.
1997-10-31 23:21:44 +00:00
Nick Clifton
6e3fcdf01c Fixes to Thumb ADR pseudo op from Tony Thompson at ARM (athompso@arm.com). 1997-10-30 21:44:05 +00:00
Gavin Romig-Koch
4ebda395f1 * config/tc-mips.c (hilo_interlocks): True for tx49.
(md_begin): Add mips64tx49.
	(md_parse_option): Add 4900 cpu.

	* gas/mips/mips.exp: Add tx49 configury.
1997-10-29 21:40:09 +00:00
Ian Lance Taylor
e59390a7eb * config/tc-ppc.c (md_assemble): When handling @l, always sign
extend if the operand expects a signed value.
PR 13667.
1997-10-24 21:29:10 +00:00
Richard Henderson
1bb6aaad34 Fri Oct 24 11:19:22 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
* config/tc-sparc.c (sparc_memory_model): New variable.
        (md_longopts): Add -TSO/-PSO/-RMO options.
        (md_parse_options): Handle them.
        (sparc_elf_final_processing): For 64 ELF, set required
        memory ordering in e_flags. Default to RMO and let the user
        override it through command line.

        * config/tc-sparc.h (elf_tc_final_processing): Add.
1997-10-24 18:20:36 +00:00
Richard Henderson
1277cdda1c * config/tc-sparc.c (v9a_asr_table): New variable.
(sparc_ip): Handle v9a asr's.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:40:25 +00:00
Richard Henderson
7532235c09 * config/tc-sparc.h (md_do_align): New macro.
* config/tc-sparc.c (sparc_handle_align): Handle rs_align_code.
        Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>.
1997-10-23 00:22:51 +00:00
Ian Lance Taylor
517640d9b5 * config/tc-mips.c (macro): Correct handling of constant in M_LI_D
case in little endian mode.
1997-10-22 16:52:46 +00:00
Doug Evans
61a60a8a70 * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
overflow signalling to linker.
1997-10-21 17:23:12 +00:00
Doug Evans
595da85d72 * tc-sparc.c (default_arch_size): New static local.
(struct sparc_arch): Rename arch_size to default_arch_size.
	New member user_option_p.
	(sparc_arch_table): Always include v9, v9a.  New entry v9-64.
	(init_default_arch): Check whether default arch is valid.
	Set default_arch_size in addition to sparc_arch_size.
	(OPTION_32,OPTION_64): Define.
	(md_longopts): New entries for -32, -64.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.  Ensure init_default_arch called.
1997-10-20 17:23:10 +00:00
Richard Henderson
10b8f7f036 * config/tc-alpha.h (DIFF_EXPR_OK): Define.
* config/tc-i386.h (DIFF_EXPR_OK): Define.
        * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute
        the correct relocation when it exists.
        * config/tc-i386.c (md_apply_fix3): Likewise.
        * config/tc-ppc.h: Correct typo in comment.
        * config/tc-v850.h: Likewise.
1997-10-15 02:17:00 +00:00
Andrew Cagney
a0a5f4e2bd Allow assembler to make parallel instructions where there the seconds
(latter) outputs intersect with the first (earlier) inputs.
1997-10-13 23:17:22 +00:00
Nick Clifton
de0e22c1bf Added .tcomon section initialisation. 1997-10-11 01:02:07 +00:00
Nick Clifton
c280609300 Jim fixed the fixups for conditional and unconditional branches.
Added code to support the bss and common sections in thr ZDA and SDA areas.
1997-10-11 00:55:57 +00:00
Martin Hunt
b83565def8 Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com>
* config/tc-d10v.c: Fixes to make sure the AT_WORD
	expression is not confused with -1.
1997-10-10 18:22:59 +00:00
Andrew Cagney
528859ea3f Flag SP as modified for @-sp operand - OPERAND_ATMINUS. 1997-10-10 05:59:16 +00:00
Michael Meissner
719ddab4cc Do not allow auto inc/dec to parallelize with an instruction that uses the index register 1997-10-10 04:50:36 +00:00
Ian Lance Taylor
15ab76e50d From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>:
* config/tc-m68k.c (archs): Add 68306, 68307, 68322, 68356, 68334,
	68336, 68341, 68349.
	* doc/c-m68k.texi (M68K-Opts): Add -m68ec000 -m68hc000 -m68hc001
	-m68306, -m68307, -m68322, -m68356, -m68ec020, -m68ec030,
	-m68ec040, -m68ec060, -m68330, -m68334, -m68336, -m68341,
	-m68349.
1997-10-09 19:30:16 +00:00
Joern Rennecke
c7b2ac2856 * config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
to pair a branch and link with anything but an exe instruction.
Fix for gas/13494.
1997-10-09 18:37:16 +00:00
Richard Henderson
8a8a91a5b7 * config/tc-alpha.c (load_expression): Disable the sym+const .got
optimization to reduce the alignment surprises for gcc.
1997-10-08 23:40:54 +00:00
David Edelsohn
54b9ebdd55 * config/obj-coff.h (TC_SPARC): Don't define TARGET_FORMAT.
* config/tc-sparc.c (sparc_target_format): Handle coff here.
	(sparc_ip): Add %hix,%lox.
	(md_apply_fix3): Call as_bad_where, not as_bad.
	Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
	(tc_gen_reloc): Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
1997-10-08 23:13:52 +00:00
Gavin Romig-Koch
6fd819cfff config/tc-mips.c (md_begin): Replace the TARGET_CPU value
of mipsr3900 with mipstx39.

config/tc-mips.c (mips_ip): Don't print the 'opcode requires
-mipsXX message' if the insn isn't an ISA insn.
1997-10-08 04:17:08 +00:00
Ian Lance Taylor
a3e8c5b712 * config/tc-mips.c: Undef OBJ_COPY_SYMBOL_ATTRIBUTES before
including obj-elf.h in OBJ_MAYBE_ELF case.
	(mips_target_format): Return NULL after abort to avoid warning.
1997-10-03 21:46:04 +00:00
Ian Lance Taylor
469adf23a1 * config/tc-m68k.c (m68k_ip): Handle q and v operand specifiers. 1997-09-24 23:02:53 +00:00
Jeff Law
4e96260fd0 vr5900 -> r5900 1997-09-23 16:36:19 +00:00
Ken Raeburn
6438209c60 don't sanitize out empty directories if they're not here (e.g., 'cvs co -P') 1997-09-22 01:06:25 +00:00
Nick Clifton
ae6ecba5b4 Fixed sanitization bugs. 1997-09-21 17:44:16 +00:00
Nick Clifton
8f3c5ddbde Removed v850eq sanitization.
Added Things-to-loose entries for unspecifed/empty directories.
1997-09-21 00:19:41 +00:00
Nick Clifton
03c41a1cf3 Remove use of sanitization to select target CPU. This is now done based
on the contents of the configuration string TARGET_CPU.
1997-09-20 22:46:30 +00:00
David Edelsohn
2b09622a0d * config/tc-sparc.c: (lookup_arch,init_default_arch): New functions.
(default_arch,default_init_p,sparc_arch_table): New static locals.
	(sparc_arch_size): New static local.
	(max_architecture): Initialize in init_default_arch.
	(md_parse_options): Call init_default_arch if necessary.
	Rewrite -xarch/-A processing.
	(md_show_usage): Print -A values from sparc_arch_table.
	(md_begin): Call init_default_arch if necessary.
	(sparc_md_end): Handle both 32 and 64 bit environments.
	* config/tc-sparc.h (TARGET_FORMAT): Likewise.
	* acconfig.h (SPARC_V9,SPARC_ARCH64): Delete.
	(DEFAULT_ARCH): Add.
	* config.in: Regenerate.
	* configure.in (sparc): Default DEFAULT_ARCH based on target cpu.
	(SPARC_V9,SPARC_ARCH64): Delete.
	* configure: Regenerate.
	* config/vms-conf.h (SPARC_V9,SPARC_ARCH64): Delete.
1997-09-19 00:57:16 +00:00
Nick Clifton
46ad7d6ccb Reset processor mask if specified by command line switch 1997-09-19 00:43:54 +00:00
Nick Clifton
2b36e4c294 Oops - fixed typos in previous delta. 1997-09-18 23:15:05 +00:00
Nick Clifton
6df3c45f79 Proced error messages when special data are relocations are used on
instructions which do not support them.
1997-09-18 22:16:18 +00:00
David Edelsohn
af6f39b4c4 * config/tc-sparc.c: Reorganize file.
(SPECIAL_CASE_NONE): New macro.
	(md_assemble): Use it.
1997-09-18 21:12:06 +00:00
Nick Clifton
920b87c437 Added code to cope with a constant offset to a ZDA relocation. 1997-09-18 21:09:14 +00:00
David Edelsohn
90a579fafd * config/tc-sparc.c (parse_keyword_arg): Allow numbers in reg names. 1997-09-18 18:25:50 +00:00
David Edelsohn
bdb836d160 Remove arc sanitization. 1997-09-18 18:15:14 +00:00
Felix Lee
e1625ed217 v850 files that weren't being removed if !keep-v850 1997-09-18 01:33:24 +00:00
Nick Clifton
00fd8294ca Corrected spelling mistake! 1997-09-18 00:43:19 +00:00
Nick Clifton
936a8f5549 Added support for ctoff() reloc prefix. 1997-09-17 23:55:26 +00:00
Nick Clifton
752851788a Add support for a 16 bit relocation against the TDA register! 1997-09-16 21:16:15 +00:00
Nick Clifton
d30a2be45d Added checking of instructions against target cpu. 1997-09-16 01:34:03 +00:00
Nick Clifton
210c24d6d1 Fixed sanitization 1997-09-10 21:00:03 +00:00
Gavin Romig-Koch
318b499d8e Support tx19 sanitation. 1997-09-10 04:53:18 +00:00
Nick Clifton
9153e64334 Add new holio() reloc prefix. 1997-09-09 23:12:59 +00:00
Nick Clifton
1ffec08198 Add new pseudo ops: .v850, .v850e and .v850eq to specify the target processor. 1997-09-09 17:18:42 +00:00
Nick Clifton
b0b262f797 Only test for immediaqte overflow if there is no insertion function. 1997-09-08 23:17:55 +00:00
Nick Clifton
8816811b85 Add command line option to specify processor type. 1997-09-08 22:03:09 +00:00
Nick Clifton
1fd5f4fc62 Added -mwarn_unsigned_overflow so that defuault is to treat unsigned
values as signed values if they start to overflow.
1997-09-08 19:32:05 +00:00
Gavin Romig-Koch
b637f306ba tx19 and related necessary changes.
* config.sub: Add tx19/r1900.
	* sim/mips/configure.in, sim/mips/gencode: Add tx19/r1900.
	* gcc/config.sub, gcc/configure: Add tx19/r1900.
	* gcc/config/mips/r1900.h, config/mips/t-r1900: New.
	* gas/config/tc-mips.c: Add tx19/r1900.

	* gcc/config/mips/mips.c: Don't build 16 bit to 32 bit stubs for
	TARGET_SOFT_FLOAT.

	* config.sub: Add "marketing-names" patch.
	* gcc/config.sub: Add "marketing-names" patch.

	* gcc/configure: Change "as" link from "../gas/as.new" to "../gas/as-new";
	Same for "ld" link.
1997-09-07 20:33:22 +00:00
Nick Clifton
6ff87eadf9 Removed v850 sanitization. 1997-09-03 23:06:11 +00:00
Nick Clifton
2d27848430 Removed the BFD_RELOC_V850_16_PCREL. 1997-09-03 18:19:50 +00:00
Nick Clifton
ccf107185d Support for new relocations added. Support for SDA/TDA/ZDA sections added. 1997-09-02 23:01:27 +00:00
Andrew Cagney
28e1e54d13 * config/tc-v850.c (md_assemble): Use opcode->name instead of
opcode->opcode as the sentinal. Zero is a valid opcode.
1997-09-02 05:50:40 +00:00
Joern Rennecke
bf5ac1b8ed SH4 assembler extensions. 1997-08-29 19:03:06 +00:00
Ian Lance Taylor
4b231a267c * config/tc-alpha.c (load_expression): Check explicitly for O_big,
rather than calling abort.
1997-08-26 19:12:10 +00:00
Ian Lance Taylor
625ea5db80 Use address size prefix for loopw as for jcxz. 1997-08-26 16:33:34 +00:00
Ian Lance Taylor
02bdbd8b5d * config/tc-i386.c (md_assemble): In JumpByte case, when looking
for a WORD_PREFIX_OPCODE, change it to ADDR_PREFIX_OPCODE if this
	is jcxz.
1997-08-26 16:25:03 +00:00
Nick Clifton
b688e04e29 Set machine architecture and type. 1997-08-25 23:03:24 +00:00
Nick Clifton
cf735d2a93 Support constant expressions as register lists. 1997-08-25 18:21:02 +00:00
Nick Clifton
2b3e0f9e1e Switch from C++ style comment to C style. 1997-08-25 16:41:18 +00:00
Nick Clifton
5f04449977 Add support for curly brace register list syntax. 1997-08-22 17:44:55 +00:00
Nick Clifton
f483cb11c8 Fixed v850_section to cope with original section styles as well. 1997-08-21 21:43:44 +00:00
Nick Clifton
19f40fdca7 Added support for NEC style assembler pseudo ops:
.section "name", <type>
	.offset <expression>
	.bss
1997-08-21 17:54:49 +00:00
Fred Fish
015b3352e5 Tue Aug 19 08:59:12 1997 Fred Fish <fnf@cygnus.com>
* read.c (s_lcomm_internal): Renamed from s_lcomm, added arg to
	flag when alignment is in bytes instead of power of 2, and code to
	use that flag to convert alignment to bytes.
	(s_lcomm, s_lcomm_bytes):  New helpers that call s_lcomm_internal.
	* read.h (s_lcomm_bytes): Add prototype.
	* config/obj-coff.c (write_object_file): If ALIGNMENT_IN_S_FLAGS is
	defined, write alignment to alignment bits in section header s_flags
	rather than the s_align field.
start-sanitize-tic80
	* config/obj-coff.h (ALIGNMENT_IN_S_FLAGS): Define for TC_TIC80.
	* config/tc-tic80.c (md_pseudo_table): Use s_lcomm_bytes for bss
	pseudo, instead of s_lcomm which wants a power of two for alignment.
end-sanitize-tic80
PR 12215 and PR 13061
1997-08-19 16:46:03 +00:00
Nick Clifton
a365cd79ee Add support for v850e and v850eq targets.
Add support for BFD_RELOC_V850_16_PCREL.
1997-08-18 18:26:42 +00:00
Nick Clifton
035d8553d7 Fixed typo in previous delta and added more sanitization. 1997-08-14 19:55:03 +00:00
Nick Clifton
323b12f8ce oops - fixed typo. 1997-08-14 19:48:36 +00:00
Nick Clifton
58036ae4c9 Tidied up the sanitization. 1997-08-14 19:34:58 +00:00
Nick Clifton
32e23ecd9c Added support for v850e and v850eq instructions. 1997-08-14 02:03:34 +00:00
Richard Henderson
8cf777d667 * as.h (enum _relax_state): Add rs_leb128.
* read.c (potable): Add sleb128 and uleb128.
        (sizeof_*leb128, output_*leb128, emit_leb128_expr, s_leb128): New
        functions.
        * read.h: Update prototypes.
        * symbols.c (resolve_symbol_value): Streamline quite a bit.  Return
        the symbol value, add a second FINALIZE argument that prevents
        changes from being comitted.  Update all callers.
        * write.c (cvt_frag_to_fill, relax_segment): Handle rs_leb128.
        * doc/as.texinfo: Document the new pseudos.
1997-08-12 05:42:00 +00:00
Ian Lance Taylor
4dc4c45dec * configure.in: Define TARGET_BYTES_BIG_ENDIAN if endian is set.
Don't set targ or gas_target.  Define SCO_ELF and
	TARGET_SOLARIS_COMMENT when appropriate.  Don't substitute for
	target_frag.
	* Makefile.am: Remove @target_frag@.
	(INCLUDES): Remove $(INTERNAL_CFLAGS), $(CROSS), $(HDEFINES), and
	$(TDEFINES).
	(dep-am): Mark as phony.
	* acconfig.h: Add TARGET_BYTES_BIG_ENDIAN, TARGET_SOLARIS_COMMENT,
	and SCO_ELF.
	* config/arm-big.mt, config/arm-lit.mt: Remove.
	* config/mips-big.mt, config/mips-lit.mt: Remove.
	* config/ppc-big.mt, config/ppc-lit.mt: Remove.
	* config/ppc-sol.mt: Remove.
	* config/i386coff.mt, config/m68kcoff.mt: Remove.
	* config/m88kcoff.mt: Remove.
	* config/sco5.mt: Remove.
	* configure, config.in, Makefile.in: Rebuild.
1997-08-06 19:06:49 +00:00
Ian Lance Taylor
e2b4bd2ae1 * Makefile.am: New file, based on old Makefile.in.
* acinclude.m4: New file, from old aclocal.m4.
	* configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL.  Remove
	shared library handling; now handled by libtool.  Replace
	AC_CONFIG_HEADER with AM_CONFIG_HEADER.  Call AC_PROG_YACC,
	AC_PROG_LEX, and AC_DECL_YYTEXT.  Call AM_MAINTAINER_MODE,
	AM_CYGWIN32, and AM_EXEEXT.  Don't call CY_CYGWIN32 or CY_EXEEXT.
	* config.in: New file, created by autoheader.
	* conf.in: Remove.
	* acconfig.h: Mention PACKAGE, VERSION, and USING_CGEN.
	* stamp-h.in: New file.
	* as.c (print_version_id): Change GAS_VERSION to VERSION.
	(parse_args): Likewise.
	* config/obj-vms.c: (Write_VMS_MHD_Records): Likewise.
	* Makefile.in: Now built with automake.
	* aclocal.m4: Now built with aclocal.
	* configure: Rebuild.
1997-08-06 04:30:05 +00:00
Ian Lance Taylor
703f5e6e28 * config/tc-mips.c (macro): Fix handling of a double load from a
symbol plus an offset.
This is the test case, with -mips1:
	l.d	$f0,values+256
1997-08-04 21:00:37 +00:00
Jeff Law
15d8ae9d85 * config/tc-v850.c (md_assemble): Sign extend constants value
for hi and hi0 expressions.
        (v850_insert_operand): Enable range checking for generic 16bit
        operands.
finish work for pr12944.
1997-07-31 21:11:17 +00:00
Jeff Law
d222309aef * config/tc-v850.c (md_assemble): Turn on fx_no_overflow for
LO16, HI16 and HI16_S relocs.
pr12979
1997-07-29 20:19:02 +00:00
Fred Fish
e6e676a501 * config/tc-tic80.c (build_insn): Remove "extended" and replace with
"fx" and "fxfrag".  Add "ffrag".  Change code to initialize and use
	the right f/ffrag and fx/fxfrag pairs since instruction may be split
 	across frags.
PR 12899
1997-07-24 20:34:02 +00:00
David Edelsohn
9f6da65302 * config/tc-sparc.c (last_opcode): New static local.
(md_assemble): Don't issue "FP branch in delay slot" warning if
	the delay slot has been annulled.
1997-07-22 19:52:22 +00:00
Jeff Law
47bfb6fce3 * config/tc-v850.c (system_registers): Fix ordering of registers.
pr12913 (c/h from nec).
1997-07-21 14:54:49 +00:00
Fred Fish
e53430c439 * config/tc-tic80.c (build_insn): Initialize extended word to zero
when it will be filled in later by relocation information.
PR 12796
1997-07-16 05:19:20 +00:00
Ian Lance Taylor
a652f74c72 * config/tc-mips.c (macro_build): Restore check of fmt argument.
(mips_ip): Fix ISA checks.
1997-07-15 17:03:15 +00:00
Fred Fish
8ae66b94c6 * config/tc-tic80.c (build_insn): Fix endianness problem with
O_big operands.
PR 12765
1997-07-15 02:53:47 +00:00
Ian Lance Taylor
4dc8550840 * config/tc-mips.c (check_absolute_expr): Change warning to
error.
PR 12849.
1997-07-14 03:45:16 +00:00
Jeff Law
931a1858a6 * config/tc-mips.c (macro_build): Refine code to check if an
instruction is available on a particular cpu variant.
        (mips_ip): Likewise.
toshiba 5900 stuff
1997-07-11 16:40:14 +00:00
Ian Lance Taylor
76fb6d2f2f * config/tc-i386.c (tc_i386_fix_adjustable): Change ifndef
OBJ_AOUT to ifdef OBJ_ELF.
	(md_apply_fix3): When mangling 32 bit PC relative reloc for
	BFD_ASSEMBLER, handle one ELF case for COFF as well, and add a PE
	case.
	* write.c (fixup_segment): Change special case for i386-coff to
 	not apply for i386-pe.
	* config/obj-coff.c (coff_adjust_section_syms): Only count fixups
	which were not done.
	(coff_frob_file_after_relocs): Rename from coff_frob_file.
	(coff_format_ops): Initialize frob_file_after_relocs field rather
	than frob_file field.
	* config/obj-coff.h (coff_frob_file): Don't declare.
	(coff_frob_file_after_relocs): Declare.
	(obj_frob_file): Don't define.
	(obj_frob_file_after_relocs): Define.
	* configure.in: Set bfd_gas to yes for i386-*-cygwin32.
	* configure: Rebuild.
1997-07-08 02:57:50 +00:00
Ian Lance Taylor
b709b16fdc * config/obj-coff.c (fixup_segment): Never subtract section
address from PC relative reloc which will be fully resolved.
1997-07-02 16:05:55 +00:00
Michael Meissner
d006e43527 Remove brokeness in PowerPC asm 1997-06-27 23:19:15 +00:00
Ian Lance Taylor
24a3e62262 Mon Jun 16 19:12:51 1997 Geoff Keating <geoffk@ozemail.com.au>
* config/tc-ppc.h (tc_fix_adjustable): Don't let the assembler
	calculate relocations to any external symbol, because we might be
	linking a shared object and the symbol might be overriden or moved
	(for instance, moved into a static executable's .bss section).
	(GLOBAL_OFFSET_TABLE_NAME): Delete. This is an i386 wierdness.

	* config/tc-ppc.h (tc_fix_adjustable): GOT-based relocations can't
	be calculated by the assembler.

	* config/tc-ppc.c (md_apply_fix3): Handle @plt or @local branch
	whose destination lies in the same file, by ignoring the @plt or
	@local and aiming the branch at its destination.
1997-06-16 23:17:22 +00:00
Ian Lance Taylor
3a0358617e * config/tc-ppc.c (ppc_insert_operand): In 32 bit mode, with a
signed operand, sign extend a 32 bit value to the host size.
Permits dubious usage like
	addi  %r6,%r6,0xfffffeff
to assemble on a 64 bit host as it does on a 32 bit host.
1997-06-16 20:09:35 +00:00
Ian Lance Taylor
a52f90a4c8 * config/tc-i386.c (i386_operand): Use alloca rather than a fixed
buffer size to make a copy of the symbol.
1997-06-16 17:31:46 +00:00
Ian Lance Taylor
7436e4de5a Tue Jun 10 11:18:09 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* config/tc-arm.c (arm_adjust_symtab): Only set storage classes if
	OBJ_COFF.
1997-06-10 15:21:36 +00:00
Ian Lance Taylor
ccc30467a6 Tue Jun 10 11:18:09 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* config/tc-arm.c: Add prototypes for many static functions.
	(struct asm_opcode ): Add prototypes for parms field.
	(struct thumb_opcode ): Likewise.
	(fp_op2): Remove unused flags parameter.
	(output_inst): Make static.
	(arm_after_pass_hook): Remove unused ignore parameter.
	* config/tc-arm.h (arm_after_pass_hook): Declare.
	(arm_start_line_hook): Declare.
	(arm_frob_label): Declare.
1997-06-10 15:20:05 +00:00
Ian Lance Taylor
af438bdb10 * config/tc-m68k.c (md_section_align): If a.out and BFD, force
section size to be aligned.
1997-06-09 16:53:45 +00:00
Ian Lance Taylor
7257418129 * config/tc-sh.h (md_cons_align): Define.
(sh_cons_align): Declare.
	* config/tc-sh.c (md_pseudo_table): Add .uaword and .ualong.
	(sh_no_align_cons): New static variable.
	(s_uacons): New static function.
	(sh_cons_align): New function.
	(sh_handle_align): Warn about misaligned data.
	* doc/c-sh.texi: Document .uaword and .ualong.
PR 12528.
1997-06-06 21:17:46 +00:00
Nick Clifton
f8a2144336 Merged in the changes from the armT-970328-branch. 1997-06-03 23:25:43 +00:00
Gavin Romig-Koch
5c6f5923c7 Add r3900 support. 1997-06-02 15:56:00 +00:00
Nick Clifton
46686c7839 Added support for storing ARM Procedure Calling Standard variant, and ARM
architecture variant in the BFD and COFF structures.  This goes towards
fixing PRs 11709 and 11326 and will integrate with future updates to LD and
GCC.
1997-05-14 17:00:43 +00:00
Fred Fish
af942f1dc2 Fix thinko in previous change. 1997-05-13 19:00:57 +00:00
Fred Fish
7b02bacd3d * config/tc-tic80.c (md_apply_fix): Check PC relative relocations
for overflow/underflow, only insert lower 15 bits into instruction.
1997-05-13 17:55:41 +00:00
Ian Lance Taylor
a5586bdc2f * config/tc-mips.c (macro): Handle constants for M_LI_D and
M_LI_DD.
	(mips_ip): For 'F', 'L', 'f', and 'l', generate a constant rather
	than an address if the floating point value looks sufficiently
	simple.
PR 12237.
1997-05-07 19:41:17 +00:00
Ian Lance Taylor
91951af61f * config/tc-i386.c (md_section_align): If a.out and BFD, force
section size to be aligned.
1997-05-06 16:19:04 +00:00
Ian Lance Taylor
454b0ccda0 * config/tc-i386.h (RegMMX): Define.
* config/tc-i386.c (pi): Check for all register types.
	(type_names): Add RegMMX.
	(md_assemble): Handle RegMMX.
1997-05-05 21:18:17 +00:00
Ian Lance Taylor
85ce56358f Tue Apr 29 20:23:10 1997 Jim Wilson <wilson@cygnus.com>
* config/tc-mips.c (nopic_need_relax): Add new parameter
	before_relaxing.  Use it when testing ecoff_extern_size.
	(load_address, macro, md_estimate_size_before_relax): Fix all
	callers.
1997-04-30 00:26:21 +00:00
Ian Lance Taylor
aff65ed99d Sat Apr 19 22:52:03 1997 Jim Wilson <wilson@cygnus.com>
* config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
	for all undefined symbols.
1997-04-20 02:53:22 +00:00
Gavin Romig-Koch
68952421e6 Correct test for fpr pairs. 1997-04-15 22:46:58 +00:00
David Edelsohn
4e9d8deacb * config/tc-m32r.c (md_begin): Set cgen_asm_parse_operand_fn.
(md_assemble): Call cgen_asm_init_parse.
	Update call to m32r_cgen_assemble_insn, call as_bad if assembly failed.
1997-04-10 21:54:15 +00:00
David Edelsohn
c8cf7e1737 * write.c (relax_frag): Make non-static.
* write.h (relax_frag): Add prototype for.
	* config/tc-m32r.h (md_do_align): New arg `max'.
	* config/tc-m32r.c (m32r_do_align): Likewise.
	Update calls to frag_align, frag_align_pattern.
	(fill_insn): Update call to m32r_do_align.
	(m32r_scomm): Update call to frag_align.
1997-04-05 02:34:40 +00:00
David Edelsohn
9f719a5652 m32r support. 1997-04-05 00:09:41 +00:00
Ian Lance Taylor
dc966dadf7 * config/tc-hppa.h (TC_EOL_IN_INSN): Check explicitly for '!',
rather than for any end of line character.
1997-04-04 22:49:21 +00:00
Ian Lance Taylor
5c11dba28a * config/tc-hppa.c (tc_gen_reloc): If hppa_ren_reloc_type fails,
call abort (i.e., as_abort) rather than crashing.
1997-04-04 22:48:24 +00:00
Ian Lance Taylor
08438bef4a * config/tc-mips.c (mips16_macro): Handle M_DMUL and M_MUL.
PR 11982.
1997-04-02 17:24:44 +00:00