binutils-gdb.git
20 years ago * mips-tdep.c (non_heuristic_proc_desc): Search using the specified
Daniel Jacobowitz [Mon, 22 Mar 2004 21:39:00 +0000 (21:39 +0000)]
* mips-tdep.c (non_heuristic_proc_desc): Search using the specified
PC rather than the partial function start address.  Use the start
address to sanity check the found PDR.

20 years ago * lin-lwp.c (lin_lwp_wait): Pass the LWP ID to
Daniel Jacobowitz [Mon, 22 Mar 2004 20:18:33 +0000 (20:18 +0000)]
* lin-lwp.c (lin_lwp_wait): Pass the LWP ID to
linux_handle_extended_wait.

20 years ago2004-03-22 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 22 Mar 2004 17:07:08 +0000 (17:07 +0000)]
2004-03-22  Andrew Cagney  <cagney@redhat.com>

* rs6000-tdep.c (frame_initial_stack_address): Delete unused
function.

20 years ago2004-03-22 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 22 Mar 2004 16:58:08 +0000 (16:58 +0000)]
2004-03-22  Andrew Cagney  <cagney@redhat.com>

* frame.h (generic_pop_current_frame): Delete declaration.
(deprecate_pop_dummy_frame): Deprecate
generic_pop_dummy_frame.
* dummy-frame.c (deprecated_pop_dummy_frame): Update.
(generic_pop_current_frame): Delete function.
* mn10300-tdep.c (mn10300_pop_frame): Eliminate call to
generic_pop_current_frame.
* v850-tdep.c (v850_pop_frame): Update.
* mcore-tdep.c (mcore_pop_frame): Update.
* sh64-tdep.c (sh64_pop_frame): Update.
* h8300-tdep.c (h8300_pop_frame): Update.

20 years ago2004-03-22 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 22 Mar 2004 15:36:47 +0000 (15:36 +0000)]
2004-03-22  Andrew Cagney  <cagney@redhat.com>

* frame.h (deprecated_pc_in_call_dummy): Rename
generic_pc_in_call_dummy.
* dummy-frame.h (pc_in_dummy_frame): Delete declaration.
* dummy-frame.c (deprecated_pc_in_call_dummy): Rename
generic_pc_in_call_dummy.
(pc_in_dummy_frame): Make static.
* gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Update.
* gdbarch.h, gdbarch.c: Re-generate.
* dummy-frame.c (dummy_frame_sniffer): Simplify.
* frame.c (frame_type_from_pc): Call deprecated_pc_in_call_dummy.
(legacy_get_prev_frame): Ditto.
* inferior.h: Delete reference to generic_pc_in_call_dummy in
comment.

20 years ago2004-03-22 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 22 Mar 2004 14:24:18 +0000 (14:24 +0000)]
2004-03-22  Andrew Cagney  <cagney@redhat.com>

* gdb.base/watchpoint.exp (test_stepping): Delete bogus XFAILs
hiding problems with DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
Problem identified by Ulrich Weigand.

20 years ago * Makefile.tpl: Rearrange by moving recursive_targets rules
Nathanael Nerode [Mon, 22 Mar 2004 11:59:20 +0000 (11:59 +0000)]
* Makefile.tpl: Rearrange by moving recursive_targets rules
into their proper sections.
* Makefile.tpl (top level bootstrap support): Move disabling
of coverage flags from 'make' to 'configure'; improve comments.
* Makefile.in: Regenerate.

* Makefile.tpl (experimental top level bootstrap) Move stage1
language setting from all- target to configure- target; disable
intermodule optimization in stage 1; prevent gratuitous rebuilds
of stage 1.
* Makefile.in: Regenerate.
* configure.in: Comma-separate stage 1 language list for top
level bootstrap.
* configure: Regenerate.

* Makefile.tpl: Clean up experimental top level bootstrap support:
note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate
prev-gcc in configure- targets as well as all- targets.
* Makefile.in: Regenerate.

20 years ago * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
Hans-Peter Nilsson [Mon, 22 Mar 2004 04:08:39 +0000 (04:08 +0000)]
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
not defined by the executable, or defined in a DSO.
<eliding run-time relocation of .got>: Initialize GOT entry for a
function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
executable.
(cris_elf_gc_sweep_hook): Improve fallthrough marking.
(elf_cris_try_fold_plt_to_got): Improve head comment.  Do not fold
a PLT reloc to GOT for an executable.
(elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
.got for a DSO and explain why.
(elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
and unreferenced symbols for which a PLT is defined.  Adjust
dynamic-symbol pruning correspondingly, to make sure we don't lose
a dynamic symbol also defined by a DSO.

20 years ago * ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
Hans-Peter Nilsson [Mon, 22 Mar 2004 04:06:06 +0000 (04:06 +0000)]
* ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
ld-cris/gotplt2.d, ld-cris/gotplt3.d: New tests.

20 years ago * readelf.c (display_debug_frames): Don't crash for mismatched
Richard Henderson [Mon, 22 Mar 2004 03:55:50 +0000 (03:55 +0000)]
    * readelf.c (display_debug_frames): Don't crash for mismatched
        DW_CFA_restore_state.

20 years ago * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
Alan Modra [Mon, 22 Mar 2004 02:28:17 +0000 (02:28 +0000)]
* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
and rel args.  Group input and output args.  Wrap to 80 columns.
* elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
RELOC_FOR_GLOBAL_SYMBOL invocation.

20 years ago * config/tc-sh.c: Remove trailing whitespace.
Alan Modra [Mon, 22 Mar 2004 01:44:29 +0000 (01:44 +0000)]
* config/tc-sh.c: Remove trailing whitespace.

20 years ago2004-03-21 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 22 Mar 2004 01:43:32 +0000 (01:43 +0000)]
2004-03-21  Andrew Cagney  <cagney@redhat.com>

* inferior.h (deprecated_pc_in_call_dummy_at_entry_point): Delete
declaration and out-of-date comment.
* blockframe.c (deprecated_pc_in_call_dummy_at_entry_point):
Delete function.
* mn10300-tdep.c (mn10300_gdbarch_init): Do not set
deprecated_pc_in_call_dummy.

20 years ago*** empty log message ***
gdbadmin [Mon, 22 Mar 2004 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

20 years ago * doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort,
Hans-Peter Nilsson [Sun, 21 Mar 2004 23:50:38 +0000 (23:50 +0000)]
* doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort,
--mul-bug-abort and the default behavior.
* config/tc-cris.c (cris_insn_kind): New member CRIS_INSN_MUL.
(err_for_dangerous_mul_placement): New variable.
(STATE_MUL, OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): New
macros.
(md_cris_relax_table): Have placeholder for STATE_MUL.
(md_longopts): New options --mul-bug-abort and --no-mul-bug-abort.
(cris_relax_frag) <case ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: New
case doing nothing.
(md_estimate_size_before_relax) <case ENCODE_RELAX (STATE_MUL,
STATE_BYTE)>: Ditto.
(md_convert_frag) <ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: Check
alignment and position of this frag, emit error message if
suspicious.
(md_assemble): For a multiply insn and when checking it,
transform the current frag into a special frag for that purpose.
(md_parse_option) <case OPTION_MULBUG_ABORT_OFF, case
OPTION_MULBUG_ABORT_ON>: Handle new options.

20 years ago * gas/cris/regreg.d: Assemble with --no-mul-bug-abort.
Hans-Peter Nilsson [Sun, 21 Mar 2004 23:47:54 +0000 (23:47 +0000)]
* gas/cris/regreg.d: Assemble with --no-mul-bug-abort.
* gas/cris/mulbug-err-1.s, gas/cris/rd-mulbug-1.d: New tests.

20 years agodaily update
Alan Modra [Sun, 21 Mar 2004 23:00:35 +0000 (23:00 +0000)]
daily update

20 years ago2004-03-21 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Sun, 21 Mar 2004 22:53:49 +0000 (22:53 +0000)]
2004-03-21  Andrew Cagney  <cagney@redhat.com>

* infrun.c (handle_inferior_event): For non legacy frames, use the
frame ID and frame type to identify a signal trampoline.  Update
comments.

20 years ago2004-03-21 Nathan J. Williams <nathanw@wasabisystems.com>
Nathan J. Williams [Sun, 21 Mar 2004 22:34:12 +0000 (22:34 +0000)]
2004-03-21  Nathan J. Williams  <nathanw@wasabisystems.com>

        * mipsnbsd-tdep.c: Update copyright. Include "mips-tdep.h".
        * Makefile.in (mipsnbsd-tdep.o): Update dependencies.

20 years ago2004-03-21 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Sun, 21 Mar 2004 22:28:52 +0000 (22:28 +0000)]
2004-03-21  Andrew Cagney  <cagney@redhat.com>

