fc23c14efc
sparclite 86x big endian instruction / little endian data support.
1998-05-27 01:06:20 +00:00
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
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
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
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
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
61a60a8a70
* config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
...
overflow signalling to linker.
1997-10-21 17:23:12 +00:00
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
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
af6f39b4c4
* config/tc-sparc.c: Reorganize file.
...
(SPECIAL_CASE_NONE): New macro.
(md_assemble): Use it.
1997-09-18 21:12:06 +00:00
90a579fafd
* config/tc-sparc.c (parse_keyword_arg): Allow numbers in reg names.
1997-09-18 18:25:50 +00:00
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
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
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
2dffd20a0c
fix spacing error
1997-02-04 21:35:47 +00:00
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
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
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
110b814dba
* config/tc-sparc.c (sparc_ip): Print all architectures that support
...
the insn on mismatch.
1996-02-26 18:38:33 +00:00
2cb1807e13
(sparc_ip): Recognize %asr0.
...
Yes, matra really wants this.
1996-02-21 17:25:13 +00:00
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
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
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
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
60abd84937
(sparc_md_end): Fix leftover from earlier version.
1996-01-22 18:09:08 +00:00
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
593d18d36c
* config/tc-sparc.c (sparc_ip): Clean up ASI support.
1995-08-29 22:48:54 +00:00
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
a2a5a4fa41
fsf address update
1995-07-06 21:18:08 +00:00
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
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
ade614d507
(tc_gen_reloc): Use bfd_get_reloc_code_name in error message.
1994-09-07 23:58:32 +00:00
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
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
c06e55d99a
changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs)
1994-05-27 16:58:05 +00:00
f9c57637e4
* config/tc-sparc.c (md_section_align): Don't change the size if
...
OBJ_ELF.
1994-05-19 19:44:02 +00:00
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
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
fd0e2cf2d5
fix sparc-solaris reloc bug
1994-01-06 23:17:44 +00:00
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
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
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
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
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
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
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
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
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
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
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