Mark Kettenis [Tue, 20 Apr 2010 19:39:50 +0000 (19:39 +0000)]
* i386-linux-tdep.c (i386_linux_regset_sections): Size of the
general-purpose register set should be 68 instead of 144.
(i386_linux_sse_regset_sections): Likewise.
(i386_linux_avx_regset_sections): Likewise.
Stan Shebs [Tue, 20 Apr 2010 18:52:59 +0000 (18:52 +0000)]
2010-04-20 Stan Shebs <stan@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
* dwarf2loc.c (struct axs_var_loc): New struct.
(dwarf2_tracepoint_var_loc): New function.
(dwarf2_tracepoint_var_access): New function.
(dwarf2_tracepoint_var_ref): Use dwarf2_tracepoint_var_loc, deal
with DW_OP_piece.
(locexpr_describe_location_piece): New function.
(locexpr_describe_location_1): New function.
(locexpr_describe_location): Call it, update signature.
(loclist_describe_location): Rewrite to loop over locations,
update signature.
* symtab.h (struct symbol_computed_ops): Add address to
describe_location arguments, return void.
* printcmd.c (address_info): Get context PC, pass to computed
location description.
* tracepoint.c (scope_info): Ditto.
* ax-gdb.c (trace_kludge): Export.
Tom Tromey [Tue, 20 Apr 2010 17:33:14 +0000 (17:33 +0000)]
* dwarf2-frame.c (decode_frame_entry_1): Handle CIE version 4.
(struct dwarf2_cie) <segment_size>: New field.
* dwarf2read.c (partial_read_comp_unit_head): Accept DWARF 4.
(skip_one_die): Handle DW_FORM_flag_present, DW_FORM_sec_offset,
DW_FORM_exprloc.
(read_attribute_value): Handle DW_FORM_flag_present,
DW_FORM_sec_offset, DW_FORM_exprloc.
(dump_die_shallow): Likewise.
(attr_form_is_section_offset): Handle DW_FORM_sec_offset.
(dwarf2_const_value): Handle DW_FORM_exprloc.
(attr_form_is_block): Likewise.
(struct line_header) <maximum_ops_per_instruction>: New field.
(dwarf_decode_line_header): Set new field.
(dwarf_decode_lines): Handle new field.
Sergio Durigan Junior [Tue, 20 Apr 2010 17:22:19 +0000 (17:22 +0000)]
gdb/ChangeLog:
2010-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
* f-exp.y: Add new production to recognize the `logical*8' type.
(LOGICAL_S8_KEYWORD): New token.
* f-lang.c (enum f_primitive_types)
<f_primitive_type_logical_s8>: New field.
(f_language_arch_info): Handling `logical*8' type.
(build_fortran_types): Building `logical*8' type.
* f-lang.h (struct builtin_f_type) <builtin_logical_s8>: New field.
gdb/testsuite/ChangeLog:
2010-04-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.fortran/logical.exp: New testcase.
* gdb.fortran/logical.f90: New file.
Nick Clifton [Tue, 20 Apr 2010 15:54:48 +0000 (15:54 +0000)]
PR gas/11507
* macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
altmacro mode if found inside a quoted string.
* gas/macros/altmacro.s: New test.
* gas/macros/altmacro.d: Expected output.
Pierre Muller [Tue, 20 Apr 2010 09:58:42 +0000 (09:58 +0000)]
* win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
be consistent with other sources of this directory.
(init_registers_amd64): Correct name of source file of this function
in the comment.
Jakub Jelinek [Tue, 20 Apr 2010 09:53:05 +0000 (09:53 +0000)]
* dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.
Nick Clifton [Tue, 20 Apr 2010 09:28:15 +0000 (09:28 +0000)]
Updated French translation.
Nick Clifton [Tue, 20 Apr 2010 08:21:54 +0000 (08:21 +0000)]
* readelf.c: Add _() macros to constant strings that are
translatable.
Mike Frysinger [Tue, 20 Apr 2010 07:10:31 +0000 (07:10 +0000)]
gas: bfin: replace index() with strchr()
Doug Evans [Tue, 20 Apr 2010 06:06:38 +0000 (06:06 +0000)]
(generic_readchar): Tweak previous checkin, close error_fd if EOF.
Doug Evans [Tue, 20 Apr 2010 05:52:07 +0000 (05:52 +0000)]
* ser-base.c (generic_readchar): Watch for EOF in read of error_fd.
* ser-pipe.c (pipe_open): Fix file descriptor leaks.
(pipe_close): Ditto.
Doug Evans [Tue, 20 Apr 2010 05:36:02 +0000 (05:36 +0000)]
* gdb.base/help.exp (help source): Update expected output.
Pierre Muller [Tue, 20 Apr 2010 00:21:33 +0000 (00:21 +0000)]
* configure.tgt (x86_64-*-mingw*): Set BUILD_GDBSERVER to yes.
Pierre Muller [Tue, 20 Apr 2010 00:19:35 +0000 (00:19 +0000)]
* configure.srv (x86_64-*-mingw*): New configuration for Windows
64-bit executables.
Pierre Muller [Tue, 20 Apr 2010 00:17:05 +0000 (00:17 +0000)]
* win32-i386-low.c: Add 64-bit support.
(CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
(init_registers_amd64): Declare.
(mappings): Add 64-bit version of array.
(init_windows_x86): New function.
(the_low_target): Change init_arch field to init_windows_x86.
Pierre Muller [Tue, 20 Apr 2010 00:07:44 +0000 (00:07 +0000)]
* win32-low.c: Adapt to support also 64-bit architecture.
(child_xfer_memory): Use uintptr_t type for local variable `addr'.
(get_image_name): Use SIZE_T type for local variable `done'.
(psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
(toolhelp_get_dll_name): Idem.
(handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
Use uintptr_t typecast to avoid warning.
(handle_unload_dll): Use uintptr_t typecast to avoid warning.
(handle_exception): Use phex_nz to avoid warning.
(win32_wait): Remove unused local variable `process'.
Alan Modra [Tue, 20 Apr 2010 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 20 Apr 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pierre Muller [Mon, 19 Apr 2010 23:52:11 +0000 (23:52 +0000)]
* windows-tdep.c (windows_get_tlb_type): Change current_seh.handle
type to void function.
Stan Shebs [Mon, 19 Apr 2010 22:06:17 +0000 (22:06 +0000)]
2010-04-19 Stan Shebs <stan@codesourcery.com>
Vladimir Prus <vladimir@codesourcery.com>
* tracepoint.c (tfind_1): Add missing newline, report exit from
tfind mode as such.
* target.c (update_current_target): Make default
to_trace_find return -1.
Mike Frysinger [Mon, 19 Apr 2010 19:51:39 +0000 (19:51 +0000)]
gdb: objc-lang: check symbol name before accessing memory
The current ObjC logic will check both the symbol name and the target
address space when trying to locate an appropriate selector. The problem
is that first the target address space is checked before the symbol name.
This may lead to a lot of unnecessary host<->target transactions when
dealing with a non-OjbC target that does use function descriptors to
describe functions as every symbol will have its FD read just to have the
result thrown away with non-matching symbol names.
It also may lead to problems when a non-FD symbol is found that points near
the end of the address space as the target will throw up a memory_error().
One such example are symbols that are not functions, smaller than a FD,
and are the last valid location. Obviously treating it as a larger data
struct can cause memory overflows.
So to speed things up and not screw over such targets, check the symbol
name (which we already have locally) first before attempting to read the
function's descriptor. This fixes breakpoints with Blackfin Linux FDPIC
ELFs, and seems to cause no native regressions on my x86_64/Linux system.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Apr 2010 19:03:28 +0000 (19:03 +0000)]
sim: mn10300: convert to new sockser status code
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Apr 2010 18:42:00 +0000 (18:42 +0000)]
sim: add --model-info helper option
There is an architecture-info flag for listing possible arch values, but
there is on equivalent for listing possible model values. So add the
equivalent for models.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Pedro Alves [Mon, 19 Apr 2010 17:06:11 +0000 (17:06 +0000)]
* ada-lang.c (print_recreate_exception)
<ex_catch_exception_unhandled>: It's "catch exception unhandled",
not "catch unhandled".
Pierre Muller [Mon, 19 Apr 2010 14:08:05 +0000 (14:08 +0000)]
* configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
`amd64-avx.o'.
Nick Clifton [Mon, 19 Apr 2010 08:46:48 +0000 (08:46 +0000)]
* archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
arhdrpos variable.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
attribute to warned variable. Remove unused val, type and type2
variables.
Jan Kratochvil [Mon, 19 Apr 2010 03:13:07 +0000 (03:13 +0000)]
gdb/testsuite/
* gdb.base/solib-display.exp: Replace gdb_exit, gdb_start,
gdb_reinitialize_dir and gdb_load by clean_restart. Remove trailing
gdb_exit and return.
(executable): New variable.
(binfile): Use it.
Pedro Alves [Mon, 19 Apr 2010 01:08:25 +0000 (01:08 +0000)]
Fix format of previous-previous entry.
Pedro Alves [Mon, 19 Apr 2010 00:48:44 +0000 (00:48 +0000)]
PR breakpoints/8554.
Implement `save-breakpoints'.
gdb/
* breakpoint.c (save_cmdlist): New.
(breakpoint_set_cmdlist, breakpoint_show_cmdlist): Moved up close
to save_cmdlist.
(print_recreate_catch_fork): New.
(catch_fork_breakpoint_ops): Install it.
(print_recreate_catch_vfork): New.
(catch_vfork_breakpoint_ops): Install it.
(print_recreate_catch_syscall): New.
(catch_syscall_breakpoint_ops): Install it.
(print_recreate_catch_exec): New.
(catch_exec_breakpoint_ops): Install it.
(print_recreate_exception_catchpoint): New.
(gnu_v3_exception_catchpoint_ops): Install it.
(save_breakpoints): New, based on tracepoint_save_command, but
handle all breakpoint types.
(save_breakpoints_command): New.
(tracepoint_save_command): Rename to...
(save_tracepoints_command): ... this, and reimplement using
save_breakpoints.
(save_command): New.
(_initialize_breakpoints): Install the "save" command prefix.
Install the "save breakpoints" command. Make "save-tracepoints" a
deprecated alias for "save tracepoints".
* breakpoint.h (struct breakpoint_ops): New field `print_recreate'.
* ada-lang.c (print_recreate_exception): New.
(print_recreate_catch_exception): New.
(catch_exception_breakpoint_ops): Install it.
(print_recreate_catch_exception_unhandled): New.
(catch_exception_unhandled_breakpoint_ops): Install it.
(print_recreate_catch_assert): New.
(catch_assert_breakpoint_ops): Install it.
* NEWS: Mention the new `save breakpoints' command. Mention the
new `save tracepoints' alias and that `save-tracepoints' is now
deprecated.
gdb/doc/
* gdb.texinfo (Save Breakpoints): New node.
(save-tracepoints): Rename to ...
(save tracepoints): ... this. Mention that `save-tracepoints' is
a deprecated alias to `save tracepoints'.
gdb/testsuite/
* gdb.trace/save-trace.exp: Adjust.
gdbadmin [Mon, 19 Apr 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 19 Apr 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Pedro Alves [Sun, 18 Apr 2010 00:11:55 +0000 (00:11 +0000)]
PR tui/9217
* tui/tui-out.c: Include cli-out.h.
(tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
(tui_begin, tui_end, tui_field_int, tui_field_skip)
(tui_field_string, tui_field_fmt, tui_spaces, tui_text)
(tui_message, tui_wrap_hint, tui_flush): Delete forward
declarations.
(struct ui_out_data): Rename to...
(struct tui_ui_out_data): ... this. Remove `stream' and
`suppress_output' fields, and inherit cli_ui_out_data.
(tui_out_data): New typedef.
(tui_ui_out_impl): Don't initialize fields staticaly.
(tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
(tui_begin, tui_end): Delete.
(tui_field_int): Adjust to delegate most work to the base type.
(tui_field_skip): Delete.
(tui_field_string, tui_field_fmt): Adjust comment. Adjust to
delegate most work to the base type.
(tui_spaces): Delete.
(tui_text): Adjust to delegate most work to the base type.
(tui_message): Delete.
(tui_wrap_hint): Delete.
(tui_flush): Delete.
(out_field_fmt): Delete.
(field_separator): Delete.
(tui_out_new): Adjust to initialize the base type.
(_initialize_tui_out): Initialize tui_ui_out_impl.
* cli-out.c (struct ui_out_data): Moved out to cli-out.h, renamed
cli_ui_out_data.
(cli_out_data): Adjust.
(cli_ui_out_impl): Make extern.
(cli_table_header, cli_field_int, cli_field_skip): Use
uo_field_string instead of cli_field_string.
(cli_redirect): Adjust to use cli_out_data.
(cli_out_data_ctor): New.
(cli_out_new): Use it.
* cli-out.h (struct ui_file): Remove forward declaration.
(struct cli_ui_out_data): New, moved from cli-out.c, and renamed.
(cli_ui_out_impl): Declare.
(cli_out_data_ctor): Declare.
* ui-out.c (struct ui_out) <data>: Change type to void pointer.
(uo_field_string): No longer static.
(ui_out_data): Change return type to void pointer.
(ui_out_new): Change `data' parameter type to void pointer.
* ui-out.h (struct ui_out_data): Don't forward declare.
(ui_out_data): Change return type to void pointer.
(ui_out_new): Change `data' parameter type to void pointer.
(uo_field_string): Declare.
gdbadmin [Sun, 18 Apr 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 18 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Sat, 17 Apr 2010 23:56:27 +0000 (23:56 +0000)]
* ui-file.c (tee_file_isatty): Return whether `tee->one' is a tty,
instead of always false.
Pierre Muller [Sat, 17 Apr 2010 20:43:13 +0000 (20:43 +0000)]
* configure.ac: Use `ws2_32' library for srv_mingw.
* configure: Regenerate.
* gdbreplay.c: Include winsock2.h instead of winsock.h.
* remote-utils.c: Likewise.
H.J. Lu [Sat, 17 Apr 2010 18:53:46 +0000 (18:53 +0000)]
gdb/
2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
PR corefiles/11511
* amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Support
orig_rax.
gdb/testsuite/
2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
PR corefiles/11511
* gdb.arch/system-gcore.exp: New.
* gdb.arch/gcore.c: Likewise.
Pedro Alves [Sat, 17 Apr 2010 18:42:46 +0000 (18:42 +0000)]
* breakpoint.c (watchpoints_triggered): Use
is_hardware_watchpoint.
(watchpoints_triggered): Ditto.
(bpstat_check_location): Use is_watchpoint and
is_hardware_watchpoint.
(bpstat_check_watchpoint): Use is_watchpoint and
is_hardware_watchpoint.
(bpstat_stop_status): Fix comment.
(user_settable_breakpoint): Use is_watchpoint.
(hw_watchpoint_used_count): Use is_hardware_watchpoint.
(disable_watchpoints_before_interactive_call_start): Use
is_watchpoint.
(enable_watchpoints_after_interactive_call_stop): Use
is_watchpoint.
(clear_command): Use is_watchpoint.
(do_enable_breakpoint): Use is_watchpoint.
H.J. Lu [Sat, 17 Apr 2010 14:12:31 +0000 (14:12 +0000)]
Define xmltarget_amd64_linux_no_xml only for amd64.
2010-04-17 H.J. Lu <hongjiu.lu@intel.com>
* linux-x86-low.c (xmltarget_amd64_linux_no_xml): Define only
if __x86_64__ is defined.
gdbadmin [Sat, 17 Apr 2010 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 17 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Mike Frysinger [Fri, 16 Apr 2010 22:47:42 +0000 (22:47 +0000)]
gdb: fdpic/frv: fix shared library loading
The recent change to reload_shared_libraries() broke FDPIC shared libraries as
the solib-frv.c code was implicitly relying on the initial order of calls
(first solib_addr() and then solib_create_inferior_hook()). It was
maintaining internal state via enable_break{1,2}_done to handle this.
While I could tweak these values a bit more, the original code wasn't terribly
bullet proof -- if during the initial debug you attempted to view shared
libraries, the enable2_break() code would whine about the ldso internal debug
addresses being unfetchable (and would actually attempt to read address 0x8 on
the target). So I've dropped this implicit dependency on order (i.e.
enable_break1_done) and updated the ldso poking code (i.e. enable_break2) to
silently return when the internal debug address is still set to 0. It will
remain this way until the ldso gets a chance to initialize at which point the
code will act the same as before.
While I have no way of testing the FRV, the Blackfin FDPIC code is using this
same base in a 100% copy & paste method since we implemented FDPIC the same
way as the FRV guys (I'll address this in the future). This fix was required
in order to handle shared libraries with Blackfin FDPIC properly, and I see no
reason why it wouldn't also work for FRV (since the uClibc ldso FDPIC code is
the same too and that's really what this is poking).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Kevin Buettner [Fri, 16 Apr 2010 22:46:27 +0000 (22:46 +0000)]
* m32c-tdep.c (m32c_m16c_address_to_pointer): Print warning
instead of an error if no PLT entry is found. Return a
potentially useful result.
(m32c_m16c_pointer_to_address): Add code to search for function
address when no .plt entry is found.
H.J. Lu [Fri, 16 Apr 2010 21:37:08 +0000 (21:37 +0000)]
Remove extra breack.
H.J. Lu [Fri, 16 Apr 2010 21:35:24 +0000 (21:35 +0000)]
Return bad_opcode on unknown bits in opcode.
2010-04-16 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (get_valid_dis386): Return bad_opcode on unknown
bits in opcode.
Stan Shebs [Fri, 16 Apr 2010 18:22:01 +0000 (18:22 +0000)]
2010-04-16 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (trace_variable_command): Run a cleanup.
Pierre Muller [Fri, 16 Apr 2010 16:22:15 +0000 (16:22 +0000)]
* configure: Regenerate.
Tristan Gingold [Fri, 16 Apr 2010 14:38:54 +0000 (14:38 +0000)]
2010-04-16 Andreas Schwab <schwab@redhat.com>
* vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
strict-aliasing rules.
Tristan Gingold [Fri, 16 Apr 2010 14:23:41 +0000 (14:23 +0000)]
2010-04-16 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
(_bfd_vms_get_object_record): Always assume there is a pad byte
for alignment.
* vms-lib.c: Add a few comments.
Nick Clifton [Fri, 16 Apr 2010 11:20:41 +0000 (11:20 +0000)]
PR gas/11395
* config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
matcher to accept and unconditional 32-bit add instruction.
(pa_build_unwind_subspace): Cope with error conditions not
allowing the start symbol to be set.
* gas/hppa/basic/add2.s: Add test of simple 32-bit instruction.
* gas/hppa/basic/basic.exp (do_add2): Add grep for expected
disassembly.
Pierre Muller [Fri, 16 Apr 2010 08:12:59 +0000 (08:12 +0000)]
* p-lang.c (pascal_one_char): Do not restrict C to 0..255 range.
Pierre Muller [Fri, 16 Apr 2010 07:49:37 +0000 (07:49 +0000)]
Support for Windows OS Thread Information Block.
* NEWS: Document new feature.
* remote.c (PACKET_qGetTIBAddr): New enum element.
(remote_get_tib_address): New function.
(init_remote_ops): Set to_get_tib_address field
to remote_get_tib_address.
(_initialize_remote): Add add_packet_config_cmd
for PACKET_qGetTIBAddr.
* target.c (update_current_target): Set default value for
new to_get_tib_address field.
* target.h (target_ops): New field to_get_tib_address.
(target_get_tib_address): New macro.
* windows-nat.c (thread_info): Add thread_local_base field.
(windows_add_thread): Add tlb argument of type 'void *'.
(fake_create_process): Adapt windows_add_thread call.
(get_windows_debug_event): Idem.
(windows_get_tib_address): New function.
(init_windows_ops): Set to_get_tib_address field
to remote_get_tib_address.
(_initialize_windows_nat): Replace info_w32_cmdlist
initialization by a call to init_w32_command_list.
(info_w32_command, info_w32_cmdlist): Removed from here...
to windows-tdep.c file.
* windows-tdep.h (info_w32_cmdlist): Declare.
(init_w32_command_list): New external function
declaration.
* windows-tdep.c: Add several headers.
(info_w32_cmdlist): to here, made global.
(thread_information_32): New struct.
(thread_information_64): New struct.
(TIB_NAME): New char array.
(MAX_TIB32, MAX_TIB64, FULL_TIB_SIZE): New constants.
(maint_display_all_tib): New static variable.
(windows_get_tlb_type): New function.
(tlb_value_read, tlb_value_write): New functions.
(tlb_value_funcs): New static struct.
(tlb_make_value): New function.
(display_one_tib): New function.
(display_tib): New function.
(show_maint_show_all_tib):New function.
(info_w32_command): Moved from windows-nat.c.
(init_w32_command_list): New function.
(_initialize_windows_tdep): New function.
New "maint set/show show-all-tib" command
New "$_tlb" internal variable.
gdbserver/ChangeLog entry:
* server.c (handle_query): Handle 'qGetTIBAddr' query.
* target.h (target_ops): New get_tib_address field.
* win32-low.h (win32_thread_info): Add thread_local_base field.
* win32-low.c (child_add_thread): Add tlb argument.
Set thread_local_base field to TLB.
(get_child_debug_event): Adapt to child_add_thread change.
(win32_get_tib_address): New function.
(win32_target_ops): Set get_tib_address field to
win32_get_tib_address.
* linux-low.c (linux_target_ops): Set get_tib_address field to NULL.
doc/ChangeLog entry:
gdb.texinfo ($_tlb): Document new automatic convinience variable.
(info w32 thread-information-block): Document new command.
(qGetTIBAddress): Document new gdbserver query.
(maint set/show show-all-tib): Document new command.
Joel Brobecker [Fri, 16 Apr 2010 04:34:31 +0000 (04:34 +0000)]
* tui/tui-regs.c (tui_display_register): Add comment about
a couple of casts.
* tui/tui-stack.c (tui_show_locator_content): Ditto.
Stan Shebs [Fri, 16 Apr 2010 01:12:07 +0000 (01:12 +0000)]
2010-04-15 Stan Shebs <stan@codesourcery.com>
* frame.c: Include tracepoint.h.
(get_current_frame): Allow a trace frame to be an alternate source
of stack frame data.
* tracepoint.c (tfind_1): Don't try to get current stack frame if
it won't succeed.
gdbadmin [Fri, 16 Apr 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 16 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Thu, 15 Apr 2010 23:46:11 +0000 (23:46 +0000)]
s/Pedro Alves/Pedro Alves/
Pedro Alves [Thu, 15 Apr 2010 23:43:40 +0000 (23:43 +0000)]
Fix date format in one entry. Fix whitespace throughout while there.
Pedro Alves [Thu, 15 Apr 2010 22:36:44 +0000 (22:36 +0000)]
Remove src/gdb/ from entry.
Pedro Alves [Thu, 15 Apr 2010 20:19:24 +0000 (20:19 +0000)]
* ppc-linux-tdep.c (bsd_uthread_solib_loaded): Always pass 0 for
flags.
* solib-spu.c (spu_solib_loaded): Always pass 0 for flags.
Doug Evans [Thu, 15 Apr 2010 19:54:13 +0000 (19:54 +0000)]
* NEWS: Add entry for python program space support.
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-progspace.o.
(SUBDIR_PYTHON_SRCS): Add py-progspace.c.
(py-progspace.o): New rule.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles): New
function.
(find_pretty_printer_from_progspace): New function.
(find_pretty_printer_from_gdb): New function.
(find_pretty_printer): Rewrite.
* python/py-progspace.c: New file.
* python/python-internal.h (program_space): Add forward decl.
(pspace_to_pspace_object, pspy_get_printers): Declare.
(gdbpy_initialize_pspace): Declare.
* python/python.c: #include "progspace.h".
(gdbpy_get_current_progspace, gdbpy_progspaces): New functions.
(_initialize_python): Call gdbpy_initialize_pspace.
(GdbMethods): Add current_progspace, progspaces.
doc/
* gdb.texinfo (Python API): Add progspaces section.
(Selecting Pretty-Printers): Progspace pretty-printers are
searched too.
(Progspaces In Python): New section.
testsuite/
* gdb.python/py-progspace.c: New file.
* gdb.python/py-progspace.exp: New file.
Doug Evans [Thu, 15 Apr 2010 17:45:57 +0000 (17:45 +0000)]
Add -s option to source command.
* NEWS: Document new option.
* cli/cli-cmds.c (find_and_open_script): Add function comment.
Delete from_tty and cleanupp args. Split filep arg into file and
full_pathp. New arg search_path.
(source_script_from_stream): New function.
(source_script_with_search): New function.
(source_script): Rewrite.
(source_command): Parse "-s" option.
(init_cli_cmds): Add "-s" docs to source command help, and reformat.
* python/python.c (source_python_script): Make file arg a const char *.
Don't call fclose, leave for caller.
* python/python.h (source_python_script): Update.
testsuite/
* gdb.base/source-test.gdb: New file.
* gdb.base/source.exp: Add tests for "source -s".
doc/
* gdb.texinfo (Command Files): Add docs for new "source -s" option.
Matthew Gretton-Dann [Thu, 15 Apr 2010 10:56:39 +0000 (10:56 +0000)]
* ld/testsuite/ld-arm/attr-merge-2.attr: Update for changes in attribute output.
* ld/testsuite/ld-arm/attr-merge-3.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4.d: Likeiwse.
* ld/testsuite/ld-arm/attr-merge-vfp-4r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44.d: Likewise.
* ld/testsuite/ld-arm/attr-merge.attr: Likewise.
* binutils/readelf.c (arm_attr_tag_FP_arch): Rename from arm_attr_tag_VFP_arch.
(arm_attr_tag_ABI_align8_needed): Remove.
(arm_attr_tag_ABI_align8_preserved): Remove.
(arm_attr_tag_ABI_HardFP_use): Update text strings.
(arm_attr_public_tags): Add strings for ABI v2.08 attribute tags.
(display_arm_attribute): Add decoding of ABI v2.08 attributes.
* include/elf/arm.h (Tag_FP_arch, Tag_ABI_align_needed, Tag_ABI_align_preserved,
Tag_FP_HP_extension): Add new ABI attribute tags.
* gas/config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
new tag names in v2.08 of ARM ABI.
* gas/doc/c-arm.texi: Document new tag names in ABI.
* gas/testsuite/gas/arm/attr-mcpu.d: Update for new attribute tag names.
* gas/testsuite/gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/testsuite/gas/arm/attr-names.d: Add test to make sure all attribute names
are recognised.
* gas/testsuite/gas/arm/attr-names.s: Likewise.
Nick Clifton [Thu, 15 Apr 2010 10:26:09 +0000 (10:26 +0000)]
Upgrade header files to use GPLv3
Alan Modra [Thu, 15 Apr 2010 02:54:02 +0000 (02:54 +0000)]
* config.bfd (vax*-*-*vms*): Delete.
Doug Kwan [Thu, 15 Apr 2010 00:42:15 +0000 (00:42 +0000)]
2010-04-14 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_output_section::fix_exidx_coverage): Mark object
for local symbol recounting if we remove a section due to ICF.
* gold.cc (queue_middle_gc_tasks): Create a dummy blocker if
there are no regular objects in input.
gdbadmin [Thu, 15 Apr 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 15 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Wed, 14 Apr 2010 23:20:27 +0000 (23:20 +0000)]
Avoid rereading shared libraries that haven't changed.
* solib.c (free_so_symbols): New function, from ...
(free_so): ... here. Call it.
(solib_read_symbols): Don't warn here if symbols have already been
loaded.
(solib_add): Warn here instead, if a pattern was specified.
(reload_shared_libraries_1): New.
(reload_shared_libraries): Rewrite to not fetch the library list.
Doug Evans [Wed, 14 Apr 2010 21:27:01 +0000 (21:27 +0000)]
fix typo in previous entry
Doug Evans [Wed, 14 Apr 2010 21:22:29 +0000 (21:22 +0000)]
* source.c (open): Strip DOS drive letter if present before
concatenating string to search path.
Doug Evans [Wed, 14 Apr 2010 21:18:27 +0000 (21:18 +0000)]
* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.
Pedro Alves [Wed, 14 Apr 2010 17:26:11 +0000 (17:26 +0000)]
* objfiles.h (gdb_bfd_close_or_warn): Declare.
* objfiles.c (gdb_bfd_close_or_warn): New.
* corelow.c: Include objfiles.h
(core_close): Use gdb_bfd_close_or_warn.
* elfread.c (build_id_verify): Ditto.
* exec.c (exec_close, exec_close_1): Ditto.
Pedro Alves [Wed, 14 Apr 2010 13:49:53 +0000 (13:49 +0000)]
Group errors for many missing shared libraries.
* solist.h (struct so_list): Remove from_tty.
* solib.c (solib_bfd_open): Return NULL if we failed to open a BFD.
(solib_map_sections): Take so_list argument. Return 0 if we
failed to open a BFD. Add target sections here.
(symbol_add_stub): Delete.
(solib_read_symbols): Inline symbol_add_stub. Use current flags,
not from_tty copied from the so_list. Don't warn a second time
for a missing library.
(update_solib_list): Don't save from_tty. Use TRY_CATCH. Do not
add to the section table here. Print out a single warning for all
missing libraries.
* bsd-uthread.c (bsd_uthread_solib_loaded): Always pass 0 for
flags.
Phil Muldoon [Wed, 14 Apr 2010 13:18:55 +0000 (13:18 +0000)]
2010-04-14 Phil Muldoon <pmuldoon@redhat.com>
* python/py-block.c (gdbpy_block_for_pc): Use i8n to encompass
error/warning messages. Capitalize and use complete sentences.
(blpy_block_syms_iternext): Likewise.
* python/py-cmd.c (parse_command_name, cmdpy_init): Likewise.
* python/py-frame.c (FRAPY_REQUIRE_VALID, frapy_block)
(frame_info_to_frame_object, frapy_read_var)
(gdbpy_frame_stop_reason_string): Likewise.
* python/py-lazy-string.c (stpy_convert_to_value)
(gdbpy_create_lazy_string_object): Likewise.
* python/py-objfile.c (objfpy_set_printers): Likewise.
* python/py-prettyprint.c (gdbpy_default_visualizer): Likewise.
* python/python.c (parameter_to_python): Likewise.
* python/py-type.c (typy_range, typy_target): Likewise.
* python/py-value.c (valpy_cast, valpy_length, valpy_getitem)
(valpy_richcompare, valpy_int, valpy_long, valpy_float): Likewise.
Phil Muldoon [Wed, 14 Apr 2010 12:02:46 +0000 (12:02 +0000)]
2010-04-14 Phil Muldoon <pmuldoon@redhat.com>
PR python/11381
* python/py-prettyprint.c (pretty_print_one_value): Test for
Py_None.
(print_string_repr): Test for Py_None. Set flags accordingly.
Return value depending on return type.
(print_children): Take a value indicating whether data was printed
before this function was called. Alter output accordingly.
(apply_val_pretty_printer): Capture return value from
print_string_repr and pass to print_children.
2010-04-14 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-prettyprint.py (NoStringContainerPrinter): New printer.
* gdb.python/py-prettyprint.c: Add justchildren struct, typedefs.
* gdb.python/py-prettyprint.exp: New test for to_string returning None.
* gdb.python/py-mi.exp: New test for to_string returning None.
2010-04-14 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Pretty Printing): Document behaviour when to_string
returns None.
Tristan Gingold [Wed, 14 Apr 2010 09:28:48 +0000 (09:28 +0000)]
2010-04-14 Tristan Gingold <gingold@adacore.com>
* configure.ac (alpha*-*-*vms*): Remove ld from noconfigdirs.
* configure: Regenerate.
Tristan Gingold [Wed, 14 Apr 2010 09:27:27 +0000 (09:27 +0000)]
2010-04-14 Tristan Gingold <gingold@adacore.com>
* emulparams/alphavms.sh: New file.
* emultempl/vms.em: New file.
* scripttempl/alphavms.sc: New file.
* configure.tgt (alpha*-*-*vms*): Added.
* Makefile.am (ALL_EMULATIONS): Add ealphavms.o
(ealphavms.c): New target.
* Makefile.in: Regenerate.
Tristan Gingold [Wed, 14 Apr 2010 09:25:34 +0000 (09:25 +0000)]
2010-04-14 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c: Includes vms/egps.h on EVAX.
(s_alpha_comm): Used new EGPS macros from egps.h
(RGPS__V_NO_SHIFT, EGPS__V_MASK): New local macros.
(s_alpha_section_word): Add comments. Use new EGPS macros.
Adjust for modified bfd_vms_set_section_flags function.
Tristan Gingold [Wed, 14 Apr 2010 09:24:59 +0000 (09:24 +0000)]
2010-04-14 Tristan Gingold <gingold@adacore.com>
* Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo,
vms-tir.lo, vms.lo and add vms-alpha.lo
(BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c,
vms-tir.c, vms.c and add vms-alpha.c
* Makefile.in: Regenerate.
* configure.in (TDEFINES): Adjust file list for vms_alpha_vec.
Remove vms_vax_vec.
* configure: Regenerate.
* targets.c (vms_vax_vec): Remove the declaration.
(_bfd_target_vector): Remove vms_vax_vec.
* vms-alpha.c: New file.
* vms-gsd.c: Removed, rewritten in vms-alpha.c
* vms-hdr.c: Ditto.
* vms-tir.c: Ditto.
* vms.c: Ditto.
* vms-misc.c: Fix indentation and comments. Replace most of
#if VMS_DEBUG/vms_debug with vms_debug2.
(_bfd_vms_hash_newfunc): Moved to vms-alpha.c
(hash_string): Ditto.
(_bfd_vms_length_hash_symbol): Ditto.
(maybe_adjust_record_pointer_for_object): Ditto.
(_bfd_vms_get_object_record): Ditto.
(vms_get_remaining_object_record): Ditto.
(_bfd_vms_push): Ditto.
(_bfd_vms_pop): Ditto.
(_bfd_vms_get_header_values): Removed.
(_bfd_vms_get_first_record): Removed.
(vms_get_remaining_image_record): Removed.
(new_symbol): Removed.
(_bfd_vms_enter_symbol): Removed.
(_bfd_vms_save_sized_string): Use memcpy instead of strncpy.
(_bfd_vms_output_begin): Remove rechead parameter. Replace bfd
parameter with struct vms_rec_wr.
(_bfd_vms_output_push): Removed and replaced by ...
(_bfd_vms_output_begin_subrec): ... new function.
(_bfd_vms_output_alignment): Replace bfd parameter with
struct vms_rec_wr, and adjust.
(_bfd_vms_output_check): Ditto
(_bfd_vms_output_byte): Ditto.
(_bfd_vms_output_short): Ditto.
(_bfd_vms_output_long): Ditto.
(_bfd_vms_output_quad): Ditto.
(_bfd_vms_output_counted): Ditto.
(_bfd_vms_output_dump): Ditto.
(_bfd_vms_output_fill): Ditto.
(_bfd_vms_output_pop): Removed and replaced by ...
(_bfd_vms_output_end_subrec): ... new function.
(_bfd_vms_output_flush): Removed.
(_bfd_vms_output_align): New function.
(_bfd_vms_output_end): Add recwr parameter. Adjust for this new
parameter.
(vms_convert_to_var): New function imported from vms.c
(vms_convert_to_var_1): Ditto.
(vms_convert_to_var_unix_filename): Ditto.
(vms_get_module_name): Ditto.
(get_vms_time_string): Ditto.
(vms_time_to_time_t): Ditto.
(vms_rawtime_to_time_t): Ditto.
* vms.h: All macros for the VMS file format are now in include/vms.
Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c
have been removed.
(struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c
(struct fileinfo, struct srecinfo, struct lineinfo): Ditto.
(struct funcinfo, struct vms_private_data_struct): Ditto.
(struct vms_section_data_struct): Ditto.
(struct vms_rec_rd, stryct vms_rec_wr): New declarations.
(vms_get_module_name, get_vms_time_string): New declarations.
(vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
(_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto.
(_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted.
(_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto.
(_bfd_vms_output_end,_bfd_vms_output_check): Ditto.
(_bfd_vms_output_byte, _bfd_vms_output_short): Ditto.
(_bfd_vms_output_long, _bfd_vms_output_quad): Ditto.
(_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto.
(_bfd_vms_output_fill): Ditto.
(bfd_vms_set_section_flags): Ditto.
Matthew Gretton-Dann [Wed, 14 Apr 2010 08:29:33 +0000 (08:29 +0000)]
* bfd/elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early
exit due to merging the same weak symbol to test that the symbols are
actually weak.
Mike Frysinger [Wed, 14 Apr 2010 07:38:06 +0000 (07:38 +0000)]
sim: constify sim_write source buffer (part 2)
As pointed out by Sandra Loosemore, a bunch of targets define sim_write
themselves instead of using the common/ code. So constify them too.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
H.J. Lu [Wed, 14 Apr 2010 00:40:13 +0000 (00:40 +0000)]
Correct PR number for PR corefiles/11481.
H.J. Lu [Wed, 14 Apr 2010 00:38:03 +0000 (00:38 +0000)]
Mention PR corefiles/11467.
Alan Modra [Wed, 14 Apr 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 14 Apr 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Mark Kettenis [Tue, 13 Apr 2010 21:07:16 +0000 (21:07 +0000)]
* i386-linux-tdep.c (i386_linux_regset_sections): Remove extended
register note sections.
(i386_linux_sse_regset_sections, i386_linux_avx_regset_sections):
New variables.
(i386_linux_init_abi): Install list of supported register note
sections that matches the target description.
Mike Frysinger [Tue, 13 Apr 2010 20:58:54 +0000 (20:58 +0000)]
sim: dv-sockser: pass up connected state
A few ports rely on internal dv-sockser state in order to detect whether
a connection has been made (look for 'extern sockser_addr'). Rather than
continuing that tradition, extend the existing status function to return
the socket connection status.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 13 Apr 2010 20:39:44 +0000 (20:39 +0000)]
sim: drop PARAMS
The PARAMS macro is no longer useful, so drop it from the sim includes.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Doug Kwan [Tue, 13 Apr 2010 20:37:55 +0000 (20:37 +0000)]
2010-04-13 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_input_section::set_final_data_size): Compute
accurate final data size instead of using current data size.
Mike Frysinger [Tue, 13 Apr 2010 20:28:20 +0000 (20:28 +0000)]
sim: constify sim_write source buffer
Most the sim write functions declare their source buffer const because
they only ever read from it. The global sim_write() function does not
follow this convention though which causes some warnings when trying to
pass it const strings or buffers.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Pedro Alves [Tue, 13 Apr 2010 16:08:28 +0000 (16:08 +0000)]
* remote.c (remote_get_noisy_reply): Don't error out on empty
replies.
(remote_start_remote): Update and merge tracepoints and trace
state variables as long as the target supports tracepoints.
(remote_trace_init): Fix prototype.
(remote_download_trace_state_variable): Validate reply.
(remote_trace_set_readonly_regions): Fix prototype.
(remote_trace_start): Fix prototype. Check for empty reply.
(remote_get_trace_status): Small cleanup.
(remote_trace_stop): Fix prototype. Check for empty reply.
(remote_trace_find): Check for empty reply.
(remote_save_trace_data): Validate reply.
(remote_set_disconnected_tracing): Check for empty reply, and
validate reply.
(remote_set_circular_trace_buffer): Ditto.
Nick Clifton [Tue, 13 Apr 2010 12:20:55 +0000 (12:20 +0000)]
PR binutils/11419
* dwarf.c (process_debug_info): Initialise the signature array.
Pierre Muller [Tue, 13 Apr 2010 12:11:10 +0000 (12:11 +0000)]
Suppress unused value warning during compilation.
* tui/tui-regs.c (tui_display_register): Cast wstandout and wstandend
calls to void.
* tui/tui-stack.c (tui_show_locator_content): Likewise.
Alan Modra [Tue, 13 Apr 2010 04:05:29 +0000 (04:05 +0000)]
* elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
when optimizing high got_tlsgd/ld insns.
Stan Shebs [Tue, 13 Apr 2010 03:53:50 +0000 (03:53 +0000)]
2010-04-12 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (tfile_xfer_partial): Check read result.
gdbadmin [Tue, 13 Apr 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 13 Apr 2010 00:00:04 +0000 (00:00 +0000)]
daily update
Mike Frysinger [Mon, 12 Apr 2010 21:44:46 +0000 (21:44 +0000)]
sim: add more hacking notes
I found the documentation lacking in many places, so I tried filling in a
lot of holes that I personally fell into.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>