* frame-unwind.h: Update copyright.
(struct frame_data): Add opaque declaration.
(frame_sniffer_ftype): Declare.
(struct frame_unwind): Add "unwind_data" and "sniffer".
(frame_unwind_register_unwinder): Declare.
(frame_unwind_find_by_frame): Add parameter "this_cache".
* frame.c (get_frame_id, create_new_frame, legacy_get_prev_frame)
(legacy_get_prev_frame, legacy_get_prev_frame)
(get_frame_type): Pass the prologue_cache to
frame_unwind_find_by_frame.
* frame-unwind.c (struct frame_unwind_table_entry): Add field
"unwinder".
(frame_unwind_register_unwinder): New function.
(frame_unwind_find_by_frame): Handle an unwind sniffer.

20 years ago*** empty log message ***
gdbadmin [Sun, 21 Mar 2004 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***

20 years agoReorder it.
H.J. Lu [Sat, 20 Mar 2004 23:44:18 +0000 (23:44 +0000)]
Reorder it.

20 years agoCorrect the ChangeLog entry.
H.J. Lu [Sat, 20 Mar 2004 23:36:18 +0000 (23:36 +0000)]
Correct the ChangeLog entry.

20 years agobfd/
H.J. Lu [Sat, 20 Mar 2004 23:16:43 +0000 (23:16 +0000)]
bfd/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
unresolved symbols in objects aren't allowed.

* elf-hppa.h (elf_hppa_relocate_section): Properly handle
unresolved symbols.
(elf_hppa_remark_useless_dynamic_symbols): Likewise.
(elf_hppa_unmark_useless_dynamic_symbols):
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
(elf32_hppa_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.

* elf-m10200.c (mn10200_elf_relocate_section): Use
RELOC_FOR_GLOBAL_SYMBOL.
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
* elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
* elf32-v850.c (v850_elf_relocate_section): Likewise.
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
* elf64-mmix.c (mmix_elf_relocate_section): Likewise.

include/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

* bfdlink.h (bfd_link_info): Correct comments for the
unresolved_syms_in_objects field.

ld/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

* lexsup.c (parse_args): Don't set unresolved_syms_in_objects
or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.

20 years agodaily update
Alan Modra [Sat, 20 Mar 2004 23:00:05 +0000 (23:00 +0000)]
daily update

20 years agoprint_percentage: Use floating point to avoid incorrect results when
Paul N. Hilfinger [Sat, 20 Mar 2004 09:53:03 +0000 (09:53 +0000)]
print_percentage: Use floating point to avoid incorrect results when
 portion*100 overflows.

20 years ago* emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
Alexandre Oliva [Sat, 20 Mar 2004 05:49:27 +0000 (05:49 +0000)]
* emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.

20 years agoRemove old frame code. Enable new frame code for AIX.
Kevin Buettner [Sat, 20 Mar 2004 04:58:13 +0000 (04:58 +0000)]
Remove old frame code.  Enable new frame code for AIX.

20 years agoCommit Andrew Cagney's rs6000 / PPC framification patch.
Kevin Buettner [Sat, 20 Mar 2004 04:51:21 +0000 (04:51 +0000)]
Commit Andrew Cagney's rs6000 / PPC framification patch.

20 years ago * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
Dave Anglin [Sat, 20 Mar 2004 00:42:10 +0000 (00:42 +0000)]
* elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
(final_link_relocate): Likewise.

20 years ago*** empty log message ***
gdbadmin [Sat, 20 Mar 2004 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***

20 years agodaily update
Alan Modra [Fri, 19 Mar 2004 23:00:07 +0000 (23:00 +0000)]
daily update

20 years ago * config/tc-xtensa.c (mark_literal_frags): New function.
Bob Wilson [Fri, 19 Mar 2004 22:35:32 +0000 (22:35 +0000)]
* config/tc-xtensa.c (mark_literal_frags): New function.
(xtensa_move_literals): Call mark_literal_frags for all literal
segments, including init and fini literal segments.
(xtensa_post_relax_hook): Swap use of xt_insn_sec and xt_literal_sec.

20 years ago * breakpoint.c (adjust_breakpoint_address): Don't adjust
Kevin Buettner [Fri, 19 Mar 2004 20:49:43 +0000 (20:49 +0000)]
* breakpoint.c (adjust_breakpoint_address): Don't adjust
breakpoint address for watchpoints or the catch eventpoints.
Add new paramter ``bptype''.  Adjust all callers.

20 years ago * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
Dave Anglin [Fri, 19 Mar 2004 19:19:53 +0000 (19:19 +0000)]
* elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
* tc-hppa.c (cons_fix_new_hppa): Check for PC relative base type.
(pa_comm): Set BSF_OBJECT in symbol flags.

20 years ago2004-03-19 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Fri, 19 Mar 2004 17:43:34 +0000 (17:43 +0000)]
2004-03-19  Andrew Cagney  <cagney@redhat.com>

* config/pa/tm-hppa.h (GDB_TARGET_IS_HPPA): Delete unused macro.

Index: doc/ChangeLog
2004-03-19  Andrew Cagney  <cagney@redhat.com>

* gdbint.texinfo (Target Architecture Definition): Delete
reference to GDB_TARGET_IS_HPPA.

20 years ago2004-03-19 H.J. Lu <hongjiu.lu@intel.com>
H.J. Lu [Fri, 19 Mar 2004 17:02:31 +0000 (17:02 +0000)]
2004-03-19  H.J. Lu  <hongjiu.lu@intel.com>

* ld-elfvers/vers.exp: Add new tests for versioned weak
definition.

* ld-elfvers/vers28a.c: New file.
* ld-elfvers/vers28a.dsym: Likewise.
* ld-elfvers/vers28a.ver: Likewise.
* ld-elfvers/vers28b.c: Likewise.
* ld-elfvers/vers28b.dsym: Likewise.
* ld-elfvers/vers28b.map: Likewise.
* ld-elfvers/vers28b.ver: Likewise.
* ld-elfvers/vers28c.c: Likewise.
* ld-elfvers/vers28c.dsym: Likewise.
* ld-elfvers/vers28c.ver: Likewise.

20 years ago2004-03-19 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Fri, 19 Mar 2004 16:42:31 +0000 (16:42 +0000)]
2004-03-19  Andrew Cagney  <cagney@redhat.com>

* PROBLEMS: Delete note that ARM does not use frame code, problem
fixed.

20 years ago * po/sv.po: Updated.
Alan Modra [Fri, 19 Mar 2004 07:21:48 +0000 (07:21 +0000)]
* po/sv.po: Updated.

20 years ago * ld-scripts/provide-2.d: Ignore random symbols.
Alan Modra [Fri, 19 Mar 2004 07:14:44 +0000 (07:14 +0000)]
* ld-scripts/provide-2.d: Ignore random symbols.

20 years ago * Makefile.am: Run "make dep-am".
Alan Modra [Fri, 19 Mar 2004 07:07:22 +0000 (07:07 +0000)]
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* gconfig.in: Regenerate.
* po/gprof.pot: Regenerate.

20 years ago * config.in: Regenerate.
Alan Modra [Fri, 19 Mar 2004 07:06:35 +0000 (07:06 +0000)]
* config.in: Regenerate.
* po/ld.pot: Regenerate.

20 years ago * Makefile.am: Run "make dep-am".
Alan Modra [Fri, 19 Mar 2004 07:05:56 +0000 (07:05 +0000)]
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* config.in: Regenerate.
* po/gas.pot: Regenerate.

20 years ago * Makefile.am: Run "make dep-am".
Alan Modra [Fri, 19 Mar 2004 07:03:40 +0000 (07:03 +0000)]
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* po/binutils.pot: Regenerate.

20 years ago * aclocal.m4: Regenerate.
Alan Modra [Fri, 19 Mar 2004 07:02:24 +0000 (07:02 +0000)]
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* po/POTFILES.in: Regenerate.
* po/opcodes.pot: Regenerate.

20 years ago * Makefile.am: Run "make dep-am".
Alan Modra [Fri, 19 Mar 2004 07:00:51 +0000 (07:00 +0000)]
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* po/bfd.pot: Regenerate.
doc/
* Makefile.in: Regenerate.

20 years ago * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
Alan Modra [Fri, 19 Mar 2004 01:36:45 +0000 (01:36 +0000)]
* elflink.c (_bfd_elf_merge_symbol): Revert last change.  Move
type and size change code to where it was previously.  Remove
dt_needed param.  Treat old weak syms as strong if new sym is
from a shared lib, even when old sym is from another shared
lib.  Remove unnecessary tests of oldweak and newweak.  Correct
comments.
(_bfd_elf_add_default_symbol): Remove dt_needed param.  Update
_bfd_elf_merge_symbol calls.
* elflink.h (elf_link_add_object_symbols): Update calls.  Remove
dt_needed local var.  Update comments.
* elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
(_bfd_elf_add_default_symbol): Likewise.

20 years ago*** empty log message ***
gdbadmin [Fri, 19 Mar 2004 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

20 years ago2004-03-18 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Thu, 18 Mar 2004 23:04:45 +0000 (23:04 +0000)]
2004-03-18  Andrew Cagney  <cagney@redhat.com>

* stack.c (return_command): Delete code wrapped in #ifdef
DEPRECATED_CALL_DUMMY_HAS_COMPLETED, macro no longer defined.

20 years ago * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
Alan Modra [Thu, 18 Mar 2004 23:02:06 +0000 (23:02 +0000)]
* elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
strong syms in one shared object overriding weak syms in another.

20 years agodaily update
Alan Modra [Thu, 18 Mar 2004 23:00:06 +0000 (23:00 +0000)]
daily update

20 years ago2004-03-18 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Thu, 18 Mar 2004 20:30:08 +0000 (20:30 +0000)]
2004-03-18  Andrew Cagney  <cagney@redhat.com>

