Michael Snyder [Thu, 28 Jun 2001 21:34:03 +0000 (21:34 +0000)]
2001-06-28 Michael Snyder <msnyder@redhat.com>
* infrun.c (handle_inferior_event): Replace prev_pc test in all
calls to bpstat_stop_status (removed in 1999-09-24). This test
helps distinguish stepping over a breakpoint trap from stepping
thru a jump to the instruction after a breakpoint trap.
(handle_inferior_event): Don't bother writing the PC if
DECR_PC_AFTER_BREAK is zero (optimization).
* breakpoint.c (bpstat_stop_status): Add comment explaining the
purpose and usage of the "not_a_breakpoint" argument in computing
the breakpoint address.
Andrew Cagney [Thu, 28 Jun 2001 20:03:10 +0000 (20:03 +0000)]
From 2000-12-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
* monitor.c (setmem_resp_delim_pattern): New regexp pattern.
(setreg_resp_delim_pattern): Likewise.
(setmem_resp_delim_fastmap): New buffer.
(setreg_resp_delim_fastmap): Likewise.
(monitor_open): Initialize above regexp if they are defined.
(monitor_write_memory): Use regexp to check the result of write.
(monitor_store_register): Likewise to check result of register set.
Alan Modra [Thu, 28 Jun 2001 13:58:36 +0000 (13:58 +0000)]
* readelf.c (GET_DATA_ALLOC): Remove.
(GET_DATA): Remove.
(get_data): New function combining above macros, with an extra
test for zero size.
Use get_data, and catch error return throughout file.
Andrew Cagney [Thu, 28 Jun 2001 04:31:36 +0000 (04:31 +0000)]
From 2001-06-08 Daniel Jacobowitz <djacobowitz@mvista.com>:
* defs.h (enum target_signal): Add TARGET_SIGNAL_REALTIME_65
to TARGET_SIGNAL_REALTIME_127.
* target.c (struct signals): Add SIG63 to SIG127.
(target_signal_from_host): Handle up to 127 signals.
(do_target_signal_to_host): Likewise.
Nick Clifton [Wed, 27 Jun 2001 08:49:42 +0000 (08:49 +0000)]
Do not set finalize_syms until after the segments have been sized.
Some backends may still need to access the syms's frags in order to
adjust relaxed frags.
Alan Modra [Wed, 27 Jun 2001 07:02:24 +0000 (07:02 +0000)]
* write.c (fixup_segment <Difference of 2 syms same seg>): Don't
subtract MD_PCREL_FROM_SECTION for 68k.
(fixup_segment <Difference of 2 syms different seg>): Only fudge
by adding MD_PCREL_FROM_SECTION for 68k or if not already pcrel.
Alan Modra [Wed, 27 Jun 2001 02:42:09 +0000 (02:42 +0000)]
Avoid creating COPY relocs.
* elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
here..
(elf32_hppa_adjust_dynamic_symbol): ..nor here..
(allocate_plt_and_got_and_discard_relocs): .. instead do so here
after gc has run.
* elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
(IS_ABSOLUTE_RELOC): Define.
(elf32_hppa_link_hash_entry): Always include reloc_entries field.
(hppa_link_hash_newfunc): Always init it.
(elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
create COPY relocs only when the reloc is in a read-only section.
Instead, allocate space for a dynamic reloc to reference the
library symbol directly. Keep track of space we allocate using
relocs_entries.
(hppa_discard_copies): Delete, and move code to..
(allocate_plt_and_got): ..here. Rename to
allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
relocs for non-shared link.
(elf32_hppa_size_dynamic_sections): Update calls to above.
(elf32_hppa_relocate_section): Write out the dynamic relocs used
in lieu of COPY relocs.
Alan Modra [Wed, 27 Jun 2001 01:46:17 +0000 (01:46 +0000)]
* elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic
here..
(elf_i386_adjust_dynamic_symbol): ..nor here..
(allocate_plt_and_got_and_discard_relocs): .. instead do so here
after gc has run.
(elf_i386_size_dynamic_sections): Fix a comment.
(elf_i386_relocate_section <R_386_32, R_386_PC32>): Rearrange code
involved in writing reloc out.
Andrew Cagney [Tue, 26 Jun 2001 18:50:51 +0000 (18:50 +0000)]
* mi-cmd-stack.c (list_args_or_locals): Output a list of "args" or
"locals" entries.
* gdbmi.texinfo (stack-list-locals, stack-list-arguments)
(exec-interrupt, target-select, thread-select): Update
documentation.
* mi-stack.exp: Update. Output for args=... and
locals=... changed to a list.
Andrew Cagney [Tue, 26 Jun 2001 18:13:46 +0000 (18:13 +0000)]
* mi-cmd-stack.c (mi_cmd_stack_list_frames): Output a list of
"stack" entries.
(mi_cmd_stack_list_args): Ditto for "stack-args".
* gdbmi.texinfo (stack-list-frames, stack-list-arguments): Update
documentation.
(GDB/MI Stack Manipulation Commands): Fix section title. Was
Stack Manipulation Commands in GDB/MI.
* mi-stack.exp: Update. Output for stack=..., args=... and
stack-args=... changed to a list.
Michael Snyder [Tue, 26 Jun 2001 00:26:42 +0000 (00:26 +0000)]
2001-06-25 Michael Snyder <msnyder@redhat.com>
* infrun.c: Eliminate the "thread_step_needed" state variable,
and replace it with a relatively simple test in resume.
(resume): Replace thread_step_needed logic with a test for
stepping, breakpoint_here_p and breakpoints_inserted.
Move CANNOT_STEP_BREAKPOINT logic to after thread_step logic.
(proceed): Discard thread_step_needed logic.
(wait_for_inferior, fetch_inferior_event, handle_inferior_event):
Discard thread_step_needed logic.
Alan Modra [Mon, 25 Jun 2001 08:16:44 +0000 (08:16 +0000)]
* elf32-i386.c (elf_i386_check_relocs <R_386_32, R_386_PC32>):
Ensure syms are dynamic if we might be emitting a reloc.
(allocate_plt_and_got_and_discard_relocs): Don't discard relocs
for undefweak or undefined syms..
(elf_i386_relocate_section <R_386_32, R_386_PC32>): .. and emit.
Alan Modra [Mon, 25 Jun 2001 03:30:26 +0000 (03:30 +0000)]
* readelf.c (dump_relocations): Print "bad symbol index" if
symtab == NULL with non-zero symtab_index.
(process_relocs): Don't bomb if reloc section has no symsec.
H.J. Lu [Sun, 24 Jun 2001 16:27:00 +0000 (16:27 +0000)]
2001-06-24 H.J. Lu <hjl@gnu.org>
* objcopy.c (strip_main): Revert the change made on 2001-05-30
by accident.
(copy_main): Apply the the change made to strip_main on
2001-05-30 by accident.
Ben Elliston [Sun, 24 Jun 2001 06:01:49 +0000 (06:01 +0000)]
2001-06-24 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (md_number_to_imm): Remove; unused since 1993.
(emit_relocations): Ditto.
(s_bss): Ditto.
(md_begin): Reformat comments to conform to the GNU standards.
(md_assemble): Ditto.
Ben Elliston [Sun, 24 Jun 2001 01:56:48 +0000 (01:56 +0000)]
* fixes to silence all compiler warnings.
2001-06-24 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (get_reg): Adjust type of `reg_prefix' to char.
(md_parse_option): Mark parameters as unused.
(md_show_usage): Ditto.
(calcop): Adjust type of `reg_prefix' to char.
(get_reg): Ditto.
(getval): Adjust type of local `c' to char.
(md_create_short_jump): Mark from_addr, to_addr params as unused.
(md_create_long_jump): Ditto.
(md_estimate_size_before_relax): Mark parameters as unused.
H.J. Lu [Sun, 24 Jun 2001 00:36:47 +0000 (00:36 +0000)]
2001-06-23 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Check the
ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined
in the regular object file and treat the weak definition as
the normal one.
Alan Modra [Sat, 23 Jun 2001 15:02:43 +0000 (15:02 +0000)]
* elf32-i386.c (elf_i386_relocate_section <R_386_GOT32>): Tighten
unresolved_reloc test to exclude cases where we use "relocation"
before setting it to point into the .got. Reinstate fudge for
unresolved relocs in debugging sections.
Alan Modra [Sat, 23 Jun 2001 11:01:44 +0000 (11:01 +0000)]
* elf32-i386.c (elf_i386_relocate_section): Replace ugly
complicated tests for unresolvable relocs with a simple direct
scheme using "unresolved_reloc" var.
Alan Modra [Sat, 23 Jun 2001 05:54:15 +0000 (05:54 +0000)]
Avoid creating COPY relocs if possible.
* elf32-i386.c (elf_i386_check_relocs): Tweak condition under
which .got created. Mark symbols used by R_386_32 and R_386_PC32
relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the
reloc is in a read-only section. Instead, allocate space for a
dynamic reloc to reference the library symbol directly. Keep
track of space we allocate using pcrel_relocs_copied.
(discard_copies): Delete, and move code to ..
(allocate_plt_and_got): ..here. Rename to
allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
relocs for non-shared link.
(elf_i386_size_dynamic_sections): Update calls to above functions.
(elf_i386_relocate_section): Write out the dynamic relocs. Add
more ugly logic to avoid "unresolvable relocation" error. Use
htab shortcut in place of elf_hash_table macro.
(elf_i386_finish_dynamic_sections): Allow that dynamic .got may
not always be created now.
Andrew Cagney [Thu, 21 Jun 2001 19:27:50 +0000 (19:27 +0000)]
* mi-out.c (struct ui_out_data): Replace field first_header with
suppress_output.
(mi_begin, mi_end): Check suppress_header.
(mi_field_int, mi_field_skip): Ditto.
(mi_field_string, mi_field_fmt): Ditto.
(mi_table_begin): When nr_rows is zero, set suppress_header else,
output the start of the header.
(mi_table_body): Clear suppress header.
Alan Modra [Thu, 21 Jun 2001 06:12:11 +0000 (06:12 +0000)]
* config/tc-hppa.c (CHECK_FIELD_WHERE): Define.
(md_apply_fix): Use it here. Replace printf with equivalent
as_bad_where.
(tc_gen_reloc): Use as_bad_where instead of as_bad.
(md_apply_fix): Here too.
* config/tc-i386.c (tc_gen_reloc): Use as_bad_where instead of as_bad.
* config/tc-m68k.c (tc_gen_reloc): Likewise.
(md_convert_frag_1): Likewise.
Alan Modra [Thu, 21 Jun 2001 05:47:12 +0000 (05:47 +0000)]
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always
allocate local .got space. Use shortcuts from hash table for .got
and .plt rather than comparing section names.
(elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
adjusting index into local_got_refcounts to document what we are
really doing.
(elf32_hppa_relocate_section): Similarly for local_plt_offsets.
Tidy .got and .plt error checking.
* bfdint.texi (BFD relocation functions) <different formats>:
Mention that the GNU linker is aware of input-output format
restrictions when generating relocatable output. Make new
paragraph for final-link case.
(BFD target vector swap): Fix typo.
Catherine Moore [Wed, 20 Jun 2001 20:34:10 +0000 (20:34 +0000)]
* elf-bfd.h (struct elf_backend_data):
elf_backend_emit_relocs: New field: Function for emitting
relocs.
elf_backend_count_relocs: New field: Function for determining
the number of relocs to be emitted.
* elfxx-target.h: Provide default (NULL) values for
elf_backend_emit_relocs and elf_backend_count_relocs.
* elflink.h (elf_link_size_reloc_section): Make the hash table
big enough to hold the relocs counted by either reloc_count or
o->reloc_count.
(elf_bfd_final_link) emit_relocs: New boolean, set if relocs
should be emitted, either because of a command line option
stored in the info structure or because the target provides a
special reloc emitting function.
If the target provides a reloc counting function use it,
unless performing a relocatable link or emitting all relocs.
Also set the SEC_RELOC flag on any output section which will
contain relocs.
(elf_link_input_bfd): emit_relocs: New boolean, set if relocs
should be emitted, either because of a command line option
stored in the info structure or because the target provides a
special reloc emitting function.
If the target provides a reloc emitting function, use it,
unless performing a relocatable link or emitting all relocs.
Andrew Cagney [Tue, 19 Jun 2001 20:30:11 +0000 (20:30 +0000)]
* cli-out.c: Include "gdb_assert.h'.
(struct ui_out_data): Add field ``suppress_output.
(cli_table_begin): When NR_ROWS is zero, suppress_output.
(cli_table_end): Clear suppress_output.
(cli_table_body): Check suppress_output.
(cli_table_header, cli_begin): Ditto.
(cli_end, cli_field_int, cli_field_skip): Ditto.
(cli_field_string, cli_field_fmt, cli_spaces): Ditto.
(cli_text, cli_message, cli_wrap_hint): Ditto.
* breakpoint.c (breakpoint_1): Close the ui_out table before
printing the breakpoint not found message.