Maciej W. Rozycki
460597bab5
* tc-mips.c (load_address): Don't clobber $at when loading a
...
64-bit address in non-PIC code if noat is in effect.
(macro): Likewise.
2002-07-30 19:27:31 +00:00
Maciej W. Rozycki
9bd7d93600
* config/tc-mips.c (macro): Use codes 6 and 7 in trap instructions
...
used in division/multiply macro expansions similarly to how they
are used in the variants with break instructions.
(macro2): Likewise.
2002-07-30 19:24:54 +00:00
Nick Clifton
3d0c950043
Add per-section and per-sub-section literal pools.
2002-07-30 10:56:04 +00:00
Alan Modra
dfff24c9bd
* config/tc-ppc.c (ppc_set_cpu): Use PPC_OPCODE_64 as the default
...
rather than PPC_OPCODE_32 for powerpc64*.
2002-07-26 04:18:42 +00:00
Richard Sandiford
22923709a7
Fix comment from last commit.
2002-07-25 11:07:47 +00:00
Richard Sandiford
316f5878b9
[gas/]
...
* doc/c-mips.texi: Remove -mcpu. Document -mabi.
* configure.in (MIPS_CPU_STRING_DEFAULT): New configuration macro.
(USE_E_MIPS_ABI_O32, MIPS_DEFAULT_64BIT): New configuration macros.
* configure, config.in: Regenerate.
* config/tc-mips.c (file_mips_abi): Rename to mips_abi.
(mips_set_options): Remove "abi" field.
(mips_opts): Update accordingly. Replace all uses of mips_opts.abi
with mips_abi.
(mips_cpu): Remove.
(mips_arch_string, mips_arch_info): New vars.
(mips_tune_string, mips_tune_info): New vars.
(ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New macros.
(HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): Don't check the ABI.
(mips_isa_to_str, mips_cpu_to_str): Remove.
(mips_ip): If the selected architecture is a generic ISA rather
than a processor, only mention the ISA level in error messages.
(OPTION_MCPU): Remove.
(OPTION_FP64): New.
(md_longopts): Add -mfp64, remove -mcpu.
(mips_set_option_string): New fn.
(md_parse_option): Make -mipsN update file_mips_isa rather than
mips_opts.isa. Use mips_set_option_string to set -march or -mtune.
Don't let -mgp32 and -mfp32 change the ABI.
(show): Move to end of file. Constify string argument.
(md_show_usage): Move to the end of the file. Read available
architectures from mips_cpu_info_table.
(mips_set_architecture): New fn.
(mips_after_parse_args): Rework. Remove -mcpu handling. -mipsN
is an alias for -march=mipsN. Don't change the ABI based on other
flags. Infer the register size from the ABI as well as the
architecture. Complain about more conflicting arguments.
Unify logic with GCC.
(s_mipsset): Don't change the ABI.
(mips_elf_final_processing): Check USE_E_MIPS_ABI_O32.
(mips_cpu_info_table): Remove Generic-MIPS* entries, keeping just
"mipsN"-type entries. Remove entries that vary only in the
manufacturer's prefix, or that have "000" replaced by "k".
Remove TARGET_CPU entries. Make r2000 entry use CPU_R3000.
(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
(mips_parse_cpu): New fn.
(mips_cpu_info_from_name, mips_cpu_info_from_cpu): Remove.
(mips_cpu_info_from_isa): Minor formatting tweak.
[gas/testsuite]
* gas/mips/mips-gp32-fp64.d,
* gas/mips/mips-gp32-fp64-pic.d: Add -mfp64.
2002-07-25 09:48:07 +00:00
Thiemo Seufer
bad9ca53db
* config/tc-mips.c (mips_need_elf_addend_fixup): Use S_IS_EXTERNAL
...
instead of S_IS_EXTERN.
(md_estimate_size_before_relax): Likewise.
(mips_fix_adjustable): Likewise.
2002-07-19 21:30:26 +00:00
Thiemo Seufer
a37de3d3ff
* config/tc-mips.c (mips_pic_level): Remove IRIX4_PIC.
2002-07-19 21:28:49 +00:00
Nick Clifton
a40cbfa3c9
Add IP2k GAS and OPCODES support.
2002-07-19 07:52:40 +00:00
Jan Hubicka
33fef721a1
* tc-i386.c (i386_align_code): Implement x86_64 neutral code fillers.
2002-07-16 22:31:19 +00:00
Alan Modra
25d3fb587f
* config/tc-z8k.c (build_bytes): Correct order of memset args.
2002-07-16 13:37:49 +00:00
Alan Modra
1bfdf77716
copyright date
2002-07-15 01:52:48 +00:00
Alan Modra
da06c61e93
* config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define if TE_NetBSD.
2002-07-15 01:51:07 +00:00
Alan Modra
9146926ac3
* config/tc-i386.c (process_suffix): Merge CODE_64BIT JumpByte
...
case with non CODE_64BIT case. Don't warn on "qword ptr" if
not CODE_64BIT.
2002-07-12 03:47:36 +00:00
Alan Modra
7e8d4ab4d1
* config/tc-ppc.c (ppc_elf_frob_symbol): Delete.
...
(ppc_frob_file_before_adjust): New function.
* config/tc-ppc.h (tc_frob_symbol): Don't define.
(ppc_elf_frob_symbol): Don't declare.
(tc_frob_file_before_adjust): Define.
(ppc_frob_file_before_adjust): Declare.
2002-07-11 01:07:49 +00:00
Alan Modra
2b3c460271
* config/tc-ppc.c (md_pseudo_table): Warning fix.
...
(ppc_cpu): Make it unsigned long to agree with struct powerpc_opcode
flags.
(ppc_size): Delete.
(ppc_xcoff64): Rename to ppc_obj64.
(md_parse_option <m>): Encode old ppc_size value in ppc_cpu.
(ppc_set_cpu): Set PPC_OPCODE_32 too.
(ppc_arch): Use ppc_obj64 instead of ppc_size to select bfd_mach_ppc64
or bfd_mach_ppc.
(ppc_target_format): Use ppc_obj64 to select format.
(md_begin): Adjust for PPC_OPCODE_32/64 in ppc_cpu.
(ppc_insert_operand): Use ppc_obj64 instead of ppc_size.
(ppc_elf_suffix): Likewise. Don't depend on BFD_DEFAULT_TARGET_SIZE.
(tc_frob_symbol): Likewise.
(md_assemble): Use ppc_obj64 instead of ppc_size. Don't depend on
BFD_DEFAULT_TARGET_SIZE.
(ppc_tc): Likewise.
(ppc_is_toc_sym): Likewise.
(md_apply_fix3): Likewise.
* config/tc-ppc.h (TC_FORCE_RELOCATION): Don't depend on
BFD_DEFAULT_TARGET_SIZE.
(ELF_TC_SPECIAL_SECTIONS): Likewise.
(tc_frob_symbol): Likewise.
2002-07-11 01:06:58 +00:00
Thiemo Seufer
aec421e08b
* config/tc-mips.c (macro_build): Handle MIPS16 insns.
...
(mips_ip): Likewise.
* mips.h (INSN_MIPS16): New define.
* mips-dis.c (mips_isa_type): Add MIPS16 insn handling.
* mips-opc.c (I16): New define.
(mips_builtin_opcodes): Make jalx an I16 insn.
2002-07-09 14:21:40 +00:00
Alan Modra
c66827056d
* config/tc-i386.c (md_pseudo_table <file>): Warning fix.
...
(BFD_RELOC_8, BFD_RELOC_8_PCREL): Define for non-BFD.
(md_apply_fix3): Formatting. Remove redundant test.
(tc_gen_reloc): Remove redundant code.
(tc_i386_force_relocation): Delete. Movy body of function to..
* config/tc-i386.h (TC_FORCE_RELOCATION): .. here.
2002-07-09 09:46:18 +00:00
Maciej W. Rozycki
78d32a179d
* config/tc-mips.c (macro): Shift the 32-bit address range
...
accessible with a lone "lui" down by 32768.
2002-07-09 00:42:57 +00:00
Maciej W. Rozycki
3a482fd523
* config/tc-mips.c (load_address): Use non-trapping "daddu"
...
instead of "dadd" in address calculations.
(macro): Likewise.
2002-07-08 22:42:09 +00:00
Alan Modra
cd61ebfe13
gas/ChangeLog
...
* config/tc-i386.c (process_suffix): Remove intel mode movsx and
movzx fudges.
(md_assemble): Instead, zap the suffix here.
include/opcode/ChangeLog
* i386.h: Remove IgnoreSize from movsx and movzx.
2002-07-08 10:03:11 +00:00
Martin Schwidefsky
148b4c7a2b
2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
...
* config/tc-s390.c (tc_s390_fix_adjustable): Prevent any adjustment
to symbols in merge sections, even non pc-relative ones.
2002-07-02 09:04:43 +00:00
Stephane Carrez
2916066e22
* config/tc-m68hc11.h (m68hc11_listing_header): Fix warning.
2002-06-29 15:52:31 +00:00
Stephane Carrez
96e8741728
* config/tc-m68hc11.h (ELF_TC_SPECIAL_SECTIONS): New sections
...
.softregs and .eeprom.
2002-06-29 10:32:34 +00:00
Joern Rennecke
7dd04abd82
Typo fixes in comment.
2002-06-19 14:31:07 +00:00
Joern Rennecke
5db33d76e1
* config/tc-sh.c (get_specific): Revert 2002-05-01 change.
...
(assemble_ppi): Generate warning if the same register is used
twice as destination in the same padd / pmuls instruction.
2002-06-19 14:28:09 +00:00
Dave Brolley
0ebb9a87eb
2002-06-18 Dave Brolley <brolley@redhat.com>
...
From Catherine Moore, Michael Meissner, Richard Sandiford, Dave Brolley:
* po/POTFILES.in: Add tc-frv.c, tc-frv.h.
* configure.in: Support frv-*-*.
* Makefile.am (CPU_TYPES): Add frv.
(TARGET_CPU_CFILES): Add tc-frv.c.
(TARGET_CPU_HFILES): Add tc-frv.h.
(DEPTC_frv_coff): New variable.
(DEPTC_frv_elf): New variable.
(DEPOBJ_frv_coff): New variable.
(DEPOBJ_frv_elf): New variable.
(DEP_frv_coff): New variable.
(DEP_frv_elf): New variable.
* tc-frv.c: New file.
* tc-frv.h: New file.
2002-06-18 21:15:21 +00:00
Catherine Moore
2a24298d33
* config/obj-elf.h (TARGET_SYMBOL_FIELDS): Conditionally define.
2002-06-18 01:37:34 +00:00
Joern Rennecke
96f31fc79d
* config/tc-sh.c (assemble_ppi): Initialize reg_n.
2002-06-17 15:32:25 +00:00
Tom Rix
184e65b1d4
Fix build breakage.
2002-06-17 13:48:59 +00:00
Daniel Jacobowitz
ecb4347ade
2002-06-14 H.J. Lu <hjl@gnu.org>
...
Daniel Jacobowitz <drow@mvista.com>
* dwarf2dbg.h (dwarf2_directive_file): Return char *.
* dwarf2dbg.c (dwarf2_directive_file): Return filename.
* config/tc-mips.c (s_mips_file): Call s_app_file_string
and new_logical_line for the first .file directive.
* read.c (s_app_file_string): New function.
(s_app_file): Call it.
* read.h (s_app_file_string): Add declaration.
2002-06-14 Daniel Jacobowitz <drow@mvista.com>
* configure.in: Remove MIPS_STABS_ELF.
* configure: Regenerated.
* config.in: Regenerated.
* config/obj-elf.h (ECOFF_DEBUGGING): Define to mips_flag_mdebug
for MIPS targets.
* config/tc-mips.c (mips_pseudo_table): Remove #ifdef around
".extern".
(pdr_seg): Declare unconditionally.
(md_begin): Always generate .pdr unless ECOFF_DEBUGGING or not ELF.
(s_mips_end): Likewise. Generate stabs function markers.
(s_mips_ent): Generate stabs function markers.
(s_mips_frame): Always generate .pdr unless ECOFF_DEBUGGING or not
ELF.
(s_mips_mask): Likewise.
(mips_flag_mdebug): New.
(md_longopts): Add "mdebug" and "no-mdebug".
(md_parse_options): Add OPTION_MDEBUG and OPTION_NO_MDEBUG.
(mips_after_parse_args): Set mips_flag_mdebug.
* doc/as.texinfo: Add "-mdebug" and "-no-mdebug" for MIPS.
2002-06-14 Daniel Jacobowitz <drow@mvista.com>
* gas/mips/lineno.d: Use --gstabs.
* gas/mips/mips.exp (lineno.s): Remove XFAIL.
2002-06-14 14:08:54 +00:00
Maciej W. Rozycki
d6e9d61afd
* config/tc-mips.c (md_apply_fix3): Don't subtract the symbol's
...
value twice for RELA relocations.
2002-06-13 10:10:51 +00:00
Tom Rix
b4f96c78d9
Change default csect alignment to 4 bytes.
2002-06-12 16:14:02 +00:00
Marek Michalkiewicz
8a6def3ba3
* config/tc-avr.c (mcu_types): Update.
2002-06-09 17:57:09 +00:00
Jason Thorpe
7542c0f275
2002-06-08 Matt Thomas <matt@3am-software.com>
...
* configure.in (vax-*-netbsdelf*, vax-*-netbsdaout*)
(vax-*-netbsd*): New targets.
* configure: Regenerate.
* config/aout_gnu.h (enum machine_type): Add M_VAX4K_NETBSD.
* config/tc-vax.c: Add support for ELF and PIC.
(flag_want_pic): New flag.
(float_cons): Fix prototype.
(md_apply_fix3): Adjust for BFD_ASSEMBLER.
(md_assemble): Introduce a new is_absolute local, and use it
rather than repeating the test. Make fatal errors actually
fatal by using as_fatal as appropriate. Adjust for BFD_ASSEMBLER.
Add support for ELF. Add support for PIC.
(md_convert_frag): Adjust for BFD_ASSEMBLER.
(tc_aout_fix_to_chars): Only include if OBJ_AOUT and not
BFD_ASSEMBLER.
(vax_reg_parse): Make the % register prefix mandatory for ELF,
optional for a.out, and not allowed for VMS. Adjust all callers.
(md_create_short_jump): Add ATTRIBUTE_UNUSED to unused arguments.
(md_create_long_jump): Likewise.
(md_undefined_symbol): Likewise.
(md_section_align): Likewise.
(md_shortopts): Allow -k and -K for ELF.
(md_parse_option): Set flag_want_pic if -k or -K.
(tc_headers_hook): New function if OBJ_AOUT and not BFD_ASSEMBLER.
(tc_gen_reloc): New function if BFD_ASSEMBLER.
* config/tc-vax.h (tc_headers_hook): Remove.
(TARGET_FORMAT): Set according to object format and target
environment.
(BFD_ARCH, TARGET_ARCH): Define.
(NO_RELOC): Adjust for BFD_ASSEMBLER.
(TC_RELOC_RTSYM_LOC_FIXUP, TC_FIX_ADJUSTABLE)
(tc_fix_adjustable): Define if BFD_ASSEMBLER.
* config/vax-inst.h (VAX_JSB, VAX_CALLS, VAX_CALLG): Define.
2002-06-09 00:45:42 +00:00
Daniel Jacobowitz
b7b05886f4
2002-06-08 Daniel Jacobowitz <drow@mvista.com>
...
Based on patch from Matt Green:
* config/obj-elf.h (ECOFF_DEBUGGING): Make configurable.
* config/tc-mips.c (s_mips_file): Renamed from s_file.
(s_mips_loc): New function.
(mips_nonecoff_pseudo_table): Call them.
(append_insn): Call dwarf2_emit_insn.
2002-06-08 16:04:35 +00:00
Alan Modra
5a38dc70b4
* as.c: Replace CONST with const.
...
* write.c: Likewise.
* config/obj-coff.c: Likewise.
* config/tc-a29k.c: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-dlx.c: Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-h8500.c: Likewise.
* config/tc-i370.c: Likewise.
* config/tc-i860.c: Likewise.
* config/tc-i960.c: Likewise.
* config/tc-m68hc11.c: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-m88k.c: Likewise.
* config/tc-mcore.c: Likewise.
* config/tc-mips.c: Likewise.
* config/tc-ns32k.c: Likewise.
* config/tc-pdp11.c: Likewise.
* config/tc-pj.c: Likewise.
* config/tc-s390.c: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-tahoe.c: Likewise.
* 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.
2002-06-08 07:37:16 +00:00
Daniel Jacobowitz
c5dd6aab56
2002-06-08 Daniel Jacobowitz <drow@mvista.com>
...
Based on patch from Matt Green:
* config/obj-elf.h (ECOFF_DEBUGGING): Make configurable.
* config/tc-mips.c (s_mips_file): Renamed from s_file.
(s_mips_loc): New function.
(mips_nonecoff_pseudo_table): Call them.
(append_insn): Call dwarf2_emit_insn.
2002-06-08 05:37:29 +00:00
Thiemo Seufer
a4672219e1
* config/tc-mips.c (mips_opts): Fix comment, all ASE fields are set
...
to -1.
(file_ase_mips16): New veriable.
(mips_eabi64): Remove.
(CPU_HAS_MIPS16): New define.
(CPU_HAS_MDMX): Fix data type.
(md_begin): Code cleanup. Use file_ase_mips16.
(mips_elf_final_processing): Handle mips16 header flag.
Handle EABI flag without intermediate variable.
2002-06-07 23:26:54 +00:00
Thiemo Seufer
85b5171940
* config/tc-mips.c: Add define for $zero register.
...
(md_begin): Add $zero as alias name for $0.
(insn_uses_reg): Use ZERO define.
(mips_ip): Add $zero as alias name for $0.
(mips16_ip): Likewise.
(s_cplocal): Demand empty rest of input line.
(tc_get_register): Likewise. Add support for $kt0, kt1 register
names. Use ZERO define. Fix input_line_pointer progress.
2002-06-07 22:54:47 +00:00
Alan Modra
9758f3fc77
* symbols.c: Replace CONST by const throughout.
...
(symbol_find_exact): Split out from..
(symbol_find_base): ..here.
* symbols.h: Replace CONST by const throughout.
(symbol_find_exact): Declare.
* config/obj-elf.c: #include "struc-symbol.h".
(elf_frob_file): If group name matches an exported symbol, use that
symbol for the signature and ".group" as the section name.
2002-06-07 14:57:50 +00:00
Joern Rennecke
dbb4348d4a
Add comment for last change.
2002-06-07 10:24:56 +00:00
Joern Rennecke
9691d64f9a
* config/tc-sh.c (parse_at): @(symbol,pc) is A_DISP_PC again,
...
but warn about it.
* testsuite/gas/sh/pcrel.s: Also test @(symbol,pc).
* testsuite/gas/sh/pcrel.d: Update.
* testsuite/gas/sh/pcrel.l: New file.
2002-06-06 17:29:55 +00:00
Daniel Jacobowitz
ffdefa66c4
2002-06-06 Daniel Jacobowitz <drow@mvista.com>
...
* tc-mips.c (mips_after_parse_args): Always set mips_opts.ase_mips3d
and mips_opts.ase_mdmx if they are uninitialized.
2002-06-06 16:38:01 +00:00
Jeff Law
ec8b3afdf2
* gas/config/tc-hppa.c (pa_ip): Replace "L$0\001" with FAKE_LABEL_NAME.
...
(hppa_force_relocation): Check if a stub just before the start symbol
of the last call_info is reachable before forcing relocation. Fix
typo.
2002-06-06 06:50:12 +00:00
Maciej W. Rozycki
e96706776b
* config/tc-mips.c (mips_after_parse_args): New function.
...
(md_begin): Move processing of defaults to mips_after_parse_args.
config/tc-mips.h (md_after_parse_args): Define.
2002-06-04 16:33:56 +00:00
Jason Thorpe
5b0e55b627
bfd:
...
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
* Makefile.in: Regenerate.
* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
* configure: Regenerate.
* elf32-sh64-nbsd.c: New file.
* elf64-sh64-nbsd.c: New file.
* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
bfd_elf64_sh64lnbsd_vec.
gas:
* configure.in (sh5*): Set cpu_type to sh64 and endian to big.
(sh5le*, sh64le*): Set cpu_type to sh64 and endian to little.
(sh5*-*-netbsd*, sh64*-*-netbsd*): New targets.
* configure: Regenerate.
* config/tc-sh64.c (sh64_target_format): Add support for NetBSD
environment.
ld:
* Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
(eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
(eshlelf64_nbsd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* emulparams/shelf32_nbsd.sh: New file.
* emulparams/shelf64_nbsd.sh: New file.
* emulparams/shlelf32_nbsd.sh: New file.
* emulparams/shlelf64_nbsd.sh: New file.
opcodes:
* configure.in: Add "sh5*-*" to list of targets which include
sh64 support.
* configure: Regenerate.
2002-06-04 02:57:44 +00:00
Jason Thorpe
a074e149a5
* config/tc-sh64.h (MD_PCREL_FROM_SECTION): Undef before redefining.
2002-06-04 02:45:51 +00:00
Alan Modra
d2dab5486b
* config/obj-elf.c (obj_elf_change_section): Set and check elf
...
linkonce flag. Print all warnings.
(obj_elf_section): Parse ",comdat" for groups.
(elf_frob_file): Set SEC_LINK_ONCE on COMDAT groups. Check
consistency of comdat flag.
2002-06-04 01:06:16 +00:00
Richard Henderson
20e130e9c0
* config/tc-alpha.c (alpha_adjust_symtab_relocs): Fix thinko
...
with LITERALs without sequence numbers.
2002-06-02 08:36:10 +00:00
Richard Henderson
9e756d64bb
include/elf/
...
* alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
gas/
* config/tc-alpha.c: Move LITUSE constants to "elf/alpha.h".
Rename them LITUSE_ALPHA_*.
bfd/
* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
(elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
in shared libraries. Fix DTPRELHI and TPRELHI value.
(INSN_ADDQ, INSN_RDUNIQ): New.
(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
(elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
argument. Reject dynamic symbols. Use LITUSE symbolic constants.
(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
Handle GOTDTPREL and GOTTPREL relocations.
(elf64_alpha_relax_gprelhilo): New.
(elf64_alpha_relax_tls_get_addr): New.
(elf64_alpha_relax_find_tls_segment): New.
(elf64_alpha_relax_section): Handle TLS relocations.
(ALPHA_ELF_LINK_HASH_TLS_IE): New.
(elf64_alpha_check_relocs): Set it.
2002-06-02 02:28:45 +00:00
Nick Clifton
3048287aca
Allow stm.l and ldm.l insns to accept parentheses enclosed register lists.
2002-05-31 14:29:58 +00:00
Thiemo Seufer
793b27f463
* config/tc-mips.c (mips_ip): Use unsigned long values for
...
warning output.
2002-05-31 02:27:15 +00:00
Thiemo Seufer
8024528581
* config/tc-mips.c (s_cpsetup): Fix initialization of
...
mips_cpreturn_register and mips_cpreturn_offset.
2002-05-31 02:20:04 +00:00
Thiemo Seufer
698b7d9d76
* config/tc-mips.c (s_cpsetup): Fix comment.
2002-05-31 02:04:55 +00:00
Thiemo Seufer
76db943db2
* config/tc-mips.c (md_begin): Add $ra as alias name for $31.
...
(mips_ip): Likewise.
(mips16_ip): Likewise.
(tc_get_register): Likewise.
2002-05-31 01:58:18 +00:00
Chris Demetriou
deec17343c
[ gas/ChangeLog ]
...
2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
Ed Satterthwaite <ehs@broadcom.com>
* config/tc-mips.c (mips_set_options): New "ase_mdmx" member.
(mips_opts): Initialize "ase_mdmx" member.
(file_ase_mdmx): New variable.
(CPU_HAS_MDMX): New macro.
(md_begin): Initialize mips_opts.ase_mdmx and file_ase_mdmx
based on command line options and configuration defaults.
(macro_build): Note in comment that use of MDMX in macros is
not currently allowed.
(validate_mips_insn): Add support for the "O", "Q", "X", "Y", and
"Z" MDMX operand types.
(mips_ip): Accept MDMX instructions if mips_opts.ase_mdmx is set,
and add support for the "O", "Q", "X", "Y", and "Z" MDMX operand
types.
(OPTION_MDMX, OPTION_NO_MDMX, md_longopts, md_parse_option):
Add support for "-mdmx" and "-no-mdmx" options.
(OPTION_ELF_BASE): Move to accomodate new options.
(s_mipsset): Support ".set mdmx" and ".set nomdmx".
(mips_elf_final_processing): Set MDMX ASE ELF header flag if
file_ase_mdmx was set.
* doc/as.texinfo: Document -mdmx and -no-mdmx options.
* doc/c-mips.texi: Likewise, and document ".set mdmx" and ".set
nomdmx" directives.
[ gas/testsuite/ChangeLog ]
2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
* gas/mips/mips64-mdmx.s: New file.
* gas/mips/mips64-mdmx.d: Likewise.
* gas/mips/mips.exp: Run new "mips64-mdmx" test.
[ include/opcode/ChangeLog ]
2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
* mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
(MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
(MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
(INSN_MDMX): New constants, for MDMX support.
(opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
[ opcodes/ChangeLog ]
2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
Ed Satterthwaite <ehs@broadcom.com>
* mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y',
and 'Z' formats, for MDMX.
(mips_isa_type): Add MDMX instructions to the ISA
bit mask for bfd_mach_mipsisa64.
* mips-opc.c: Add support for MDMX instructions.
(MX): New definition.
* mips-dis.c: Update copyright years to include 2002.
2002-05-31 01:17:18 +00:00
Thiemo Seufer
9ee72ff122
* config/tc-mips.c (OPTION_NO_M7000_HILO_FIX): Rename to
...
OPTION_MNO_7000_HILO_FIX. Add alternate "mno-fix7000"
command line switch conforming to gcc conventions.
* doc/c-mips.texi: Document -mno-fix7000 instead of no-mfix-7000.
2002-05-30 23:38:19 +00:00
Thiemo Seufer
438c16b875
* config/tc-mips.c (macro_build_jalr): New Function.
...
(md_begin): NewABI uses big GOTs.
(macro_build): Recognize BFD_RELOC_MIPS_GOT_DISP,
BFD_RELOC_MIPS_GOT_PAGE, BFD_RELOC_MIPS_GOT_OFST as valid.
(load_address): Add some NewABI PIC support.
(macro): Likewise.
(md_apply_fix): Special handling for BFD_RELOC_MIPS_JALR.
(tc_gen_reloc): Don't encode NewABI vtables in REL relocations.
2002-05-30 23:32:47 +00:00
Thiemo Seufer
f7ea7ef2ee
* config/tc-mips.c (load_address): Use mips_gp_register instead
...
of hardcoded value. Remove dbl parameter, use HAVE_32BIT_ADDRESSES
instead.
(macro): Use mips_gp_register instead of hardcoded value.
2002-05-30 22:29:20 +00:00
Richard Henderson
3765b1be13
include/elf/
...
* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
bfd/
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
(struct alpha_elf_obj_tdata): Rename total_got_entries and
n_local_got_entries to total_got_size and local_got_size.
(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
(alpha_got_entry_size): New.
(elf64_alpha_relax_with_lituse): Use it.
(elf64_alpha_relax_without_lituse): Likewise.
(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
(get_got_entry): New.
(elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
(elf64_alpha_calc_got_offsets): Likewise.
(alpha_dynamic_entries_for_reloc): New.
(elf64_alpha_calc_dynrel_sizes): Use it.
(elf64_alpha_size_dynamic_sections): Likewise.
(elf64_alpha_relocate_section): Handle TLS relocations.
* reloc.c: Add Alpha TLS relocations.
* bfd-in2.h, libbfd.h: Rebuild.
gas/
* expr.h (operatorT): Add O_md17..O_md32.
* config/tc-alpha.c (O_lituse_tlsgd, O_lituse_tlsldm, O_tlsgd,
O_tlsldm, O_gotdtprel, O_dtprelhi, O_dtprello, O_dtprel, O_gottprel,
O_tprelhi, O_tprello, O_tprel): New.
(USER_RELOC_P, alpha_reloc_op_tag, debug_exp): Include them.
(DUMMY_RELOC_LITUSE_TLSGD, DUMMY_RELOC_LITUSE_TLSLDM): New.
(LITUSE_TLSGD, LITUSE_TLSLDM): New.
(struct alpha_reloc_tag): Add master, saw_tlsgd, saw_tlsld,
saw_lu_tlsgd, saw_lu_tlsldm. Make multi_section_p a bit field.
(md_apply_fix3): Handle TLS relocations.
(alpha_force_relocation, alpha_fix_adjustable): Likewise.
(alpha_adjust_symtab_relocs): Sort LITERAL relocs after the
associated TLS reloc. Check lituse_tls relocs match up.
(emit_insn): Handle TLS relocations.
(ldX_op): Remove.
gas/testsuite/
* gas/alpha/elf-tls-1.s, gas/alpha/elf-tls-1.d: New.
* gas/alpha/elf-tls-2.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/elf-tls-3.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/alpha.exp: Run them.
2002-05-30 22:01:38 +00:00
Thiemo Seufer
def2e0dd82
* config/tc-mips.c (mips_gprel_offset): New variable.
...
(s_gpvalue): Use it.
2002-05-30 21:06:14 +00:00
Tom Rix
8ade06a814
d10v fixes.
2002-05-30 16:16:30 +00:00
Thiemo Seufer
c99147661e
* config/tc-mips.c: Replace GP in comments by $gp.
...
(mips_big_got): Initialize.
(mips_trap): Initialize.
(load_address): Use mips_gp_register instead of hardcoded value.
Remove dbl parameter, use HAVE_32BIT_ADDRESSES instead.
(macro): Use mips_gp_register instead of hardcoded value.
(macro2): Change load_address calls.
(md_pcrel_from): Comment formatting.
(s_cpload): Use mips_gp_register instead of hardcoded value.
(s_cprestore): Likewise. Comment formatting.
(s_gpword): Fix data type.
(s_cpadd): Use mips_gp_register instead of hardcoded value.
(nopic_need_relax): Replace GP in comments by $gp.
(mips_elf_final_processing): Better comment.
2002-05-28 19:23:09 +00:00
Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Nick Clifton
e9732b6d4f
Add missing semicolon
2002-05-27 16:16:04 +00:00
Thiemo Seufer
f9419b056f
* config/tc-mips.c (mips_emit_delays): Replace magic constant for RA
...
by the define. Remove superfluous check of mips_opts.mips16.
(append_insn): Likewise. Canonicalize variable increments.
(macro_build): Canonicalize variable increments.
(macro_build_lui): Likewise.
(load_register): Likewise.
(load_address): Move pointer initialization.
(macro): Move pointer to a more local scope. Canonicalize variable
increments. Better comments. Replace magic constant for RA by the
define.
(macro2): Replace magic constant for RA by the define. Canonicalize
variable increments.
(mips_ip): Canonicalize variable increments.
(mips16_ip): Replace magic constant for RA by the define.
(my_getSmallParser): Canonicalize variable increments/decrements.
(my_getPercentOp): Likewise.
(my_getSmallExpression): Likewise.
(s_align): Likewise.
(s_mipsset): Likewise.
(s_cpsetup): Likewise.
(s_insn): Remove superfluous check of mips_opts.mips16.
(s_mips_stab): Likewise.
(mips_handle_align): Canonicalize variable increments.
(s_mips_ent): Likewise.
(s_mips_end): Add comment.
2002-05-26 18:46:37 +00:00
Alan Modra
29589b0c52
* Makefile.am (OBJS): Depend on ansidecl.h and fopen-same.h.
...
* Makefile.in: Regenerate.
* dep-in.sed: Reorder to match OBJS in Makefile.am.
* configure.in (ALL_OBJ_DEPS): Add symcat.h when need_bfd.
* configure: Regenerate.
* as.h: Use #include "" instead of <> for local header files.
* flonum-konst.c: Likewise.
* flonum-mult.c: Likewise.
* gasp.c: Likewise.
* listing.c: Likewise.
* config/tc-ia64.h: Likewise.
* config/tc-v850.h: Likewise.
2002-05-25 12:53:29 +00:00
Jakub Jelinek
13ae64f3c7
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
...
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Nick Clifton
c62e1cc30f
For the Thumb BLX reloc round the relocation up rather than down.
2002-05-23 12:37:57 +00:00
Nick Clifton
6ff96af674
Silently ignore an 'a' flag in a COFF .section directive.
2002-05-23 10:45:14 +00:00
Alan Modra
69108c1f43
* config/tc-alpha.c (assemble_tokens): Protect use of
...
ALPHA_RELOC_TABLE with #ifdef RELOC_OP_P.
2002-05-23 10:12:04 +00:00
Alan Modra
18e1d48773
* write.c (size_seg): Check adjustment to last frag.
...
(SUB_SEGMENT_ALIGN): If HANDLE_ALIGN defined, pad out last frag to
section alignment.
* config/obj-coff.c (SUB_SEGMENT_ALIGN): Likewise.
* config/obj-ieee.c (SUB_SEGMENT_ALIGN): Likewise.
(write_object_file): Invoke md_do_align if available, and use
frag_align_code on text sections.
* config/obj-vms.h (SUB_SEGMENT_ALIGN): Now two args.
* config/tc-m88k.h (SUB_SEGMENT_ALIGN): Likewise.
* config/tc-ppc.h (SUB_SEGMENT_ALIGN): Likewise.
* config/tc-sh.h (SUB_SEGMENT_ALIGN): Likewise.
* config/tc-i386.h (SUB_SEGMENT_ALIGN): Likewise. Define for
BFD_ASSEMBLER too.
2002-05-23 08:08:48 +00:00
Nick Clifton
76feaaf359
COFF: Dump literal pool when changing sections.
2002-05-22 16:46:27 +00:00
Thiemo Seufer
c90bbe5b9e
* config/tc-mips.c (macro): Relax warning, it's toot strict for
...
embedded-PIC.
2002-05-22 00:13:13 +00:00
Thiemo Seufer
771c7ce4bc
? gas/testsuite/gas/mips/rol64.d
...
? gas/testsuite/gas/mips/rol64.s
Index: gas/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/ChangeLog,v
retrieving revision 1.1334
diff -u -p -r1.1334 ChangeLog
--- gas/ChangeLog 21 May 2002 20:01:51 -0000 1.1334
+++ gas/ChangeLog 21 May 2002 23:32:51 -0000
@@ -1,3 +1,8 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (macro2): Add 64 bit drol, dror macros.
+ Optimize the rotate by zero case.
+
2002-05-21 Nick Clifton <nickc@cambridge.redhat.com>
* configure.in: Remove accidental enabling of bfd_gas=yes for
Index: gas/config/tc-mips.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-mips.c,v
retrieving revision 1.123
diff -u -p -r1.123 tc-mips.c
--- gas/config/tc-mips.c 14 May 2002 23:35:59 -0000 1.123
+++ gas/config/tc-mips.c 21 May 2002 23:32:52 -0000
@@ -6686,6 +6686,17 @@ macro2 (ip)
--mips_opts.noreorder;
break;
+ case M_DROL:
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsubu",
+ "d,v,t", AT, 0, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsrlv",
+ "d,t,s", AT, sreg, AT);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsllv",
+ "d,t,s", dreg, sreg, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ break;
+
case M_ROL:
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "subu",
"d,v,t", AT, 0, treg);
@@ -6697,15 +6708,55 @@ macro2 (ip)
"d,v,t", dreg, dreg, AT);
break;
+ case M_DROL_I:
+ {
+ unsigned int rot;
+ char *l, *r;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x3f;
+ if (! rot)
+ break;
+ l = (rot < 0x20) ? "dsll" : "dsll32";
+ r = ((0x40 - rot) < 0x20) ? "dsrl" : "dsrl32";
+ rot &= 0x1f;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, l,
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, r,
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
+ break;
+
case M_ROL_I:
- if (imm_expr.X_op != O_constant)
- as_bad (_("rotate count too large"));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll", "d,w,<",
- AT, sreg, (int) (imm_expr.X_add_number & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl", "d,w,<",
- dreg, sreg, (int) ((0 - imm_expr.X_add_number) & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or", "d,v,t",
- dreg, dreg, AT);
+ {
+ unsigned int rot;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x1f;
+ if (! rot)
+ break;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll",
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl",
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
+ break;
+
+ case M_DROR:
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsubu",
+ "d,v,t", AT, 0, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsllv",
+ "d,t,s", AT, sreg, AT);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsrlv",
+ "d,t,s", dreg, sreg, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
break;
case M_ROR:
@@ -6719,15 +6770,44 @@ macro2 (ip)
"d,v,t", dreg, dreg, AT);
break;
+ case M_DROR_I:
+ {
+ unsigned int rot;
+ char *l, *r;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x3f;
+ if (! rot)
+ break;
+ r = (rot < 0x20) ? "dsrl" : "dsrl32";
+ l = ((0x40 - rot) < 0x20) ? "dsll" : "dsll32";
+ rot &= 0x1f;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, r,
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, l,
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
+ break;
+
case M_ROR_I:
- if (imm_expr.X_op != O_constant)
- as_bad (_("rotate count too large"));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl", "d,w,<",
- AT, sreg, (int) (imm_expr.X_add_number & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll", "d,w,<",
- dreg, sreg, (int) ((0 - imm_expr.X_add_number) & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or", "d,v,t",
- dreg, dreg, AT);
+ {
+ unsigned int rot;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x1f;
+ if (! rot)
+ break;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl",
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll",
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
break;
case M_S_DOB:
Index: gas/testsuite/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/testsuite/ChangeLog,v
retrieving revision 1.315
diff -u -p -r1.315 ChangeLog
--- gas/testsuite/ChangeLog 20 May 2002 17:05:34 -0000 1.315
+++ gas/testsuite/ChangeLog 21 May 2002 23:32:54 -0000
@@ -1,3 +1,9 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * gas/mips/rol64.s: New file, test of drol, dror macros.
+ * gas/mips/rol64.d: Likewise.
+ * gas/mips/mips.exp: Add new test.
+
2002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
* gas/arm/arm.exp: Replace deprecated command line switches
Index: gas/testsuite/gas/mips/mips.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/mips/mips.exp,v
retrieving revision 1.32
diff -u -p -r1.32 mips.exp
--- gas/testsuite/gas/mips/mips.exp 4 Apr 2002 08:23:30 -0000 1.32
+++ gas/testsuite/gas/mips/mips.exp 21 May 2002 23:32:54 -0000
@@ -122,6 +122,7 @@ if { [istarget mips*-*-*] } then {
run_dump_test "mul"
}
run_dump_test "rol"
+ run_dump_test "rol64"
if !$aout { run_dump_test "sb" }
run_dump_test "trunc"
if !$aout { run_dump_test "ulh" }
Index: include/opcode/ChangeLog
===================================================================
RCS file: /cvs/src/src/include/opcode/ChangeLog,v
retrieving revision 1.167
diff -u -p -r1.167 ChangeLog
--- include/opcode/ChangeLog 17 May 2002 19:01:03 -0000 1.167
+++ include/opcode/ChangeLog 21 May 2002 23:32:57 -0000
@@ -1,3 +1,7 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
+
2002-05-17 Andrey Volkov <avolkov@sources.redhat.com>
* h8300.h: Corrected defs of all control regs
Index: include/opcode/mips.h
===================================================================
RCS file: /cvs/src/src/include/opcode/mips.h,v
retrieving revision 1.24
diff -u -p -r1.24 mips.h
--- include/opcode/mips.h 16 Mar 2002 03:09:18 -0000 1.24
+++ include/opcode/mips.h 21 May 2002 23:32:57 -0000
@@ -526,9 +526,13 @@ enum
M_REM_3I,
M_REMU_3,
M_REMU_3I,
+ M_DROL,
M_ROL,
+ M_DROL_I,
M_ROL_I,
+ M_DROR,
M_ROR,
+ M_DROR_I,
M_ROR_I,
M_S_DA,
M_S_DOB,
Index: opcodes/ChangeLog
===================================================================
RCS file: /cvs/src/src/opcodes/ChangeLog,v
retrieving revision 1.447
diff -u -p -r1.447 ChangeLog
--- opcodes/ChangeLog 17 May 2002 14:36:45 -0000 1.447
+++ opcodes/ChangeLog 21 May 2002 23:33:00 -0000
@@ -1,3 +1,7 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
+
Fri May 17 14:26:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
* disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
Index: opcodes/mips-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/mips-opc.c,v
retrieving revision 1.32
diff -u -p -r1.32 mips-opc.c
--- opcodes/mips-opc.c 17 Mar 2002 02:42:25 -0000 1.32
+++ opcodes/mips-opc.c 21 May 2002 23:33:00 -0000
@@ -492,6 +492,10 @@ const struct mips_opcode mips_builtin_op
{"dremu", "z,s,t", 0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO, I3 },
{"dremu", "d,v,t", 3, (int) M_DREMU_3, INSN_MACRO, I3 },
{"dremu", "d,v,I", 3, (int) M_DREMU_3I, INSN_MACRO, I3 },
+{"drol", "d,v,t", 0, (int) M_DROL, INSN_MACRO, I3 },
+{"drol", "d,v,I", 0, (int) M_DROL_I, INSN_MACRO, I3 },
+{"dror", "d,v,t", 0, (int) M_DROR, INSN_MACRO, I3 },
+{"dror", "d,v,I", 0, (int) M_DROR_I, INSN_MACRO, I3 },
{"dsllv", "d,t,s", 0x00000014, 0xfc0007ff, WR_d|RD_t|RD_s, I3 },
{"dsll32", "d,w,<", 0x0000003c, 0xffe0003f, WR_d|RD_t, I3 },
{"dsll", "d,w,s", 0x00000014, 0xfc0007ff, WR_d|RD_t|RD_s, I3 }, /* dsllv */
2002-05-21 23:54:48 +00:00
Alan Modra
eb268f46e3
Remove stale files.
2002-05-17 10:36:51 +00:00
Marek Michalkiewicz
bdfdba87d1
* config/tc-avr.c (mcu_types): Update for new devices.
2002-05-16 19:24:00 +00:00
Thiemo Seufer
3bec30a830
* config/tc-mips.c (macro): Warn about wrong la/dla use.
2002-05-14 23:35:59 +00:00
Thiemo Seufer
8586fc660d
* config/tc_mips.c (s_cpsetup): Fix completely bogus code which had
...
worked sometimes by accident. Fix copy&paste comment.
2002-05-14 23:29:23 +00:00
Thiemo Seufer
195325d290
* config/tc-mips.c (md_begin): Fix .reginfo and .MIPS.option section
...
alignment for NewABI. Let n32 use .reginfo. Remove useless casts.
(mips_elf_final_processing): Let n32 use .reginfo.
2002-05-14 23:27:35 +00:00
Thiemo Seufer
4db1a35d12
* config/tc-mips.c (append_insn): Fix too small range of variable.
2002-05-14 23:19:39 +00:00
Nick Clifton
7f367f0135
Remove redundant call to listing_prev_line
2002-05-14 20:40:30 +00:00
Nick Clifton
f5b4e9e449
Remove redundant call to listing_prev().
2002-05-13 11:33:07 +00:00
Nick Clifton
f8e42b8cb6
Fix formatting and compile tine warnings when compiling without BFD_ASSEMBLER
...
defined.
2002-05-11 12:08:26 +00:00
Nick Clifton
cce5a61824
Define md_pcrel_from for use with sh-hms target.
2002-05-11 11:31:17 +00:00
Kazu Hirata
5d6255fea6
* config/obj-coff.h: Fix formatting.
...
* config/tc-mcore.c: Likewise.
* config/tc-mn10300.c: Likewise.
* config/tc-openrisc.c: Likewise.
* config/tc-or32.c: Likewise.
* config/tc-pdp11.c: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-ppc.h: Likewise.
* config/tc-sh64.c: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-tic54x.c: Likewise.
* config/tc-xstormy16.c: Likewise.
* config/tc-xstormy16.h: Likewise.
2002-05-11 09:53:52 +00:00
Kazu Hirata
cc8a6dd09b
* config/obj-coff.c: Fix formatting.
...
* config/obj-elf.c: Likewise.
* config/tc-alpha.c: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-d10v.c: Likewise.
* config/tc-d30v.c: Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-hppa.c: Likewise.
2002-05-09 13:12:57 +00:00
Alan Modra
412167cbaa
* config/tc-i386.c (md_estimate_size_before_relax) Don't lose
...
reloc when no_cond_jump_promotion.
2002-05-09 06:35:22 +00:00
Jim Wilson
9197546776
Fix i960-elf abort in cvt_frag_to_fill while compiling libc/stdio/vfprintf.c.
...
* config/tc-i960.c (md_estimate_size_before_relax): Return size of
current variable part of frag.
2002-05-09 01:43:11 +00:00
Kazu Hirata
a1b6236b7d
* config/tc-mmix.c: Fix formatting.
...
* config/tc-mmix.h: Likewise.
2002-05-09 00:33:09 +00:00
Kazu Hirata
8a104df9d7
* config/tc-m68k.c: Fix formatting.
2002-05-08 01:54:04 +00:00
Kazu Hirata
40449e9f8b
* config/tc-ia64.c: Fix formatting.
...
* config/tc-ia64.h: Likewise.
2002-05-06 11:43:03 +00:00
Kazu Hirata
98d3f06fa0
* config/tc-mips.c: Fix formatting.
...
* config/tc-s390.c: Likewise.
* config/tc-s390.h: Likewise.
2002-05-04 17:38:00 +00:00
Alexandre Oliva
8f5b2891d8
* config/tc-s390.c (md_gather_operands): Emit dwarf2 line-number
...
information for instructions.
2002-05-03 18:25:08 +00:00
Alan Modra
1cfc59d51f
* config/tc-ppc.c (mapping): Map sectoff to BFD_RELOC_16_BASEREL.
...
(ppc_elf_validate_fix): Replace BFD_RELOC_32_BASEREL with
BFD_RELOC_16_BASEREL.
(md_assemble): Likewise.
(md_apply_fix3): Likewise.
2002-05-02 12:41:35 +00:00
Nick Clifton
358b94bdb1
Do not convert a subtract of zero into an add of zero.
2002-05-02 09:11:14 +00:00
Nick Clifton
d8731e7dad
Generate warning if the same destination register is used in parallel
...
instructions.
2002-05-01 09:54:31 +00:00
Alan Modra
200dbde8db
* config/tc-i386.c (extra_symbol_chars): Add '[' to the list.
2002-05-01 00:53:55 +00:00
Alan Modra
819e64205a
* config/tc-s390.c (md_parse_option): Formatting.
2002-04-28 12:34:02 +00:00
Alan Modra
0f3f3d8bfb
* config/tc-i386.c: Formatting fixes, add missing space in error
...
message.
2002-04-28 12:19:46 +00:00
Nick Clifton
3c25c5f6e8
The patch contains mostly fixes for the disassembler. It also fixes
...
a crash of the assembler with some malformed source input.
Long segmented addresses are now correctly relocated.
Finally it updates my email address in the MAINTAINERS file.
2002-04-25 10:59:24 +00:00
Chris Demetriou
af55c2e6c3
2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
...
* config/tc-mips.c (macro_build): Do _not_ allow MIPS-3D
instructions to be generated by macros.
2002-04-24 21:52:47 +00:00
Andreas Schwab
062cd5e7fc
* config/tc-i386.c (output_jump, output_disp)
...
(md_estimate_size_before_relax): Don't set fx_pcrel_adjust any
more.
(md_apply_fix3): Remember addend value for rela relocations.
(tc_gen_reloc): Correctly compute pc-relative relocation addend.
2002-04-24 14:56:07 +00:00
Chris Demetriou
2b2e39bfa5
2002-04-22 Chris Demetriou <cgd@broadcom.com>
...
* config/tc-mips.c (macro_build): Add close-parenthesis missing
from previous change.
(also, fix ChangeLog entry for previous patch.)
2002-04-22 21:50:44 +00:00
Eric Christopher
80cc45a581
2002-04-22 Eric Christopher <echristo@redhat.com>
...
* config/tc-mips.c: Add warning if macro instructions are expanded
into a branch delay slot.
2002-04-22 21:21:06 +00:00
Martin Schwidefsky
302576afe4
* config/tc-s390.c (tc_s390_fix_adjustable): Prevent adjustments to
...
symbols in merge sections.
2002-04-17 15:12:24 +00:00
Tom Rix
76b999d013
Prevent adjustments to symbols in merge sections.
2002-04-16 02:58:11 +00:00
Richard Sandiford
3a18fa4f57
Fix thinko in last commit.
2002-04-11 11:21:01 +00:00
Richard Sandiford
580a832ee0
* doc/invoke.texi (TC_LARGEST_EXPONENT_IS_NORMAL): Document.
...
* config/atof-ieee.c (TC_LARGEST_EXPONENT_IS_NORMAL): Add an
argument for the precision.
(gen_to_words): Update accordingly.
2002-04-11 11:11:35 +00:00
Alan Modra
edde18a577
* as.c (parse_args <OPTION_VERSION>): Use VERSION is
...
BFD_VERSION_STRING unavailable.
* config/tc-i386.c (INLINE): Define (for non-BFD assembler).
2002-04-10 13:00:02 +00:00
Joern Rennecke
5bcd00a60a
* config/tc-sh.h (TC_FIX_ADJUSTABLE): Disable adjusting if
...
symbol_used_in_reloc_p is true.
2002-04-09 16:48:03 +00:00
Joern Rennecke
2ed5f585e4
* config/tc-sh.c (md_apply_fix3): Don't zero relocations on big
...
endian hosts.
2002-04-09 15:26:59 +00:00
Thiemo Seufer
874e898605
* config/tc-mips.c (mips16_macro_build): Cast type mismatch.
...
(mips_ip): Remove unused variable.
(md_apply_fix3): Cast signed/unsignes mismatches. Replace
unsigned char with bfd_byte.
(s_file): Remove unused variable.
(s_mips_ent): Likewise.
2002-04-04 07:43:11 +00:00
Tom Rix
fbdbf47268
Various fixes and improvements for d10v.
2002-04-03 19:44:05 +00:00
Richard Henderson
5f44c186d7
* config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc
...
in 32-bit mode.
2002-04-02 00:32:41 +00:00
Andreas Schwab
3458b54ce7
* config/tc-i386.c (output_jump): Set fx_pcrel_adjust to size of
...
field for pc-relative fixups.
(output_disp): Likewise.
(md_estimate_size_before_relax): Likewise.
(tc_gen_reloc): Subtract fx_pcrel_adjust instead of fx_size for
pc-relative fixups in 64bit mode.
2002-03-27 16:22:04 +00:00
Alan Modra
815b453c05
* config/te-aix5.h: Typo fix.
2002-03-22 02:07:36 +00:00
Nick Clifton
f201ccb3e5
Fix typo
2002-03-21 09:13:34 +00:00
Alexandre Oliva
177b4a6ad0
* config/tc-mips.c (md_estimate_size_before_relax): Do not modify
...
the EXTENDED bit here; report the estimate according to the
current size.
2002-03-18 18:56:18 +00:00
Nick Clifton
eb1e0e807a
Add AIX 64 shared library support and emulation layer for binutils
2002-03-18 12:46:27 +00:00
Chris Demetriou
1f25f5d300
[ gas/ChangeLog ]
...
2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
* config/tc-mips.c (mips_set_options): New "ase_mips3d" member.
(mips_opts): Initialize "ase_mips3d" member.
(file_ase_mips3d): New variable.
(CPU_HAS_MIPS3D): New macro.
(md_begin): Initialize mips_opts.ase_mips3d and file_ase_mips3d
based on command line options and configuration defaults.
(macro_build, mips_ip): Accept MIPS-3D instructions if
mips_opts.ase_mips3d is set.
(OPTION_MIPS3D, OPTION_NO_MIPS3D, md_longopts, md_parse_option):
Add support for "-mips3d" and "-no-mips3d" options.
(OPTION_ELF_BASE): Move to accomodate new options.
(s_mipsset): Support ".set mips3d" and ".set nomips3d".
(mips_elf_final_processing): Add a comment indicating that a
MIPS-3D ASE ELF header flag should be set, when one exists.
* doc/as.texinfo: Document -mips3d and -no-mips3d options.
* doc/c-mips.texi: Likewise, and document ".set mips3d" and ".set
nomips3d" directives.
[ gas/testsuite/ChangeLog ]
2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
* gas/mips/mips64-mips3d.s: New file.
* gas/mips/mips64-mips3d.d: Likewise.
* gas/mips/mips.exp: Run new "mips64-mips3d" test.
[ include/opcode/ChangeLog ]
2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
* mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
instructions.
(OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
may be passed along with the ISA bitmask.
[ opcodes/ChangeLog ]
2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
* mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64. Add
comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
indicate that they should dissassemble all applicable
MIPS-specified ASEs.
* mips-opc.c: Add support for MIPS-3D instructions.
(M3D): New definition.
* mips-opc.c: Update copyright years.
2002-03-16 03:09:19 +00:00
Hans-Peter Nilsson
2be11e7ecc
* config/tc-mmix.c (md_estimate_size_before_relax): Don't consider
...
a weak symbol in same section to be within reach.
2002-03-14 10:02:42 +00:00
Andreas Schwab
1e16b528eb
* config/tc-ia64.c (fixup_unw_records): Clear region when seeing a
...
body record so that an error is given for misplaced .save
pseudo-ops.
2002-03-12 09:30:42 +00:00
Alan Modra
29b0f896b1
* config/tc-i386.h (REX_OPCODE): Define.
...
(REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): Define.
(rex_byte): typedef to int.
* config/tc-i386.c: Group prototypes and vars together.
Formatting fixes. Remove occurrences of "register" keyword.
(true): Delete.
(false): Delete.
(mode_from_disp_size): Add INLINE keyword to prototype.
(fits_in_signed_byte): Likewise.
(fits_in_unsigned_byte): Likewise.
(fits_in_unsigned_word): Likewise.
(fits_in_signed_word): Likewise.
(fits_in_unsigned_long): Likewise.
(fits_in_signed_long): Likewise.
(type_names): Constify.
(intel_float_operand): Constify param.
(add_prefix): Use REX_OPCODE.
(md_assemble): Likewise. Modify for changed rex_byte.
(parse_insn): Split out of md_assemble.
(parse_operands): Likewise.
(swap_operands): Likewise.
(optimize_imm): Likewise.
(optimize_disp): Likewise.
(match_template): Likewise.
(check_string): Likewise.
(process_suffix): Likewise.
(check_byte_reg): Likewise.
(check_long_reg): Likewise.
(check_qword_reg): Likewise.
(check_word_reg): Likewise.
(finalize_imm): Likewise.
(process_operands): Likewise.
(build_modrm_byte): Likewise.
(output_insn): Likewise.
(output_branch): Likewise.
(output_jump): Likewise.
(output_interseg_jump): Likewise.
(output_disp): Likewise.
(output_imm): Likewise.
2002-03-09 05:36:51 +00:00
Alan Modra
937149dd3c
* config/tc-i386.c (tc_gen_reloc): Don't attempt to handle 8 byte
...
relocs except when BFD64.
* write.c (number_to_chars_bigendian): Don't abort when N is
larger than sizeof (VAL).
(number_to_chars_littleendian): Likewise.
2002-03-06 04:59:36 +00:00
Jeff Law
40d74fb122
2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
...
* config/tc-hppa.c (md_apply_fix3): Add cast.
(hppa_fix_adjustable): Adjust list of selectors using e_lrsel and
e_rrsel.
2002-03-05 17:57:17 +00:00
Alan Modra
cd3cde8631
* tc-pdp11.c: Use VAX float format support for PDP-11 target.
...
(parse_ac5): New function for parsing float regs in float operand.
(parse_expression): Remove attempt to make literals be octal.
(parse_op_no_deferred): Support float literals.
(parse_op): Reject attempts to refer to float regs.
(parse_fop): New function, like parse_op but for float operand.
(md_assemble): Add cases to parse float operands. Also fix
IMM3, IMM6, IMM8 cases to pick up the operand from the right spot.
2002-03-05 03:10:34 +00:00
H.J. Lu
e9682144c1
2002-03-04 H.J. Lu <hjl@gnu.org>
...
* config/obj-elf.c (special_section): Add .init_array,
.fini_array and .preinit_array.
* config/tc-ia64.h (ELF_TC_SPECIAL_SECTIONS): Remove
.init_array and .fini_array.
2002-03-04 20:40:48 +00:00
Jakub Jelinek
26eb409359
* config/obj-elf.c (elf_copy_symbol_attributes): Don't copy
...
visibility.
(obj_frob_symbol): Copy visibility.
2002-03-01 18:36:08 +00:00
Jakub Jelinek
559e22f3dd
* config/tc-alpha.c (s_alpha_text): Use obj_elf_text for OBJ_ELF, not
...
s_text.
(s_alpha_data): Use obj_elf_data for OBJ_ELF, not s_data.
2002-02-27 23:48:06 +00:00
Chris Demetriou
b25a253ca8
2002-02-26 Chris Demetriou <cgd@broadcom.com>
...
* config/tc-mips.c (mips_need_elf_addend_fixup): For embedded-PIC
only, undo the changes made on 2001-06-08, with the
effect being that common or extern symbols are
adjusted for embedded-PIC, but weak symbols are not.
(md_estimate_size_before_relax: Likewise, with the effect
that extern symbols are treated the same as weak symbols
only if not embedded-PIC.
(mips_fix_adjustable) Likewise, with the effect that
weak or extern symbols are not adjusted for embedded-PIC.
(md_apply_fix3): Tweak so that the case where value is zero
is handled more correctly for embedded-PIC code.
2002-02-26 22:18:51 +00:00
Thiemo Seufer
4d34fb5fed
* config/tc-mips.c (set_at): Fix handling of 64bit register loads.
...
(macro): Likewise. Fix la/dla address expansions for EMBEDDED_PIC
and NO_PIC cases. Code cleanup.
(macro2): Fix handling of 64bit register loads.
* mips-gp64-fp32-pic.d: Fix test of 64bit register loads.
* mips-gp64-fp32-pic.s: Likewise.
* mips-gp64-fp32.d: Likewise.
* mips-gp64-fp32.s: Likewise.
* mips-gp64-fp64-pic.d: Likewise.
* mips-gp64-fp64-pic.s: Likewise.
* mips-gp64-fp64.d: Likewise.
* mips-gp64-fp64.s: Likewise.
2002-02-25 13:21:38 +00:00
Alan Modra
c7d004c5d3
* config/tc-hppa.c: Update copyright date.
2002-02-25 05:10:11 +00:00
Alan Modra
23e1d84c9a
* doc/c-ppc.texi (PowerPC-Opts): Add -mpower4 and -maltivec.
...
Remove references to chip manufacturers.
* config/tc-ppc.c (md_parse_option): Handle -mpower4 option.
Correct comments.
(md_show_usage): Remove references to chip manufacturers. Mention
-mpower4.
(md_begin): Test power4 opcode flag bits.
2002-02-25 03:44:56 +00:00
Nick Clifton
6290819df6
Keep track of prologue counts across .label_state/.copy_state directives
2002-02-22 11:56:21 +00:00
Nick Clifton
f1e7a2c900
Add missing protoypes.
...
Remove ANSI style function declarations
2002-02-22 10:49:38 +00:00
Tom Tromey
f88fd9fe74
* config/tc-xstormy16.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
2002-02-20 02:57:45 +00:00
Thiemo Seufer
da0e507f3d
* config/tc-mips.c (md_parse_option): Complain about invalid -mabi
...
option input.
2002-02-19 22:59:30 +00:00
Martin Schwidefsky
ff0fb56520
2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
...
* config/tc-s390.c (md_parse_option): Add switches -m31 and -m64.
Make bit size independent of architecture switch.
(md_begin): Add warning for -m64 with -Aesa.
(s390_md_end): Use renamed architecture defines.
2002-02-19 18:50:35 +00:00
Daniel Jacobowitz
a245a9aa26
2002-02-18 Daniel Jacobowitz <drow@mvista.com>
...
* config/obj-coff.h: Check !target_big_endian, not shl, for coff-sh.
2002-02-18 23:57:10 +00:00
Chris Demetriou
9151e8bfc2
2002-02-15 Chris Demetriou <cgd@broadcom.com>
...
* config/tc-mips.c (md_estimate_size_before_relax): Really
make sure we treat weak like extern only for ELF. (Fixes
patch from 2001-07-25.)
2002-02-15 23:00:34 +00:00
Chris Demetriou
2d2bf3e0e3
2002-02-13 Chris Demetriou <cgd@broadcom.com>
...
* config/tc-mips.c (mips_need_elf_addend_fixup): Restructure into
a sequence of indpendent 'if' statements for easier debugging
and future modification.
2002-02-14 07:29:22 +00:00
Jason Thorpe
76f57f3aaa
bfd:
...
2002-02-13 Matt Fredette <fredette@netbsd.org>
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
EF_M68000.
bintuls:
2002-02-13 Matt Fredette <fredette@netbsd.org>
* readelf.c (get_machine_flags): Recognize EF_M68000.
gas:
2002-02-13 Matt Fredette <fredette@netbsd.org>
* config/tc-m68k.c (md_show_usage): No longer display a
hard-coded "68020" for the default CPU, instead display the
canonical name of the true, configured default CPU.
(m68k_elf_final_processing): Mark objects for sub-68020
CPUs with the new EF_M68000 flag.
include/elf:
2002-02-13 Matt Fredette <fredette@netbsd.org>
* m68k.h (EF_M68000): Define.
2002-02-13 18:14:48 +00:00
Andreas Schwab
5db1645b7e
Update copyright.
2002-02-13 11:19:07 +00:00
Andreas Schwab
3bf057fadc
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
...
pc-relative relocations to merge sections in 64-bit mode.
2002-02-13 11:17:48 +00:00
Alan Modra
3dcfe21d78
* config/tc-hppa.c (hppa_fix_adjustable): Don't adjust final types
...
that implicitly use LR and RR selectors.
2002-02-12 11:08:54 +00:00
Alexandre Oliva
913572ec08
* config/tc-mn10300.c (other_registers): Added epsw'. Mark
pc'
...
and `epsw' as available on AM33 and above only.
(other_register_name): Add logic to handle machine type encoded in
reg_number.
2002-02-12 07:41:35 +00:00
Tom Rix
9b90b531ee
Fix minimal-toc with -maix64
2002-02-12 03:59:33 +00:00
Alexandre Oliva
6c1b24e42f
* config/tc-sparc.c (U0x80000000, U0xffffffff): New constants.
...
Use all over.
2002-02-11 13:24:06 +00:00