* rs6000-tdep.c (skip_prologue): Record only the first LR save.

20 years ago2004-03-18 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Thu, 18 Mar 2004 20:13:34 +0000 (20:13 +0000)]
2004-03-18  Andrew Cagney  <cagney@redhat.com>

* gdbint.texinfo (Coding): Update section on gdbarch_data,
describe pre_init and post_init.

20 years ago2004-03-18 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Thu, 18 Mar 2004 19:59:07 +0000 (19:59 +0000)]
2004-03-18  Andrew Cagney  <cagney@redhat.com>

* config/mips/tm-nbsd.h: Replace IN_SIGTRAMP with
DEPRECATED_IN_SIGTRAMP.
* config/powerpc/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* config/mips/tm-linux.h (DEPRECATED_IN_SIGTRAMP) Ditto.
* config/mips/tm-irix6.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* config/mips/tm-irix5.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* config/ia64/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* config/ia64/tm-aix.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* config/arm/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* config/arm/tm-embed.h (DEPRECATED_IN_SIGTRAMP): Ditto.
* arch-utils.c (legacy_pc_in_sigtramp): Ditto.
* arch-utils.h: Remove reference to IN_SIGTRAMP in comment.

20 years ago2004-03-18 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Thu, 18 Mar 2004 16:22:00 +0000 (16:22 +0000)]
2004-03-18  Andrew Cagney  <cagney@redhat.com>

