Stan Cox
fc23c14efc
sparclite 86x big endian instruction / little endian data support.
1998-05-27 01:06:20 +00:00
Catherine Moore
a5002978e0
Use number_to_chars_bigendian and number_to_chars_littleendian to
...
write data in sparc_handle_align.
1998-05-19 13:03:09 +00:00
Tom Tromey
48401fcf8c
* Many files: Added gettext invocations around user-visible
...
strings.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
HAVE_LC_MESSAGES): Define.
* dep-in.sed: Added asintl.h.
* po/Make-in: New file.
* gasp.c (main): Call setlocale, bindtextdomain, and textdomain.
Include "asintl.h".
* read.c (Z_): Renamed from `_'.
* Makefile.am (SUBDIRS): Added po.
(POTFILES): new macro.
(po/POTFILES.in): New target.
($(OBJS)): Added asintl.h.
(HFILES): Likewise.
(INCLUDES): Added -DLOCALEDIR, -I$(top_srcdir)/../intl.
(as_new_LDADD): Added $(INTLLIBS).
(as_new_DEPENDENCIES): Added $(INTLDEPS).
(gasp_new_LDADD): Added $(INTLLIBS).
(gasp_new_DEPENDENCIES): New macro.
* configure, aclocal.m4: Rebuilt.
* configure.in: Call CY_GNU_GETTEXT. Generate po/Makefile.in and
po/Makefile.
(ALL_LINGUAS): Define.
* macro.c: Include "asintl.h".
* as.c (main): Call setlocale, bindtextdomain, and textdomain.
* as.h: Include "asintl.h".
* config/tc-i386.c (ordinal_names): Removed.
(md_assemble): Changed error text to avoid ordinal_names.
(i386_operand): Likewise.
(reloc): Added as_bad to avoid i18n problems.
(tc_gen_reloc): Likewise.
* config/tc-arm.c (bad_args): Now a #define.
(bad_pc): Likewise.
* config/obj-vms.c (VMS_stab_parse): Changed type of
`long_const_msg'.
(global_symbol_directory): Unified strings to avoid i18n
problems.
* config/tc-m68k.c (get_reloc_code): Added some as_bad calls to
avoid i18n problems.
* config/tc-ns32k.c (reloc): Added as_bad to avoid i18n problems.
* config/tc-ppc.c (md_apply_fix3): Added as_bad_where to avoid
i18n problems.
* config/tc-sh.c (md_convert_frag): Added as_bad to avoid i18n
problems.
start-sanitize-v850
* config/tc-v850.c (md_assemble): Changed C++ comment into C
comment.
end-sanitize-v850
* config/tc-vax.c (md_assemble): Added as_warn to avoid i18n
problems.
* as.c (print_version_id): Added an fprintf to avoid i18n
problems.
* cond.c (cond_finish_check): Added as_bad call to avoid i18n
problems.
* expr.c (expr): Added as_warn call to avoid i18n problems.
* messages.c (as_assert): Changed code to avoid i18n problems.
(as_abort): Likewise.
* read.c (pseudo_set): Added as_bad call to avoid i18n problems.
(s_space): Likewise.
* po/Make-in, po/POTFILES.in, po/gas.pot: New files.
1998-04-22 06:10:03 +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
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
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
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
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
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
Ian Lance Taylor
590c50d82c
* as.h (bfd_alloc_by_size_t): Don't declare.
...
* Many files: Use xmalloc rather than bfd_alloc_by_size_t.
1997-03-17 16:29:29 +00:00
David Edelsohn
9e6f4c6b9d
Correct errors in some comments (bfd_perform_relocation was refered to
...
instead of bfd_install_relocation).
1997-02-13 23:12:14 +00:00
Ian Lance Taylor
2dffd20a0c
fix spacing error
1997-02-04 21:35:47 +00:00
Ian Lance Taylor
2b063e6d64
* config/tc-sparc.c (enforce_aligned_data): New static variable.
...
(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.
1997-01-31 20:34:22 +00:00
Ian Lance Taylor
8dd07a847c
* config/tc-sparc.c (md_pseudo_table): Change uahalf, uaword, and
...
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-07-18 20:53:32 +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
David Edelsohn
110b814dba
* config/tc-sparc.c (sparc_ip): Print all architectures that support
...
the insn on mismatch.
1996-02-26 18:38:33 +00:00
David Edelsohn
2cb1807e13
(sparc_ip): Recognize %asr0.
...
Yes, matra really wants this.
1996-02-21 17:25:13 +00:00
David Edelsohn
e86d5cf30f
* config/tc-sparc.c (parse_keyword_arg): Accept leadling '%'.
...
(sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
Recognize [uU] format args as sparclet cpregs.
1996-02-21 05:50:03 +00:00
Ian Lance Taylor
21965655ed
* config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
...
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 19:29:17 +00:00
David Edelsohn
d8b42b96d1
* config/tc-sparc.c (max_architecture): Change to sparclite for
...
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-02-19 10:43:01 +00:00
David Edelsohn
e70ad5d561
* config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
...
({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-25 11:20:06 +00:00
David Edelsohn
60abd84937
(sparc_md_end): Fix leftover from earlier version.
1996-01-22 18:09:08 +00:00
David Edelsohn
6df07e7f7e
* config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of
...
#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.
1996-01-22 17:53:34 +00:00
David Edelsohn
593d18d36c
* config/tc-sparc.c (sparc_ip): Clean up ASI support.
1995-08-29 22:48:54 +00:00
Ian Lance Taylor
4c67b523a3
* config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
...
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-08-16 20:21:49 +00:00
Ken Raeburn
a2a5a4fa41
fsf address update
1995-07-06 21:18:08 +00:00
Ian Lance Taylor
a0eb1c2c56
* config/tc-sparc.c (s_reserve): Don't permit redefinition, even
...
if the symbol was already in bss_section. Fix warning message.
PR 6797.
1995-07-06 18:36:55 +00:00
Ian Lance Taylor
a7aa7a2ba9
* config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
...
(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.
1995-07-05 21:52:10 +00:00
Ken Raeburn
ade614d507
(tc_gen_reloc): Use bfd_get_reloc_code_name in error message.
1994-09-07 23:58:32 +00:00
Ken Raeburn
5e0a90a8d7
* tc-sparc.c (sparc_ip): Check more carefully for conflicting architectures.
...
(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-07-28 23:36:16 +00:00
David MacKenzie
f3d817d8b7
* as.c (show_usage): Remove target specific messages;
...
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-06-03 17:42:27 +00:00
Ken Raeburn
c06e55d99a
changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs)
1994-05-27 16:58:05 +00:00
Ian Lance Taylor
f9c57637e4
* config/tc-sparc.c (md_section_align): Don't change the size if
...
OBJ_ELF.
1994-05-19 19:44:02 +00:00
Ken Raeburn
a7129c48cf
(s_reserve): If section passed isn't bss, don't spew remainder of input file in
...
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-04-05 18:16:37 +00:00
Ian Lance Taylor
7ab2e983d6
* config/tc-sparc.c (tc_gen_reloc): Add a gruesome hack to get
...
cross section PC relative relocs right for COFF and ELF.
1994-03-31 21:54:06 +00:00
Ken Raeburn
fd0e2cf2d5
fix sparc-solaris reloc bug
1994-01-06 23:17:44 +00:00
Ken Raeburn
c999fd9fc2
* config/tc-vax.c (tc_aout_fix_to_chars): Local variable NBYTES_R_LENGTH now
...
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-12-16 21:31:22 +00:00
Ian Lance Taylor
9b2fd75ba1
* config/tc-sparc.c (sparc_ip): Use strtol to parse membar
...
argument, to permit hexadecimal numbers.
1993-10-25 18:08:33 +00:00
Ken Raeburn
9b6a882eeb
* config/tc-sparc.h: Removed remaining non-BFD_ASSEMBLER code.
...
* config/tc-sparc.c: Ditto.
(tc_gen_reloc): Include fx_offset for pcrel fixups.
1993-10-25 17:45:17 +00:00
Ian Lance Taylor
7766838e96
* config/tc-sparc.c (md_parse_option): Accept and ignore -sparc
...
option, which is used by the SunOS make default .s.o rule.
1993-10-21 19:50:57 +00:00
Ian Lance Taylor
58d4951d00
gcc lint. See ChangeLog for details. Also:
...
* config/obj-elf.h (S_SET_SIZE): Actually set the size.
1993-09-10 16:01:07 +00:00
Ken Raeburn
9242112213
(md_apply_fix): Fill in values for BFD_RELOC_{32,64}, not zeros.
...
(md_pseudo_table): Handle .uaxword.
1993-08-06 16:10:40 +00:00
Ken Raeburn
693b21e75a
* obj-elf.c (obj_elf_stab_generic, in disabled code): If
...
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-08-04 23:10:43 +00:00
Ian Lance Taylor
5ac34ac37e
* Extensive changes to permit symbols to contain any expression
...
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-21 00:41:42 +00:00
Ken Raeburn
b25654337a
Oops, not all of the tc-sparc.c change was format-independent.
...
Still handles both syntaxes independent of format.
1993-07-08 19:09:19 +00:00
Ken Raeburn
ff4cac3854
config/tc-sparc.c (s_common): Revamp to handle both syntaxes, and not be
...
target-specific.
1993-07-08 18:40:50 +00:00
Ken Raeburn
125f0b0d84
(sparc_ip): Initialize `len' variable to make gcc shut up.
...
(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-07-07 16:58:29 +00:00