3882b01078
Locale changes from Bruno Haible <haible@clisp.cons.org>.
2001-09-19 05:33:36 +00:00
e0890092b6
* expr.c (expr): Move code setting "retval" to the end of the loop,
...
and rearrange for efficiency. For "PIC code" subtraction, use
"rightseg" rather than recalculating. For "symbol OP symbol"
subtract, set "retval" to absolute_section if symbols in same
section.
* symbols.c (resolve_symbol_value): Resolve "sym +/- expr" to an
O_symbol. Simplify a +/- b code. Allow equality and non-equality
comparisons on symbols from any section. Allow other comparison
operators as for subtraction.
(symbol_equated_reloc_p): New predicate function.
* symbols.h (symbol_equated_reloc_p): Declare.
* write.c (adjust_reloc_syms): Use symbol_equated_reloc_p.
(write_relocs): Likewise.
(write_object_file): Likewise.
(relax_segment <rs_machine_dependent>): Ensure segment for
expression syms is set correctly.
* config/tc-mips.c (md_estimate_size_before_relax): Likewise.
* config/tc-i386.c (md_assemble <Output jumps>): Don't lose part
of a complex expression when setting up frag_var.
2001-09-09 14:01:17 +00:00
c68012fb32
2001-08-14 Jeff Johnston <jjohnstn@redhat.com>
...
* expr.c (operand)[LITERAL_PREFIXDOLLAR_HEX]: Treat $L as
a label, not a hex constant.
This patch was approved by Nick Clifton.
2001-08-14 20:00:32 +00:00
0e389e770d
* read.c: Standardize error/warning messages - don't capitalise, no
...
final period or newline, don't say "ignored" or "zero assumed" for
as_bad messages. In some cases, change the wording to that used
elsewhere for similar messages.
* app.c, as.c, atof-generic.c, cgen.c, cond.c, depend.c, dwarf2dbg.c,
ecoff.c, expr.c, frags.c, input-file.c, input-scrub.c, listing.c,
output-file.c, stabs.c, subsegs.c, symbols.c, write.c: Likewise.
* ecoff.c (ecoff_directive_end): Test for missing name by
comparing input line pointers rather than reading string.
(ecoff_directive_ent): Likewise.
* read.c (s_set): Likewise.
(s_align): Report a warning rather than an error for
alignment too large.
(s_comm): Check for missing symbol name.
(s_lcomm_internal): Likewise.
(s_lsym): Likewise.
(s_globl): Use is_end_of_line instead of looking for '\n'.
(s_lcomm_internal): Likewise.
(ignore_rest_of_line): Report a warning rather than an error.
2001-08-01 01:44:25 +00:00
07a7a14553
Fix typo in comment
2001-06-13 11:29:53 +00:00
ce34c3732a
Revert last patch.
2001-05-25 01:59:43 +00:00
40e3ba9bb7
* expr.c (expr): Set return value to absolute_section for
...
subtractive operations on symbols within a segment.
* read.c (pseudo_set): Set segment for complex expressions.
2001-05-25 00:01:30 +00:00
6386f3a767
* symbols.c (resolve_symbol_value): Remove "finalize" param,
...
instead use finalize_syms directly. Don't treat expressions
specially with regard to finalize_syms. Update calls to self.
(resolve_local_symbol): Update call to resolve_symbol_value.
(S_GET_VALUE): Likewise. Return resolve_symbol_value if
!finalize_syms.
* symbols.h (resolve_symbol_value): Update prototype.
* config/obj-aout.c (obj_crawl_symbol_chain): Update call
to resolve_symbol_value.
* config/obj-bout.c (obj_crawl_symbol_chain): Likewise.
* config/obj-coff.c (do_relocs_for): Likewise.
(yank_symbols): Likewise.
(fixup_segment): Likewise.
* config/obj-vms.c (obj_crawl_symbol_chain): Likewise.
* config/tc-mips.c (md_convert_frag): Likewise.
* config/tc-ppc.c (ppc_frob_symbol): Likewise.
(ppc_fix_adjustable): Likewise.
* dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise.
(dwarf2dbg_convert_frag): Likewise.
* ehopt.c (eh_frame_estimate_size_before_relax): Likewise.
(eh_frame_convert_frag): Likewise.
* expr.c (make_expr_symbol): Likewise.
* write.c (adjust_reloc_syms): Likewise.
(write_object_file): Likewise.
(relax_segment): Likewise.
(fixup_segment): Likewise.
(finalize_syms): Init to zero, and update comment.
(write_object_file): Set finalize_syms to 1 rather than 2.
* doc/internals.texi (sy_value): Mention finalize_syms.
(S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
2001-05-22 10:23:50 +00:00
a8a22e3365
* expr.c (operand): Pass &c to md_parse_name().
...
* config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
2001-04-12 07:03:10 +00:00
1a5447b835
Pass finalize_syms on calls to resolve_symbol_value.
2001-03-30 07:07:11 +00:00
f7e42eb4af
Fix copyright notices
2001-03-08 23:24:26 +00:00
c90cedf93e
Update copyright date.
2001-02-13 11:17:48 +00:00
6fad6acb13
Fix parsing of multi-char operators.
2001-02-13 11:13:53 +00:00
1688794441
Correct {STANDARD,MRI}_MUL_PRECEDENCE value.
2000-11-28 13:33:22 +00:00
b041f888ac
2000-10-30 Kazu Hirata <kazu@hxi.com>
...
* expr.c: Fix formatting.
* flonum-copy.c: Likewise.
* flonum.h: Likewise.
* gasp.c: Likewise.
* hash.c: Likewise.
2000-10-30 21:59:01 +00:00
e6c774b42a
2000-10-17 Kazu Hirata <kazu@hxi.com>
...
* debug.c: Fix formatting.
* depend.c: Likewise.
* dwarf2dbg.c: Likewise.
* dwarf2dbg.h: Likewise.
* ecoff.c: Likewise.
* expr.c: Likewise.
* expr.h: Likewise.
* flonum-konst.c: Likewise.
* frags.h: Likewise.
2000-10-17 20:21:45 +00:00
927781e250
Miscellaneous tiny fixes.
2000-09-05 03:53:02 +00:00
958b5f013a
fix formatting
2000-09-03 21:51:27 +00:00
bc4466dcf1
2000-08-11 Kazu Hirata <kazu@hxi.com>
...
* expr.c: Fix formatting.
2000-08-11 17:50:25 +00:00
929b12bc4e
2000-08-10 Kazu Hirata <kazu@hxi.com>
...
* expr.c: Fix formatting.
2000-08-10 23:13:37 +00:00
977e771a09
* new parsing option
...
2000-07-17 Frank Ch. Eigler <fche@redhat.com>
* expr.c (operand): Permit %bin literals if LITERAL_PREFIXPERCENT_BIN
is defined.
2000-07-17 17:51:18 +00:00
ed6d6fd3c4
* $literal support
...
2000-06-23 Frank Ch. Eigler <fche@redhat.com>
* expr.c (operand): Permit $hex literals if LITERAL_PREFIXDOLLAR_HEX
is defined.
2000-06-23 10:51:28 +00:00
f7c8887211
(operand): Do not as_bad() if RELAX_PAREN_GROUPING is
...
defined. Fix error message and double increment of
input_line_pointer for `[' grouping.
2000-06-23 10:12:48 +00:00
60bcf0fa8c
Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
...
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
b75c0c920f
is_end_of_line fixes.
2000-06-02 02:52:10 +00:00
800eeca487
IA-64 ELF support.
2000-04-21 20:22:24 +00:00
271bb601c4
* expr.c (operand) [case 'f']: When testing if '0f' can start a
...
floating-point-number, make sure 'f' is in FLT_CHARS.
2000-03-13 21:20:15 +00:00
abd63a324b
Remove dead code when not TC_M68K.
2000-02-24 01:56:31 +00:00
ab266a97fb
NUMBERS_WITH_SUFFIX *doesn't* want to handle 'x', since that is valid
...
when the 0x prefix is used.
2000-02-08 19:41:03 +00:00
6dc19fc4d6
Remove redundant code for checking numbers with suffixes. Add
...
functionality to break out of assembler loops.
2000-02-08 19:06:00 +00:00
f805106cd3
Add handling for numbers with suffixed radix.
2000-02-08 14:21:53 +00:00
dd33dc0f45
Add more md operators
1999-11-05 21:50:54 +00:00
446a06c9b8
Add md expression support; Cleanup alpha warnings
1999-10-18 22:29:15 +00:00
0561a208f8
1999-09-11 Donn Terry <donn@interix.com>
...
* expr.c (expr): Change first parameter to int.
* config/obj-coff.c: Add declarations for static functions.
(coff_frob_symbol): Use SYM_AUXENT.
* config/tc-i386.h (flag_16bit_code): Don't declare.
1999-09-12 02:27:58 +00:00
fa16d38700
1999-09-11 Donn Terry <donn@interix.com>
...
* expr.c (integer_constant): Correct too_many_digits calculation
in base 10 case.
1999-09-11 14:24:59 +00:00
58b5739a4e
* dwarf2dbg.c (*): Convert to K&R + prototypes.
...
(dwarf2_gen_line_info): Kill unused variables.
(dwarf2_finish): Likewise.
(dwarf2_where): Likewise.
(dwarf2_directive_file): If we've only got a string,
hand off to s_app_file.
* ecoff.c: Move the include of ecoff.h.
* symbols.h (S_IS_FUNCTION): Prototype.
* read.c (LEX_HASH): Supply a default.
(lex_type): Use it.
(s_globl): Update `c' after skipping whitespace.
* read.h (LEX_END_NAME, is_name_ender): New.
* expr.c (get_symbol_end): Respect it.
1999-06-05 18:19:09 +00:00
b585bc2c0a
* expr.c (operand): Don't use [ for parens if we want an index op.
...
(op_encoding): Switch [ into O_index, if desired.
(op_rank): Renumber with O_index on bottom.
(expr): If O_index, match closing bracket.
* expr.h (O_index): New.
1999-06-03 02:51:27 +00:00
49309057b4
Add support for storing local symbols in a small structure to save
...
memory when assembling large files.
* as.h: Don't include struc-symbol.h.
(symbolS): Add typedef.
* symbols.c: Include struc-symbol.h.
(local_hash): New static variable.
(save_symbol_name): New static function, from symbol_create.
(symbol_create): Call save_symbol_name.
(local_symbol_count): New static variable.
(local_symbol_conversion_count): Likewise.
(LOCAL_SYMBOL_CHECK): Define.
(local_symbol_make): New static function.
(local_symbol_convert): New static function.
(colon): Handle local symbols. Create local symbol for local
label name.
(symbol_table_insert): Handle local symbols.
(symbol_find_or_make): Create local symbol for local label name.
(symbol_find_base): Check for local symbol.
(symbol_append, symbol_insert): Check for local symbols.
(symbol_clear_list_pointers, symbol_remove): Likewise.
(verify_symbol_chain): Likewise.
(copy_symbol_attributes): Likewise.
(resolve_symbol_value): Handle local symbols.
(resolve_local_symbol): New static function.
(resolve_local_symbol_values): New function.
(S_GET_VALUE, S_SET_VALUE): Handle local symbols.
(S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise.
(S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise.
(S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise.
(S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise.
(symbol_previous, symbol_next): New functions.
(symbol_get_value_expression): Likewise.
(symbol_set_value_expression): Likewise.
(symbol_set_frag, symbol_get_frag): Likewise.
(symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
(symbol_mark_used_in_reloc): Likewise.
(symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
(symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
(symbol_mri_common_p): Likewise.
(symbol_mark_written, symbol_clear_written): Likewise.
(symbol_written_p): Likewise.
(symbol_mark_resolved, symbol_resolved_p): Likewise.
(symbol_section_p, symbol_equated_p): Likewise.
(symbol_constant_p): Likewise.
(symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
(symbol_get_obj, symbol_set_obj): Likewise.
(symbol_get_tc, symbol_set_tc): Likewise.
(symbol_begin): Initialize local_hash.
(print_symbol_value_1): Handle local symbols.
(symbol_print_statistics): Print local symbol statistics.
* symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
Declare new symbols.c functions. Move many declarations here from
struc-symbol.h.
(SYMBOLS_NEED_BACKPOINTERS): Define if needed.
* struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
(struct symbol): Move bsym to make it clearly the first field.
Remove TARGET_SYMBOL_FIELDS.
(symbolS): Don't typedef.
(struct broken_word): Remove.
(N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
(SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise.
(symbol_clear_list_pointers): Likewise.
(symbol_insert, symbol_remove): Likewise.
(symbol_previous, symbol_append): Likewise.
(verify_symbol_chain, verify_symbol_chain_2): Likewise.
(struct local_symbol): Define.
(local_symbol_converted_p, local_symbol_mark_converted): Define.
(local_symbol_resolved_p, local_symbol_mark_resolved): Define.
(local_symbol_get_frag, local_symbol_set_frag): Define.
(local_symbol_get_real_symbol): Define.
(local_symbol_set_real_symbol): Define.
Define.
* write.c (write_object_file): Call resolve_local_symbol_values.
* config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS): Don't define.
* config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field. If
ECOFF_DEBUGGING, add ECOFF fields.
(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
* config/obj-multi.h (struct elf_obj_sy): Add local field. If
ECOFF_DEBUGGING, add ECOFF fields.
(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
(ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define.
* config/tc-mcore.h: Don't include struc-symbol.h.
(TARGET_SYMBOL_FIELDS): Don't define.
(struct mcore_tc_sy): Define.
(TC_SYMFIELD_TYPE): Define.
* Many files: Use symbolS instead of struct symbol. Use new
accessor functions rather than referring to symbolS fields
directly.
* read.c (s_mri_common): Don't add in value of line_label.
* config/tc-mips.c (md_apply_fix): Correct parenthesization when
checking for SEC_LINK_ONCE.
* config/tc-sh.h (sh_fix_adjustable): Declare.
1999-06-03 00:29:48 +00:00
6d4d30bb14
/
...
Move bitfield overflow checks to after the md_apply_fix call in
fixup_segment so that md_apply_fix has a chance to modify value.
Handle 8 and 16-bit pcrel relocs for i386.
Prototypes and other minor code cleanups.
1999-05-17 03:21:46 +00:00
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00