* frame-base.c: Update copyright.  Include "gdb_obstack.h".
(struct frame_base_table_entry): Define.
(struct frame_base_table): Re-implement as a linked list.
(frame_base_init): Re-implement.
(frame_base_table): Delete function.
(append_predicate): Delete function.
(frame_base_append_sniffer): Update.
(frame_base_set_default): Update.
(frame_base_find_by_frame): Update.
(_initialize_frame_base): Use gdbarch_data_register_pre_init.
* Makefile.in (frame-base.o): Update dependencies.

20 years ago * read.c (read_a_source_file): Use demand_empty_rest_of_line.
Nathan Sidwell [Thu, 18 Mar 2004 13:31:04 +0000 (13:31 +0000)]
* read.c (read_a_source_file): Use demand_empty_rest_of_line.
(demand_empty_rest_of_line): Issue an error here.
(ignore_rest_of_line): Silently skip to end.
(demand_copy_string): Issue an error, not warning.
(equals): Likewise.
* config/obj-elf.c (obj_elf_section_name): Likewise.
(obj_elf_section): Likewise.
* config/tc-arc.c (arc_extoper): Remove bogus NULL checks.
(arc_extinst): Likewise.
* config/tc-ia64.c (dot_saveb): Use demand_empty_rest_of_line.
(dot_spill): Likewise.
(dot_unwabi): Likewise.
(dot_prologue): Likewise.

