Richard Earnshaw [Tue, 19 Feb 2002 19:20:31 +0000 (19:20 +0000)]
* arm-tdep.h (enum arm_float_model): New enum.
(struct gdbarch_tdep): Add fp_model.
* arm-tdep.c (arm_gdbarch_init): Set fp_model in tdep. Defer setting
up floating-point conversions until we know the floating-point model
in use by the inferior. Don't complain about being unable to
determine the ABI of the inferior when we don't have one.
(arm_extract_return_value): Support different floating-point models.
(arm_store_return_value): Likewise.
* armnbsd-tdep.c (arm_netbsd_aout_init_abi): Set fp_model in tdep to
ARM_FLOAT_SOFT.
(arm_netbsd_elf_init_abi): Set fp_model to ARM_FLOAT_SOFT_VFP.
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.
Richard Earnshaw [Tue, 19 Feb 2002 17:26:27 +0000 (17:26 +0000)]
* armnbsd-nat.c : ANSIfy all function declarations.
(fetch_register, fetch_regs, fetch_fp_register, fetch_fp_regs): New.
(fetch_inferior_registers): Re-implement in terms of above.
(store_register, store_regs, store_fp_register, store_fp_regs): New.
(store_inferior_registers): Re-implement in terms of above.
Richard Earnshaw [Tue, 19 Feb 2002 11:46:21 +0000 (11:46 +0000)]
* armnbsd-tdep.c (arm_netbsd_aout_in_solib_call_trampoline): New
function.
(arm_netbsd_aout_init_abi): Initialize IN_SOLIB_CALL_TRAMPOLINE.
* config/arm/tm-nbsd.h: Don't include config/tm-nbsd.h, it only
defines one thing and that is incorrect for this port.
(IN_SOLIB_CALL_TRAMPOLINE): Delete.
Pierre Muller [Tue, 19 Feb 2002 08:49:42 +0000 (08:49 +0000)]
2002-02-18 Pierre Muller <muller@ics.u-strasbg.fr>
* win32-nat.c (display_selector): New function. Displays information
about the information returned by GetThreadSelectorEntry API function.
(display_selectors): New function. Displays the infomation of
the selector given as argument, or of CS, DS ans FS selectors
if no argument is given.
( _initialize_inftarg): Add "w32" as info prefix command.
Add "info w32 selector" as command calling display_selectors.
Elena Zannoni [Mon, 18 Feb 2002 15:08:40 +0000 (15:08 +0000)]
2002-02-18 Elena Zannoni <ezannoni@redhat.com>
* ppc-linux-nat.c: Update copyright.
(fetch_register, store_register): Add tid parameter, don't compute
tid here.
(fetch_ppc_registers, store_ppc_registers): Add tid
parameter. Pass it along to callees.
(fetch_inferior_registers, store_inferior_registers): Compute tid
here, and pass it to calleed functions.
(fill_gregset, supply_fpregset): Clean up formatting.
Richard Earnshaw [Mon, 18 Feb 2002 13:35:31 +0000 (13:35 +0000)]
* gdbarch.sh (GET_LONGJMP_TARGET): Add rule.
* gdbarch.c gdbarch.h: Regenerate.
* breakpoint.c (create_longjmp_breakpoint): Always compile this
function.
(breakpoint_reset): Test GET_LONGJMP_TARGET_P().
* infrun.c (GET_LONGJMP_TARGET): Delete default definition.
(handle_inferior_event): Test GET_LONGJMP_TARGET_P().
* arm-tdep.h (struct gdbarch_tdep): Add jb_pc and jb_elt_size fields.
* arm-tdep.c (arm_get_longjmp_target): New function.
(arm_gdbarch_init): Initialize jb_pc to -1. If ABI handler changes
this to a positive value register arm_get_longjmp_target as the
longjmp handler.
* arm-linux-tdep.c (arm_get_longjmp_target): Delete.
(arm_linux_init_abi): Set up longjmp description in tdep.
* armnbsd-nat.c (get_longjmp_target): Delete.
* armnbsd-tdep.c (arm_netbsd_init_abi_common): Set up longjmp
description in tdep.
* config/arm/tm-nbsd.h (JB_ELEMENT_SIZE, JB_PC): Delete.
(get_longjmp_target): Delete declaration.
(GET_LONGJMP_TARGET): Delete.
* config/arm/tm-linux.h (arm_get_longjmp_target): Delete declaration.
(GET_LONGJMP_TARGET): Delete.
Alan Modra [Mon, 18 Feb 2002 12:40:28 +0000 (12:40 +0000)]
* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
(struct ppc_link_hash_table): Add sfpr.
(ppc64_elf_link_hash_table_create): Init it.
(ppc64_elf_create_dynamic_sections): Split creation of .stub and
.glink out to..
(create_linkage_sections): ..here. Make .sfpr too.
(ppc64_elf_check_relocs): Call create_linkage_sections, and set
dynobj early.
(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
._restf* functions, and create as needed.
(func_desc_adjust): Only force_local for shared libs.
Tom Tromey [Mon, 18 Feb 2002 01:12:38 +0000 (01:12 +0000)]
* cli/cli-cmds.c (compare_strings): New function.
(complete_command): Only print each unique item once.
* completer.h (complete_line): Declare.
* completer.c (complete_line): New function.
(line_completion_function): Use it.
* ld-mmix/b-nosym.d, ld-mmix/sec-6.d: Tweak for change in symbol
output.
* ld-mmix/sec-7m.d, ld-mmix/sec-7a.s, ld-mmix/sec-7b.s,
ld-mmix/sec-7c.s, ld-mmix/sec-7d.s, ld-mmix/sec-7e.s: New test.
* mmo.c: Correct and improve comments.
(mmo_write_chunk): Store trailing byte in bfd buffer; don't
zero-pad. Use input to fill up non-empty bfd buffer.
(mmo_flush_chunk): New function.
(mmo_write_loc_chunk): Add parameter last_vmap, all callers
changed. Don't emit location specifier if VMA is same as
*LAST_VMAP after omitting leading zero contents. Call
mmo_flush_chunk before emitting location specifier.
(mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
with mmo_write_loc_chunk calls.
(mmo_internal_write_section): Call mmo_flush_chunk after
mmo_write_chunk.
(mmo_write_symbols_and_terminator): Move :Main to first position
in symbol array. Add faked one if it does not exist if there are
other symbols. Don't add it if there are no symbols at all. Move
out test for value of :Main from symbol loop. Rename table
fakemain to maintable and variable mainsym to fakemain.
* valarith.c (value_x_unop): Fix decrement; support post-decrement.
2002-02-16 Daniel Jacobowitz <drow@mvista.com>
From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>:
* valops.c (value_arg_coerce): Don't take the address of a reference
to convert an argument to a reference.
* win32-nat.c (get_image_name): New function.
(handle_load_dll): Use get_image_name function.
(get_child_debug_event): Avoid registering debug events until possibly execed
process is started.
(child_create_inferior): Allow invocation via shell so that command line
redirection, etc. works ok.
(_initialize_inftarg): Add new command: "set shell" to control whether a shell
is used to start a process.
Richard Earnshaw [Fri, 15 Feb 2002 13:35:27 +0000 (13:35 +0000)]
* arm-tdep.h (enum arm_abi): New enum.
(struct gdbarch_tdep): New structure.
(LOWEST_PC): Provide a default.
(arm_gdbarch_register_os_abi): Declare new function.
* arm-tdep.c (arm_abi_names): New array.
(process_note_abi_tag_sections): New function.
(get_elfosabi): New function.
(arm_gdbarch_register_os_abi): New function.
(arm_gdbarch_init): Try to determine the ABI of the inferior. If
support for that ABI has been built in, then call the appropriate
configuration routine. Use gdbarch_num_regs() to get the number
of registers.
(arm_dump_tdep): New function.
(arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): New
place-holder functions.
(_initialize_arm_tdep): Register them.
* config/arm/tm-arm.h (LOWEST_PC): Delete.
* armnbsd-tdep.c: New file.
* Makefile.in (armnbsd-tdep.o): Add dependencies.
* config/arm/nbsd.mt (TDEPFILES): Add it.
* config/arm/tm-nbsd.h (LOWEST_PC): Delete.
* armnbsd-nat.c: Include regcache.h.
* Makefile.in (armnbsd-nat.o): Update dependency list.
* arm-tdep.c (arm_get_next_pc): Use printf_filtered for error message.
Alan Modra [Fri, 15 Feb 2002 02:11:05 +0000 (02:11 +0000)]
Support arbitrary length fill patterns.
* ldexp.h (etree_value_type): Add "str" field.
(union etree_union): Add "str" to "value" struct.
(exp_bigintop): Declare.
(exp_get_fill): Declare.
* ldexp.c: Include "safe-ctype.h".
(exp_intop): Set value.str to NULL.
(exp_bigintop): New function.
(new_rel): Pass in "str", and set new.str from it.
(new_rel_from_section): Set new.str to NULL.
(fold_name): Adjust calls to new_rel.
(exp_fold_tree): Likewise.
(exp_get_fill): New function.
* ldgram.y (struct big_int bigint, fill_type *fill): New.
(INT): Returns a "bigint". Adjust all code handling INTs.
(fill_opt): Returns a "fill".
(fill_exp): Split out of fill_opt, use for FILL.
* ldlang.h (struct _fill_type): New.
(fill_type): Move typedef to ldexp.h.
(lang_output_section_statement_type): "fill" is now a pointer.
(lang_fill_statement_type): Likewise.
(lang_padding_statement_type): Likewise.
(lang_add_fill): Now takes a "fill_type *" param.
(lang_leave_output_section_statement): Likewise.
(lang_do_assignments): Likewise.
(lang_size_sections): Likewise.
(lang_leave_overlay_section): Likewise.
(lang_leave_overlay): Likewise.
* ldlang.c: Include ldgram.h after ldexp.h.
(lang_output_section_statement_lookup): Adjust for fill_type change.
(print_fill_statement): Likewise.
(print_padding_statement): Likewise.
(insert_pad): Now takes a "fill_type *" arg.
(size_input_section): Likewise.
(lang_size_sections_1): Likewise.
(lang_size_sections): Likewise.
(lang_do_assignments): Likewise.
(lang_add_fill): Likewise.
(lang_leave_output_section_statement): Likewise.
(lang_leave_overlay_section): Likewise.
(lang_leave_overlay): Likewise.
Adjust all callers of the above function.
* ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers
starting with "0X" as well as "0x". Return bigint.str for hex
numbers starting with "0x" or "0X", zero bigint.str otherwise.
Always use base 16 for numbers starting with "$".
* ldmain.c: Include ldgram.h after ldexp.h.
* ldwrite.c (build_link_order): Use bfd_data_link_order in place
of bfd_fill_link_order.
* pe-dll.c: Adjust lang_do_assignments calls.
* emultempl/elf32.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/beos.em: Include ldgram.h after ldexp.h, adjust
lang_add_assignment call.
* emultempl/pe.em: Likewise.