Jan Hubicka
b96d3a207a
* configure.in: Define DEFAULT_ARCH for i386.
...
* tc-i386.c (md_assemble): Return after the error message;
move testing for 64bit operands to proper place.
* i386.exp: Add tests for presence of 32bit versus 64bit output
format; run both 64bit and 32bit tests when format is available;
add x86_64 test.
* x86_64.s: New file.
* x86_64.d: New file.
2001-01-06 12:36:04 +00:00
Jan Hubicka
7bc70a8e57
* tc-i386.c (md_assemble): Handle third byte of the opcode as prefix.
...
* i386.h (i386_optab): Make [sml]fence template to use immext field.
2001-01-05 12:30:12 +00:00
Jan Hubicka
a167610dd0
* tc-i386.c (cpu_arch): Add Pentium4 and modify sledgehammer entry.
...
* NEWS: Add note about Pentium4 support.
2001-01-04 21:27:56 +00:00
Jan Hubicka
09f131f2b6
* tc-i387.c (pi, pte, pt): Update.
...
(type_names): Add new types.
2001-01-03 16:27:41 +00:00
Jan Hubicka
6f8c0c4ccc
* tc-i386.h (CpuK6, CpuAthlon, CpuSledgehammer, CpuMMX, Cpu3dnow,
...
CpuUnknown): Renumber
(CpuP4, CpuSSE2): New.
(CpuUnknownFlags): Add CpuP4 and CpuSSE2
* i386.h (i386_optab): Fix 64bit pushf template; Add instructions
introduced by Pentium4
2001-01-03 15:36:26 +00:00
Phil Blundell
b96ed59a57
2001-01-03 Philip Blundell <pb@futuretv.com>
...
* config/tc-alpha.c (alpha_force_relocation): Handle vtable
relocs.
(alpha_fix_adjustable): Likewise.
(md_apply_fix): Likewise.
2001-01-03 10:03:46 +00:00
Richard Henderson
0a9ef43907
* as.h (rs_align_test): New.
...
* frags.c (NOP_OPCODE): Move default from read.c.
(MAX_MEM_FOR_RS_ALIGN_CODE): New default.
(frag_align_code): New.
* frags.h (frag_align_code): Declare.
* read.c (NOP_OPCODE): Remove.
(do_align): Use frag_align_code.
* write.c (NOP_OPCODE): Remove.
(get_recorded_alignment): New.
(cvt_frag_to_fill): Handle rs_align_test.
(relax_segment): Likewise.
(subsegs_finish): Align last subseg in section to the
section alignment. Use frag_align_code.
* write.h (get_recorded_alignment): Declare.
* config/obj-coff.c (size_section): Handle rs_align_test.
(fill_section, fixup_mdeps): Likewise.
(write_object_file): Use frag_align_code.
* config/tc-alpha.c (alpha_align): Use frag_align_code.
(alpha_handle_align): New.
* config/tc-alpha.h (HANDLE_ALIGN): New.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-i386.h (md_do_align): Use frag_align_code.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-ia64.c (ia64_md_do_align): Don't do code alignment.
(ia64_handle_align): New.
* config/tc-ia64.h (HANDLE_ALIGN): New.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-m32r.c (m32r_do_align): Remove.
(m32r_handle_align): New.
(fill_insn): Use frag_align_code.
* config/tc-m32r.h (md_do_align): Remove.
(HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-m88k.c, config/tc-m88k.h: Similarly.
* config/tc-mips.c, config/tc-mips.h: Similarly.
* config/tc-sh.c (sh_cons_align): Use rs_align_test.
(sh_handle_align): Likewise. Handle rs_align_code.
(sh_do_align): Remove.
* config/tc-sh.h (md_do_align): Remove.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-sparc.c (sparc_cons_align): Use rs_align_test.
(sparc_handle_align): Likewise. Handle rs_align_code.
* config/tc-sparc.h (md_do_align): Remove.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
2000-12-28 10:07:56 +00:00
DJ Delorie
3cd4dda73e
* config/tc-d10v.c (md_assemble): set prev_seg and prev_subseg
...
when we assemble the first half of a pair.
2000-12-22 22:06:32 +00:00
H.J. Lu
ec56dfb4b0
2000-12-22 H.J. Lu <hjl@gnu.org>
...
* config/tc-i386.c (reloc): Update the macro for non-bfd
assembler.
(BFD_RELOC_X86_64_GOTPCREL): Set to 0 for non-bfd assembler.
2000-12-22 20:53:35 +00:00
Jan Hubicka
3e73aa7c95
* tc-i386.h (i386_target_format): Define even for ELFs.
...
(QWORD_MNEM_SUFFIX): New macro.
(CpuK6,CpuAthlon,CpuSledgehammer, Cpu64, CpuNo64, CpuUnknownFlags):
New macros
(CpuMMX,CpuSSE,Cpu3dnow, CpuUnknown): Renumber.
(IgnoreSize, DefaultSize, No_?Suf, FWait, IsString, regKludge, IsPrefix,
ImmExt): Renumber.
(Size64, No_qSuf, NoRex64, Rex64): New macros.
(Reg64, Imm32S, Imm64, Disp32S, Disp64): New macros.
(Imm8, Imm8S, Imm16, Imm32, Imm1, BaseIndex, Disp8, Disp16, Disp32,
InOutPortReg,ShiftCount, Control, Debug, Test, FloatReg, FloatAcc,
SReg2, SReg3, Acc, JumpAbsolute, RegMMX, RegXMM, EsSeg, InvMem): Renumber.
(Reg, WordReg): Add Reg64.
(Imm): Add Imm32S and Imm64.
(EncImm): New.
(Disp): Add Disp64 and Disp32S.
(AnyMem): Add Disp32S.
(RegRex, RegRex64): New macros.
(rex_byte): New type.
* tc-i386.c (set_16bit_code_flag): Kill.
(fits_in_unsigned_long, fits_in_signed_long): New functions.
(reloc): New parameter "signed"; support x86_64.
(set_code_flag): New.
(DEFAULT_ARCH): New macro; default to "i386".
(default_arch): New static variable.
(struct _i386_insn): New fields Operand_PCrel; rex.
(flag_16bit_code): Kill; All tests replaced to "flag_code == CODE_64BIT";
(flag_code): New enum and static variable.
(use_rela_relocations): New static variable.
(flag_code_names): New static variable.
(cpu_arch_flags): Default to CpuUnknownFlags|CpuNo64.
(cpu_arch): Add "sledgehammer"; Add CPUAthlon to Athlon and CpuK6 to
K6 and Athlon.
(i386_align_code): Return plain "nop" for x86_64.
(mode_from_disp_size): Support Disp32S.
(smallest_imm_type): Support Imm32S and Imm64.
(offset_in_range): Support size of 8.
(set_cpu_arch): Do not clobber to Cpu64/CpuNo64.
(md_pseudo_table): Add "code64"; use set_code_flat.
(md_begin): Emit sane error message on hash failure.
(tc_i386_fix_adjustable): Support x86_64 relocations.
(md_assemble): Support QWORD_MNEM_SUFFIX, REX registers,
instructions supported on particular arch just partially,
output of 64bit immediates, handling of Imm32S and Disp32S type.
(i386_immedaite): Support x86_64 relocations; support 64bit constants.
(i386_displacement): Likewise.
(i386_index_check): Cleanup; support 64bit addresses.
(md_apply_fix3): Support x86_64 relocation and rela.
(md_longopts): Add "32" and "64".
(md_parse_option): Add OPTION_32 and OPTION_64.
(i386_target_format): Call even for ELFs; choose between
elf64-x86-64 and elf32-i386.
(i386_validate_fix): Refuse GOTOFF in 64bit mode.
(tc_gen_reloc): Support rela relocations and x86_64.
(intel_e09_1): Support QWORD.
* i386.h (i386_optab): Replace "Imm" with "EncImm".
(i386_regtab): Add flags field.
2000-12-20 13:24:13 +00:00
Diego Novillo
21d6c4af5d
2000-12-15 Diego Novillo <dnovillo@redhat.com>
...
* config/tc-i386.c (intel_e09_1): Only flag as a memory operand if
it's not an offset expression.
(intel_e10_1): Ditto. Also, if the operand is an offset expression,
keep the braces '[' and ']' in the output string.
(intel_e11): Ditto. Also remove comparison intel_parser.op_modifier
!= FLAT. There is no such op_modifier.
2000-12-16 05:45:08 +00:00
Alan Modra
0485cba3d3
Rodney Brown's CHECK_FIELD typo fixes.
2000-12-13 06:23:56 +00:00
Jim Wilson
514829c3af
Eliminate ia64 compiler warnings. Fix ia64 gas testsuite again.
...
* elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
* config/tc-ia64.h (ia64_init): Add prototype.
* gas/ia64/dv-imply.d, gas/ia64/dv-mutex.d, gas/ia64/dv-safe.d,
gas/ia64/dv-srlz.d, gas/ia64/opc-m.d: Update.
* ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
argument.
* ia64_gen.c (insert_deplist): Cast sizeof result to int.
(print_dependency_table): Print NULL if semantics field not set.
(insert_opcode_dependencies): Mark cmp parameter as unused.
(print_main_table): Use fprintf_vma to print long long fields.
(main): Mark argv paramter as unused. Convert to old style definition.
* ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
* ia64-asmtab.c: Regnerate.
2000-12-12 22:56:36 +00:00
Geoffrey Keating
8141c27d66
* config/obj-bout.c (obj_crawl_symbol_chain): Don't take
...
the address of a function result.
2000-12-12 20:48:45 +00:00
Geoffrey Keating
5d6f4f1679
2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
...
* config/tc-ppc.c (md_pseudo_table): Add .file and .loc.
(md_assemble): Call dwarf2_emit_insn.
(shlib): Fix typo SHILB -> SHLIB.
(md_parse_option): Likewise.
(ppc_elf_validate_fix): Likewise:
* config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): New.
2000-12-12 20:05:16 +00:00
Nick Clifton
e972090a04
Fix formatting
2000-12-12 19:29:24 +00:00
Jan Hubicka
f16b83dfe5
* tc-i386.c (md_assemble): Refuse 's' and 'l' suffixes in the intel
...
mode; convert 'd' suffix to 's' or 'l'; remove all DWORD_MNEM_SUFFIX
references.
(intel_e09_1): Convert QWORD to 'l' suffix for FP operations; refuse
otherwise.
* tc-i386.h (DWORD_MNEM_SUFFIX): Kill.
(No_dSuf): Kill.
* i386.h (*_Suf): Remove No_dSuf.
(d_suf, wld_Suf,sld_Suf, sldx_Suf, bwld_Suf, d_FP, sld_FP, sldx_FP)
Remove.
(i386_optab): Remove 'd' in the suffixes.
2000-12-11 14:01:46 +00:00
Alan Modra
50705ef487
Fix T_SHORT macro conflict.
2000-12-06 02:40:55 +00:00
Kazu Hirata
beae10d5eb
2000-12-05 Kazu Hirata <kazu@hxi.com>
...
* config/tc-mips.c: Fix formatting.
2000-12-05 18:51:08 +00:00
Nick Clifton
bccba5f08c
Add outputting_stabs_line_debug varaible and D10v code to use it
2000-12-05 00:56:09 +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
c6c98b3833
Add MIPS SB1 machine
2000-12-02 01:10:33 +00:00
Nick Clifton
84ea6cf2c5
Add MIPS V and MIPS 64 machine numbers
2000-12-02 00:55:22 +00:00
Nick Clifton
e7af610e14
Add MIPS32 as a seperate MIPS architecture
2000-12-01 21:35:38 +00:00
Nick Clifton
4372b67322
Improve MIPS32 support
2000-12-01 20:05:32 +00:00
Nick Clifton
3dacdf2eb1
When calculating offsets, don't accept as constant the difference between the
...
addresses of symbols in two different sections.
2000-12-01 19:06:15 +00:00
Phil Blundell
4ce3447c16
2000-11-30 Philip Blundell <pb@futuretv.com>
...
* config/obj-coff.c (obj_coff_weak): Use S_SET_WEAK if it exists,
even in non BFD_ASSEMBLER case.
2000-12-01 17:11:57 +00:00
Diego Novillo
76a0ddacc0
2000-11-30 Diego Novillo <dnovillo@redhat.com>
...
* tc-i386.c (md_assemble): Swap i.disp_relocs when using intel
syntax.
2000-11-30 Diego Novillo <dnovillo@redhat.com>
* intel.s, intel.d: New test for @GOT references.
2000-12-01 03:08:32 +00:00
Hans-Peter Nilsson
e46fee7099
(parse_reg): Parse names case-insensitively.
2000-11-28 23:53:51 +00:00
Hans-Peter Nilsson
dda5ecfc74
(sh_elf_cons): Cast *input_line_pointer to unsigned char when
...
indexing is_end_of_line[].
(md_assemble): Initialize size to 0.
(md_section_align): Mark parameter seg as unused.
2000-11-28 23:48:44 +00:00
Hans-Peter Nilsson
99b222b479
* config/tc-sh.c (md_convert_frag) <undefined symbol, conditional
...
jump>: Use as_bad_where instead of as_bad. Tweak error message
accordingly. Stabilize frag by updating fix part and resetting
variant part.
<undefined symbol, unconditional jump>: Ditto.
2000-11-28 23:33:45 +00:00
Kazu Hirata
814f664127
2000-11-27 Kazu Hirata <kazu@hxi.com>
...
* config/obj-aout.h: Fix formatting.
* config/obj-bout.h: Likewise.
* config/obj-coff.c: Likewise.
* config/obj-coff.h: Likewise.
* config/obj-elf.h: Likewise.
* config/obj-som.h: Likewise.
* config/obj-vms.c: Likewise.
* config/obj-vms.h: Likewise.
* config/tc-h8300.h: Likewise.
* config/tc-ns32k.h: Likewise.
* config/tc-sparc.h: Likewise.
* config/tc-tic54x.h: Likewise.
* config/tc-z8k.h: Likewise.
2000-11-28 21:29:02 +00:00
Hans-Peter Nilsson
fcdc20a4d3
* config/tc-cris.c: Include dwarf2dbg.h.
...
(md_pseudo_table): Add .file and .loc.
(md_assemble): Call dwarf2_emit_insn if generating ELF.
(s_cris_file, s_cris_loc): New.
* config/tc-cris.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
* Makefile.am: Regenerate dependencies.
* Makefile.in: Regenerate.
2000-11-28 15:39:15 +00:00
Stephane Carrez
ae3e85dd27
Fix movw/movb operands for 68HC12
2000-11-26 21:18:15 +00:00
Nick Clifton
077b8428ab
Add ARM v5t, v5te and XScale support
2000-11-25 00:21:40 +00:00
Jim Wilson
2434f56546
Eliminate compiler warnings from IA-64 port.
...
* config/tc-ia64.c (pseudo_func): Add missing initializers.
(struct rsrc): Make line unsigned.
(gr_values): Add missing initializer.
(SLOT_NUM_NOT_SET): Add unsigned cast.
(ia64_elf_section_flags, output_vbyte_mem, count_output, dot_radix,
dot_fframe, dot_vframe, dot_vframesp, dot_vframepsp, dot_save,
dot_restore, dot_restorereg, dot_restorereg_p, dot_handlerdata,
dot_unwentry, dot_altrp, dot_saveg, dot_savef, dot_saveb, dot_savegf,
dot_spill, dot_spillreg, dot_spillreg_p, dot_label_state,
dot_copy_state, dot_unwabi, dot_personality, dot_proc, dot_body,
dot_prologue, dot_endp, dot_regstk, dot_psr, dot_alias, dot_ln,
dot_reg_val, dot_entry, dot_mem_offset, ia64_init, mark_resource,
md_undefined_symbol, md_apply_fix3, tc_gen_reloc, ia64_md_do_align):
Add ATTRIBUTE_UNUSED to unused parameters.
(convert_expr_to_ab_reg): Add parens.
(convert_expr_to_xy_reg): Add parens. Comment out >= REG_GR test.
(dot_prologue): Initialize grsave when declared.
(md_pseudo_table): Add missing initializers.
(operand_match): Add casts to bfd_vma.
(emit_one_bundle): Delete unused local prev. Make required_template
unsigned.
(specify_resource): Cast i to unsigned.
(note_register_values): Use fprintf_vma.
(print_dependency): Likewise.
2000-11-22 23:08:47 +00:00
Jim Wilson
5e7474a7c9
Fix linux kernel unwind section alignment failure.
...
* config/tc-ia64.c (generate_unwind_image): Call record_alignment
for unwind info section.
(dot_endp): Likewise for unwind section.
2000-11-22 02:10:34 +00:00
Jim Wilson
5a080f897a
Fix assembler error on linux kernel mm/memory.c file.
...
* config/tc-ia64.c (emit_one_bundle): Pass size of 8 not 4 to
fix_new_exp.
2000-11-22 01:12:05 +00:00
Jakub Jelinek
b8e904dce5
* config/tc-sparc.h (DWARF2_LINE_MIN_INSN_LENGTH): New.
2000-11-21 21:37:44 +00:00
Jakub Jelinek
732d96b6ca
* config/tc-sparc.c (md_pseudo_table): Add .file and .loc.
...
(output_insn): Call dwarf2_emit_insn.
2000-11-21 12:40:14 +00:00
Nick Clifton
8179bd9b1b
Add support for .line and .file pseudo ops.
2000-11-17 18:46:43 +00:00
Richard Henderson
316e2c0578
* config/tc-i386.c (md_pseudo_table): Add .file and .loc.
2000-11-17 18:15:53 +00:00
Richard Henderson
a8316fe296
* dwarf2dbg.c (dwarf2_gen_line_info): Early out for no line number.
...
* config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Adjust for
tri-state definition of alpha_flag_mdebug.
* config/tc-alpha.c (alpha_flag_mdebug): Init to -1.
(s_alpha_file): Store first .file directive.
(s_alpha_stab): New.
(md_pseudo_table): Add stabs and stabn.
2000-11-17 18:07:33 +00:00
Richard Henderson
e346e481c2
* config/tc-i386.c (md_assemble): Call dwarf2_emit_insn.
2000-11-17 09:28:04 +00:00
Richard Henderson
4dc7ead9fd
* as.c (debug_type): Init to DEBUG_UNSPECIFIED.
...
* as.h (debug_type): Clarify documentation of the meaning
of this variable.
* dwarf2dbg.c (DWARF2_LINE_MIN_INSN_LENGTH): Default to 1.
(print_stats): Fix parenthesis problem.
(now_subseg_size): New.
(dwarf2_finish): Use it. If DEBUG_DWARF2, emit bits for .debug_info.
(dwarf2_directive_file): Don't set debug_type.
(dwarf2_where): Honor DEBUG_DWARF2 first.
(dwarf2_emit_insn): Renamed from dwarf2_generate_asm_lineno;
do nothing if not emitting dwarf2 debug info, or no work.
* dwarf2dbg.h (dwarf2_emit_insn): Update.
* ecoff.c (add_file): Turn on DEBUG_ECOFF only if DEBUG_UNSPECIFIED.
(ecoff_new_file): Likewise.
* read.c (generate_lineno_debug): Kill ecoff hackery. Update
commentary wrt dwarf2.
* config/tc-alpha.c (alpha_adjust_symtab_relocs): Add
ATTRIBUTE_UNUSED as needed.
(emit_insn): Call dwarf2_emit_insn.
(s_alpha_file): New.
(s_alpha_loc): New.
(s_alpha_coff_wrapper): Don't handle them.
(md_pseudo_table): Update for .file and .loc.
* config/tc-alpha.h (DWARF2_LINE_MIN_INSN_LENGTH): New.
* config/tc-arm.c (output_inst): Update for dwarf2_emit_insn;
don't protect with debug_type.
* config/tc-hppa.c (md_assemble): Likewise.
* config/tc-m68hc11.c (m68hc11_new_insn): Likewise.
* config/tc-mn10300.c (md_assemble): Likewise.
* config/tc-sh.c (md_assemble): Likewise.
* config/tc-v850.c (md_assemble): Likewise.
* config/tc-arm.c (arm_end_of_source): Remove.
* config/tc-hppa.c (pa_end_of_source): Remove.
* config/tc-m68hc11.c (m68hc11_end_of_source): Remove.
* config/tc-mn10300.c (mn10300_finalize): Remove.
* config/tc-sh.c (sh_finalize): Remove.
* config/tc-v850.c (sh_finalize): Remove.
* config/tc-arm.h (md_end): Remove.
* config/tc-hppa.h (md_end): Remove.
(DWARF2_LINE_MIN_INSN_LENGTH): New.
* config/tc-m68hc11.h (md_end): Remove.
* config/tc-mn10300.h (md_end): Remove.
* config/tc-sh.h (md_end): Remove.
* config/tc-v850.h (md_end): Remove.
* config/tc-ia64.c (emit_one_bundle): Don't protect
dwarf2 bits with debug_type.
(md_assemble): Likewise.
(ia64_end_of_source): Don't call dwarf2_finish.
2000-11-17 08:47:52 +00:00
Jim Wilson
ca683b78f3
Fix minor typos in recent errata workaround patch.
...
* config/tc-ia64.c (errata_nop_necessary_p): Abort if general regno
>= 128 instead of > 128. Abort if predicate regno is >= 64 instead of
> 16.
2000-11-16 23:52:01 +00:00
H.J. Lu
6f62085610
2000-11-16 H.J. Lu <hjl@gnu.org>
...
* config/obj-elf.c (obj_elf_symver): Don't check the missing
version name.
2000-11-16 19:29:12 +00:00
Kazu Hirata
19d63e5d2d
2000-11-15 Kazu Hirata <kazu@hxi.com>
...
* config/tc-tic30.c: Fix formatting.
* config/tc-tic80.c: Likewise.
* config/tc-v850.c: Likewise.
* config/tc-vax.c: Likewise.
* config/tc-w65.c: Likewise.
* config/tc-z8k.c: Likewise.
2000-11-16 00:59:49 +00:00
DJ Delorie
a8761a19f4
* config/tc-v850.c: Support dwarf2.
...
* config/tc-v850.h: Ditto.
* config/tc-v850.c (cons_fix_new_v850): Don't rely on
parse_cons_expression_v850 to initialize hold_cons_reloc.
2000-11-15 19:22:22 +00:00
Bernd Schmidt
88be23ec6a
Workaround for Itanium A/B step errata
2000-11-15 17:34:00 +00:00