20 years agobfd/
Alan Modra [Thu, 18 Mar 2004 12:50:20 +0000 (12:50 +0000)]
bfd/
* elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field.  Add
dyn_lib_class field.  Rearrange for better packing.
(elf_dt_soname): Delete.
(elf_dyn_lib_class): Define.
* elf.c (bfd_elf_set_dt_needed_name): Update comment.
(bfd_elf_set_dt_needed_soname): Delete.
(bfd_elf_set_dyn_lib_class): New function.
* elflink.h (add_dt_needed_tag): New function.  Split out from..
(elf_link_add_object_symbols): ..here.  Rename "name" to "soname".
Use elf_dyn_lib_class to set dt_needed and add_needed.  Move fallback
initialization of soname.
(elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
elf_dt_soname.
* bfd-in.h (enum dynamic_lib_link_class): New.
(bfd_elf_set_dt_needed_soname): Delete.
(bfd_elf_set_dyn_lib_class): Declare.
* bfd-in2.h: Regenerate.
ld/
* ld.texinfo: Add --as-needed doco.
* ldmain.c (as_needed): New global var.
* ldmain.h (as_needed): Declare.
* lexsup.c (option_values): Add OPTION_AS_NEEDED and
OPTION_NO_AS_NEEDED.
(ld_options): Likewise.
(parse_args): Handle them.
* ldlang.h (lang_input_statement_type): Add as_needed field.
* ldlang.c (new_afile): Set p->as_needed.
* emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
(gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
(ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.

* ldlang.c (open_input_bfds): Remove useless cast.
(lang_do_assignments_1): Likewise.
(lang_for_each_input_section): Delete.

20 years ago * expr.c (operand): Reject ++ and --.
Nathan Sidwell [Thu, 18 Mar 2004 09:19:20 +0000 (09:19 +0000)]
* expr.c (operand): Reject ++ and --.
(operator): Likewise.

20 years ago * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
Alan Modra [Thu, 18 Mar 2004 04:32:17 +0000 (04:32 +0000)]
* elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
(_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
* elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
symbol loop.  Instead use add_needed to flag tag as written.

20 years agomerge from gcc
DJ Delorie [Thu, 18 Mar 2004 04:07:41 +0000 (04:07 +0000)]
merge from gcc

20 years agomerge from gcc
DJ Delorie [Thu, 18 Mar 2004 02:07:18 +0000 (02:07 +0000)]
merge from gcc

20 years ago[gas]
Kaz Kojima [Thu, 18 Mar 2004 00:49:23 +0000 (00:49 +0000)]
[gas]
* config/tc-sh.c: Include dw2gencfi.h.
(sh_cfi_frame_initial_instructions): New function.
(sh_regname_to_dw2regnum): Likewise.
* config/tc-sh.h (DWARF2_LINE_MIN_INSN_LENGTH): Move to the end of
file.
(TARGET_USE_CFIPOP): Define.
(tc_cfi_frame_initial_instructions): Likewise.
(tc_regname_to_dw2regnum): Likewise.
(DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT): Likewise.
* Makefile.am: Update dependencies.
* Makefile.in: Regenerate.

[gas/testsuite]
* gas/cfi/cfi-sh-1.d: New file.
* gas/cfi/cfi-sh-1.s: Likewise.
* gas/cfi/cfi.exp: Add SH case.

20 years ago*** empty log message ***
gdbadmin [Thu, 18 Mar 2004 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

20 years ago2004-03-17 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Wed, 17 Mar 2004 23:43:36 +0000 (23:43 +0000)]
2004-03-17  Andrew Cagney  <cagney@redhat.com>

* frame.c (legacy_get_prev_frame): Pass correct frame to
frame_unwind_find_by_frame.

20 years agodaily update
Alan Modra [Wed, 17 Mar 2004 23:00:06 +0000 (23:00 +0000)]
daily update

20 years ago2004-03-17 David Carlton <carlton@kealia.com>
David Carlton [Wed, 17 Mar 2004 20:11:22 +0000 (20:11 +0000)]
2004-03-17  David Carlton  <carlton@kealia.com>

* gdb.cp/classes.exp (test_enums): Refer to PR c++/1588 instead of
PR c++/826.

20 years ago2004-03-17 Paolo Bonzini <bonzini@gnu.org>
Nathanael Nerode [Wed, 17 Mar 2004 19:26:07 +0000 (19:26 +0000)]
2004-03-17  Paolo Bonzini  <bonzini@gnu.org>

* configure.in: Remove symbolic link section.
* configure: Regenerate.
* Makefile.tpl (links): Remove.
* Makefile.in: Regenerate.

20 years ago2004-03-17 David Carlton <carlton@kealia.com>
David Carlton [Wed, 17 Mar 2004 17:35:54 +0000 (17:35 +0000)]
2004-03-17  David Carlton  <carlton@kealia.com>

* NEWS: Mention C++ nested types and namespaces

20 years ago * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
Nathan Sidwell [Wed, 17 Mar 2004 12:27:05 +0000 (12:27 +0000)]
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
logic for null_input_bfd detection.

20 years ago2004-03-16 Michael Chastain <mec.gnu@mindspring.com>
Michael Chastain [Wed, 17 Mar 2004 07:00:41 +0000 (07:00 +0000)]
2004-03-16  Michael Chastain  <mec.gnu@mindspring.com>

* PROBLEMS: Add section headers, "Regressions since gdb 6.0"
and "Regressions since gdb 5.3.".  Add known regressions since
gdb 6.0.

20 years agoSwitch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
Alan Modra [Wed, 17 Mar 2004 00:46:25 +0000 (00:46 +0000)]
Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.

20 years agoFix typo in ChangeLog entry.
Mark Kettenis [Wed, 17 Mar 2004 00:21:17 +0000 (00:21 +0000)]
Fix typo in ChangeLog entry.

20 years ago*** empty log message ***
gdbadmin [Wed, 17 Mar 2004 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***

20 years agodaily update
Alan Modra [Tue, 16 Mar 2004 23:00:07 +0000 (23:00 +0000)]
daily update

20 years ago2004-03-16 David Carlton <carlton@kealia.com>
David Carlton [Tue, 16 Mar 2004 22:43:15 +0000 (22:43 +0000)]
2004-03-16  David Carlton  <carlton@kealia.com>

* dwarf2read.c (process_structure_scope): Process children even
when we're a declaration.

20 years ago2004-03-15 Paolo Bonzini <bonzini@gnu.org>
Nathanael Nerode [Tue, 16 Mar 2004 22:21:55 +0000 (22:21 +0000)]
2004-03-15  Paolo Bonzini  <bonzini@gnu.org>
            Nathanael Nerode  <neroden@gcc.gnu.org>

* configure.in (DEFAULT_YACC, DEFAULT_M4, DEFAULT_LEX):
        Set with AC_CHECK_PROGS.
* configure.in: Fix comment typo from last patch.
* configure: Regenerate.

20 years ago.
Roland McGrath [Tue, 16 Mar 2004 21:47:19 +0000 (21:47 +0000)]
.

20 years ago2004-03-16 Roland McGrath <roland@redhat.com>
Roland McGrath [Tue, 16 Mar 2004 21:47:03 +0000 (21:47 +0000)]
2004-03-16  Roland McGrath  <roland@redhat.com>

* gdb.base/auxv.exp: New file.
* gdb.base/auxv.c: New file, copied verbatim from coremaker2.c.

20 years ago2004-03-16 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Tue, 16 Mar 2004 20:25:24 +0000 (20:25 +0000)]
2004-03-16  Andrew Cagney  <cagney@redhat.com>

* symtab.h (find_pc_sect_partial_function): Delete declaration.
* blockframe.c (find_pc_partial_function)
(find_pc_sect_partial_function): Merge into a single
find_pc_partial_function.

20 years ago* i386bsd-nat.c: s/regno/regnum/g.
Mark Kettenis [Tue, 16 Mar 2004 13:54:10 +0000 (13:54 +0000)]
* i386bsd-nat.c: s/regno/regnum/g.
(fetch_inferior_registers): Use I386_ST0_REGNUM instead of
FP0_REGNUM.
(store_inferior_registers): Likewise.

20 years ago* i386bsd-nat.c (fill_fpregset): Call i387_collect_fsave instead
Mark Kettenis [Tue, 16 Mar 2004 13:48:23 +0000 (13:48 +0000)]
* i386bsd-nat.c (fill_fpregset): Call i387_collect_fsave instead
of i387_fill_fsave.
(store_inferior_registers): Call i387_collect_fsave and
i387_collect_fxsave instead of i387_fill_fsave and
i387_fill_fxsave.

20 years ago* netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
Mark Kettenis [Tue, 16 Mar 2004 12:22:18 +0000 (12:22 +0000)]
* netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
code.

20 years agoRevert "lsdx", "lsdi", "stsdx", "stsdi", "lmd" and "stmd" insns.
Alan Modra [Tue, 16 Mar 2004 11:46:15 +0000 (11:46 +0000)]
Revert "lsdx", "lsdi", "stsdx", "stsdi", "lmd" and "stmd" insns.

20 years agocopyright date.
Alan Modra [Tue, 16 Mar 2004 10:31:18 +0000 (10:31 +0000)]
copyright date.

20 years ago * elflink.c (elf_link_read_relocs_from_section): Don't use
Alan Modra [Tue, 16 Mar 2004 10:29:12 +0000 (10:29 +0000)]
* elflink.c (elf_link_read_relocs_from_section): Don't use
NUM_SHDR_ENTRIES in end of reloc calc.  Move NULL shdr check..
(_bfd_elf_link_read_relocs): ..to here.
* elf32-ppc.c (ppc_elf_relax_section): Formatting.

20 years ago * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
Alan Modra [Tue, 16 Mar 2004 09:05:22 +0000 (09:05 +0000)]
* configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
values selected in configure.host.  Require both to be defined
before setting BFD_HOST_64_BIT_DEFINED.  Protect assignment to
corresponding BFD_HOST vars with quotes.
<${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
Always require BFD_HOST_64_BIT_DEFINED.
<file_ptr type>: Find off_t size before emitting message.  Combine
off_t and ftello64 conditional.
* configure: Regenerate.

20 years ago * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
Alan Modra [Tue, 16 Mar 2004 01:49:30 +0000 (01:49 +0000)]
* elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
aliasing warning.  Remove trailing whitespace throughout file.

20 years agoopcodes/
Alan Modra [Tue, 16 Mar 2004 00:58:43 +0000 (00:58 +0000)]
opcodes/
* ppc-dis.c (print_insn_powerpc): Don't print tabs.  Handle
PPC_OPERANDS_GPR_0.
* ppc-opc.c (RA0): Define.
(RAQ, RAL, RAM, RAS, RSQ, RTQ, RSO): Use PPC_OPERAND_GPR_0.
(RAOPT): Rename from RAO.  Update all uses.
(powerpc_opcodes): Use RA0 as appropriate.  Add "lsdx", "lsdi",
"stsdx", "stsdi", "lmd" and "stmd" insns.

include/opcode/
* ppc.h (PPC_OPERAND_GPR_0): Define.  Bump other operand defines.

gas/testsuite/
Update gas/ppc/.

ld/testsuite/
Update ld-powerpc/.

20 years ago2004-03-15 Nathanael Nerode <neroden@gcc.gnu.org>
Nathanael Nerode [Tue, 16 Mar 2004 00:04:59 +0000 (00:04 +0000)]
2004-03-15  Nathanael Nerode  <neroden@gcc.gnu.org>

* Makefile.tpl: Introduce experimental top level bootstrap support.
* Makefile.in: Regenerate.
* configure.in: Introduce support for top level bootstrap.
* configure: Regenerate.

20 years ago*** empty log message ***
gdbadmin [Tue, 16 Mar 2004 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

20 years ago2004-03-15 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 15 Mar 2004 23:08:28 +0000 (23:08 +0000)]
2004-03-15  Andrew Cagney  <cagney@redhat.com>

* Makefile.in (frame-unwind.o): Update dependencies.
* frame-unwind.c: Include "gdb_obstack.h".
(frame_unwind_init): Replace "gdbarch" parameter with an "obstack"
parameter.
(append_predicate): Delete function.
(struct frame_unwind_table_entry): New structure.
(struct frame_unwind_table): Replace "sniffer" with "head" and
"tail".
(frame_unwind_append_sniffer): Update.
(frame_unwind_find_by_frame): Update.
(_initialize_frame_unwind): Registe frame_unwind_init using
gdbarch_data_register_pre_init.

20 years ago* i386bsd-nat.c: Update copyright year.
Mark Kettenis [Mon, 15 Mar 2004 23:03:07 +0000 (23:03 +0000)]
* i386bsd-nat.c: Update copyright year.
(CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER): Undefine and then
define unconditionally.

20 years agodaily update
Alan Modra [Mon, 15 Mar 2004 23:00:05 +0000 (23:00 +0000)]
daily update

20 years ago* i387-tdep.h (i387_collect_fsave): New prototype.
Mark Kettenis [Mon, 15 Mar 2004 22:44:12 +0000 (22:44 +0000)]
* i387-tdep.h (i387_collect_fsave): New prototype.
* i387-tdep.c (i387_collect_fsave): New function containing most
of the code from i387_fill_fsave.
(i387_fill_fsave): Call i387_fill_fsave.

20 years ago* i386-linux-tdep.c: Update copyright year.
Mark Kettenis [Mon, 15 Mar 2004 22:38:21 +0000 (22:38 +0000)]
* i386-linux-tdep.c: Update copyright year.
(i386_linux_svr4_fetch_link_map_offsets): Remove function.
(i386_linux_init_abi): Set solib_svr4_fetch_link_maop_offsets to
svr4_ilp32_link_map_offsets instead of
i386_linux_svr4_fetch_link_map_offsets.

20 years ago2004-03-15 David Carlton <carlton@kealia.com>
David Carlton [Mon, 15 Mar 2004 22:33:52 +0000 (22:33 +0000)]
2004-03-15  David Carlton  <carlton@kealia.com>

Fix for PR c++/1553:
* dwarf2read.c (read_structure_type): Determine type name by
calling determine_class_name.
(determine_class_name): New.
(determine_prefix): Look at TYPE_TAG_NAME and call
determine_class_name when appropriate.
(determine_prefix_aux, class_name): Delete.

20 years ago * breakpoint.c (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete
Kevin Buettner [Mon, 15 Mar 2004 21:58:31 +0000 (21:58 +0000)]
* breakpoint.c (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete
unused macro definition.  The definition in target.h (or perhaps
elsewhere) takes precedence.

20 years ago2004-03-15 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 15 Mar 2004 21:35:25 +0000 (21:35 +0000)]
2004-03-15  Andrew Cagney  <cagney@redhat.com>

* ppc-tdep.h: Update copyright.
(ppc_linux_supply_gregset, ppc_linux_supply_fpregset): Change
function signatures to match "regsets.h".
* ppc-linux-tdep.c: Include "regset.h".
(ELF_GREGSET_SIZE): Delete.
(right_supply_register): New function.
(ppc_linux_supply_fpregset, ppc_linux_supply_gregset): Rewrite
using right_supply_register.
(ppc32_linux_supply_gregset, ppc64_linux_supply_gregset): New
functions.
(ppc64_linux_gregset, ppc32_linux_gregset): Define.
(ppc_linux_init_abi): Register ppc_linux_regset_from_core_section.
(_initialize_ppc_linux_tdep): Do not register
ppc_linux_regset_core_fns.
(ppc_linux_regset_from_core_section): Replace
fetch_core_registers.
(ppc_linux_regset_core_fns): Delete.
* ppc-linux-nat.c: (right_fill_reg): New function.
(supply_gregset): Update call to ppc_linux_supply_gregset.
(fill_gregset): Clear the register set, use right_fill_reg.
(supply_fpregset): Update call to ppc_linux_supply_fpregset.
(fill_fpregset): Use right_fill_reg, correctly compute FP offsets.

Index: ppc-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-nat.c,v
retrieving revision 1.28
diff -u -r1.28 ppc-linux-nat.c
--- ppc-linux-nat.c 8 Mar 2004 01:45:02 -0000 1.28
+++ ppc-linux-nat.c 15 Mar 2004 21:28:31 -0000
@@ -507,7 +507,24 @@
 void
 supply_gregset (gdb_gregset_t *gregsetp)
 {
-  ppc_linux_supply_gregset ((char *) gregsetp);
+  /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+     interface, and not the wordsize of the program's ABI.  */
+  int wordsize = sizeof (PTRACE_XFER_TYPE);
+  ppc_linux_supply_gregset (current_regcache, -1, gregsetp,
+     sizeof (gdb_gregset_t), wordsize);
+}
+
+static void
+right_fill_reg (int regnum, void *reg)
+{
+  /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+     interface, and not the wordsize of the program's ABI.  */
+  int wordsize = sizeof (PTRACE_XFER_TYPE);
+  /* Right fill the register.  */
+  regcache_raw_collect (current_regcache, regnum,
+ ((bfd_byte *) reg
+  + wordsize
+  - register_size (current_gdbarch, regnum)));
 }

 void
@@ -516,36 +533,42 @@
   int regi;
   elf_greg_t *regp = (elf_greg_t *) gregsetp;
   struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+  const int elf_ngreg = 48;
+
+
+  /* Start with zeros.  */
+  memset (regp, 0, elf_ngreg * sizeof (*regp));

   for (regi = 0; regi < 32; regi++)
     {
       if ((regno == -1) || regno == regi)
-        regcache_collect (regi, regp + PT_R0 + regi);
+ right_fill_reg (regi, (regp + PT_R0 + regi));
     }

   if ((regno == -1) || regno == PC_REGNUM)
-    regcache_collect (PC_REGNUM, regp + PT_NIP);
+    right_fill_reg (PC_REGNUM, regp + PT_NIP);
   if ((regno == -1) || regno == tdep->ppc_lr_regnum)
-    regcache_collect (tdep->ppc_lr_regnum, regp + PT_LNK);
+    right_fill_reg (tdep->ppc_lr_regnum, regp + PT_LNK);
   if ((regno == -1) || regno == tdep->ppc_cr_regnum)
     regcache_collect (tdep->ppc_cr_regnum, regp + PT_CCR);
   if ((regno == -1) || regno == tdep->ppc_xer_regnum)
     regcache_collect (tdep->ppc_xer_regnum, regp + PT_XER);
   if ((regno == -1) || regno == tdep->ppc_ctr_regnum)
-    regcache_collect (tdep->ppc_ctr_regnum, regp + PT_CTR);
+    right_fill_reg (tdep->ppc_ctr_regnum, regp + PT_CTR);
 #ifdef PT_MQ
   if (((regno == -1) || regno == tdep->ppc_mq_regnum)
       && (tdep->ppc_mq_regnum != -1))
-    regcache_collect (tdep->ppc_mq_regnum, regp + PT_MQ);
+    right_fill_reg (tdep->ppc_mq_regnum, regp + PT_MQ);
 #endif
   if ((regno == -1) || regno == tdep->ppc_ps_regnum)
-    regcache_collect (tdep->ppc_ps_regnum, regp + PT_MSR);
+    right_fill_reg (tdep->ppc_ps_regnum, regp + PT_MSR);
 }

 void
 supply_fpregset (gdb_fpregset_t * fpregsetp)
 {
-  ppc_linux_supply_fpregset ((char *) fpregsetp);
+  ppc_linux_supply_fpregset (NULL, current_regcache, -1, fpregsetp,
+      sizeof (gdb_fpregset_t));
 }

 /* Given a pointer to a floating point register set in /proc format
@@ -557,12 +580,13 @@
 {
   int regi;
   struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+  bfd_byte *fpp = (void *) fpregsetp;

   for (regi = 0; regi < 32; regi++)
     {
       if ((regno == -1) || (regno == FP0_REGNUM + regi))
- regcache_collect (FP0_REGNUM + regi, (char *) (*fpregsetp + regi));
+ regcache_collect (FP0_REGNUM + regi, fpp + 8 * regi);
     }
   if ((regno == -1) || regno == tdep->ppc_fpscr_regnum)
-    regcache_collect (tdep->ppc_fpscr_regnum, (char *) (*fpregsetp + regi));
+    right_fill_reg (tdep->ppc_fpscr_regnum, (fpp + 8 * 32));
 }
Index: ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.50
diff -u -r1.50 ppc-linux-tdep.c
--- ppc-linux-tdep.c 16 Feb 2004 21:49:22 -0000 1.50
+++ ppc-linux-tdep.c 15 Mar 2004 21:28:31 -0000
@@ -32,7 +32,7 @@
 #include "regcache.h"
 #include "value.h"
 #include "osabi.h"
-
+#include "regset.h"
 #include "solib-svr4.h"
 #include "ppc-tdep.h"

@@ -959,81 +959,114 @@
 };

 enum {
-  ELF_GREGSET_SIZE = (ELF_NGREG * 4),
   ELF_FPREGSET_SIZE = (ELF_NFPREG * 8)
 };

+static void
+right_supply_register (struct regcache *regcache, int wordsize, int regnum,
+        const bfd_byte *buf)
+{
+  regcache_raw_supply (regcache, regnum,
+        (buf + wordsize
+ - register_size (current_gdbarch, regnum)));
+}
+
+/* Extract the register values found in the WORDSIZED ABI GREGSET,
+   storing their values in REGCACHE.  Note that some are left-aligned,
+   while others are right aligned.  */
+
 void
-ppc_linux_supply_gregset (char *buf)
+ppc_linux_supply_gregset (struct regcache *regcache,
+   int regnum, const void *gregs, size_t size,
+   int wordsize)
 {
   int regi;
-  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+  struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+  struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+  const bfd_byte *buf = gregs;

   for (regi = 0; regi < 32; regi++)
-    supply_register (regi, buf + 4 * regi);
+    right_supply_register (regcache, wordsize, regi, buf + wordsize * regi);
+
+  right_supply_register (regcache, wordsize, gdbarch_pc_regnum (regcache_arch),
+  buf + wordsize * PPC_LINUX_PT_NIP);
+  right_supply_register (regcache, wordsize, regcache_tdep->ppc_lr_regnum,
+  buf + wordsize * PPC_LINUX_PT_LNK);
+  regcache_raw_supply (regcache, regcache_tdep->ppc_cr_regnum,
+        buf + wordsize * PPC_LINUX_PT_CCR);
+  regcache_raw_supply (regcache, regcache_tdep->ppc_xer_regnum,
+        buf + wordsize * PPC_LINUX_PT_XER);
+  regcache_raw_supply (regcache, regcache_tdep->ppc_ctr_regnum,
+        buf + wordsize * PPC_LINUX_PT_CTR);
+  if (regcache_tdep->ppc_mq_regnum != -1)
+    right_supply_register (regcache, wordsize, regcache_tdep->ppc_mq_regnum,
+    buf + wordsize * PPC_LINUX_PT_MQ);
+  right_supply_register (regcache, wordsize, regcache_tdep->ppc_ps_regnum,
+  buf + wordsize * PPC_LINUX_PT_MSR);
+}

-  supply_register (PC_REGNUM, buf + 4 * PPC_LINUX_PT_NIP);
-  supply_register (tdep->ppc_lr_regnum, buf + 4 * PPC_LINUX_PT_LNK);
-  supply_register (tdep->ppc_cr_regnum, buf + 4 * PPC_LINUX_PT_CCR);
-  supply_register (tdep->ppc_xer_regnum, buf + 4 * PPC_LINUX_PT_XER);
-  supply_register (tdep->ppc_ctr_regnum, buf + 4 * PPC_LINUX_PT_CTR);
-  if (tdep->ppc_mq_regnum != -1)
-    supply_register (tdep->ppc_mq_regnum, buf + 4 * PPC_LINUX_PT_MQ);
-  supply_register (tdep->ppc_ps_regnum, buf + 4 * PPC_LINUX_PT_MSR);
+static void
+ppc32_linux_supply_gregset (const struct regset *regset,
+     struct regcache *regcache,
+     int regnum, const void *gregs, size_t size)
+{
+  ppc_linux_supply_gregset (regcache, regnum, gregs, size, 4);
 }

+static struct regset ppc32_linux_gregset = {
+  NULL, ppc32_linux_supply_gregset
+};
+
+static void
+ppc64_linux_supply_gregset (const struct regset *regset,
+     struct regcache * regcache,
+     int regnum, const void *gregs, size_t size)
+{
+  ppc_linux_supply_gregset (regcache, regnum, gregs, size, 8);
+}
+
+static struct regset ppc64_linux_gregset = {
+  NULL, ppc64_linux_supply_gregset
+};
+
 void
-ppc_linux_supply_fpregset (char *buf)
+ppc_linux_supply_fpregset (const struct regset *regset,
+    struct regcache * regcache,
+    int regnum, const void *fpset, size_t size)
 {
   int regi;
-  struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+  struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+  struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+  const bfd_byte *buf = fpset;

   for (regi = 0; regi < 32; regi++)
-    supply_register (FP0_REGNUM + regi, buf + 8 * regi);
+    regcache_raw_supply (regcache, FP0_REGNUM + regi, buf + 8 * regi);

   /* The FPSCR is stored in the low order word of the last doubleword in the
      fpregset.  */
-  supply_register (tdep->ppc_fpscr_regnum, buf + 8 * 32 + 4);
+  regcache_raw_supply (regcache, regcache_tdep->ppc_fpscr_regnum,
+        buf + 8 * 32 + 4);
 }

-/*
-  Use a local version of this function to get the correct types for regsets.
-*/
+static struct regset ppc_linux_fpregset = { NULL, ppc_linux_supply_fpregset };

-static void
-fetch_core_registers (char *core_reg_sect,
-       unsigned core_reg_size,
-       int which,
-       CORE_ADDR reg_addr)
+static const struct regset *
+ppc_linux_regset_from_core_section (struct gdbarch *core_arch,
+     const char *sect_name, size_t sect_size)
 {
-  if (which == 0)
+  struct gdbarch_tdep *tdep = gdbarch_tdep (core_arch);
+  if (strcmp (sect_name, ".reg") == 0)
     {
-      if (core_reg_size == ELF_GREGSET_SIZE)
- ppc_linux_supply_gregset (core_reg_sect);
+      if (tdep->wordsize == 4)
+ return &ppc32_linux_gregset;
       else
- warning ("wrong size gregset struct in core file");
-    }
-  else if (which == 2)
-    {
-      if (core_reg_size == ELF_FPREGSET_SIZE)
- ppc_linux_supply_fpregset (core_reg_sect);
-      else
- warning ("wrong size fpregset struct in core file");
+ return &ppc64_linux_gregset;
     }
+  if (strcmp (sect_name, ".reg2") == 0)
+    return &ppc_linux_fpregset;
+  return NULL;
 }

-/* Register that we are able to handle ELF file formats using standard
-   procfs "regset" structures.  */
-
-static struct core_fns ppc_linux_regset_core_fns =
-{
-  bfd_target_elf_flavour, /* core_flavour */
-  default_check_format, /* check_format */
-  default_core_sniffer, /* core_sniffer */
-  fetch_core_registers, /* core_read_registers */
-  NULL /* next */
-};
-
 static void
 ppc_linux_init_abi (struct gdbarch_info info,
                     struct gdbarch *gdbarch)
@@ -1086,6 +1119,7 @@
       /* PPC64 malloc's entry-point is called ".malloc".  */
       set_gdbarch_name_of_malloc (gdbarch, ".malloc");
     }
+  set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section);
 }

 void
@@ -1099,5 +1133,4 @@
                          ppc_linux_init_abi);
   gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
                          ppc_linux_init_abi);
