aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sparc.c
AgeCommit message (Collapse)AuthorFilesLines
1997-02-04fix spacing errorIan Lance Taylor1-1/+1
1997-01-31 * config/tc-sparc.c (enforce_aligned_data): New static variable.Ian Lance Taylor1-254/+504
(sparc_cons_align): Don't do anything unless enforce_aligned_data is set. (md_longopts): Add "enforce-aligned-data". (md_show_usage): Mention --enforce-aligned-data. * doc/c-sparc.texi (Sparc-Aligned-Data): New node; document enforce-aligned-data.
1996-07-18 * config/tc-sparc.c (md_pseudo_table): Change uahalf, uaword, andIan Lance Taylor1-32/+171
uaxword to use s_uacons. (sparc_no_align_cons): New static variable. (s_uacons): New static function. (sparc_cons_align): If sparc_no_align_cons is set, just clear it and return.
1996-04-11 * config/tc-sparc.c (last_insn): New static variable.Ian Lance Taylor1-5/+46
(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-02-26 * config/tc-sparc.c (sparc_ip): Print all architectures that supportDavid Edelsohn1-5/+25
the insn on mismatch.
1996-02-21(sparc_ip): Recognize %asr0.David Edelsohn1-2/+2
Yes, matra really wants this.
1996-02-21 * config/tc-sparc.c (parse_keyword_arg): Accept leadling '%'.David Edelsohn1-9/+33
(sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9. Recognize [uU] format args as sparclet cpregs.
1996-02-19 * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK asIan Lance Taylor1-2/+4
well as S_IS_EXTERNAL. (tc_fix_adjustable): Likewise. * config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return early. (tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
1996-02-19 * config/tc-sparc.c (max_architecture): Change to sparclite forDavid Edelsohn1-27/+71
32 bit arch. (default_compatible): Delete. (sparc_ffs): New function. (md_begin): Only call SPARC_OPCODE_CONFLICT_P once. (sparc_ip): Rewrite architecture match and bump logic.
1996-01-25 * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.David Edelsohn1-110/+115
({max,warn_after}_architecture): New static locals. (md_begin): Replace NUMOPCODES with sparc_num_opcodes. If both architecture and -bump requested, set max_architecture to max. (sparc_md_end): Simplify. (sparc_ip): Replace references to can_bump_v9_p with max_architecture. Rewrite code to bump architecture and check for conflicts. (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility with Solaris assembler. (md_parse_option): Likewise. Call sparc_opcode_lookup_arch. (md_show_usage): Update.
1996-01-22(sparc_md_end): Fix leftover from earlier version.David Edelsohn1-1/+1
1996-01-22 * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead ofDavid Edelsohn1-165/+201
#ifdef sparcv9 when choosing value. (ENV64): Delete. (md_end): Define. (sparc_md_end): Declare. * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9. (initial_architecture): New static local. (can_bump_v9_p): Likewise. (NO_V9): Delete all occurrences. (sparc_md_end): New function. (sparc_ip): New local v9_arg_p. Rework fp reg number test. Don't bump architecture to v9 unless can_bump_v9_p set. (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly. * configure.in (sparc64 target cpu): Don't set obj_format here. (SPARC_V9): Renamed from sparcv9. (sparc64-*-elf*): Define SPARC_ARCH64. * configure: Regenerated. * acconfig.h (SPARC_V9): Renamed from sparcv9. (SPARC_ARCH64): Add. * config/vmsconf.h: Update.
1995-08-29 * config/tc-sparc.c (sparc_ip): Clean up ASI support.David Edelsohn1-14/+10
1995-08-16 * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2Ian Lance Taylor1-13/+97
to WPLT30 for an undefined or external symbol. Don't consider PC10 or PC22 to be a PC relative reloc when choosing between fx_addnumber and fx_offset.
1995-07-06fsf address updateKen Raeburn1-1/+1
1995-07-06 * config/tc-sparc.c (s_reserve): Don't permit redefinition, evenIan Lance Taylor1-3/+3
if the symbol was already in bss_section. Fix warning message. PR 6797.
1995-07-05 * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.Ian Lance Taylor1-52/+53
(md_parse_option): If OBJ_ELF, check for -K. Die if -K PIC, since PIC code is not currently supported. * as.c (parse_args): Change std_shortopts to be an array rather than a constant string. Only include 'K' if WORKING_DOT_WORD is not defined. Only check for 'K' in that case as well. * as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD is not defined. PR 7131.
1994-09-07(tc_gen_reloc): Use bfd_get_reloc_code_name in error message.Ken Raeburn1-2/+15
1994-07-28* tc-sparc.c (sparc_ip): Check more carefully for conflicting architectures.Ken Raeburn1-84/+92
(md_parse_option) [NO_V9]: Complain if v9 was selected. (md_show_usage): Derive architecture list in usage message from architecture_pname array. (cypress): Macro deleted. (op_hash): Don't initialize. (s_common): Use bfd_und_section_ptr instead of bfd_und_section. (BSR): New function. (sparc_ip): Use it for right-shift operations of 32 bits or more. (sparc_ip): Implement new operand type 'x'.
1994-06-03 * as.c (show_usage): Remove target specific messages;David MacKenzie1-53/+84
instead, call md_show_usage. (parse_args): Use getopt_long_only. Take pointers to argc and argv. (main): Pass parse_args pointers. * as.h: Remove 3 variables that are redundant with flagseen. * as.c, messages.c: Change their users to use flagseen. Define getopt stuff. * tc.h: Update md_parse_option decl. Add md_show_usage decl. * config/tc-*.c: Add md_shortopts, md_longopts, md_longopts_size, md_show_usage. Change calling convention for md_parse_option. Remove md_parse_long_option. * config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'. * config/tc-i386.h: Don't define md_parse_option.
1994-05-27changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs)Ken Raeburn1-1/+4
1994-05-19 * config/tc-sparc.c (md_section_align): Don't change the size ifIan Lance Taylor1-4/+11
OBJ_ELF.
1994-04-05(s_reserve): If section passed isn't bss, don't spew remainder of input file inKen Raeburn1-2/+8
error message. (tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error message with reloc type and try to process remainder of file.
1994-03-31 * config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to getIan Lance Taylor1-21/+67
cross section PC relative relocs right for COFF and ELF.
1994-01-06fix sparc-solaris reloc bugKen Raeburn1-3/+1
1993-12-16* config/tc-vax.c (tc_aout_fix_to_chars): Local variable NBYTES_R_LENGTH nowKen Raeburn1-108/+39
const. * config/obj-*.c, config/tc-*.c: Omit superfluous "return" statements at ends of functions. Don't check for null return from hash_new, since it won't return at all if there's no memory available. Also, check for null return from hash_insert, rather than zero-length string, as success indicator.
1993-10-25 * config/tc-sparc.c (sparc_ip): Use strtol to parse membarIan Lance Taylor1-5/+4
argument, to permit hexadecimal numbers.
1993-10-25* config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.Ken Raeburn1-177/+67
* config/tc-sparc.c: Ditto. (tc_gen_reloc): Include fx_offset for pcrel fixups.
1993-10-21 * config/tc-sparc.c (md_parse_option): Accept and ignore -sparcIan Lance Taylor1-54/+46
option, which is used by the SunOS make default .s.o rule.
1993-09-10gcc lint. See ChangeLog for details. Also:Ian Lance Taylor1-45/+21
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
1993-08-06(md_apply_fix): Fill in values for BFD_RELOC_{32,64}, not zeros.Ken Raeburn1-12/+15
(md_pseudo_table): Handle .uaxword.
1993-08-04* obj-elf.c (obj_elf_stab_generic, in disabled code): IfKen Raeburn1-4/+24
debug section is new, allocate an extra 12 bytes at its start. If ".stabs" type is N_SO, fill in filename symbol field of that first entry. Return early if "goof", to simplify later code slightly. (adjust_stab_sections): New function. (elf_frob_file): Apply adjust_stab_sections to each section. * obj-elf.c (obj_elf_section, obj_elf_previous): No longer static. * obj-elf.h (obj_elf_section, obj_elf_previous): Declare. * tc-sparc.c (md_pseudo_table): Call them for "pushsection" and "popsection", and call cons for "uaword" and "uahalf". * obj-elf.c (obj_elf_version): Use English in error messages. * tc-sparc.c (md_apply_fix, case BFD_RELOC_64): New case, parallel to BFD_RELOC_32. (tc_gen_reloc): Accept BFD_RELOC_64.
1993-07-21 * Extensive changes to permit symbols to contain any expressionIan Lance Taylor1-29/+22
type and to delay the computation of the expression until the value is actually needed. This permits setting symbols to values calculated based on object code size. Expressions were changed to no longer be in a section, to stop the overloading of segment and expression type that previously occurred. * as.c (big_section, pass1_section, diff_section, absent_section): Removed. (expr_section): Added (used for dummy symbols which hold intermediate expression values). (perform_an_assembly_pass): Create expr_section, do not create the sections now removed. * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and SEG_DIFFERENCE. Added SEG_EXPR. (SEG_NORMAL): Corresponding changes. * subsegs.c (seg_name, subsegs_begin): Changed accordingly. * write.c (write_object_file): Ditto. * config/obj-aout.c (seg_N_TYPE): Ditto. * config/obj-bout.c (seg_N_TYPE): Ditto. * config/obj-coff.c (seg_N_TYPE): Ditto. * config/obj-coffbfd.c (seg_N_TYPE): Ditto. * config/obj-vms.c (seg_N_TYPE): Ditto. * expr.h (operatorT): Moved in from expr.c, added some values. (expressionS): Added X_op field, removed X_seg field; renamed X_subtract_symbol to X_op_symbol. * expr.c: Extensive changes to assign expression types rather than sections and to simplify the parsing. * write.c (fix_new_internal): New static function. (fix_new): Removed sub_symbol argument. (fix_new_exp): New function, takes expression argument. * write.h: Prototype changes for fix_new and fix_new_exp. * cond.c (s_if): Changed accordingly. * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons, parse_repeat_cons, get_segmented_expression, get_known_segmented_expression, get_absolute_expression): Ditto. * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE): Ditto. * write.c (write_object_file): Ditto. * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto. * config/obj-coffbfd.c (obj_coff_def, obj_coff_val, obj_coff_endef, yank_symbols): Ditto. * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto. * config/tc-a29k.c (md_assemble, parse_operand, machine_ip, print_insn, md_operand): Ditto. * config/tc-h8300.c (parse_exp, colonmod24, check_operand, do_a_fix_imm, build_bytes): Ditto. * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist, get_specific, check, insert, md_convert_frag): Ditto. * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa, md_assemble, pa_ip, getExpression, getAbsoluteExpression, evaluateAbsolute, pa_build_unwind_subspace, pa_entry, process_exit): Ditto. * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative, is_complex): Ditto. * config/tc-i386.c (pe, md_assemble, i386_operand, md_estimate_size_before_relax, md_create_long_jump): Ditto. * config/tc-i860.c (md_assemble, getExpression, print_insn): Ditto. * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag, get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc, i960_handle_align): Ditto. * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op, subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1, md_estimate_size_before_relax, md_create_long_jump, get_num): Ditto. * config/tc-m88k.c (md_assemble, get_imm16, get_pcr, md_create_short_jump, md_create_long_jump): Ditto. * config/tc-mips.c (md_assemble, append_insn, gp_reference, macro_build, macro, my_getExpression): Ditto. Also removed get_optional_absolute_expression; just use get_absolute_expression instead. * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif, fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto. * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto. * config/tc-sh.c (parse_exp, check, insert, md_convert_frag): Ditto. * config/tc-sparc.c (md_assemble, sparc_ip, getExpression, print_insn): Ditto. * config/tc-tahoe.c (struct top, md_estimate_size_before_relax, tip_op, md_assemble): Ditto. * config/tc-vax.c (seg_of_operand, md_assemble, md_estimate_size_before_relax, md_create_long_jump): Ditto. * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
1993-07-08Oops, not all of the tc-sparc.c change was format-independent.Ken Raeburn1-0/+2
Still handles both syntaxes independent of format.
1993-07-08config/tc-sparc.c (s_common): Revamp to handle both syntaxes, and not beKen Raeburn1-24/+32
target-specific.
1993-07-07(sparc_ip): Initialize `len' variable to make gcc shut up.Ken Raeburn1-185/+153
(md_create_short_jump, md_create_long_jump, md_number_to_chars, md_section_align): Adjusted for new interface. (s_reserve): Permit use for other than a.out format. (s_common): Handle Solaris-2 version. (s_xword): For numbers, call big_cons. (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64 reloc types. (md_number_to_chars): Handle 8-byte values.
1993-06-25(tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22 relocation.Ken Raeburn1-83/+263
(s_local) [OBJ_ELF]: New function. (md_pseudo_table) [OBJ_ELF]: Call it for "local". (s_common): Rearrange to handle Solaris .common pseudo, which may sometimes use bss space instead of common. (md_parse_option) [OBJ_ELF]: Print version id for -V. Ignore -Q and -s options for now.
1993-02-24(s_xword): Now accepts large integer constants, but not symbolic constantsKen Raeburn1-5/+6
or expressions.
1993-02-24changes for bfd support, enough for sun4 targetKen Raeburn1-200/+290
1992-12-15For SPARC V9, for RELOC_WDISP2_14, upper 2 bits start at bit 20 now, insteadJim Wilson1-29/+22
of bit 19.
1992-11-23For SPARC V9, change icc to %icc, xcc to %xcc, fccX to %fccX.Jim Wilson1-12/+12
1992-11-23Ran "indent", for GNU coding style; some code & comments still need fixup.Ken Raeburn1-1678/+1921
Removed some unneeded files. obj-coff.c (obj_coff_endef): Use as_warn, not fprintf. tc-m68k.c (md_assemble): 68000+68881 is okay -- could be emulating.
1992-11-06Flag error if absolute constant is too large for an immediate field.Jim Wilson1-5/+37
1992-08-31Update to SPARC Version 9 Draft 1.0.4.Jim Wilson1-39/+27
1992-08-01fix for pr1371: heed fx_offset in pcrel relocsKen Raeburn1-1405/+1586
1992-02-17fighting bitrot in a major wayK. Richard Pixley1-2/+2
1992-02-15White space and comment changes, and #ifdef __STDC__ becomes #ifK. Richard Pixley1-6/+8
__STDC__ == 1.
1992-02-13force all files to end in "/* end of filename"K. Richard Pixley1-1/+1
1992-02-13White space and comments only. The devo tree prior to this delta isK. Richard Pixley1-1420/+1415
tagged as "vanilla" for your convenience. There are also some comment changes.
1992-01-28rcsid's removedK. Richard Pixley1-45/+121