Alan Modra
d7861ad2a5
* config/tc-m68k.h (md_prepare_relax_scan): Rewrite.
...
* config/tc-m68k.c (md_relax_table): Add md_prepare_relax_scan comment.
2002-01-06 12:15:45 +00:00
Nick Clifton
23b7f870fb
Test for a NULL frag link.
2002-01-02 17:19:07 +00:00
Alan Modra
bbe8ef22ff
* config/tc-m68k.c (md_apply_fix3): Change val back to a signed type.
2001-11-16 09:34:28 +00:00
Nick Clifton
94f592af1b
Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function.
2001-11-15 21:29:00 +00:00
Alan Modra
18566f5563
* config/tc-m68k.c (m68k_ip): Correct absolute jmp opcodes.
2001-10-16 14:27:03 +00:00
H.J. Lu
3882b01078
Locale changes from Bruno Haible <haible@clisp.cons.org>.
2001-09-19 05:33:36 +00:00
Kazu Hirata
0772685173
* config/tc-alpha.h: Fix formatting.
...
* config/tc-arc.c: Likewise.
* config/tc-d10v.h: Likewise.
* config/tc-hppa.c: Likewise.
* config/tc-i370.c: Likewise.
* config/tc-i386.h: Likewise.
* config/tc-i960.h: Likewise.
* config/tc-ia64.c: Likewise.
* config/tc-ia64.h: Likewise.
* config/tc-m32r.c: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-m88k.c: Likewise.
* config/tc-ns32k.c: Likewise.
* config/tc-pdp11.c: Likewise.
* config/tc-pj.h: Likewise.
* config/tc-s390.c: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-sparc.h: Likewise.
* config/tc-tic80.c: Likewise.
* config/tc-w65.h: Likewise.
2001-07-23 14:02:13 +00:00
Alan Modra
ac62c3468d
* symbols.c (S_GET_VALUE): Don't treat O_constant and local
...
symbols specially. Always resolve, adding fr_address to value.
* write.c (write_object_file): Don't add fr_address to sym values.
(relax_frag): Likewise.
(relax_segment): Likewise.
* config/obj-ieee.c (do_symbols): Likewise.
* config/tc-cris.c (md_convert_frag): Likewise.
* config/tc-fr30.c (md_convert_frag): Likewise.
* config/tc-i386.c (md_convert_frag): Likewise.
* config/tc-m32r.c (md_convert_frag): Likewise.
* config/tc-m68hc11.c (md_convert_frag): Likewise.
* config/tc-mcore.c (md_convert_frag): Likewise.
* config/tc-mips.c (mips16_extended_frag): Likewise.
* config/tc-ns32k.c (md_convert_frag): Likewise.
* config/tc-m68k.c (md_convert_frag_1): Likewise.
(BRANCHBWL, BRABSJUNC, BRABSJCOND, BRANCHBW, FBRANCH, DBCCLBR,
DBCCABSJ, PCREL1632, PCINDEX, ABSTOPCREL): Decrement.
(md_relax_table): Remove first four entries. Format.
(md_estimate_size_before_relax): Remove old_fix. Don't bother
setting fr_var. Simplify byte branch checks.
2001-07-23 13:03:40 +00:00
Andreas Schwab
f27a38390b
* config/tc-m68k.c (md_pseudo_table) [OBJ_ELF]: Add .file and
...
.loc.
(md_assemble) [OBJ_ELF]: Call dwarf2_emit_insn before emitting
insn.
* config/tc-m68k.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
2001-07-18 10:25:58 +00:00
Nick Clifton
7099f9f917
Catch and ignore empty, ineffectual alignment frags when deciding if a
...
branch can be short.
2001-07-06 08:21:35 +00:00
Alan Modra
b091f402a9
* config/tc-hppa.c (CHECK_FIELD_WHERE): Define.
...
(md_apply_fix): Use it here. Replace printf with equivalent
as_bad_where.
(tc_gen_reloc): Use as_bad_where instead of as_bad.
(md_apply_fix): Here too.
* config/tc-i386.c (tc_gen_reloc): Use as_bad_where instead of as_bad.
* config/tc-m68k.c (tc_gen_reloc): Likewise.
(md_convert_frag_1): Likewise.
2001-06-21 06:12:11 +00:00
Nick Clifton
e1f44d1052
Fix m68k/mri mode problems.
2001-06-12 10:35:24 +00:00
Nick Clifton
98b3248268
correct some 68k/ColdFire problems
2001-06-06 14:28:00 +00:00
Alan Modra
fbe572f93e
* config/tc-m68k.c (md_assemble): Ensure variable part of frag is
...
allocated in the same chunk as the fixed part.
2001-05-27 11:57:25 +00:00
Alan Modra
c801568a3a
* config/tc-m68k.c (relaxable_symbol): Only treat external symbols
...
as relaxable if embedded system, make weak syms non-relaxable.
Move definition..
(tc_m68k_fix_adjustable): ..so it can be used here.
(md_apply_fix_2): Sign extend without conditional.
2001-05-22 09:01:55 +00:00
Andreas Schwab
8390138c6b
* config/tc-m68k.c: Instead of replacing -1 by 64 in assignment to
...
fx_pcrel_adjust explicitly sign extend when reading it.
2001-05-08 18:03:27 +00:00
Alan Modra
5c65dbc1ca
More fallout from 2001-03-30 changes.
...
* config/tc-m68k.c (md_estimate_size_before_relax): Set fr_var
from md_relax_table, and combine some switch cases.
2001-05-08 13:13:56 +00:00
Nick Clifton
f7e42eb4af
Fix copyright notices
2001-03-08 23:24:26 +00:00
Nick Clifton
dc84e067cd
Rest of the changes for Coldfire V4
2001-03-06 20:12:21 +00:00
Nick Clifton
8ec6253e76
Do not abort if tcbit is still set. Issue an error message instead.
...
Fix compile time warnings
2001-01-25 20:26:17 +00:00
Kazu Hirata
bfb32b5207
2001-01-14 Kazu Hirata <kazu@hxi.com>
...
* config/tc-alpha.c: Fix formatting.
* config/tc-arc.c: Likewise.
* config/tc-arc.h: Likewise.
* config/tc-d10v.c: Likewise.
* config/tc-i370.c: Likewise.
* config/tc-i386.c: Likewise.
* config/tc-i960.c: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-tahoe.c: Likewise.
* config/tc-vax.c: Likewise.
2001-01-14 18:54:06 +00:00
Kazu Hirata
bc80588841
2000-12-03 Kazu Hirata <kazu@hxi.com>
...
* tc-a29k.c: Fix formatting.
* tc-alpha.c: Likewise.
* tc-arm.c: Likewise.
* tc-cris.c: Likewise.
* tc-hppa.c: Likewise.
* tc-i370.c: Likewise.
* tc-i386.c: Likewise.
* tc-i860.c: Likewise.
* tc-i960.c: Likewise.
* tc-ia64.c: Likewise.
* tc-m68hc11.c: Likewise.
* tc-m68k.c: Likewise.
* tc-m88k.c: Likewise.
* tc-pj.c: Likewise.
* tc-ppc.c: Likewise.
* tc-sh.c: Likewise.
* tc-sparc.c: Likewise.
* tc-tahoe.c: Likewise.
* tc-vax.c: Likewise.
2000-12-03 06:49:23 +00:00
Nick Clifton
3ae647a0a9
Fix the previous misapplied patch.
2000-10-18 19:26:57 +00:00
Nick Clifton
5cbdaa7740
RELAX_RELOC_*: New definitions for both BFD_ASSEMBLER and !BFD_ASSEMBLER.
2000-10-18 17:42:27 +00:00
Kazu Hirata
81d4177baa
2000-09-25 Kazu Hirata <kazu@hxi.com>
...
* config/tc-cris.c: Fix formatting.
* config/tc-d10v.h: Likewise.
* config/tc-d30v.c: Likewise.
* config/tc-d30v.h: Likewise.
* config/tc-fr30.c: Likewise.
* config/tc-fr30.h: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-m68k.h: Likewise.
* config/tc-pj.h: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-ppc.h: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sh.h: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-v850.h: Likewise.
* config/tc-vax.h: Likewise.
* config/tc-w65.h: Likewise.
* config/tc-z8k.h: Likewise.
2000-09-26 07:09:19 +00:00
Nick Clifton
151337e879
Redesign and clean up the relaxation mechanism.
2000-09-22 17:33:55 +00:00
Kazu Hirata
92774660ac
2000-09-11 Kazu Hirata <kazu@hxi.com>
...
* config/tc-i370.c: Fix formatting.
* config/tc-i960.c: Likewise.
* config/tc-m68k.c: Likewise.
2000-09-11 19:49:46 +00:00
Nick Clifton
28e7409f62
Add --pcrel option to m68k port
2000-07-31 22:08:14 +00:00
Nick Clifton
bc0d738a8d
Fix comments.
2000-07-07 16:58:25 +00:00
Alan Modra
63a0b638d4
Don't treat `;' as a line separator by default.
...
Explicitly mention `;' in line_separator_chars in each backend.
2000-06-09 00:00:04 +00:00
Alan Modra
8fce3f5ef7
Michael Sokolov's 68000 patches + assorted compiler warning fixes.
2000-05-08 10:24:06 +00:00
Andreas Schwab
3682307616
* config/tc-m68k.c: Add some ATTRIBUTE_UNUSED.
1999-07-12 08:34:56 +00:00
Ian Lance Taylor
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
Ian Lance Taylor
6da466c730
1999-05-28 Torbjorn Granlund <tege@matematik.su.se>
...
* config/tc-m68k.c (m68k_ip): Check for disallowed index register
width for Coldfire.
(arch_coldfire_p): New #define.
(m68k_ip, m68k_init_after_args): Use arch_coldfire_p.
1999-05-28 Linus Nordberg <linus.nordberg@canit.se>
* config/tc-m68k.c (install_operand): Add places `n', `o'.
* config/tc-m68k.c (m68k_ip): Add formats `E', `G', `H'.
(install_operand): Add place `N'.
(init_table): Add registers ACC, MACSR, MASK.
* config/m68k-parse.h (m68k_register): Add ACC, MACSR, MASK.
* config/tc-m68k.c: Change mcf5200 --> mcf.
(archs): Add mcf5206e, mcf5307.
(m68k_ip): Add format `u'.
(install_operand): Add place `m', `M', `h'.
(init_table): Add upper/lower registers.
* config/m68k-parse.h (m68k_register): Add upper/lower registers.
1999-05-27 22:36:51 +00:00
Catherine Moore
0d96863f2b
* tc-m68k.c: Include elf/m68k.h.
...
(m68k_elf_final_processing): New routine.
* tc-m68k.h (elf_tc_final_processing m68k_elf_final_processing):
Define.
1999-05-05 10:58:59 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00