Jan Kratochvil [Mon, 6 Sep 2010 13:59:03 +0000 (13:59 +0000)]
gdb/
* corelow.c (core_open): Use target_signal_from_host if CORE_GDBARCH
is NULL.
* fork-child.c (startup_inferior) <resume_signal>: Use enum
target_signal type.
* linux-nat.c (linux_nat_resume): Use target_signal_to_host before
calling strsignal. Use enum target_signal type for saved_signo.
(linux_handle_extended_wait) <signo>: Use enum target_signal type.
(linux_nat_wait_1): Use enum target_signal type for signo. Use
target_signal_to_host before calling strsignal.
* remote-m32r-sdi.c (m32r_wait, m32r_detach): Replace 0 by
TARGET_SIGNAL_0.
gdb/gdbserver/
* target.c (mywait) <TARGET_WAITKIND_EXITED>: Fix to use INTEGER.
* breakpoint.c (can_use_hardware_watchpoint): Handle the first
value specially.
testsuite/
* gdb.base/watchpoint.exp: Call test_inaccessible_watchpoint
before disabling hardware watchpoints.
(test_inaccessible_watchpoint): Check that hardware watchpoints
are used. Test for watchpoints on a constant address.
Jan Kratochvil [Fri, 3 Sep 2010 15:42:04 +0000 (15:42 +0000)]
gdb/
* breakpoint.c (save_breakpoints): Use RETURN_MASK_ALL.
* cli-out.c: Include vec.h.
(cli_field_fmt, cli_spaces, cli_text, cli_message, cli_flush): New
variable stream, initialize it, use it.
(cli_redirect): New function comment. Replace the stream and
original_stream fields by the new streams field. Remove the
original_stream != NULL conditional, assert error on NULL instead.
(out_field_fmt, field_separator): New variable stream, initialize it, use it.
(cli_out_data_ctor): Assert non-NULL stream. Replace the stream and
original_stream fields by the new streams field.
(cli_out_set_stream): Replace the stream field by the new streams
field.
* cli-out.h: Include vec.h.
(ui_filep): New typedef, call DEF_VEC_P for it.
(struct cli_ui_out_data): Replace the stream and original_stream
fields by the new streams field.
* cli/cli-logging.c (set_logging_redirect): Call ui_out_redirect with
NULL first. Extend the comment.
(handle_redirections): Call ui_out_redirect with output.
* python/py-breakpoint.c (bppy_get_commands): Move ui_out_redirect
calls outside of the TRY_CATCH block.
gdb/testsuite/
* gdb.base/ui-redirect.exp: New file.
* gas/cfi/cfi-i386.d: Use objdump -Wf instead of readelf.
* gas/cfi/cfi-i386.s: Remove .type directives.
* gas/cfi/reloc-pe-i386.d: Adjust test for i386.
Joel Brobecker [Thu, 2 Sep 2010 22:52:06 +0000 (22:52 +0000)]
Back out the change introducing the "record pic" feature.
gdb/ChangeLog:
Back out the following change:
| 2010-06-29 Hui Zhu <teawater@gmail.com>
| * record.c (set_record_pic_cmdlist,
| show_record_pic_cmdlist): New variables.
| (set_record_pic_command,
| show_record_pic_command): New functions.
| (record_pic_function, record_pic_line, record_pic_enum,
| set_record_pic_type, record_pic_hide_nofunction,
| record_pic_hide_nosource, record_pic_hide_same): New variables.
| (record_pic_fputs): New function.
| (function_list, node_list, edge_list): New struct.
| (function_list, node_list, edge_list): New variables.
| (record_pic_cleanups, record_pic_node,
| record_pic_edge, cmd_record_pic): New functions.
| (_initialize_record): Add new commands for record pic.
* dw2gencfi.c (TC_DWARF2_EMIT_OFFSET): Provide default.
(output_fde): Use it. Make sure to fully init exp before using it.
testsuite/
* gas/cfi/cfi-common-1.d: Use objdump instead of readelf to dump.
* gas/cfi/cfi-common-2.d, gas/cfi/cfi-common-3.d,
gas/cfi/cfi-common-4.d, gas/cfi/cfi-common-6.d,
gas/cfi/cfi-common-7.d, gas/cfi/cfi-x86_64.d: Likewise.
* gas/cfi/cfi-x86_64.s: Remove .type directives.
* gas/cfi/cfi.exp: Run for pecoff objects too.
* gas/cfi/reloc-pe-i386.d, gas/cfi/reloc-pe-i386.s: New test.
* dwarf.c (init_dwarf_regnames_i386, init_dwarf_regnames_x86_64): New.
(init_dwarf_regnames): Use them.
* dwarf.h: Declare them.
* objdump.c (dump_dwarf): Use bfd_get_arch + bfd_get_mach to set up
the regnames, rather than using elf_machine_code.
Jan Kratochvil [Thu, 2 Sep 2010 15:42:03 +0000 (15:42 +0000)]
gdb/
* cli-logging.c: Include gdb_assert.h.
(set_logging_overwrite): New function.
(logging_redirect): New comment.
(logging_no_redirect_file, set_logging_redirect)
(pop_output_files) <logging_no_redirect_file>: New.
(handle_redirections) <!logging_redirect>: New variable
no_redirect_file. Remove file autoclose for tee_file_new. No longer
discard cleanup for the close of former OUTPUT. Set
LOGGING_NO_REDIRECT_FILE.
(handle_redirections) <logging_redirect>: gdb_assert
LOGGING_NO_REDIRECT_FILE.
(show_logging_command) <logging_redirect handling>: Adjust messages
for SAVED_FILENAME not NULL.
(_initialize_cli_logging): Install set_logging_overwrite and
set_logging_redirect.
Jan Kratochvil [Thu, 2 Sep 2010 13:58:06 +0000 (13:58 +0000)]
gdb/
* Makefile.in (GDB_WARN_CFLAGS_NO_FORMAT): Convert it to the no- form.
(monitor.o): Replace $(INTERNAL_WARN_CFLAGS) by $(INTERNAL_CFLAGS) and
add $(GDB_WARN_CFLAGS_NO_FORMAT).
(printcmd.o): Replace $(INTERNAL_CFLAGS_BASE) by $(INTERNAL_CFLAGS).
Joel Brobecker [Wed, 1 Sep 2010 18:57:12 +0000 (18:57 +0000)]
gdbserver support for powerpc-lynxos (4.x)
This patch adds support for powerpc-lynxos.
gdbserver/ChangeLog:
* gdbserver/lynx-low.c, gdbserver/lynx-low.h,
gdbserver/lynx-ppc-low.c: New files.
* Makefile.in (lynx_low_h): New variable.
(lynx-low.o, lynx-ppc-low.o): New rules.
* configure.ac: On LynxOS, link with -lnetinet.
* configure.srv: Add handling of powerpc-*-lynxos* targets.
* configure: regenerate.
Joel Brobecker [Wed, 1 Sep 2010 18:56:45 +0000 (18:56 +0000)]
Import vsnprintf from libiberty if not available.
vasprintf and vsnprintf are not available on LynxOS, at least not on
version 4.0.0. This patch updates the configury to import them from
libiberty if not available out of the box.
gdbserver/
* Makefile.in (vasprintf.o, vsnprintf.o): New rules.
* configure.ac: Add check for vasprintf and vsnprintf.
* configure, config.in: Regenerate.
* server.h (vasprintf, vsnprintf): Add conditional declarations.
Joel Brobecker [Wed, 1 Sep 2010 18:56:35 +0000 (18:56 +0000)]
Generate regformats/rs6000/powerpc-32.dat
I will need this description for the ppc-lynxos debugger where, AFAICT,
we only have access to the core GP and FP registers. So this adds
powerpc-32 to the list of targets for which a .dat file needs to be
generated.
2010-04-30 Joel Brobecker <brobecker@adacore.com>
* features/Makefile (WHICH): Add rs6000/powerpc-32.
(powerpc-32.o, powerpc-32.c): New rules.
(clean): Also remove powerpc-32.c.
* regformats/rs6000/powerpc-32.dat: Generate.
This patch moves all includes of malloc.h, which were introduced
purely to get access to alloca's declaration, to server.h, next
to the include of alloca.h.
There is one exception: gdbreplay.c, which does not include server.h.
In this case, the include of alloca.h was simply moved up a bit, next
to the include of malloc.h.
gdb/gdbserver/ChangeLog:
* gdbreplay.c: Move include of alloca.h up, next to include of
malloc.h.
* server.h: Add include of malloc.h.
* mem-break.c: Remove include of malloc.h.
* server.c, tracepoint.c, utils.c, win32-low.c: Likewise.
Nick Clifton [Wed, 1 Sep 2010 08:05:16 +0000 (08:05 +0000)]
* ld-scripts/section-match.exp: New file. Runs ths
section-match-1 test.
* ld-scripts/section-match-1.d: New file.
* ld-scripts/section-match-1.s: New file.
* ld-scripts/section-match-1.t: New file.
This reproduces the same approach as in GDB to allow us to build
specific files without -Werror.
gdb/gdbserver/ChangeLog:
* Makefile.in (INTERNAL_CFLAGS_BASE): New variable. Extracted
from INTERNAL_CFLAGS.
(INTERNAL_WARN_CFLAGS): New variable.
(INTERNAL_CFLAGS): Adjust, using INTERNAL_WARN_CFLAGS.
On LynxOS, alloca is defined in allocal.h. This fixes one warning that
occurs when building GDBserver for LynxOS.
gdb/gdbserver/ChangeLog:
* configure.ac: Add configure check for alloca.
* configure, config.in: Regenerate.
* server.h: Include alloca.h if it exists.
* gdbreplay.c: Include alloca.h if it exists.
* gas/i386/x86-64-opcode.s: Add a "pushw imm16" test.
opcodes/
2010-08-31 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/11960
* i386-dis.c (sIv): New.
(dis386): Replace Iq with sIv on "pushT".
(reg_table): Replace T with {T|} on callT, JcallT, jmpT and JjmpT.
(x86_64_table): Replace {T|}/{P|} with P.
(putop): Add 'w' to 'T'/'P' if needed for Intel syntax.
(OP_sI): Update v_mode. Remove w_mode.
Sami Wagiaalla [Tue, 31 Aug 2010 20:10:42 +0000 (20:10 +0000)]
Create and use a specialized bcache type for psymbols
2010-08-31 Sami Wagiaalla <swagiaal@redhat.com>
* symfile.c (reread_symbols): Use psymbol_bcache_free, and
psymbol_bcache_init.
* psymtab.h (psymbol_bcache_init): New function prototype.
(psymbol_bcache_free): New function prototype.
(psymbol_bcache_get_bcache): New function prototype.
* psymtab.c (psymbol_bcache_init): New function.
(psymbol_bcache_free): New function.
(psymbol_bcache_full): New function.
(psymbol_bcache_get_bcache): New function.
(add_psymbol_to_bcache): use psymbol_bcache_full.
* objfiles.h (psymbol_cache): Change type of psymbol_cache to
psymbol_bcache.
* symmisc.c (print_symbol_bcache_statistics): Updated.
(print_objfile_statistics): Updated.
* objfiles.c (allocate_objfile): Use psymbol_bcache_init to initialize
psymbol_cache.
(free_objfile): Use psymbol_bcache_free.
Jan Kratochvil [Tue, 31 Aug 2010 18:11:48 +0000 (18:11 +0000)]
gdb/
Make linux_get_siginfo_type `type *' unique.
* linux-tdep.c (linux_gdbarch_data_handle, struct linux_gdbarch_data)
(init_linux_gdbarch_data, get_linux_gdbarch_data): New.
(linux_get_siginfo_type): New variable linux_gdbarch_data. Initialize
it. Use linux_gdbarch_data->siginfo_type as a persistent storage.
(_initialize_linux_tdep): New.
Sami Wagiaalla [Tue, 31 Aug 2010 17:26:08 +0000 (17:26 +0000)]
Enable custom bcache hash function.
2010-08-25 Sami Wagiaalla <swagiaal@redhat.com>
* psymtab.c (add_psymbol_to_bcache): Remove 'static' from
'static partial_symbol psymbol'.
(psymbol_hash): New function.
(psymbol_compare): New function.
* bcache.c (hash_continue): New.
(hash): Use hash_continue.
* bcache.c: Add hash_function and compare_function
pointers to bcache struct.
(bcache_full): Use bcache->hash_function, and
bcache->compare_function.
(bcache_compare): New function.
(bcache_xmalloc): Take hash_function and
compare_function arguments and initialize the
bcach's pointers.
Updated comment.
* objfiles.c (allocate_objfile): Updated.
* symfile.c (reread_symbols): Updated.
* python/py-type.c (typy_richcompare): Updated.
* gdb.cp/cpexprs.exp (test_breakpoint): Continue to test_function
instead of running to main. Do not test the main function.
* gdb/testsuite/gdb.cp/cpexprs.cc (main): Rename to test_function.
Add new main.
Yao Qi [Mon, 30 Aug 2010 15:26:28 +0000 (15:26 +0000)]
2010-08-30 Yao Qi <yao@codesourcery.com>
* arm-linux-tdep.c (arm_linux_sigreturn_return_addr): New.
(arm_linux_syscall_next_pc): New.
(arm_linux_copy_svc): Use arm_linux_sigreturn_return_addr instead.
(arm_linux_init_abi): Initialize syscall_next_pc.
* arm-tdep.c (thumb_get_next_pc_raw): Get next pc of SWI in Thumb mode.
(arm_get_next_pc_raw): Get next pc of SWI in ARM mode.
* arm-tdep.h (struct gdbarch_tdep): Add a function pointer syscall_next_pc.
Declare arm_frame_is_thumb.
Alan Modra [Mon, 30 Aug 2010 06:01:22 +0000 (06:01 +0000)]
PR binutils/11953
* elf.c (copy_elf_program_header): Calculate map->header_size
from lowest_section, not first_section. Validate program
header p_paddr against section lma. Find lowest_section in
second loop over headers.
Pedro Alves [Sat, 28 Aug 2010 14:51:29 +0000 (14:51 +0000)]
* linux-low.c (__SIGRTMIN): Define if not already defined.
(linux_create_inferior): Check for __ANDROID__ rather than
__SIGRTMIN.
(enqueue_one_deferred_signal): Don't requeue non-RT signals that
are already deferred.
(linux_wait_1): Check for __ANDROID__ rather than __SIGRTMIN.
(linux_resume_one_thread): Don't queue a SIGSTOP if the lwp is
stopped and already has a pending signal to report.
(proceed_one_lwp): : Don't queue a SIGSTOP if the lwp already has
a pending signal to report or is moving out of a jump pad.
(linux_init_signals): Check for __ANDROID__ rather than
__SIGRTMIN.
Doug Kwan [Sat, 28 Aug 2010 08:05:04 +0000 (08:05 +0000)]
2010-08-27 Doug Kwan <dougkwan@google.com>
* gold/resolve.cc (Symbol_table::should_override): Let a weak
reference override an existing dynamic weak reference.
* testsuite/Makefile.am: Add new test dyn_weak_ref.
* testsuite/Makefile.in: Regenerate.
* testsuite/dyn_weak_ref.sh: New file.
* testsuite/dyn_weak_ref_1.c: Ditto.
* testsuite/dyn_weak_ref_2.c: Ditto.
Pedro Alves [Fri, 27 Aug 2010 16:02:49 +0000 (16:02 +0000)]
* event-loop.c (event_handle_func): Adjust to use gdb_fildes_t.
(struct gdb_event) <fd>: Change type to gdb_fildes_t.
(struct file_handler) <fd>: Change type to gdb_fildes_t.
(process_event): Change local fd's type to gdb_fildes_t.
(create_file_handler): Adjust prototype.
(delete_file_handler): Adjust prototype.
(handle_file_event): Adjust prototype. Use pfildes.
(create_file_event): Adjsut prototype.
* remote-utils.c (remote_desc, listen_desc): Change type to
gdb_fildes_t.
* server.h: New gdb_fildes_t typedef.
[USE_WIN32API]: Include winsock2.h.
(delete_file_handler, add_file_handler): Adjust prototypes.
(pfildes): Declare.
* utils.c (pfildes): New.