* mips-tdep.c (mips_fetch_instruction, mips16_fetch_instruction)
(mips_mdebug_frame_cache, mips16_scan_prologue)
(mips32_scan_prologue, mips_stub_frame_cache)
(heuristic_proc_start, heuristic_proc_desc)
(mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
(mips_n32n64_return_value, mips_o32_push_dummy_call)
(mips_o32_return_value, mips_o64_push_dummy_call)
(mips_step_skips_delay, mips_skip_trampoline_code)
(mips_gdbarch_init): Use MIPS_A0_REGNUM instead of A0_REGNUM,
MIPS_RA_REGNUM instead of RA_REGNUM, MIPS_T9_REGNUM instead of
T9_REGNUM, MIPS_V0_REGNUM instead of V0_REGNUM, MIPS_ZERO_REGNUM
instead of ZERO_REGNUM, MIPS32_SIZE_INSN instead of MIPS_INSTLEN
and MIPS16_INSN_SIZE instead of MIPS16_INSTLEN.
(mips_dump_tdep): Don't print A0_REGNUM, RA_REGNUM,
T9_REGNUM, V0_REGNUM, ZERO_REGNUM, MIPS_INSTLEN and
MIPS16_INSTLEN. Use MIPS_A0_REGNUM instead of A0_REGNUM.
* mips-linux-tdep.c (mips_linux_o32_sigframe_init)
(mips_linux_n32n64_sigframe_init): Use MIPS_ZERO_REGNUM instead of
ZERO_REGNUM.
* mipsnbsd-tdep.c (mipsnbsd_cannot_fetch_register)
(mipsnbsd_cannot_store_register): Use MIPS_ZERO_REGNUM instead of
ZERO_REGNUM.
(mipsnbsd_get_longjmp_target): Use MIPS_A0_REGNUM instead of
A0_REGNUM.
* mipsnbsd-nat.c: Include "mips-tdep.h".
(getregs_supplies): Use MIPS_ZERO_REGNUM instead of ZERO_REGNUM.
* Makefile.in (mipsnbsd-nat.o): Update dependencies.
Mark Kettenis [Sat, 30 Oct 2004 14:31:19 +0000 (14:31 +0000)]
* mips-tdep.c (mips_fetch_instruction, mips16_fetch_instruction)
(mips_mdebug_frame_cache, mips16_scan_prologue)
(mips32_scan_prologue, mips_stub_frame_cache)
(heuristic_proc_start, heuristic_proc_desc)
(mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
(mips_n32n64_return_value, mips_o32_push_dummy_call)
(mips_o32_return_value, mips_o64_push_dummy_call)
(mips_step_skips_delay, mips_skip_trampoline_code)
(mips_gdbarch_init): Use MIPS_A0_REGNUM instead of A0_REGNUM,
MIPS_RA_REGNUM instead of RA_REGNUM, MIPS_T9_REGNUM instead of
T9_REGNUM, MIPS_V0_REGNUM instead of V0_REGNUM, MIPS_ZERO_REGNUM
instead of ZERO_REGNUM, MIPS32_SIZE_INSN instead of MIPS_INSTLEN
and MIPS16_INSN_SIZE instead of MIPS16_INSTLEN.
(mips_dump_tdep): Don't print A0_REGNUM, RA_REGNUM,
T9_REGNUM, V0_REGNUM, ZERO_REGNUM, MIPS_INSTLEN and
MIPS16_INSTLEN. Use MIPS_A0_REGNUM instead of A0_REGNUM.
* mips-linux-tdep.c (mips_linux_o32_sigframe_init)
(mips_linux_n32n64_sigframe_init): Use MIPS_ZERO_REGNUM instead of
ZERO_REGNUM.
* mipsnbsd-tdep.c (mipsnbsd_cannot_fetch_register)
(mipsnbsd_cannot_store_register): Use MIPS_ZERO_REGNUM instead of
ZERO_REGNUM.
(mipsnbsd_get_longjmp_target): Use MIPS_A0_REGNUM instead of
A0_REGNUM.
* mipsnbsd-nat.c: Include "mips-tdep.h".
(getregs_supplies): Use MIPS_ZERO_REGNUM instead of ZERO_REGNUM.
* Makefile.in (mipsnbsd-nat.o): Update dependencies.
Joel Brobecker [Fri, 29 Oct 2004 21:35:20 +0000 (21:35 +0000)]
* gdb.threads/bp_in_thread.c: New file, copied from
pthread_cond_wait.c.
* gdb.threads/bp_in_thread.c: Use bp_in_thread.c as the source
file, rather than reusing the .c file from another testcase.
Mark Kettenis [Thu, 28 Oct 2004 11:45:43 +0000 (11:45 +0000)]
* proc-events.c: Fix several coding-style issues. Consistently
use #ifdef instead of #if defined().
(proc_prettyfprint_fault, proc_prettyfprint_faultset): Use
ARRAY_SIZE.
(_initialize_proc_events): New prototype.
Nick Clifton [Thu, 28 Oct 2004 09:53:44 +0000 (09:53 +0000)]
iq2000_elf_relocate_section): Do nothing when perfoming a relocatable link.
(iq2000_elf_object_p): Do not set elf_bad_symtab. This is only for MIPS ports
under Irix.
Committed by Andrew Cagney.
* traps-linux.c: Don't include linux/module.h.
(m32r_trap): Remove dummy systemcall's entry of __NR_ustat and
__NR_get_kernel_syms.
* config/tc-crx.c: Remove global variable 'post_inc_mode'.
(get_flags): New function.
(get_number_of_bits): Edit comments, update numeric values to supported sizes.
(process_label_constant): Don't support the colon format (SYMBOL:[s|m|l]).
(set_cons_rparams): Support argument type 'arg_rbase'.
(get_operandtype): Bug fix in 'rbase' operand type parsing.
(handle_LoadStor): Bug fix, first handle post-increment mode.
(getreg_image): Remove redundant code, update according to latest CRX spec.
(print_constant): Bug fix relate to 3-word instructions.
(assemble_insn): Bug fix, when matching instructions, verify also instruction type (not only mnemonic).
Add various error checking.
(preprocess_reglist): Support HI/LO and user registers.
Tomer Levi [Wed, 27 Oct 2004 10:28:22 +0000 (10:28 +0000)]
* config/tc-crx.c: Remove global variable 'post_inc_mode'.
(get_flags): New function.
(get_number_of_bits): Edit comments, update numeric values to supported sizes.
(process_label_constant): Don't support the colon format (SYMBOL:[s|m|l]).
(set_cons_rparams): Support argument type 'arg_rbase'.
(get_operandtype): Bug fix in 'rbase' operand type parsing.
(handle_LoadStor): Bug fix, first handle post-increment mode.
(getreg_image): Remove redundant code, update according to latest CRX spec.
(print_constant): Bug fix relate to 3-word instructions.
(assemble_insn): Bug fix, when matching instructions, verify also instruction type (not only mnemonic).
Add various error checking.
(preprocess_reglist): Support HI/LO and user registers.
* crx-dis.c (enum REG_ARG_TYPE): New, replacing COP_ARG_TYPE.
(getregliststring): Support HI/LO and user registers.
* crx-opc.c (crx_instruction): Update data structure according to the rearrangement done in CRX opcode header file.
(crx_regtab): Likewise.
(crx_optab): Likewise.
(crx_instruction): Reorder load/stor instructions, remove unsupported formats.
support new Co-Processor instruction 'cpi'.
Tomer Levi [Wed, 27 Oct 2004 10:24:39 +0000 (10:24 +0000)]
* crx-opc.c (crx_instruction): Update data structure according to the rearrangement done in CRX opcode header file.
(crx_regtab): Likewise.
(crx_optab): Likewise.
(crx_instruction): Reorder load/stor instructions, remove unsupported formats.
support new Co-Processor instruction 'cpi'.
* configure.in (case ${target}): Do not build fixincludes
on platforms where it is not used.
* configure: Regenerated.
----------------------------------------------------------------------
Mark Kettenis [Tue, 26 Oct 2004 19:40:39 +0000 (19:40 +0000)]
* mips-tdep.h: Add MIPS_ZERO_REGNUM, MIPS_AT_REGNUM,
MIPS_V0_REGNUM. MIPS_A0_REGNUM, MIPS_T9_REGNUM and MIPS_RA_REGNUM
to enum with register numbers.
(enum mips_insn_size): New enum.
Mark Mitchell [Tue, 26 Oct 2004 18:41:52 +0000 (18:41 +0000)]
* Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.
* ldexp.h (segment_type): New type.
(segments): New variable.
* ldexp.c (segments): New variable.
(exp_print_token): Handle SEGMENT_START.
(fold_binary): Likewise.
* ldgram.y (SEGMENT_START): Declare it as a token.
(exp): Handle SEGMENT_START.
* ldlang.h (lang_address_statement_type): Add segment field.
(lang_section_start): Change prototype.
* ldlang.c (map_input_to_output_sections): Do not process section
assignments if a corresponding SEGMENT_START has already been
seen.
(lang_section_start): Add segment parameter.
* ldlex.l (SEGMENT_START): Add it.
* lexsup.c (seg_segment_start): New function.
(parse_args): Use it for -Tbss, -Tdata, and -Ttext.
* ld.texinfo (SEGMENT_START): Document it.
* emulparams/armsymbian.sh (EMBEDDED): Set it.
* scripttempl/armbpabi.sc: Use SEGMENT_START to control segment
base addresses. Do not map relocations.
* NEWS: Mention SEGMENT_START.
PR 474
* config/tc-ia64.c (emit_one_bundle): Decrement md.num_slots_in_use
after reporting template error during manual bundling. Reported
by Michael Dupont, [email protected].
Ian Lance Taylor [Mon, 25 Oct 2004 15:25:20 +0000 (15:25 +0000)]
* stabs.c (stab_demangle_v3_arglist): New static function, broken
out of stab_demangle_v3_argtypes.
(stab_demangle_v3_argtypes): Call it.
(stab_demangle_v3_arg): Handle DEMANGLE_COMPONENT_FUNCTION_TYPE.
If we find an unrecognized component, print out its number.
Nick Clifton [Mon, 25 Oct 2004 09:59:01 +0000 (09:59 +0000)]
PR 465
* readelf.c (dynamic_strings_length): New global variable.
(VALID_DYNAMIC_NAME, GET_DYNAMIC_NAME): New macros for accessing
strings in the dynamic string table.
(process_section_headers): Initialise dynamic_strings_length.
(process_dynamic_section): Likewise.
(process_object): Reset dynamic_string_length when the buffer is freed.
(dynamic_sections_mips_val): Use the new macros.
(process_dynamic_section): Likewise.
(process_version_sections): Likewise.
(process_symbol_table): Likewise.
(process_syminfo): Likewise.
(process_mips_specific): Likewise.
(dump_relocations): Add a new parameter 'strtablen' and use this to verify that
string offset in a given reloc is valid. Print a suitable error message
otherwise.
(process_relocs): Pass the new argument to dump_relocations.
* mmo.c (mmo_write_section_description): New function broken out
of mmo_internal_write_section.
(mmo_internal_write_section): For each of .text and .data, call
mmo_write_section_description before outputting contents if it has
nontrivially deducible vma or contents.
(mmo_has_leading_or_trailing_zero_tetra_p): New function.
(mmo_canonicalize_symtab): Adjust absolute symbols to .data
symbols if found within the .data address range.
* ld-mmix/sec-8m.d: Adjust test for dump using correct section
length.
* ld-mmix/sec-9.d: Renamed test, formerly known as sec-5.d.
* ld-mmix/sec-5.d, ld-mmix/b-offloc.s: Rewritten test.
* dlltool.c: Include <assert.h>.
(PREFIX_ALIAS_BASE): Define.
(struct export): Add member import_name;
(def_exports): Set import_name.
(make_one_lib_file): Remove prefix alias code, use import_name in .idata$6.
(gen_lib_file): Create and delete aliases.
* binutils-all/alias.def: New file.
* binutils-all/dlltool.exp: Two new -p tests.
* config/default.exp (dlltool_gas_flag): New variable.
Copy gas and lds executables into tmpdir/gas directory rather than making
symlinks which might not be supported by the host OS.
Attempt to handle the case where the host OS does not use the .exe extension
but the target OS does.
* lib/utils-lib.exp (exe_ext): New procedure.
Andreas Schwab [Sat, 23 Oct 2004 19:13:26 +0000 (19:13 +0000)]
* ada-lang.c (grow_vect): Return the new array instead of
expecting pointer to pointer to avoid violation of aliasing rules.
* ada-lang.h (GROW_VECT): Adapt call to grow_vect.
Nick Clifton [Sat, 23 Oct 2004 17:26:36 +0000 (17:26 +0000)]
* dlltool.c: Include <assert.h>.
(PREFIX_ALIAS_BASE): Define.
(struct export): Add member import_name;
(def_exports): Set import_name.
(make_one_lib_file): Remove prefix alias code, use import_name in .idata$6.
(gen_lib_file): Create and delete aliases.
* binutils-all/alias.def: New file.
* binutils-all/dlltool.exp: Two new -p tests.
* config/default.exp (dlltool_gas_flag): New variable.
Copy gas and lds executables into tmpdir/gas directory rather than making
symlinks which might not be supported by the host OS.
Attempt to handle the case where the host OS does not use the .exe extension
but the target OS does.
* lib/utils-lib.exp (exe_ext): New procedure.
Ulrich Weigand [Sat, 23 Oct 2004 16:31:23 +0000 (16:31 +0000)]
* s390-tdep.c (enum pv_boolean): Remove.
(pv_is_array_ref): Remove.
(s390_on_stack): Remove.
(S390_NUM_SPILL_SLOTS): Remove.
(struct s390_prologue_data): Remove members 'spill' and 'back_chain',
add members 'gpr_slot', 'fpr_slot', and 'back_chain_saved_p'.
(s390_store): Track all stores of orginal incoming registers to the
stack constant offsets relative to the CFA, instead of only tracking
stores into specific spill slots.
(s390_load): Likewise.
(s390_analyze_prologue): Adapt to struct s390_prologue_data changes.
(s390_prologue_frame_unwind_cache): Likewise. Only track registers
defined as call-saved by the ABI.
(s390_push_dummy_call): Use bottom of dummy call argument save area
as return value, not the top. Do not store to the called function's
register save area.
(s390_unwind_dummy_id): Adapt accordingly.
Eli Zaretskii [Sat, 23 Oct 2004 13:52:37 +0000 (13:52 +0000)]
* gdb.texinfo (SVR4 Process Information): Document subcommands of
"info proc" that are already implemented. Add index entries.
(Working Directory): Add a cross-reference to "info proc" command.