Nick Clifton [Mon, 6 Oct 2003 11:07:08 +0000 (11:07 +0000)]
lexsup.c (parse_args): Report unresolved symbols in shared libraries when
creating a dynamic executable. This is a restoration of the default behaviour
for previous versions of the linker.
Mark Kettenis [Sun, 5 Oct 2003 22:13:24 +0000 (22:13 +0000)]
* x86-64-tdep.c (x86_64_store_return_value): Don't use
DEPRECATED_REGISTER_RAW_SIZE. Use symbolic names for register
names for return values. This fixes a bug since we looked at %rbx
instead of %rdx.
* gas/z8k/calr-backf.s: New file.
* gas/z8k/calr-forwf.s: New file.
* gas/z8k/calr.d: New file.
* gas/z8k/calr.s: New file.
* gas/z8k/djnz-backf.s: New file.
* gas/z8k/djnz-backf2.s: New file.
* gas/z8k/djnz.d: New file.
* gas/z8k/djnz.s: New file.
* gas/z8k/jr-back.d: New file.
* gas/z8k/jr-forw.d: New file.
* gas/z8k/jr-back.s: Fix displacement length. Add some more jumps
for jr-back.d.
* gas/z8k/jr-backf.s: Fix displacement length.
* gas/z8k/jr-forw.s: Fix displacement length. Add some more jumps
for jr-forw.d.
* gas/z8k/jr-forwf.s: Fix displacement length.
* gas/z8k/z8k.exp: Run new tests.
* tc-z8k.c (newfix): Tell fix_new_exp about pc relativeness.
(md_apply_fix3): Fix R_JR, R_DISP7, and R_CALLR cases.
(md_pcrel_from): This function now gets called. Supply return
value.
* rs6000-tdep.c (rs6000_gdbarch_init): When the 64 bit SysV ABI,
set extract_return_value, store_return_value and
use_struct_convention to ppc64_sysv_abi_extract_return_value,
ppc64_sysv_abi_store_return_value and
ppc64_sysv_abi_use_struct_convention.
* ppc-tdep.h (ppc64_sysv_abi_extract_return_value): Declare.
(ppc64_sysv_abi_store_return_value): Declare.
(ppc64_sysv_abi_use_struct_convention): Declare.
* ppc-sysv-tdep.c (enum return_value_convention): Define.
(ppc64_sysv_abi_extract_return_value): New function.
(ppc64_sysv_abi_store_return_value): New function.
(ppc64_sysv_abi_use_struct_convention): New function.
(ppc64_sysv_abi_return_value): New function.
* dwarf2-frame.c (struct comp_unit): Add tbase member to store
base for DW_EH_PE_textrel encodings.
(read_encoded_value): Add a DW_EH_PE_textrel case.
(dwarf2_build_frame_info): Set unit.tbase to beginning of text
section.
* sh-tdep.c (sh_justify_value_in_reg): New function.
(sh_stack_allocsize): Ditto.
(flt_argreg_array): New array used for floating point argument
passing.
(sh_init_flt_argreg): New function.
(sh_next_flt_argreg): Ditto.
(sh_push_dummy_call_fpu): Simplify. Rename "odd_sized_struct" to
"pass_on_stack". Use new helper functions. Accomodate Renesas ABI.
Fix argument passing strategy.
(sh_push_dummy_call_nofpu): Ditto.
* gas/mips/ldstla-32-shared.d: New file.
* gas/mips/ldstla-32.d: New file.
* gas/mips/ldstla-32.s: New file.
* gas/mips/ldstla-n32-shared.d: New file.
* gas/mips/ldstla-n32.d: New file.
* gas/mips/ldstla-n32.s: New file.
* gas/mips/ldstla-n64-shared.d: New file.
* gas/mips/ldstla-n64.d: New file.
* gas/mips/ldstla-n64.s: New file.
* gas/mips/mips.exp: Add ld-st-la tests.
* dwarf2read.c (struct die_info): Add 'parent' field; replace
'has_children' and 'next' by 'child' and 'sibling'.
(read_comp_unit): Rework algorithm, breaking body into
read_die_and_children and read_die_and_siblings.
(read_die_and_children, read_die_and_siblings): New.
(read_full_die): Add 'has_children' argument; set it instead of
the die's 'has_children' field. Minor formatting cleanup.
(free_die_list): Use die->child and die->sibling instead of
die->next.
(dump_die_list): Ditto.
(sibling_die): Use die->sibling.
(psymtab_to_symtab_1): Use die's 'child' field in place of its
'has_children' and 'next' fields.
(process_die, read_file_scope, read_func_scope)
(read_lexical_block_scope, read_structure_scope)
(read_enumeration, read_array_type, read_common_block)
(read_namespace, read_subroutine_type, dump_die): Ditto.
* config/tc-mips.c (mips_ip): Capitalize first word of
existing condition code warning, and add condition code
warnings for .ps instructions, and for bc1any[24][tf].
[ gas/testsuite/ChangeLog ]
2003-09-30 Chris Demetriou <[email protected]>
* lib/gas-defs.exp (run_dump_test): If stderr file is specified
and there was no stderr output, compare anyway (i.e., cause a
test failure).
* gas/mips/mips64-mips3d.s: Add some new instructions to test warnings.
* gas/mips/mips64-mips3d.l: New file.
* gas/mips/mips64-mips3d.d: Use mips64-mips3d.l, and update for
changes to mips64-mips3d.s.
* gas/mips/mips64-mips3d-incl.d: Likewise.
* gas/mips/set-arch.l: New file.
* gas/mips/set-arch.d: Specify set-arch.l as stderr output to check.
* gas/mips/mips5.l: Make error messages match source.
* configure.in (mipsisa64r2, mipsisa64r2el, mipsisa64r2*): New CPUs.
* configure: Regenerate.
* config/tc-mips.c (imm2_expr): New variable.
(md_assemble, mips16_ip): Initialize imm2_expr.
(ISA_HAS_64BIT_REGS, ISA_HAS_DROR, ISA_HAS_ROR): Add ISA_MIPS64R2.
(macro_build): Handle +A, +B, +C, +E, +F, +G, and +H format operands.
(macro): Handle M_DEXT and M_DINS.
(validate_mips_insn): Handle +E, +F, +G, +H, and +I format operands.
(mips_ip): Likewise.
(OPTION_MIPS64R2): New define.
(md_longopts): New entry for -mips64r2 (OPTION_MIPS64R2).
OPTION_ASE_BASE): Increase to compensate for OPTION_MIPS64R2.
(md_parse_option): Handle OPTION_MIPS64R2.
(s_mipsset): Handle setting "mips64r2" ISA.
(mips_cpu_info_table): Add mips64r2.
(md_show_usage): Document -mips64r2 option.
* doc/as.texinfo: Docuemnt -mips64r2 option.
* doc/c-mips.texi: Likewise.
[ gas/testsuite/ChangeLog ]
2003-09-30 Chris Demetriou <[email protected]>
* gas/mips/cp0-names-mips64r2.d: New file.
* gas/mips/cp0sel-names-mips64r2.d: New file.
* gas/mips/elf_arch_mips64r2.d: New file.
* gas/mips/hwr-names-mips64r2.d: New file.
* gas/mips/mips32r2-ill-fp64.l: New file.
* gas/mips/mips32r2-ill-fp64.s: New file.
* gas/mips/mips64r2-ill.l: New file.
* gas/mips/mips64r2-ill.s: New file.
* gas/mips/mips64r2.d: New file.
* gas/mips/mips64r2.s: New file.
* gas/mips/mips.exp: Define "mips64r2" arch, and run new tests.
[ include/elf/ChangeLog ]
2003-09-30 Chris Demetriou <[email protected]>
* mips.h (E_MIPS_ARCH_64R2): New define.
[ include/opcode/ChangeLog ]
2003-09-30 Chris Demetriou <[email protected]>
* mips.h: Document +E, +F, +G, +H, and +I operand types.
Update documentation of I, +B and +C operand types.
(INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
(M_DEXT, M_DINS): New enum values.
[ ld/testsuite/ChangeLog ]
2003-09-30 Chris Demetriou <[email protected]>
* ld-mips-elf/mips-elf-flags.exp: Add tests for combinations
with MIPS64r2.
[ opcodes/ChangeLog ]
2003-09-30 Chris Demetriou <[email protected]>
* mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
(print_insn_args): Add handing for +E, +F, +G, and +H.
* mips-opc.c (I65): New define for MIPS64r2.
(mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
"dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
and "dshd" for MIPS64r2. Adjust "dror", "dror32", and "drorv" to
be supported on MIPS64r2.
* arm-tdep.c (arm_make_prologue_cache): Use trad_frame_addr_p to
test if the register has been saved on the stack.
(arm_scan_prologue_cache): When analysing the instruction
"str lr, [sp, #-4]", save the address where lr has been stored.
Mark Kettenis [Sat, 27 Sep 2003 21:57:56 +0000 (21:57 +0000)]
* i386-tdep.h: Put opaque declarations in alphabetical
order. Remove spurious whitespace.
(struct gdbarch_tdep): add st0_regnum and mm0_regnum members.
(i386_sse_regnum_p, i386_mxcsr_regnum_p): Remove prototypes.
* i386-tdep.c (MM0_REGNUM): Remove define.
(i386_mmx_regnum_p): Add gdbarch argument.
(i386_sse_regnum_p, i386_mxcsr_regnum_p): Add gdbarch argument.
Rewrite using new macro definitions for FPU/SSE registers.
(i386_fp_regnum_p, i386_fpc_regnum_p): Rewrite using new macro
definitions from i387-tdep.h.
(i386_register_name): Update.
(i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): Update to use
new macro definitions for FPU/SSE registers.
(i386_extract_return_value): Determine whether floating-point
registers are present by examining REGCACHE's architecture.
(i386_store_return_value): Likewise. Use I386_MAX_REGISTER_SIZE
instead of FPU_REG_RAW_SIZE. Use new macro definitions for
FPU/SSE registers.
(i386_register_type): Update.
(i386_mmx_regnum_to_fp_regnum): Rewrite using new macro
definitions for FPU registers. Use REGCACHE's architecture to
determine the appropriate register numbers.
(i386_pseudo_register_read, i386_pseudo_register_write,
i386_register_reggroup_p): Update.
(i386_gdbarch_init): Initialize TDEP->st0_regnum and
TDEP->mm0_regnum.
* i387-tdep.h (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM,
I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM,
I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM,
I387_XMM0_REGNUM, I387_MXCSR_REGNUM): New defines.
(i387_supply_fsave, i387_fill_fsave, i387_supply_fxsave,
i387_fill_fxsave): Change type of fsave/fxsave argument from `char
*' to `void *'.
* i387-tdep.c (i387_print_float_info, fsave_offset, FSAVE_ADDR,
i387_supply_fsave, i387_fill_fsave, fxsave_offset, FXSAVE_ADDR,
i387_supply_fxsave, i387_fill_fxsave): Update to use new macro
definitions for FPU/SSE registers.
(FXSAVE_MXCSR_ADDR): New define.
* x86-64-tdep.c (x86_64_init_abi): Override TDEP->st0_regnum and
TDEP->mm0_regnum.
(I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Remove defines.
(I387_ST0_REGNUM): Define.