Jim Blandy [Thu, 29 Aug 2002 22:36:52 +0000 (22:36 +0000)]
* gdb.threads/pthreads.exp: Move the portable thread compilation
code into a function in lib/gdb.exp, and call that from here.
* lib/gdb.exp (gdb_compile_pthreads): New function.
* linux-low.c (linux_create_inferior): Call setpgid. Return
the new PID.
(unstopped_p, linux_signal_pid): Remove.
(linux_target_ops): Remove linux_signal_pid.
* remote-utils.c (putpkt, input_interrupt): Use signal_pid
global instead of target method.
* target.h (struct target_ops): Remove signal_pid. Update comment
for create_inferior.
* server.c (signal_pid): New variable.
(create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in
gdbserver. Set the child to be the foreground process group.
(attach_inferior): Set signal_pid.
Nick Clifton [Thu, 29 Aug 2002 16:59:20 +0000 (16:59 +0000)]
Makefile.in: Add gen-zero-r0 option.
sim-main.h (GPR_SET, GPR_CLEAR): Define.
simops.c (OP_24007E0): Sign extend the imm9 operand of a mul instruction.
Stephane Carrez [Wed, 28 Aug 2002 20:33:27 +0000 (20:33 +0000)]
* tui.c (tuiGetLowDisassemblyAddress): Moved from here.
* tuiDisassem.c (tuiGetLowDisassemblyAddress): To here, and use
tui_find_disassembly_address to find the starting address of
disassemble window.
Stephane Carrez [Tue, 27 Aug 2002 21:59:49 +0000 (21:59 +0000)]
* tuiDisassem.c (tui_disassemble): New function to disassemble
several lines in a buffer.
(tui_find_disassembly_address): New function to search backward
or forward a disassembly line.
(tuiSetDisassemContent): Use tui_disassemble to obtain the real
content and format it in the window.
(tuiShowDisassemAndUpdateSource): Remove unused locals.
(tuiVerticalDisassemScroll): Use tui_find_disassembly_address to
obtain the address to disassemble for the scrolling.
* tuiDisassem.h (tuiGetBeginAsmAddress): Update.
* tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Don't pass symtab.
Michael Snyder [Tue, 27 Aug 2002 01:09:09 +0000 (01:09 +0000)]
2002-08-26 Joel Brobecker <brobecker@gnat.com>
* cli/cli-script.c (copy_command_lines): New function.
* defs.h (copy_command_lines): Export.
* testsuite/gdb.base/commands.exp: New tests for commands
attached to a temporary breakpoint, and for commands that
delete the breakpoint they are attached to.
2002-08-26 Michael Snyder <msnyder@redhat.com>
* breakpoint.c (bpstat_stop_status): Instead of copying the
pointer to the breakpoint commands struct, make a new copy
of the struct and point to that.
(bpstat_clear): Free the commands struct.
(bpstat_clear_actions): Free the commands struct.
(bpstat_do_actions): Free the command actions. Also execute
the local cleanups, instead of deleting them.
(delete_breakpoint): Leave the commands field of the bpstat
chain alone -- it will be freed later.
Mark Kettenis [Mon, 26 Aug 2002 18:35:25 +0000 (18:35 +0000)]
* i386-tdep.c (i386_store_return_value): Undeprecate. Convert to
use regcache_* functions.
(i386_gdbarch_init): Set store_return_value instead of
deprecated_store_return_value.
Alan Modra [Mon, 26 Aug 2002 10:14:15 +0000 (10:14 +0000)]
* nm.c (display_rel_file): Don't report "no symbols" as an error.
* objdump.c (slurp_symtab): Likewise.
(slurp_dynamic_symtab): Likewise.
(dump_symbols): Likewise. Do print "no symbols" to stdout.
* regcache.c (register_offset_hack): New function.
(regcache_cooked_read_using_offset_hack): New function.
(regcache_cooked_write_using_offset_hack): New function.
(regcache_dump): Check that the registers, according to their
offset, are packed hard against each other.
(cooked_xfer_using_offset_hack): New function.
Stephane Carrez [Sun, 25 Aug 2002 17:13:29 +0000 (17:13 +0000)]
* tuiStack.c (tuiSetLocatorContent): Remove.
(tuiUpdateLocatorInfoFromFrame): Remove.
(tui_set_locator_info): Allocate the content buffer if necessary.
(tui_set_locator_filename): Call tui_set_locator_info directly.
(tuiShowFrameInfo): Likewise and use find_pc_line instead of
find_pc_symtab.
* regcache.c (struct regcache_descr): Add field register_type.
(init_legacy_regcache_descr): Pass a pre-allocated regcache_descr
in as a parameter
(init_regcache_descr): Initialize register_type. Pass the descr
to init_legacy_regcache_descr. Use register_type instead of
REGISTER_VIRTUAL_TYPE.
(register_type): New function.
(regcache_dump): Replace REGISTER_VIRTUAL_TYPE with register_type.
* regcache.h (register_type): Declare.
* rs6000-tdep.c (rs6000_gdbarch_init): Set store_struct_return
instead of deprecated_store_return_value. Fix fallout from
2002-08-23 Andrew Cagney <cagney@redhat.com>.
* regcache.c (max_register_size): New function.
(init_legacy_regcache_descr): Ensure that max_register_size is
large enough for REGISTER_VIRTUAL_SIZE.
* regcache.h (max_register_size): Declare.
* Makefile.in (clean): Move to end of file.
(distclean, maintainer-clean, realclean): Ditto.
(mostlyclean): Move rule to end of file. Use GDB_TEX_TMPS,
GDBINT_TEX_TMPS, STABS_TEX_TMPS.
(gdb.dvi, gdb.pdf): Do not cleanup TeX temp files after texi2dvi.
(gdbint.dvi, gdbint.pdf, stabs.dvi, stabs.pdf): Ditto.
* rs6000-tdep.c (rs6000_gdbarch_init): Use deprecated version of
store_return_value.
(e500_extract_return_value): Change type of valbuf pointer to
void.
Stephane Carrez [Sun, 25 Aug 2002 13:13:20 +0000 (13:13 +0000)]
* tuiSourceWin.c (tuiDisplayMainFunction): Update to use
tuiUpdateLocatorFilename.
* tuiStack.c (tuiSetLocatorInfo): Make it static.
(tuiSetLocatorContent): Likewise.
(tuiUpdateLocatorInfoFromFrame): Likewise.
(tuiSwitchFilename): Remove.
(tui_set_locator_filename): New function
(tui_set_locator_info): Rename from tuiSetLocatorInfo to GNU-ify;
use tui_set_locator_filename to record the filename.
(tuiUpdateLocatorFilename): Likewise.
(tuiUpdateLocatorInfoFromFrame): Update.
(tuiSetLocatorContent): Likewise.
* tuiStack.h (tuiClearLocatorContent): Don't declare.
(tuiSetLocatorInfo, tuiSetLocatorContent): Likewise.
(tuiUpdateLocatorInfoFromFrame, tuiSwitchFilename): Likewise.
Stephane Carrez [Sun, 25 Aug 2002 11:00:46 +0000 (11:00 +0000)]
* tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint
comparison; cleanup.
* tuiSource.c (tuiSetSourceContent): Set window title and filename.
* tuiGeneralWin.c (boxWin): Print optional title on top of window.
* tuiData.h (TuiSourceInfo): Add filename member.
(TuiGenWinInfo): Add title member.
* tuiData.c (initGenericPart): Clear title.
(freeWindow): Free title and filename; remove unused locals.
(initWinInfo): Clear filename.
(tuiDelWindow): Free it; remove unused locals.
Stephane Carrez [Sun, 25 Aug 2002 09:53:27 +0000 (09:53 +0000)]
* tuiStack.h (tuiClearLocatorDisplay): Don't declare.
* tuiStack.c (tuiClearLocatorDisplay): Remove.
(tuiShowLocatorContent): Use wclrtoeol to clear end of status line.
(tuiUpdateLocatorDisplay): Don't call tuiClearLocatorDisplay.
Stephane Carrez [Sun, 25 Aug 2002 09:40:32 +0000 (09:40 +0000)]
* tuiStack.c (tui_get_function_from_frame): Rename from
_getFuncNameFromFrame; use print_address_symbolic to get symbolic
name of address.
(tuiUpdateLocatorInfoFromFrame): Update.
Stephane Carrez [Sat, 24 Aug 2002 17:04:33 +0000 (17:04 +0000)]
* tui.c (strcat_to_buf): Use const char* for source item.
(tui_enable): Update the windows if there is a selected frame.
* tui.h (strcat_to_buf): Update prototype.
(strcat_to_buf_with_fmt): Remove.
Stephane Carrez [Sat, 24 Aug 2002 16:43:08 +0000 (16:43 +0000)]
* tuiWin.c (tui_update_gdb_sizes): New function to tell gdb what
is the size of command window.
(tuiResizeAll): Call it instead of init_page_info.
* tui.c (tui_enable): Call it to resize to TUI command window.
(tui_disable): Likewise for plain screen.
Stephane Carrez [Sat, 24 Aug 2002 15:25:25 +0000 (15:25 +0000)]
* tui.c (tui_enable): Use tuiSetLayout instead of showLayout and
use tuiShowFrameInfo instead of tuiSetLocatorContent.
* tuiLayout.h (showLayout): Remove.
* tuiLayout.c (_showSourceOrDisassemAndCommand): Remove unused locals.
(_showSourceDisassemCommand): Likewise.
(showLayout): Make it static.
(lastLayout): Remove.
Alan Modra [Sat, 24 Aug 2002 01:44:56 +0000 (01:44 +0000)]
* elf32-sh.c (sh_elf_copy_indirect_symbol): New.
(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
Likewise.
(struct elf_sh_pcrel_relocs_copied): Removed.
(struct elf_sh_dyn_relocs): New.
(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
field with dyn_relocs.
(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
sections and sym_sec.
(sh_elf_link_hash_newfunc): Clear dyn_relocs.
(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
(sh_elf_create_dynamic_sections): Use create_got_section instead
of _bfd_elf_create_got_section.
(sh_elf_check_relocs): Likewise.
(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
sections.
(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
sh_elf_relocate_section, sh_elf_check_relocs,
sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
Likewise.
(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
dynamic relocations and avoiding the copy relocation when we
didn't find any dynamic relocations in the section which has
contents or is read-only.
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
(sh_elf_size_dynamic_sections): Don't reset the size of
.rela.got section even if dynamic_sections_created flag is off.
Don't use sh_elf_discard_copies. Scan all input bfd and use
allocate_dynrelocs. Call readonly_dynrelocs to determine
whether we need DT_TEXTREL.
(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
whether the symbol was never referred to.
(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
(sh_elf_gc_sweep_hook): Fill with the real sweep function.
(sh_elf_check_relocs): Call create_got_section if the short-cut
to .got is null. Increment reference counters only instead of
allocating space on dynamic sections here. Don't conditionalize
uninitialized got.offset value when marking the symbol as a
global offset table entry. Keep relocations for symbols satisfied
by a dynamic library to avoid copy relocations for the symbol.
Set dynobj field of an elf hash table if needed.
(sh_elf_finish_dynamic_sections): Handle null section pointer
correctly.
(elf_backend_copy_indirect_symbol): Defined.
(elf_backend_can_refcount): Defined.
Mark Kettenis [Sat, 24 Aug 2002 00:40:59 +0000 (00:40 +0000)]
* valprint.c (print_longest) [CC_HAS_LONG_LONG &&
PRINTF_HAS_LONG_LONG]: Cast val_long to (long long) or (unsigned
long long) to prevent compiler warning on 64-bit systems.