-  add_core_fns (&ppc_linux_regset_core_fns);
 }
Index: ppc-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/ppc-tdep.h,v
retrieving revision 1.25
diff -u -r1.25 ppc-tdep.h
--- ppc-tdep.h 10 Nov 2003 22:47:28 -0000 1.25
+++ ppc-tdep.h 15 Mar 2004 21:28:31 -0000
@@ -1,6 +1,7 @@
 /* Target-dependent code for GDB, the GNU debugger.
-   Copyright 2000, 2001, 2002, 2003
-   Free Software Foundation, Inc.
+
+   Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation,
+   Inc.

    This file is part of GDB.

@@ -62,8 +63,12 @@
      CORE_ADDR bpaddr);
 int ppc_linux_memory_remove_breakpoint (CORE_ADDR addr, char *contents_cache);
 struct link_map_offsets *ppc_linux_svr4_fetch_link_map_offsets (void);
-void ppc_linux_supply_gregset (char *buf);
-void ppc_linux_supply_fpregset (char *buf);
+void ppc_linux_supply_gregset (struct regcache *regcache,
+        int regnum, const void *gregs, size_t size,
+        int wordsize);
+void ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size);

 enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch,
    struct type *valtype,

20 years ago2004-03-15 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 15 Mar 2004 21:21:01 +0000 (21:21 +0000)]
2004-03-15  Andrew Cagney  <cagney@redhat.com>

* rs6000-tdep.c (rs6000_register_virtual_type): Make registers
unsigned.

20 years ago2004-03-15 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Mon, 15 Mar 2004 20:38:08 +0000 (20:38 +0000)]
2004-03-15  Andrew Cagney  <cagney@redhat.com>

* gdbarch.sh (gdbarch_data_pre_init_fytpe)
(gdbarch_data_register_pre_init, gdbarch_data_post_init_fytpe)
(gdbarch_data_register_post_init): Replace gdbarch_data_init_ftype
and register_gdbarch_data.
(deprecated_set_gdbarch_data): Rename set_gdbarch_data.
(struct gdbarch_data): Replace "init" by "pre_init" and
"post_init".
* gdbarch.h, gdbarch.c: Re-generate.
* dwarf2-frame.c (dwarf2_frame_init): Replace "gdbarch" paramter
with"obstack", use OBSTACK_ZALLOC.
(dwarf2_frame_ops): Delete.
(dwarf2_frame_set_init_reg): Use gdbarch_data.
(dwarf2_frame_init_reg): Use gdbarch_data.
(_initialize_dwarf2_frame): Use gdbarch_data_register_pre_init.
* solib-svr4.c (set_solib_svr4_fetch_link_map_offsets)
(_initialize_svr4_solib): Update.
* user-regs.c (_initialize_user_regs): Update.
* reggroups.c (_initialize_reggroup): Update.
* regcache.c (_initialize_regcache): Update.
* mips-linux-tdep.c (_initialize_mips_linux_tdep): Update.
* libunwind-frame.c (_initialize_libunwind_frame): Update.
* gnu-v3-abi.c (init_gnuv3_ops): Update.
* frame-unwind.c (_initialize_frame_unwind): Update.
* frame-base.c (_initialize_frame_base): Update.
* user-regs.c (user_reg_add): Update.
* reggroups.c (reggroup_add): Update.
* mips-linux-tdep.c (set_mips_linux_register_addr): Update.
* libunwind-frame.c (libunwind_frame_set_descr): Update.
* frame-unwind.c (frame_unwind_append_sniffer): Update.
* frame-base.c (frame_base_table): Update.
* remote.c (_initialize_remote): Update.
* gdb_obstack.h (OBSTACK_ZALLOC, OBSTACK_CALLOC): Define.