From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6430 invoked by alias); 26 Feb 2014 20:13:21 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 6409 invoked by uid 9674); 26 Feb 2014 20:13:20 -0000 Date: Wed, 26 Feb 2014 20:13:00 -0000 Message-ID: <20140226201320.6333.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] jankratochvil/gdbserverbuildid: Merge branch 'common-mergehex-empty-moveprep-move-attrgen-validate' into common-mergehex-empty-moveprep-move-attrgen-validate-tests X-Git-Refname: refs/heads/jankratochvil/gdbserverbuildid X-Git-Reftype: branch X-Git-Oldrev: 7b5ac718fc8e96a97621d7ebdc25665d00bb0cee X-Git-Newrev: 3ef6f2a3a73f9829472d433a4caf59395860a998 X-SW-Source: 2014-q1/txt/msg00008.txt.bz2 List-Id: The branch, jankratochvil/gdbserverbuildid has been updated via 3ef6f2a3a73f9829472d433a4caf59395860a998 (commit) via 9fde43fbd9f0b4fa1f0f3e3e1f733cd93cd5d2ce (commit) via 147a9e17c3a2ce2b63c30c36f4927c7ba4048bd8 (commit) via 8731b7cc80bb7993535cadb1348516bca1e95a8f (commit) via b3f6cef0c4b6ef2604f9bc4bcf4b6dd15cc20124 (commit) via 46d3c531e5dd104157c2a2247f211d5c536ee93d (commit) via ea6f7362ad2f71455e533160e5b2988c61b5c49a (commit) via 12e283612db836a5c5b13988d06d5549464afd70 (commit) via d763de106f7146d7b972f98c7d0113f80a65e4f5 (commit) via 850a0f76c25f74c4f3f86b079893e26ae2d52a9a (commit) via f25b3fc33406d83293679955ac9fba088cd5ac5c (commit) via 31aa7e4ee988b175da848cee7cff6cfb28a5aa99 (commit) via 9b333ba3405066be10f4fc1c497b7fb1a7cafd53 (commit) via 5f6cac4085c95c5339b9549dc06d4f9184184fa6 (commit) via 2750ef27997b6114da090a25a314396eaf85a87a (commit) via 34643a32c6b17041b7ebc13ac3077f6eaec7ec80 (commit) via 2273f0ac95a79ce29ef42025c63f90e82cf907d7 (commit) via 77e371c079408e265f1dfd2b0620dd8e76c23371 (commit) via 3b7344d5ab495cd82b6c72ec5e00d018549837fb (commit) via 40c1a0073715c1e3f93afc83edac8396eb362a98 (commit) via efd66ac6698323d9523a4dce352008c4c835812e (commit) via 50e65b1713256487d50514b50b38b3fd1080b93e (commit) via 1b588015839caafc608a6944a78aea170f5fb2f6 (commit) via dbb9c2b1f231262ece36790241fe1fc3902cf03d (commit) via 55426c9d52fdba13df81fcce1b18469cc0362e50 (commit) via 0dcb32c3ae07166fc3b04eb4a86ae93ecd87bfb8 (commit) via f2fce0ca3dd5e0dc37fabb75e8874c05e8bf5170 (commit) via 7a44e40e8b7e2f91d66930cdf1fe5fed0ba9c584 (commit) via bd265cd0bde9e045ab5946532449430b66fe91ad (commit) via 9d46c4e5f55d67542036c87ca4d63078cedbaee2 (commit) via a1583b1fd9aee80f886e8cdd90e1c7e27c5cbbc7 (commit) via 6df1b29f02837669d68b8f153b189502e798a302 (commit) via dc53a7adb516adbf2f646a078a1140b1044a39f5 (commit) via 12ab52e9772a9170018feb44de3ef217e051cc60 (commit) via e3e3703534b6277b9d60441a9c828b7deadfe603 (commit) via d16461aeef555da47e358b0f81c75912e4ea07e2 (commit) via a8b1622022a0fb3531bfd4ce77e69f6b15312745 (commit) via cad798bd0d2eaabe27e1629dc76fc7e75dbd6760 (commit) via 71b7d793371c3cff599c3329c5f3205240117731 (commit) via b9e795ee5549c36dedd086c202f8aa3534c4b770 (commit) via 849c862eb2637990692ffe31d16dc779f9bf30c5 (commit) via e2f0d509b33e91abf99978af5fe8d45240550c35 (commit) via d6e9dd78c4ac29900ed0047f15892720c67dff6b (commit) via 475109d8708bdc9c9a4667c0e460a1c395fdd8fd (commit) via 041ab8b4843764204e660aefdb006da397e2d8ac (commit) via e186c3bd62c2e401c74651b712d960f38cfb8169 (commit) via 6d451942486ca4125c48b1f10fdd5d619d6a532c (commit) from 7b5ac718fc8e96a97621d7ebdc25665d00bb0cee (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 3ef6f2a3a73f9829472d433a4caf59395860a998 Merge: 7b5ac71 9fde43f Author: Jan Kratochvil Date: Wed Feb 26 21:12:53 2014 +0100 Merge branch 'common-mergehex-empty-moveprep-move-attrgen-validate' into common-mergehex-empty-moveprep-move-attrgen-validate-tests commit 9fde43fbd9f0b4fa1f0f3e3e1f733cd93cd5d2ce Merge: 31a0d19 147a9e1 Author: Jan Kratochvil Date: Wed Feb 26 21:12:53 2014 +0100 Merge branch 'common-mergehex-empty-moveprep-move-attrgen' into common-mergehex-empty-moveprep-move-attrgen-validate commit 147a9e17c3a2ce2b63c30c36f4927c7ba4048bd8 Merge: b88933a 8731b7c Author: Jan Kratochvil Date: Wed Feb 26 21:12:52 2014 +0100 Merge branch 'common-mergehex-empty-moveprep-move' into common-mergehex-empty-moveprep-move-attrgen commit 8731b7cc80bb7993535cadb1348516bca1e95a8f Merge: 91c1ec8 b3f6cef Author: Jan Kratochvil Date: Wed Feb 26 21:12:51 2014 +0100 Merge branch 'common-mergehex-empty-moveprep' into common-mergehex-empty-moveprep-move commit b3f6cef0c4b6ef2604f9bc4bcf4b6dd15cc20124 Merge: 81243e0 46d3c53 Author: Jan Kratochvil Date: Wed Feb 26 21:12:50 2014 +0100 Merge branch 'common-mergehex-empty' into common-mergehex-empty-moveprep commit 46d3c531e5dd104157c2a2247f211d5c536ee93d Merge: 8a6d381 ea6f736 Author: Jan Kratochvil Date: Wed Feb 26 21:12:49 2014 +0100 Merge branch 'common-mergehex' into common-mergehex-empty commit ea6f7362ad2f71455e533160e5b2988c61b5c49a Merge: 567261a 12e2836 Author: Jan Kratochvil Date: Wed Feb 26 21:12:49 2014 +0100 Merge branch 'common' into common-mergehex commit 12e283612db836a5c5b13988d06d5549464afd70 Merge: 5b0224d d763de1 Author: Jan Kratochvil Date: Wed Feb 26 21:12:45 2014 +0100 Merge remote-tracking branch 'gdb/master' into common Conflicts: gdb/defs.h commit d763de106f7146d7b972f98c7d0113f80a65e4f5 Author: Joel Brobecker Date: Mon Feb 24 15:21:14 2014 -0800 gdbserver/Windows: Rely purely on event info when handling DLL load event This is the GDBserver counterpart of a change we recently made in GDB to only rely on get_image_name to determine its name. This simplification, in turn, allows us to remove a fair amount of functions and globals which now become unused. gdb/gdbserver/ChangeLog: * win32-low.c (psapi_get_dll_name, * win32_CreateToolhelp32Snapshot): Delete. (win32_CreateToolhelp32Snapshot, win32_Module32First) (win32_Module32Next, load_toolhelp, toolhelp_get_dll_name): Delete. (handle_load_dll): Add function description. Remove code using psapi_get_dll_name and toolhelp_get_dll_name. commit 850a0f76c25f74c4f3f86b079893e26ae2d52a9a Author: Joel Brobecker Date: Mon Feb 24 15:21:13 2014 -0800 windows: Factorize handling of DLL load address offset This patch is a small cleanup that moves the magic 0x1000 offset to apply to a DLL's base address inside the win32_add_one_solib function, rather than delegate that reponsibility to its callers. gdb/gdbserver/ChangeLog: * win32-low.c (win32_add_one_solib): Add 0x1000 to load_addr. Add comment. (win32_add_all_dlls): Remove 0x1000 offset applied to DLL base address when calling win32_add_one_solib. (handle_load_dll): Delete local variable load_addr. Remove 0x1000 offset applied to DLL base address when calling win32_add_one_solib. (handle_unload_dll): Add comment. commit f25b3fc33406d83293679955ac9fba088cd5ac5c Author: Joel Brobecker Date: Mon Feb 24 15:21:12 2014 -0800 gdbserver/windows: Ignore DLL load/unload events during child initialization. This GDBserver patch mirrors a change made in GDB wich aims at simplifying DLL handling during the inferior initialization (process creation during the "run", or during an "attach"). Instead of processing each DLL load event, which is sometimes incomplete, we ignore these events until the inferior has completed its startup phase, and then just iterate over all DLLs via EnumProcessModules. As a side-effect, it fixes a small bug where win32_ensure_ntdll_loaded was missing a 0x1000 offset in the DLL base address. This problem should only be visible on the 64bit version of Windows 8.1, since this is the only platform where win32_ensure_ntdll_loaded is actually needed. gdb/gdbserver/ChangeLog: * win32-low.c (win32_add_all_dlls): Renames win32_ensure_ntdll_loaded. Rewrite function documentation. Adjust implementation to always load all DLLs. Add 0x1000 offset to DLL base address when calling win32_add_one_solib. (child_initialization_done): New static global. (do_initial_child_stuff): Set child_initialization_done to zero during child initialization, and 1 after. Replace call to win32_ensure_ntdll_loaded by call to win32_add_all_dlls. Add comment. (match_dll_by_basename, dll_is_loaded_by_basename): Delete. (handle_unload_dll): Add function documentation. (get_child_debug_event): Ignore load and unload DLL events during child initialization. commit 31aa7e4ee988b175da848cee7cff6cfb28a5aa99 Author: Joel Brobecker Date: Sat Feb 15 19:09:58 2014 +0400 DWARF: Read constant-class addresses correctly Starting with DWARF version 4, the description of the DW_AT_high_pc attribute was amended to say: if it is of class constant, the value is an unsigned integer offset which when added to the low PC gives the address of the first location past the last instruction associated with the entity. A change was made in Apr 27th, 2012 to reflect that change: | commit 91da14142c0171e58a91ad58a32fd010b700e761 | Author: Mark Wielaard | Date: Fri Apr 27 18:55:19 2012 +0000 | | * dwarf2read.c (dwarf2_get_pc_bounds): Check DW_AT_high_pc form to | see whether it is an address or a constant offset from DW_AT_low_pc. | (dwarf2_record_block_ranges): Likewise. | (read_partial_die): Likewise. Unfortunately, this new interpretation is now used regardless of the CU's DWARF version. It turns out that one of WindRiver's compilers (FTR: Diabdata 4.4) is generating DWARF version 2 info with DW_AT_high_pc attributes improperly using the data4 form. Because of that, we miscompute all high PCs incorrectly. This leads to a lot of symtabs having overlapping ranges, which in turn causes havoc in pc-to-symtab-and-line translations. One visible effect is when inserting a breakpoint on a given function: (gdb) b world Breakpoint 1 at 0x4005c4 The source location of the breakpoint is missing. The output should be: (gdb) b world Breakpoint 1 at 0x4005c8: file dw2-rel-hi-pc-world.c, line 24. What happens in this case is that the pc-to-SAL translation first starts be trying to find the symtab associated to our PC using each symtab's ranges. Because of the high_pc miscomputation, many symtabs end up matching, and the heuristic trying to select the most probable one unfortunately returns one that is unrelated (it really had no change in this case to do any better). Once we have the wrong symtab, the start searching the associated linetable, where the addresses are correct, thus finding no match, and therefore no SAL. This patch is an attempt at handling the situation as gracefully as we can, without guarantees. It introduces a new function "attr_value_as_address" which uses the correct accessor for getting the value of a given attribute. It then adjust the code throughout this unit to use this function instead of assuming that addresses always have the DW_FORM_addr format. It also fixes the original issue of miscomputing the high_pc by limiting the new interpretation of constant form DW_AT_high_pc attributes to units using DWARF version 4 or later. gdb/ChangeLog: * dwarf2read.c (attr_value_as_address): New function. (dwarf2_find_base_address, read_call_site_scope): Use attr_value_as_address in place of DW_ADDR. (dwarf2_get_pc_bounds): Use attr_value_as_address to get the low and high addresses. Slight rework of the handling of the high pc being a constant form, and limit it to DWARF verson 4 or higher. (dwarf2_record_block_ranges): Likewise. (read_partial_die): Likewise. (new_symbol_full): Use attr_value_as_address in place of DW_ADDR. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S: New file. * gdb.dwarf2/dw2-abs-hi-pc-hello.c: New file. * gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S: New file. * gdb.dwarf2/dw2-abs-hi-pc-world.c: New file. * gdb.dwarf2/dw2-abs-hi-pc.c: New file. * gdb.dwarf2/dw2-abs-hi-pc.exp: New file. Tested on x86_64-linux. commit 9b333ba3405066be10f4fc1c497b7fb1a7cafd53 Author: Tom Tromey Date: Thu Oct 17 12:03:06 2013 -0600 make "file" use the BFD cache better Right now the "file" command will discard the exec_bfd and then possibly open a new one. If this ends up reopening the same file, it can cause needless work by gdb -- destroying all the per-BFD data just to re-read it again. This patch changes the code to hold a reference to the old exec_bfd while opening the new one. The possible downside of this is a higher peak memory use. 2014-02-26 Tom Tromey * exec.c (exec_file_attach): Hold a reference to exec_bfd. commit 5f6cac4085c95c5339b9549dc06d4f9184184fa6 Author: Tom Tromey Date: Tue Oct 15 11:50:58 2013 -0600 add short-circuit logic to elfread.c If minimal symbols have already been read into a per-BFD object, then a symbol reader can skip re-reading them. This changes the ELF reader to do so. We only skip the work if the file is ELF+DWARF. If it has stabs or mdebug sections, then I think extra information is computed during the minsym creation pass; and so we must still repeat it. Eventually even this will go away, once all symbol types have switched to being progspace-independent. In the meantime this has no negative effect -- it is just a missing optimization for a small set of users. This change also required a somewhat non-obvious change to the OBJSTAT accounting code. If a symbol reader skips re-reading minimal symbols, then the corresponding OBJSTAT will not be updated. This leads to a test failure in gdb.base/maint.exp. To fix this, I've moved the needed stat field out of objfile and into the per-BFD object. 2014-02-26 Tom Tromey * elfread.c (elf_read_minimal_symbols): Return early if minimal symbols have already been read. Add "ei" parameter. (elf_symfile_read): Call elf_read_minimal_symbols earlier. * minsyms.c (prim_record_minimal_symbol_full): Update. * objfiles.h (struct objstats) : Move... (struct objfile_per_bfd_storage) : ... here. * symmisc.c (print_objfile_statistics): Update. commit 2750ef27997b6114da090a25a314396eaf85a87a Author: Tom Tromey Date: Tue Oct 15 11:43:46 2013 -0600 split out elf_read_minimal_symbols This is just a simple refactoring in elfread.c to split out the minsym-reading code into its own function. 2014-02-26 Tom Tromey * elfread.c (elf_read_minimal_symbols): New function, from elf_symfile_read. (elf_symfile_read): Call it. commit 34643a32c6b17041b7ebc13ac3077f6eaec7ec80 Author: Tom Tromey Date: Tue Oct 15 11:37:19 2013 -0600 move minimal symbols to per-bfd Now that minimal symbols are independent of the program space, we can move them to the per-BFD object. This lets us save memory in the multi-inferior case; and, once the symbol readers are updated, time. The other prerequisite for this move is that all the objects referred to by the minimal symbols have a lifetime at least as long as the per-BFD object. I think this is satisfied partially by this patch (moving the copied names there) and partially by earlier patches moving the demangled name hash. This patch contains a bit of logic to avoid creating new minimal symbols if they have already been read for a given BFD. This allows us to avoid trying to update all the symbol readers for this condition. At first glance this may seem like a hack, but some symbol readers mix psym and minsym reading, and would require logic just like this regardless -- and it is simpler and less error-prone to just do the work in a central spot. 2014-02-26 Tom Tromey * minsyms.c (lookup_minimal_symbol, iterate_over_minimal_symbols) (lookup_minimal_symbol_text, lookup_minimal_symbol_by_pc_name) (lookup_minimal_symbol_solib_trampoline) (lookup_minimal_symbol_by_pc_section_1) (lookup_minimal_symbol_and_objfile): Update. (prim_record_minimal_symbol_full): Use the per-BFD obstack. Don't allocate a minimal symbol if minsyms have already been read. (build_minimal_symbol_hash_tables): Update. (install_minimal_symbols): Do nothing if minsyms already read. Use the per-BFD obstack. (terminate_minimal_symbol_table): Use the per-BFD obstack. * objfiles.c (allocate_objfile): Call terminate_minimal_symbol_table later. (have_minimal_symbols): Update. * objfiles.h (struct objfile_per_bfd_storage) : Move from struct objfile. : New field. (struct objfile) : Move. (ALL_OBJFILE_MSYMBOLS): Update. * symfile.c (read_symbols): Set minsyms_read. (reread_symbols): Update. * symmisc.c (dump_objfile, dump_msymbols): Update. commit 2273f0ac95a79ce29ef42025c63f90e82cf907d7 Author: Tom Tromey Date: Tue Oct 15 13:28:57 2013 -0600 change minsyms not to be relocated at read-time This removes the runtime offsets from minsyms. Instead, these offsets will now be applied whenever the minsym's address is computed. This patch redefines MSYMBOL_VALUE_ADDRESS to actually use the offsets from the given objfile. Then, it updates all the symbol readers, changing them so that they do not add in the section offset when creating the symbol. This change also lets us remove relocation of minsyms from objfile_relocate1 and also msymbols_sort. 2014-02-26 Tom Tromey * minsyms.c (msymbols_sort): Remove. * minsyms.h (msymbols_sort): Remove. * objfiles.c (objfile_relocate1): Don't relocate minsyms. * symtab.h (MSYMBOL_VALUE_ADDRESS): Use objfile offsets. * elfread.c (elf_symtab_read): Don't add section offsets. * xcoffread.c (record_minimal_symbol): Don't add section offset to minimal symbol address. * somread.c (text_offset, data_offset): Remove. (som_symtab_read): Don't add section offsets to minimal symbol addresses. * coff-pe-read.c (add_pe_forwarded_sym, read_pe_exported_syms): Don't add section offsets to minimal symbols. * coffread.c (coff_symtab_read): Don't add section offsets to minimal symbol addresses. * machoread.c (macho_symtab_add_minsym): Don't add section offset to minimal symbol addresses. * mipsread.c (read_alphacoff_dynamic_symtab): Don't add section offset to minimal symbol addresses. * mdebugread.c (parse_partial_symbols): Don't add section offset to minimal symbol addresses. * dbxread.c (read_dbx_dynamic_symtab): Don't add section offset to minimal symbol addresses. commit 77e371c079408e265f1dfd2b0620dd8e76c23371 Author: Tom Tromey Date: Thu Aug 15 08:46:35 2013 -0600 start change to progspace independence This patch starts changing minimal symbols to be independent of the program space. Specifically, it adds a new objfile parameter to MSYMBOL_VALUE_ADDRESS and changes all the code to use it. This is needed so we can change gdb to apply the section offset when a minsym's address is computed, as opposed to baking the offsets into the symbol itself. A few spots still need the unrelocated address. For these, we introduce MSYMBOL_VALUE_RAW_ADDRESS. As a convenience, we also add the new macro BMSYMBOL_VALUE_ADDRESS, which computes the address of a bound minimal symbol. This just does the obvious thing with the fields. Note that this change does not actually enable program space independence. That requires more changes to gdb. However, to ensure that these changes compile properly, this patch does add the needed section lookup code to MSYMBOL_VALUE_ADDRESS -- it just ensures it has no effect at runtime by multiplying the offset by 0. 2014-02-26 Tom Tromey * ada-lang.c (ada_main_name): Update. (ada_add_standard_exceptions): Update. * ada-tasks.c (ada_tasks_inferior_data_sniffer): Update. * aix-thread.c (pdc_symbol_addrs, pd_enable): Update. * arm-tdep.c (skip_prologue_function, arm_skip_stub): Update. * auxv.c (ld_so_xfer_auxv): Update. * avr-tdep.c (avr_scan_prologue): Update. * ax-gdb.c (gen_var_ref): Update. * blockframe.c (get_pc_function_start) (find_pc_partial_function_gnu_ifunc): Update. * breakpoint.c (create_overlay_event_breakpoint) (create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Update. * bsd-uthread.c (bsd_uthread_lookup_address): Update. * c-valprint.c (c_val_print): Update. * coff-pe-read.c (add_pe_forwarded_sym): Update. * common/agent.c (agent_look_up_symbols): Update. * dbxread.c (find_stab_function_addr, end_psymtab): Update. * dwarf2loc.c (call_site_to_target_addr): Update. * dwarf2read.c (dw2_find_pc_sect_symtab): Update. * elfread.c (elf_gnu_ifunc_record_cache) (elf_gnu_ifunc_resolve_by_got): Update. * findvar.c (default_read_var_value): Update. * frame.c (inside_main_func): Update. * frv-tdep.c (frv_frame_this_id): Update. * glibc-tdep.c (glibc_skip_solib_resolver): Update. * gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline): Update. * hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence) (hppa_hpux_find_dummy_bpaddr): Update. * hppa-tdep.c (hppa_symbol_address): Update. * infcmd.c (until_next_command): Update. * jit.c (jit_read_descriptor, jit_breakpoint_re_set_internal): Update. * linespec.c (minsym_found, add_minsym): Update. * linux-nat.c (get_signo): Update. * linux-thread-db.c (inferior_has_bug): Update. * m32c-tdep.c (m32c_return_value) (m32c_m16c_address_to_pointer): Update. * m32r-tdep.c (m32r_frame_this_id): Update. * m68hc11-tdep.c (m68hc11_get_register_info): Update. * machoread.c (macho_resolve_oso_sym_with_minsym): Update. * maint.c (maintenance_translate_address): Update. * minsyms.c (lookup_minimal_symbol_by_pc_name): Update. (frob_address): New function. (lookup_minimal_symbol_by_pc_section_1): Use raw addresses, frob_address. Rename parameter to "pc_in". (compare_minimal_symbols, compact_minimal_symbols): Use raw addresses. (find_solib_trampoline_target, minimal_symbol_upper_bound): Update. * mips-linux-tdep.c (mips_linux_skip_resolver): Update. * mips-tdep.c (mips_skip_pic_trampoline_code): Update. * objc-lang.c (find_objc_msgsend): Update. * objfiles.c (objfile_relocate1): Update. * obsd-tdep.c (obsd_skip_solib_resolver): Update. * p-valprint.c (pascal_val_print): Update. * parse.c (write_exp_msymbol): Update. * ppc-linux-tdep.c (ppc_linux_spe_context_lookup) (ppc_elfv2_skip_entrypoint): Update. * ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update. * printcmd.c (build_address_symbolic, msym_info) (address_info): Update. * proc-service.c (ps_pglobal_lookup): Update. * psymtab.c (find_pc_sect_psymtab_closer) (find_pc_sect_psymtab, find_pc_sect_symtab_from_partial): Change msymbol parameter to bound_minimal_symbol. * ravenscar-thread.c (get_running_thread_id): Update. * remote.c (remote_check_symbols): Update. * sh64-tdep.c (sh64_elf_make_msymbol_special): Use raw address. * sol2-tdep.c (sol2_skip_solib_resolver): Update. * solib-dsbt.c (lm_base): Update. * solib-frv.c (lm_base, main_got): Update. * solib-irix.c (locate_base): Update. * solib-som.c (som_solib_create_inferior_hook) (link_map_start): Update. * solib-spu.c (spu_enable_break, ocl_enable_break): Update. * solib-svr4.c (elf_locate_base, enable_break): Update. * spu-tdep.c (spu_get_overlay_table, spu_catch_start) (flush_ea_cache): Update. * stabsread.c (define_symbol, scan_file_globals): Update. * stack.c (find_frame_funname): Update. * symfile-debug.c (debug_qf_expand_symtabs_matching) (debug_qf_find_pc_sect_symtab): Update. * symfile.c (simple_read_overlay_table) (simple_overlay_update): Update. * symfile.h (struct quick_symbol_functions) : Change type of msymbol to bound_minimal_symbol. * symmisc.c (dump_msymbols): Update. * symtab.c (find_pc_sect_symtab_via_partial) (find_pc_sect_psymtab, find_pc_sect_line, skip_prologue_sal) (search_symbols, print_msymbol_info): Update. * symtab.h (MSYMBOL_VALUE_RAW_ADDRESS): New macro. (MSYMBOL_VALUE_ADDRESS): Redefine. (BMSYMBOL_VALUE_ADDRESS): New macro. * tracepoint.c (scope_info): Update. * tui/tui-disasm.c (tui_find_disassembly_address) (tui_get_begin_asm_address): Update. * valops.c (find_function_in_inferior): Update. * value.c (value_static_field, value_fn_field): Update. commit 3b7344d5ab495cd82b6c72ec5e00d018549837fb Author: Tom Tromey Date: Mon Oct 14 19:53:29 2013 -0600 use bound_minsym as result for lookup_minimal_symbol et al This patch changes a few minimal symbol lookup functions to return a bound_minimal_symbol rather than a pointer to the minsym. This change helps prepare gdb for computing a minimal symbol's address at the point of use. Note that this changes even those functions that ostensibly search a single objfile. That was necessary because, in fact, those functions can search an objfile and its separate debug objfiles; and it is important for the caller to know in which objfile the minimal symbol was actually found. The bulk of this patch is mechanical. 2014-02-26 Tom Tromey * ada-lang.c (ada_update_initial_language): Update. (ada_main_name, ada_has_this_exception_support): Update. * ada-tasks.c (ada_tasks_inferior_data_sniffer): Update. * aix-thread.c (pdc_symbol_addrs, pd_enable): Update. * arm-tdep.c (arm_skip_stub): Update. * auxv.c (ld_so_xfer_auxv): Update. * avr-tdep.c (avr_scan_prologue): Update. * ax-gdb.c (gen_var_ref): Update. * breakpoint.c (struct breakpoint_objfile_data) : Change type to bound_minimal_symbol. (create_overlay_event_breakpoint) (create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Update. * bsd-uthread.c (bsd_uthread_lookup_address): Update. * c-exp.y (classify_name): Update. * coffread.c (coff_symfile_read): Update. * common/agent.c (agent_look_up_symbols): Update. * d-lang.c (d_main_name): Update. * dbxread.c (find_stab_function_addr, end_psymtab): Update. * dec-thread.c (enable_dec_thread): Update. * dwarf2loc.c (call_site_to_target_addr): Update. * elfread.c (elf_gnu_ifunc_resolve_by_got): Update. * eval.c (evaluate_subexp_standard): Update. * findvar.c (struct minsym_lookup_data) : Change type to bound_minimal_symbol. : Remove. (minsym_lookup_iterator_cb, default_read_var_value): Update. * frame.c (inside_main_func): Update. * frv-tdep.c (frv_frame_this_id): Update. * gcore.c (call_target_sbrk): Update. * glibc-tdep.c (glibc_skip_solib_resolver): Update. * gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline): Update. * go-lang.c (go_main_name): Update. * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code) (hppa_hpux_find_import_stub_for_addr): Update. * hppa-tdep.c (hppa_extract_17, hppa_lookup_stub_minimal_symbol): Update. Change return type. * hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return type. * jit.c (jit_breakpoint_re_set_internal): Update. * linux-fork.c (inferior_call_waitpid, checkpoint_command): Update. * linux-nat.c (get_signo): Update. * linux-thread-db.c (inferior_has_bug): Update * m32c-tdep.c (m32c_return_value) (m32c_m16c_address_to_pointer): Update. * m32r-tdep.c (m32r_frame_this_id): Update. * m68hc11-tdep.c (m68hc11_get_register_info): Update. * machoread.c (macho_resolve_oso_sym_with_minsym): Update. * minsyms.c (lookup_minimal_symbol_internal): Rename to lookup_minimal_symbol. Change return type. (lookup_minimal_symbol): Remove. (lookup_bound_minimal_symbol): Update. (lookup_minimal_symbol_text): Change return type. (lookup_minimal_symbol_solib_trampoline): Change return type. * minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text) (lookup_minimal_symbol_solib_trampoline): Change return type. * mips-linux-tdep.c (mips_linux_skip_resolver): Update. * objc-lang.c (lookup_objc_class, lookup_child_selector) (value_nsstring, find_imps): Update. * obsd-tdep.c (obsd_skip_solib_resolver): Update. * p-lang.c (pascal_main_name): Update. * ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update. * ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update. * proc-service.c (ps_pglobal_lookup): Update. * ravenscar-thread.c (get_running_thread_msymbol): Change return type. (has_ravenscar_runtime, get_running_thread_id): Update. * remote.c (remote_check_symbols): Update. * sol-thread.c (ps_pglobal_lookup): Update. * sol2-tdep.c (sol2_skip_solib_resolver): Update. * solib-dsbt.c (lm_base): Update. * solib-frv.c (lm_base, frv_relocate_section_addresses): Update. * solib-irix.c (locate_base): Update. * solib-som.c (som_solib_create_inferior_hook) (som_solib_desire_dynamic_linker_symbols, link_map_start): Update. * solib-spu.c (spu_enable_break): Update. * solib-svr4.c (elf_locate_base, enable_break): Update. * spu-tdep.c (spu_get_overlay_table, spu_catch_start) (flush_ea_cache): Update. * stabsread.c (define_symbol): Update. * symfile.c (simple_read_overlay_table): Update. * symtab.c (find_pc_sect_line): Update. * tracepoint.c (scope_info): Update. * tui-disasm.c (tui_get_begin_asm_address): Update. * value.c (value_static_field): Update. commit 40c1a0073715c1e3f93afc83edac8396eb362a98 Author: Tom Tromey Date: Thu Aug 15 08:44:43 2013 -0600 make MSYMBOL_VALUE_ADDRESS an rvalue This changes MSYMBOL_VALUE_ADDRESS to be an rvalue. In a later patch we change this macro to compute its value; this patch introduces a setter to make the break a bit cleaner. 2014-02-26 Tom Tromey * minsyms.c (prim_record_minimal_symbol_full): Use SET_MSYMBOL_VALUE_ADDRESS. * objfiles.c (objfile_relocate1): Use SET_MSYMBOL_VALUE_ADDRESS. * sh64-tdep.c (sh64_elf_make_msymbol_special): Use SET_MSYMBOL_VALUE_ADDRESS. * symtab.h (MSYMBOL_VALUE_ADDRESS): Expand to an rvalue. (SET_MSYMBOL_VALUE_ADDRESS): New macro. commit efd66ac6698323d9523a4dce352008c4c835812e Author: Tom Tromey Date: Thu Aug 15 08:43:43 2013 -0600 change minsym representation In a later patch we're going to change the minimal symbol address calculation to apply section offsets at the point of use. To make it simpler to catch potential problem spots, this patch changes the representation of minimal symbols and introduces new minimal-symbol-specific variants of the various accessors. This is necessary because it would be excessively ambitious to try to convert all the symbol types at once. The core of this change is just renaming a field in minimal_symbol; the rest is just a fairly mechanical rewording. 2014-02-26 Tom Tromey * symtab.h (struct minimal_symbol) : Rename from ginfo. (MSYMBOL_VALUE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES) (MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE) (MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME) (MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, MSYMBOL_DEMANGLED_NAME) (MSYMBOL_SET_LANGUAGE, MSYMBOL_SEARCH_NAME) (MSYMBOL_MATCHES_SEARCH_NAME, MSYMBOL_SET_NAMES): New macros. * ada-lang.c (ada_main_name): Update. (ada_lookup_simple_minsym): Update. (ada_make_symbol_completion_list): Update. (ada_add_standard_exceptions): Update. * ada-tasks.c (read_atcb, ada_tasks_inferior_data_sniffer): Update. * aix-thread.c (pdc_symbol_addrs, pd_enable): Update. * amd64-windows-tdep.c (amd64_skip_main_prologue): Update. * arm-tdep.c (skip_prologue_function): Update. (arm_skip_stack_protector, arm_skip_stub): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. (arm_wince_skip_main_prologue): Update. * auxv.c (ld_so_xfer_auxv): Update. * avr-tdep.c (avr_scan_prologue): Update. * ax-gdb.c (gen_var_ref): Update. * block.c (call_site_for_pc): Update. * blockframe.c (get_pc_function_start): Update. (find_pc_partial_function_gnu_ifunc): Update. * breakpoint.c (create_overlay_event_breakpoint): Update. (create_longjmp_master_breakpoint): Update. (create_std_terminate_master_breakpoint): Update. (create_exception_master_breakpoint): Update. (resolve_sal_pc): Update. * bsd-uthread.c (bsd_uthread_lookup_address): Update. * btrace.c (ftrace_print_function_name, ftrace_function_switched): Update. * c-valprint.c (c_val_print): Update. * coff-pe-read.c (add_pe_forwarded_sym): Update. * coffread.c (coff_symfile_read): Update. * common/agent.c (agent_look_up_symbols): Update. * dbxread.c (find_stab_function_addr): Update. (end_psymtab): Update. * dwarf2loc.c (call_site_to_target_addr): Update. (func_verify_no_selftailcall): Update. (tailcall_dump): Update. (call_site_find_chain_1): Update. (dwarf_expr_reg_to_entry_parameter): Update. * elfread.c (elf_gnu_ifunc_record_cache): Update. (elf_gnu_ifunc_resolve_by_got): Update. * f-valprint.c (info_common_command): Update. * findvar.c (read_var_value): Update. * frame.c (get_prev_frame_1): Update. (inside_main_func): Update. * frv-tdep.c (frv_skip_main_prologue): Update. (frv_frame_this_id): Update. * glibc-tdep.c (glibc_skip_solib_resolver): Update. * gnu-v2-abi.c (gnuv2_value_rtti_type): Update. * gnu-v3-abi.c (gnuv3_rtti_type): Update. (gnuv3_skip_trampoline): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline): Update. (hppa64_hpux_in_solib_call_trampoline): Update. (hppa_hpux_skip_trampoline_code): Update. (hppa64_hpux_search_dummy_call_sequence): Update. (hppa_hpux_find_import_stub_for_addr): Update. (hppa_hpux_find_dummy_bpaddr): Update. * hppa-tdep.c (hppa_symbol_address) (hppa_lookup_stub_minimal_symbol): Update. * i386-tdep.c (i386_skip_main_prologue): Update. (i386_pe_skip_trampoline_code): Update. * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update. * infcall.c (get_function_name): Update. * infcmd.c (until_next_command): Update. * jit.c (jit_breakpoint_re_set_internal): Update. (jit_inferior_init): Update. * linespec.c (minsym_found): Update. (add_minsym): Update. * linux-fork.c (info_checkpoints_command): Update. * linux-nat.c (get_signo): Update. * linux-thread-db.c (inferior_has_bug): Update. * m32c-tdep.c (m32c_return_value): Update. (m32c_m16c_address_to_pointer): Update. (m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_frame_this_id): Update. * m68hc11-tdep.c (m68hc11_get_register_info): Update. * machoread.c (macho_resolve_oso_sym_with_minsym): Update. * maint.c (maintenance_translate_address): Update. * minsyms.c (add_minsym_to_hash_table): Update. (add_minsym_to_demangled_hash_table): Update. (msymbol_objfile): Update. (lookup_minimal_symbol): Update. (iterate_over_minimal_symbols): Update. (lookup_minimal_symbol_text): Update. (lookup_minimal_symbol_by_pc_name): Update. (lookup_minimal_symbol_solib_trampoline): Update. (lookup_minimal_symbol_by_pc_section_1): Update. (lookup_minimal_symbol_and_objfile): Update. (prim_record_minimal_symbol_full): Update. (compare_minimal_symbols): Update. (compact_minimal_symbols): Update. (build_minimal_symbol_hash_tables): Update. (install_minimal_symbols): Update. (terminate_minimal_symbol_table): Update. (find_solib_trampoline_target): Update. (minimal_symbol_upper_bound): Update. * mips-linux-tdep.c (mips_linux_skip_resolver): Update. * mips-tdep.c (mips_stub_frame_sniffer): Update. (mips_skip_pic_trampoline_code): Update. * msp430-tdep.c (msp430_skip_trampoline_code): Update. * objc-lang.c (selectors_info): Update. (classes_info): Update. (find_methods): Update. (find_imps): Update. (find_objc_msgsend): Update. * objfiles.c (objfile_relocate1): Update. * objfiles.h (ALL_OBJFILE_MSYMBOLS): Update. * obsd-tdep.c (obsd_skip_solib_resolver): Update. * p-valprint.c (pascal_val_print): Update. * parse.c (write_exp_msymbol): Update. * ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code) (ppc_linux_spe_context_lookup, ppc_elfv2_skip_entrypoint): Update. * ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update. * printcmd.c (build_address_symbolic): Update. (sym_info): Update. (address_info): Update. * proc-service.c (ps_pglobal_lookup): Update. * psymtab.c (find_pc_sect_psymtab_closer): Update. (find_pc_sect_psymtab): Update. * python/py-framefilter.c (py_print_frame): Update. * ravenscar-thread.c (get_running_thread_id): Update. * record-btrace.c (btrace_call_history, btrace_get_bfun_name): Update. * remote.c (remote_check_symbols): Update. * rs6000-tdep.c (rs6000_skip_main_prologue): Update. (rs6000_skip_trampoline_code): Update. * sh64-tdep.c (sh64_elf_make_msymbol_special): Update. * sol2-tdep.c (sol2_skip_solib_resolver): Update. * solib-dsbt.c (lm_base): Update. * solib-frv.c (lm_base): Update. (main_got): Update. * solib-irix.c (locate_base): Update. * solib-som.c (som_solib_create_inferior_hook): Update. (som_solib_desire_dynamic_linker_symbols): Update. (link_map_start): Update. * solib-spu.c (spu_enable_break): Update. (ocl_enable_break): Update. * solib-svr4.c (elf_locate_base): Update. (enable_break): Update. * spu-tdep.c (spu_get_overlay_table): Update. (spu_catch_start): Update. (flush_ea_cache): Update. * stabsread.c (define_symbol): Update. (scan_file_globals): Update. * stack.c (find_frame_funname): Update. (frame_info): Update. * symfile.c (simple_read_overlay_table): Update. (simple_overlay_update): Update. * symmisc.c (dump_msymbols): Update. * symtab.c (fixup_section): Update. (find_pc_sect_line): Update. (skip_prologue_sal): Update. (search_symbols): Update. (print_msymbol_info): Update. (rbreak_command): Update. (MCOMPLETION_LIST_ADD_SYMBOL): New macro. (completion_list_objc_symbol): Update. (default_make_symbol_completion_list_break_on): Update. * tracepoint.c (scope_info): Update. * tui/tui-disasm.c (tui_find_disassembly_address): Update. (tui_get_begin_asm_address): Update. * valops.c (find_function_in_inferior): Update. * value.c (value_static_field): Update. (value_fn_field): Update. commit 50e65b1713256487d50514b50b38b3fd1080b93e Author: Tom Tromey Date: Mon Aug 19 07:58:44 2013 -0600 introduce minimal_symbol_upper_bound This introduces minimal_symbol_upper_bound and changes various bits of code to use it. Since this function is intimately tied to the implementation of minimal symbol tables, I believe it belongs in minsyms.c. The new function is extracted from find_pc_partial_function_gnu_ifunc. This isn't a "clean" move because the old function interleaved the caching and the computation; but this doesn't make sense for the new code. 2014-02-26 Tom Tromey * blockframe.c (find_pc_partial_function_gnu_ifunc): Use bound minimal symbols. Move code that knows about minsym table layout... * minsyms.c (minimal_symbol_upper_bound): ... here. New function. * minsyms.h (minimal_symbol_upper_bound): Declare. * objc-lang.c (find_objc_msgsend): Use bound minimal symbols, minimal_symbol_upper_bound. commit 1b588015839caafc608a6944a78aea170f5fb2f6 Author: Joel Brobecker Date: Thu Jan 30 07:37:08 2014 +0400 [Python] Make regexp collection printers work with typedefs as well. Consider the following type for which we would like to provide a pretty-printer and manage it via RegexpCollectionPrettyPrinter: typedef long time_t; Currently, this does not work because this framework only considers the type's tag name: typename = gdb.types.get_basic_type(val.type).tag if not typename: return None This patch extends it to use the type's name if the basic type does not have a tag name, thus allowing the framework to also work with typedefs like the above. gdb/ChangeLog: * python/lib/gdb/printing.py (RegexpCollectionPrettyPrinter): Use the type's name if its basic type does not have a tag. gdb/testsuite/ChangeLog: * testsuite/gdb.python/py-pp-re-notag.c: New file. * testsuite/gdb.python/py-pp-re-notag.ex: New file. * testsuite/gdb.python/py-pp-re-notag.p: New file. commit dbb9c2b1f231262ece36790241fe1fc3902cf03d Author: Joel Brobecker Date: Wed Feb 26 10:53:05 2014 -0800 Add comment in dwarf2read.c::read_subrange_type This comment explains why we sometimes sign-extend the range type bounds when we normally shouldn't have to. gdb/ChangeLog: * dwarf2read.c (read_subrange_type): Add comment. commit 55426c9d52fdba13df81fcce1b18469cc0362e50 Author: Joel Brobecker Date: Wed Jan 22 18:40:20 2014 +0400 DWARF: Set enum type "flag_enum" and "unsigned" flags at type creation. Consider the following Ada code: -- An array whose index is an enumeration type with 128 enumerators. type Enum_T is (Enum_000, Enum_001, [...], Enum_128); type Table is array (Enum_T) of Boolean; When the compiler is configured to generate pure DWARF debugging info, trying to print type Table's description yields: ptype pck.table type = array (enum_000 .. -128) of boolean The expected output was: ptype pck.table type = array (enum_000 .. enum_128) of boolean The DWARF debugging info for our array looks like this: <1><44>: Abbrev Number: 5 (DW_TAG_array_type) <45> DW_AT_name : pck__table <50> DW_AT_type : <0x28> <2><54>: Abbrev Number: 6 (DW_TAG_subrange_type) <55> DW_AT_type : <0x5c> <59> DW_AT_lower_bound : 0 <5a> DW_AT_upper_bound : 128 The array index type is, by construction with the DWARF standard, a subrange of our enumeration type, defined as follow: <2><5b>: Abbrev Number: 0 <1><5c>: Abbrev Number: 7 (DW_TAG_enumeration_type) <5d> DW_AT_name : pck__enum_t <69> DW_AT_byte_size : 1 <2><6b>: Abbrev Number: 8 (DW_TAG_enumerator) <6c> DW_AT_name : pck__enum_000 <7a> DW_AT_const_value : 0 [etc] Therefore, while processing these DIEs, the array index type ends up being a TYPE_CODE_RANGE whose target type is our enumeration type. But the problem is that we read the upper bound as a negative value (-128), which is then used as is by the type printer to print the array upper bound. This negative value explains the "-128" in the output. To understand why the range type's upper bound is read as a negative value, one needs to look at how it is determined, in read_subrange_type: orig_base_type = die_type (die, cu); base_type = check_typedef (orig_base_type); [... high is first correctly read as 128, but then ...] if (!TYPE_UNSIGNED (base_type) && (high & negative_mask)) high |= negative_mask; The negative_mask is applied, here, because BASE_TYPE->FLAG_UNSIGNED is not set. And the reason for that is because the base_type was only partially constructed during the call to die_type. While the enum is constructed on the fly by read_enumeration_type, its flag_unsigned flag is only set later on, while creating the symbols corresponding to the enum type's enumerators (see process_enumeration_scope), after we've already finished creating our range type - and therefore too late. My first naive attempt at fixing this problem consisted in extracting the part in process_enumeration_scope which processes all enumerators, to generate the associated symbols, but more importantly set the type's various flags when necessary. However, this does not always work well, because we're still in the subrange_type's scope, and it might be different from the scope where the enumeration type is defined. So, instead, what this patch does to fix the issue is to extract from process_enumeration_scope the part that determines whether the enumeration type should have the flag_unsigned and/or the flag_flag_enum flags set. It turns out that, aside from the code implementing the loop, this part is fairly independent of the symbol creation. With that part extracted, we can then use it at the end of our enumeration type creation, to produce a type which should now no longer need any adjustment. Once the enumeration type produced is correctly marked as unsigned, the subrange type's upper bound is then correctly read as an unsigned value, therefore giving us an upper bound of 128 instead of -128. gdb/ChangeLog: * dwarf2read.c (update_enumeration_type_from_children): New function, mostly extracted from process_structure_scope. (read_enumeration_type): Call update_enumeration_type_from_children. (process_enumeration_scope): Do not set THIS_TYPE's flag_unsigned and flag_flag_enum fields. gdb/testsuite/ChangeLog: * gdb.dwarf2/arr-subrange.c, gdb.dwarf2/arr-subrange.exp: New files. commit 0dcb32c3ae07166fc3b04eb4a86ae93ecd87bfb8 Author: Pedro Alves Date: Wed Feb 26 16:33:13 2014 +0000 Mention PR breakpoints/16292 in corresponding ChangeLog entry. commit f2fce0ca3dd5e0dc37fabb75e8874c05e8bf5170 Author: Pedro Alves Date: Wed Feb 26 14:36:05 2014 +0000 bsd-uthread.c: Don't install a to_xfer_partial method Whatever the comment about deprecated_xfer_memory referred to, deprecated_xfer_memory is gone now. There's no need to install a target method that just delegates, as that's what the default delegator does already. Tested by building an --enable-targets=all gdb on x86_64 Fedora 17. gdb/ 2014-02-26 Pedro Alves * bsd-uthread.c (bsd_uthread_xfer_partial): Delete function. (bsd_uthread_target): Don't install bsd_uthread_xfer_partial as to_xfer_partial method. commit 7a44e40e8b7e2f91d66930cdf1fe5fed0ba9c584 Author: Pedro Alves Date: Wed Feb 26 14:36:04 2014 +0000 eliminate target_ops->deprecated_xfer_memory As no target uses it anymore, it can finally go away. After removing the deprecated_xfer_memory handling from default_xfer_partial, we can delete the latter, because the only thing it does is delegate to the target beneath unconditionally, which is what the delegator installed by target-delegates.c will do for us if no to_xfer_partial method is installed. This was the last user of de_fault, so that goes away too. Tested on x86_64 Fedora 17. gdb/ 2014-02-26 Pedro Alves * target.c (complete_target_initialization): Don't install default_xfer_partial as to_xfer_partial hook. (nomemory): Delete. (update_current_target): Don't INHERIT nor de_fault deprecated_xfer_memory. Delete de_fault macro. (default_xfer_partial, deprecated_debug_xfer_memory): Delete. (setup_target_debug): Don't install a deprecated_xfer_memory hook. * target.h (struct target_ops) : Delete field. commit bd265cd0bde9e045ab5946532449430b66fe91ad Author: Pedro Alves Date: Wed Feb 26 14:36:04 2014 +0000 go32-nat.c: Don't install a deprecated_xfer_memory method This removes yet another instance of a deprecated_xfer_memory user. Unfortunately djgpp's write_child function takes a non-const buffer pointer, while GDB's xfer_partial api passes a const pointer. To be const-correct, we need to copy that buffer to a non-const buffer, and pass the copy to write_child. This is actually what target.c:default_xfer_partial itself does, when calling into the ops->deprecated_xfer_memory hook. Tested by cross-building djgpp gdb, on x86-64 Fedora 17. gdb/ 2014-02-26 Pedro Alves * go32-nat.c (my_write_child): New function. (go32_xfer_memory): Rewrite as to_xfer_partial helper. (go32_xfer_partial): New function. (init_go32_ops): Don't install a deprecated_xfer_memory hook. Instead install a to_xfer_partial hook. commit 9d46c4e5f55d67542036c87ca4d63078cedbaee2 Author: Pedro Alves Date: Wed Feb 26 14:36:04 2014 +0000 nto-procfs.c: Don't install a deprecated_xfer_memory method This removes yet another instance of a deprecated_xfer_memory user. Completely untested. gdb/ 2014-02-26 Pedro Alves * nto-procfs.c (procfs_xfer_memory): Adjust interface as a to_xfer_partial helper. Rewrite. (procfs_xfer_partial): New function. (init_procfs_ops): Don't install a deprecated_xfer_memory hook. Install a to_xfer_partial hook. commit a1583b1fd9aee80f886e8cdd90e1c7e27c5cbbc7 Author: Pedro Alves Date: Wed Feb 26 14:36:03 2014 +0000 remote-m32r-sdi.c: Don't install a deprecated_xfer_memory method This removes yet another instance of a deprecated_xfer_memory user. Tested by building a --enable-targets=all gdb, on x86-64 Fedora 17. gdb/ 2014-02-26 Pedro Alves * remote-m32r-sdi.c (send_data): Constify 'buf' parameter. (m32r_xfer_memory): Adjust as a to_xfer_partial helper. (m32r_xfer_partial): New function. (init_m32r_ops): Don't install a deprecated_xfer_memory hook. Install a to_xfer_partial hook. commit 6df1b29f02837669d68b8f153b189502e798a302 Author: Pedro Alves Date: Wed Feb 26 14:36:03 2014 +0000 remote-mips.c: Don't install a deprecated_xfer_memory method This removes another yet instance of a deprecated_xfer_memory user. Tested by building a --enable-targets=all gdb, on x86-64 Fedora 17. gdb/ 2014-02-26 Pedro Alves * remote-mips.c (mips_xfer_memory): Adjust as to_xfer_partial helper. (mips_xfer_partial): New function. (_initialize_remote_mips): Don't install a deprecated_xfer_memory hook. Install a to_xfer_partial hook. commit dc53a7adb516adbf2f646a078a1140b1044a39f5 Author: Joel Brobecker Date: Wed Jan 29 17:39:56 2014 +0400 DWARF: Add array DW_AT_bit_stride and DW_AT_byte_stride support Consider the following declarations in Ada... type Item is range -32 .. 31; for Item'Size use 6; type Table is array (Natural range 0 .. 4) of Item; pragma Pack (Table); ... which declare a packed array whose elements are 6 bits long. The debugger currently does not notice that the array is packed, and thus prints values of this type incorrectly. This can be seen in the "ptype" output: (gdb) ptype table type = array (0 .. 4) of foo.item Normally, the debugger should print: (gdb) ptype table type = array (0 .. 4) of foo.item The debugging information for this array looks like this: .uleb128 0xf # (DIE (0x15c) DW_TAG_array_type) .long .LASF9 # DW_AT_name: "pck__table" .byte 0x6 # DW_AT_bit_stride .long 0x1a9 # DW_AT_type .uleb128 0x10 # (DIE (0x16a) DW_TAG_subrange_type) .long 0x3b # DW_AT_type .byte 0 # DW_AT_lower_bound .byte 0x4 # DW_AT_upper_bound .byte 0 # end of children of DIE 0x15c The interesting part is the DW_AT_bit_stride attribute, which tells the size of the array elements is 6 bits, rather than the normal element type's size. This patch adds support for this attribute by first creating gdbtypes.c::create_array_type_with_stride, which is an enhanced version of create_array_type taking an extra parameter as the stride. The old create_array_type can then be re-implemented very simply by calling the new create_array_type_with_stride. We can then use this new function from dwarf2read, to create arrays with or without stride. gdb/ChangeLog: * gdbtypes.h (create_array_type_with_stride): Add declaration. * gdbtypes.c (create_array_type_with_stride): New function, renaming create_array_type, but with an added parameter called "bit_stride". (create_array_type): Re-implement using create_array_type_with_stride. * dwarf2read.c (read_array_type): Add support for DW_AT_byte_stride and DW_AT_bit_stride attributes. gdb/testsuite/ChangeLog: * gdb.dwarf2/arr-stride.c: New file. * gdb.dwarf2/arr-stride.exp: New file. The test, relying purely on generating an assembly file, only verifies the type description of our array. But I was also able to verify manually that the debugger print values of these types correctly as well (which was not the case prior to this patch). commit 12ab52e9772a9170018feb44de3ef217e051cc60 Author: Pedro Alves Date: Wed Feb 26 14:22:33 2014 +0000 Multiple Ada task-specific breakpoints at the same address. With the test changed as in the patch, against current mainline, we get: (gdb) PASS: gdb.ada/tasks.exp: info tasks before inserting breakpoint break break_me task 1 Breakpoint 2 at 0x4030b0: file /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/tasks/foo.adb, line 27. (gdb) PASS: gdb.ada/tasks.exp: break break_me task 1 break break_me task 3 Note: breakpoint 2 also set at pc 0x4030b0. Breakpoint 3 at 0x4030b0: file /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/tasks/foo.adb, line 27. (gdb) PASS: gdb.ada/tasks.exp: break break_me task 3 continue Continuing. [Switching to Thread 0x7ffff7dc7700 (LWP 27133)] Breakpoint 2, foo.break_me () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/tasks/foo.adb:27 27 null; (gdb) FAIL: gdb.ada/tasks.exp: continue to breakpoint info tasks ID TID P-ID Pri State Name 1 63b010 48 Waiting on RV with 3 main_task 2 63bd80 1 48 Accept or Select Term task_list(1) * 3 63f510 1 48 Accepting RV with 1 task_list(2) 4 642ca0 1 48 Accept or Select Term task_list(3) (gdb) PASS: gdb.ada/tasks.exp: info tasks after hitting breakpoint The breakpoint that caused a stop is breakpoint 3, but GDB end up reporting (and running breakpoint commands of) "Breakpoint 2" instead. The issue is that the bpstat_check_breakpoint_conditions logic of "wrong thread" is missing the "wrong task" check. This is usually harmless, because the thread hop code in infrun.c code that handles wrong-task-hitting-breakpoint does check for task-specific breakpoints (within breakpoint_thread_match): /* Check if a regular breakpoint has been hit before checking for a potential single step breakpoint. Otherwise, GDB will not see this breakpoint hit when stepping onto breakpoints. */ if (regular_breakpoint_inserted_here_p (aspace, stop_pc)) { if (!breakpoint_thread_match (aspace, stop_pc, ecs->ptid)) thread_hop_needed = 1; } IOW, usually, when one only has a task specific breakpoint at a given address, things work correctly. Put another task-specific or non-task-specific breakpoint there, and things break. A patch that eliminates the special thread hop code in infrun.c is what exposed this, as after that GDB solely relies on bpstat_check_breakpoint_conditions to know whether the right or wrong task hit a breakpoint. IOW, given the latent bug, Ada task-specific breakpoints become non-task-specific, and that is caught by the testsuite, as: break break_me task 3 Breakpoint 2 at 0x4030b0: file /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/tasks/foo.adb, line 27. (gdb) PASS: gdb.ada/tasks.exp: break break_me task 3 continue Continuing. [Switching to Thread 0x7ffff7fcb700 (LWP 17122)] Breakpoint 2, foo.break_me () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.ada/tasks/foo.adb:27 27 null; (gdb) PASS: gdb.ada/tasks.exp: continue to breakpoint info tasks ID TID P-ID Pri State Name 1 63b010 48 Waiting on RV with 2 main_task * 2 63bd80 1 48 Accepting RV with 1 task_list(1) 3 63f510 1 48 Accept or Select Term task_list(2) 4 642ca0 1 48 Accept or Select Term task_list(3) (gdb) FAIL: gdb.ada/tasks.exp: info tasks after hitting breakpoint It was after seeing this that I thought of how to expose the bug with current mainline. Tested on x86_64 Fedora 17. gdb/ 2014-02-26 Pedro Alves * breakpoint.c (bpstat_check_breakpoint_conditions): Handle task-specific breakpoints. gdb/testsuite/ 2014-02-26 Pedro Alves * gdb.ada/tasks.exp: Set a task-specific breakpoint at break_me that won't ever trigger. Make sure that GDB reports the correct breakpoint that caused the stop. commit e3e3703534b6277b9d60441a9c828b7deadfe603 Author: Dan Mick Date: Wed Feb 26 12:05:02 2014 +0000 Resolve PR ld/16569 by emitting (and comparing) unmangled names, unless demangling has specifically been requested. commit d16461aeef555da47e358b0f81c75912e4ea07e2 Author: Pedro Alves Date: Tue Feb 25 20:45:50 2014 -0500 Re-implement ia64-linux-nat.c::ia64_linux_xfer_partial [description of this patch and ChangeLog entry by Joel Brobecker] The recent implementation was questionable, and if it worked, it was only by chance because the requested length is large enough that only one read was sufficient. Note that the implementation before that also made that assumption, in the form of only handling TARGET_OBJECT_UNWIND_TABLE xfer requests when offset was zero. gdb/ChangeLog: * ia64-linux-nat.c (ia64_linux_xfer_partial): Reimplement handling of object == TARGET_OBJECT_UNWIND_TABLE. commit a8b1622022a0fb3531bfd4ce77e69f6b15312745 Author: Stan Shebs Date: Tue Feb 25 15:47:58 2014 -0800 Annotate comments for Doxygen. commit cad798bd0d2eaabe27e1629dc76fc7e75dbd6760 Author: Alan Modra Date: Wed Feb 26 09:30:38 2014 +1030 daily update commit 71b7d793371c3cff599c3329c5f3205240117731 Author: Jan Kratochvil Date: Tue Feb 25 20:47:09 2014 +0100 PR gdb/16626 gdb/testsuite/ 2014-02-25 Jan Kratochvil PR gdb/16626 * gdb.base/auto-load.exp: Fix out-of-srctree run. Message-ID: <87k3cjt3jl.fsf@fleche.redhat.com> commit b9e795ee5549c36dedd086c202f8aa3534c4b770 Author: Tom Tromey Date: Mon Feb 24 14:57:14 2014 -0700 remove target_ignore This removes target_ignore, which isn't used any more. 2014-02-25 Tom Tromey * target.h (target_ignore): Don't declare. * target.c (target_ignore): Remove. commit 849c862eb2637990692ffe31d16dc779f9bf30c5 Author: Jan Kratochvil Date: Tue Feb 25 18:32:32 2014 +0100 PR gdb/16626 Fix auto-load 7.7 regression, the regression affects any loading from /usr/share/gdb/auto-load . 5b2bf9471f1499bee578fcd60c05afe85794e280 is the first bad commit commit 5b2bf9471f1499bee578fcd60c05afe85794e280 Author: Doug Evans Date: Fri Nov 29 21:29:26 2013 -0800 Move .debug_gdb_script processing to auto-load.c. Simplify handling of auto-loaded objfile scripts. Fedora 20 x86_64 $ gdb -q /usr/lib64/libgobject-2.0.so Reading symbols from /usr/lib64/libglib-2.0.so.0.3800.2...Reading symbols from /usr/lib/debug/usr/lib64/libglib-2.0.so.0.3800.2.debug...done. done. (gdb) _ Fedora Rawhide x86_64 $ gdb -q /usr/lib64/libgobject-2.0.so Reading symbols from /usr/lib64/libglib-2.0.so...Reading symbols from /usr/lib/debug/usr/lib64/libglib-2.0.so.0.3990.0.debug...done. done. warning: File "/usr/lib64/libglib-2.0.so.0.3990.0-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load:/usr/bin/mono-gdb.py". To enable execution of this file add add-auto-load-safe-path /usr/lib64/libglib-2.0.so.0.3990.0-gdb.py line to your configuration file "/home/jkratoch/.gdbinit". To completely disable this security protection add set auto-load safe-path / line to your configuration file "/home/jkratoch/.gdbinit". For more information about this security protection see the "Auto-loading safe path" section in the GDB manual. E.g., run from the shell: info "(gdb)Auto-loading safe path" (gdb) _ That is it tries to load "forbidden" /usr/lib64/libglib-2.0.so.0.3990.0-gdb.py but it should load instead /usr/share/gdb/auto-load/usr/lib64/libglib-2.0.so.0.3990.0-gdb.py* Although that is also not exactly this way, there does not exist any /usr/lib64/libglib-2.0.so.0.3990.0-gdb.py despite regressed GDB says so. gdb/ 2014-02-24 Jan Kratochvil PR gdb/16626 * auto-load.c (auto_load_objfile_script_1): Change filename to debugfile. gdb/testsuite/ 2014-02-24 Jan Kratochvil PR gdb/16626 * gdb.base/auto-load-script: New file. * gdb.base/auto-load.c: New file. * gdb.base/auto-load.exp: New file. Message-ID: <20140223212400.GA8831@host2.jankratochvil.net> commit e2f0d509b33e91abf99978af5fe8d45240550c35 Author: Jan Kratochvil Date: Tue Feb 25 18:28:38 2014 +0100 Fix dw2-icycle.exp -fsanitize=address GDB crash. binutils readelf -wi: <4>: Abbrev Number: 26 (DW_TAG_inlined_subroutine) DW_AT_abstract_origin: <0x5a> DW_AT_low_pc : 0x400590 DW_AT_high_pc : 0x4 DW_AT_call_file : 1 DW_AT_call_line : 20 DW_AT_sibling : <0xb8> <2>: Abbrev Number: 35 (DW_TAG_inlined_subroutine) DW_AT_abstract_origin: <0x5a> DW_AT_low_pc : 0x400590 DW_AT_high_pc : 0x4 DW_AT_call_file : 1 DW_AT_call_line : 29 DW_AT_sibling points to the next DIE - but that DIE is 2 levels upwards - definitely not a sibling. This confuses GDB up to a crash: ==32143== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6024000198ac at pc 0xb4d104 bp 0x7fff63e96e70 sp 0x7fff63e96e60 READ of size 1 at 0x6024000198ac thread T0 #0 0xb4d103 in read_unsigned_leb128 (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb4d103) #1 0xb15f3c in peek_die_abbrev (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb15f3c) #2 0xb46185 in load_partial_dies (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb46185) #3 0xb103fb in process_psymtab_comp_unit_reader (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb103fb) #4 0xb0d2a9 in init_cutu_and_read_dies (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb0d2a9) #5 0xb1115f in process_psymtab_comp_unit (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb1115f) #6 0xb1235f in dwarf2_build_psymtabs_hard (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb1235f) #7 0xb05536 in dwarf2_build_psymtabs (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0xb05536) #8 0x86d5a5 in read_psyms (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0x86d5a5) #9 0x9b1c37 in require_partial_symbols (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0x9b1c37) #10 0x9bf2d0 in read_symbols (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0x9bf2d0) #11 0x9c014c in syms_from_objfile_1 (/home/jkratoch/redhat/gdb-clean/gdb/gdb+0x9c014c) gdb/testsuite/ 2014-02-25 Jan Kratochvil Fix dw2-icycle.exp -fsanitize=address GDB crash. * gdb.dwarf2/dw2-icycle.S: Remove all DW_AT_sibling. Message-ID: <20140224201011.GA28926@host2.jankratochvil.net> commit d6e9dd78c4ac29900ed0047f15892720c67dff6b Author: Ilya Tocar Date: Thu Feb 20 19:08:13 2014 +0400 Remove bogus vcvtps2ph variant. We currently support version of vcvtps2ph with sae and only 1 register operand. This version is encoded as if missing operand was equal to ymm0. I didn't found any references to this variant in http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf This patch removes it. opcodes/ * i386-opc.tbl: Remove wrong variant of vcvtps2ph * i386-tbl.h: Regenerate. commit 475109d8708bdc9c9a4667c0e460a1c395fdd8fd Author: Joel Brobecker Date: Tue Feb 25 09:58:25 2014 -0500 Adjust ia64_linux_xfer_partial following to_xfer_partial API change. ia64-linux-nat.c no longer compiles because ia64_linux_xfer_partial no longer matches the to_xfer_partial prototype. This patch fixes the problem by adjusting it accordingly. gdb/ChangeLog: * ia64-linux-nat.c (ia64_linux_xfer_partial): Add function documentation. Adjust prototype to match the target_ops to_xfer_partial method. Adjust implementation accordingly. commit 041ab8b4843764204e660aefdb006da397e2d8ac Author: Hui Zhu Date: Tue Feb 25 23:59:47 2014 +0800 Fix a format issue of ChangeLog. commit e186c3bd62c2e401c74651b712d960f38cfb8169 Author: Hui Zhu Date: Tue Feb 25 23:55:42 2014 +0800 2014-02-25 Hui Zhu * target.h (target_ops): Fix TARGET_DEFAULT_RETURN of to_traceframe_info. commit 6d451942486ca4125c48b1f10fdd5d619d6a532c Author: Kevin Buettner Date: Tue Feb 25 00:32:45 2014 -0700 Use 16-bit integer type for rl78 register pairs. This patch changes rl78-tdep.c so that a 16-bit type is used for register pairs instead of a pointer type as was previously the case. This will cause these register pairs to be displayed as integers instead of as a data address with a 0xf0000 ORed in. E.g. registers ax, bc, de, and hl might now be displayed like this: (gdb) info registers ax bc de hl ax 0x6 6 bc 0x0 0 de 0x10c3 4291 hl 0x108d 423 Whereas, before, they were displayed as follows: (gdb) info registers ax bc de hl ax 0xf0006 0xf0006 bc 0xf0000 0xf0000 de 0xf10c3 0xf10c3 hl 0xf108d 0xf108d These pairs are 16 bit quantities and should be displayed as such. This change also affects the way that the banked register pairs are displayed. Within GDB, the banked register pairs are named bank0_rp0, bank0_rp1, .., bank3_rp2, bank3_rp3. However, these register pairs need to be used as addresses in DWARF expressions. I have added 16 pseudo registers corresponding to banked register pairs. These new pseudo registers are all hidden from the user and have a pointer type. Values from these registers are intended to be used in DWARF expressions. Therefore, rl78_dwarf_reg_to_regnum() has been adjusted to return these new pseudo register numbers. I had a much simpler patch which only changed the types, but it showed a number of regressions due to integer values from the banked register pairs being used as part of an address expression. This current patch shows no regressions and now displays values of register pairs correctly. * rl78-tdep.c ( RL78_BANK0_RP0_PTR_REGNUM, RL78_BANK0_RP1_PTR_REGNUM) (RL78_BANK0_RP2_PTR_REGNUM, RL78_BANK0_RP3_PTR_REGNUM) (RL78_BANK1_RP0_PTR_REGNUM, RL78_BANK1_RP1_PTR_REGNUM) (RL78_BANK1_RP2_PTR_REGNUM, RL78_BANK1_RP3_PTR_REGNUM) (RL78_BANK2_RP0_PTR_REGNUM, RL78_BANK2_RP1_PTR_REGNUM) (RL78_BANK2_RP2_PTR_REGNUM, RL78_BANK2_RP3_PTR_REGNUM) (RL78_BANK3_RP0_PTR_REGNUM, RL78_BANK3_RP1_PTR_REGNUM) (RL78_BANK3_RP2_PTR_REGNUM, RL78_BANK3_RP3_PTR_REGNUM): New constants. (rl78_register_type): Use a data pointer type for SP and new pseudo registers mentioned above. Use a 16 bit integer type for all other register pairs. (rl78_register_name, rl78_g10_register_name): Update for new pseudo registers. (rl78_pseudo_register_read): Likewise. (rl78_pseudo_register_write): Likewise. (rl78_dwarf_reg_to_regnum): Return register numbers representing to the newly added pseudo registers. ----------------------------------------------------------------------- Summary of changes: bfd/version.h | 2 +- gdb/ChangeLog | 613 ++++++++++++++++++++ gdb/ada-lang.c | 18 +- gdb/ada-tasks.c | 12 +- gdb/aix-thread.c | 15 +- gdb/amd64-windows-tdep.c | 6 +- gdb/arm-tdep.c | 14 +- gdb/arm-wince-tdep.c | 6 +- gdb/auto-load.c | 6 +- gdb/auxv.c | 9 +- gdb/avr-tdep.c | 7 +- gdb/ax-gdb.c | 7 +- gdb/block.c | 2 +- gdb/blockframe.c | 54 +-- gdb/breakpoint.c | 70 ++-- gdb/bsd-uthread.c | 22 +- gdb/btrace.c | 4 +- gdb/c-exp.y | 2 +- gdb/c-valprint.c | 7 +- gdb/coff-pe-read.c | 28 +- gdb/coffread.c | 17 +- gdb/common/agent.c | 7 +- gdb/common/common-utils.h | 4 +- gdb/d-lang.c | 4 +- gdb/dbxread.c | 42 +- gdb/dec-thread.c | 6 +- gdb/defs.h | 128 +++-- gdb/dwarf2loc.c | 33 +- gdb/dwarf2read.c | 185 +++++-- gdb/elfread.c | 115 ++-- gdb/eval.c | 2 +- gdb/exec.c | 16 +- gdb/findvar.c | 22 +- gdb/frame.c | 8 +- gdb/frv-tdep.c | 9 +- gdb/gcore.c | 4 +- gdb/gdbserver/ChangeLog | 38 ++ gdb/gdbserver/win32-low.c | 279 ++------- gdb/gdbtypes.c | 27 +- gdb/gdbtypes.h | 4 + gdb/glibc-tdep.c | 6 +- gdb/gnu-v2-abi.c | 2 +- gdb/gnu-v3-abi.c | 24 +- gdb/go-lang.c | 4 +- gdb/go32-nat.c | 75 ++- gdb/hppa-hpux-tdep.c | 36 +- gdb/hppa-tdep.c | 21 +- gdb/hppa-tdep.h | 2 +- gdb/i386-tdep.c | 6 +- gdb/ia64-linux-nat.c | 39 ++- gdb/ia64-tdep.c | 3 +- gdb/infcall.c | 2 +- gdb/infcmd.c | 2 +- gdb/jit.c | 17 +- gdb/linespec.c | 15 +- gdb/linux-fork.c | 11 +- gdb/linux-nat.c | 7 +- gdb/linux-thread-db.c | 6 +- gdb/m32c-tdep.c | 29 +- gdb/m32r-tdep.c | 5 +- gdb/m68hc11-tdep.c | 6 +- gdb/machoread.c | 19 +- gdb/maint.c | 6 +- gdb/mdebugread.c | 38 +- gdb/minsyms.c | 332 +++++++----- gdb/minsyms.h | 43 +- gdb/mips-linux-tdep.c | 4 +- gdb/mips-tdep.c | 10 +- gdb/mipsread.c | 3 - gdb/msp430-tdep.c | 2 +- gdb/nto-procfs.c | 58 ++- gdb/objc-lang.c | 49 +- gdb/objfiles.c | 16 +- gdb/objfiles.h | 67 ++- gdb/obsd-tdep.c | 5 +- gdb/p-lang.c | 8 +- gdb/p-valprint.c | 7 +- gdb/parse.c | 6 +- gdb/ppc-linux-tdep.c | 16 +- gdb/ppc-sysv-tdep.c | 10 +- gdb/printcmd.c | 50 +- gdb/proc-service.c | 7 +- gdb/psymtab.c | 14 +- gdb/python/lib/gdb/printing.py | 2 + gdb/python/py-framefilter.c | 2 +- gdb/ravenscar-thread.c | 28 +- gdb/record-btrace.c | 4 +- gdb/remote-m32r-sdi.c | 60 ++- gdb/remote-mips.c | 65 ++- gdb/remote.c | 8 +- gdb/rl78-tdep.c | 67 ++- gdb/rs6000-tdep.c | 8 +- gdb/sh64-tdep.c | 2 +- gdb/sol-thread.c | 6 +- gdb/sol2-tdep.c | 5 +- gdb/solib-dsbt.c | 6 +- gdb/solib-frv.c | 12 +- gdb/solib-irix.c | 6 +- gdb/solib-som.c | 79 ++-- gdb/solib-spu.c | 16 +- gdb/solib-svr4.c | 18 +- gdb/somread.c | 24 +- gdb/spu-tdep.c | 29 +- gdb/stabsread.c | 23 +- gdb/stack.c | 15 +- gdb/symfile-debug.c | 4 +- gdb/symfile.c | 21 +- gdb/symfile.h | 2 +- gdb/symmisc.c | 23 +- gdb/symtab.c | 90 ++-- gdb/symtab.h | 45 ++- gdb/target.c | 129 ---- gdb/target.h | 31 +- gdb/testsuite/ChangeLog | 45 ++ gdb/testsuite/gdb.ada/tasks.exp | 28 +- gdb/testsuite/gdb.base/auto-load-script | 17 + gdb/testsuite/gdb.base/auto-load.c | 22 + gdb/testsuite/gdb.base/auto-load.exp | 41 ++ gdb/testsuite/gdb.dwarf2/arr-stride.c | 20 + gdb/testsuite/gdb.dwarf2/arr-stride.exp | 108 ++++ gdb/testsuite/gdb.dwarf2/arr-subrange.c | 20 + gdb/testsuite/gdb.dwarf2/arr-subrange.exp | 99 ++++ gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S | 151 +++++ gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c | 28 + gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S | 151 +++++ gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c | 28 + gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c | 28 + gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp | 35 ++ gdb/testsuite/gdb.dwarf2/dw2-icycle.S | 10 - gdb/testsuite/gdb.python/py-pp-re-notag.c | 33 + gdb/testsuite/gdb.python/py-pp-re-notag.exp | 39 ++ gdb/testsuite/gdb.python/py-pp-re-notag.py | 36 ++ gdb/tracepoint.c | 6 +- gdb/tui/tui-disasm.c | 21 +- gdb/valops.c | 2 +- gdb/value.c | 10 +- gdb/xcoffread.c | 1 - ld/ChangeLog | 8 + ld/ldcref.c | 32 +- opcodes/ChangeLog | 7 +- opcodes/i386-opc.tbl | 1 - opcodes/i386-tbl.h | 18 - 142 files changed, 3214 insertions(+), 1603 deletions(-) create mode 100644 gdb/testsuite/gdb.base/auto-load-script create mode 100644 gdb/testsuite/gdb.base/auto-load.c create mode 100644 gdb/testsuite/gdb.base/auto-load.exp create mode 100644 gdb/testsuite/gdb.dwarf2/arr-stride.c create mode 100644 gdb/testsuite/gdb.dwarf2/arr-stride.exp create mode 100644 gdb/testsuite/gdb.dwarf2/arr-subrange.c create mode 100644 gdb/testsuite/gdb.dwarf2/arr-subrange.exp create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp create mode 100644 gdb/testsuite/gdb.python/py-pp-re-notag.c create mode 100644 gdb/testsuite/gdb.python/py-pp-re-notag.exp create mode 100644 gdb/testsuite/gdb.python/py-pp-re-notag.py First 500 lines of diff: diff --git a/bfd/version.h b/bfd/version.h index 979f201..b29a89e 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20140225 +#define BFD_VERSION_DATE 20140226 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9f9088d..bb7060c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,615 @@ +2014-02-27 Joel Brobecker + + * dwarf2read.c (attr_value_as_address): New function. + (dwarf2_find_base_address, read_call_site_scope): Use + attr_value_as_address in place of DW_ADDR. + (dwarf2_get_pc_bounds): Use attr_value_as_address to get + the low and high addresses. Slight rework of the handling + of the high pc being a constant form, and limit it to + DWARF verson 4 or higher. + (dwarf2_record_block_ranges): Likewise. + (read_partial_die): Likewise. + (new_symbol_full): Use attr_value_as_address in place of DW_ADDR. + +2014-02-26 Tom Tromey + + * exec.c (exec_file_attach): Hold a reference to exec_bfd. + +2014-02-26 Tom Tromey + + * elfread.c (elf_read_minimal_symbols): Return early if + minimal symbols have already been read. Add "ei" parameter. + (elf_symfile_read): Call elf_read_minimal_symbols earlier. + * minsyms.c (prim_record_minimal_symbol_full): Update. + * objfiles.h (struct objstats) : Move... + (struct objfile_per_bfd_storage) : ... here. + * symmisc.c (print_objfile_statistics): Update. + +2014-02-26 Tom Tromey + + * elfread.c (elf_read_minimal_symbols): New function, from + elf_symfile_read. + (elf_symfile_read): Call it. + +2014-02-26 Tom Tromey + + * minsyms.c (lookup_minimal_symbol, iterate_over_minimal_symbols) + (lookup_minimal_symbol_text, lookup_minimal_symbol_by_pc_name) + (lookup_minimal_symbol_solib_trampoline) + (lookup_minimal_symbol_by_pc_section_1) + (lookup_minimal_symbol_and_objfile): Update. + (prim_record_minimal_symbol_full): Use the per-BFD obstack. + Don't allocate a minimal symbol if minsyms have already been read. + (build_minimal_symbol_hash_tables): Update. + (install_minimal_symbols): Do nothing if minsyms already read. + Use the per-BFD obstack. + (terminate_minimal_symbol_table): Use the per-BFD obstack. + * objfiles.c (allocate_objfile): Call + terminate_minimal_symbol_table later. + (have_minimal_symbols): Update. + * objfiles.h (struct objfile_per_bfd_storage) : + Move from struct objfile. + : New field. + (struct objfile) : Move. + (ALL_OBJFILE_MSYMBOLS): Update. + * symfile.c (read_symbols): Set minsyms_read. + (reread_symbols): Update. + * symmisc.c (dump_objfile, dump_msymbols): Update. + +2014-02-26 Tom Tromey + + * minsyms.c (msymbols_sort): Remove. + * minsyms.h (msymbols_sort): Remove. + * objfiles.c (objfile_relocate1): Don't relocate minsyms. + * symtab.h (MSYMBOL_VALUE_ADDRESS): Use objfile offsets. + * elfread.c (elf_symtab_read): Don't add section offsets. + * xcoffread.c (record_minimal_symbol): Don't add section offset + to minimal symbol address. + * somread.c (text_offset, data_offset): Remove. + (som_symtab_read): Don't add section offsets to minimal symbol + addresses. + * coff-pe-read.c (add_pe_forwarded_sym, read_pe_exported_syms): + Don't add section offsets to minimal symbols. + * coffread.c (coff_symtab_read): Don't add section offsets + to minimal symbol addresses. + * machoread.c (macho_symtab_add_minsym): Don't add section offset + to minimal symbol addresses. + * mipsread.c (read_alphacoff_dynamic_symtab): Don't add + section offset to minimal symbol addresses. + * mdebugread.c (parse_partial_symbols): Don't add section + offset to minimal symbol addresses. + * dbxread.c (read_dbx_dynamic_symtab): Don't add section + offset to minimal symbol addresses. + +2014-02-26 Tom Tromey + + * ada-lang.c (ada_main_name): Update. + (ada_add_standard_exceptions): Update. + * ada-tasks.c (ada_tasks_inferior_data_sniffer): Update. + * aix-thread.c (pdc_symbol_addrs, pd_enable): Update. + * arm-tdep.c (skip_prologue_function, arm_skip_stub): Update. + * auxv.c (ld_so_xfer_auxv): Update. + * avr-tdep.c (avr_scan_prologue): Update. + * ax-gdb.c (gen_var_ref): Update. + * blockframe.c (get_pc_function_start) + (find_pc_partial_function_gnu_ifunc): Update. + * breakpoint.c (create_overlay_event_breakpoint) + (create_longjmp_master_breakpoint) + (create_std_terminate_master_breakpoint) + (create_exception_master_breakpoint): Update. + * bsd-uthread.c (bsd_uthread_lookup_address): Update. + * c-valprint.c (c_val_print): Update. + * coff-pe-read.c (add_pe_forwarded_sym): Update. + * common/agent.c (agent_look_up_symbols): Update. + * dbxread.c (find_stab_function_addr, end_psymtab): Update. + * dwarf2loc.c (call_site_to_target_addr): Update. + * dwarf2read.c (dw2_find_pc_sect_symtab): Update. + * elfread.c (elf_gnu_ifunc_record_cache) + (elf_gnu_ifunc_resolve_by_got): Update. + * findvar.c (default_read_var_value): Update. + * frame.c (inside_main_func): Update. + * frv-tdep.c (frv_frame_this_id): Update. + * glibc-tdep.c (glibc_skip_solib_resolver): Update. + * gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline): + Update. + * hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence) + (hppa_hpux_find_dummy_bpaddr): Update. + * hppa-tdep.c (hppa_symbol_address): Update. + * infcmd.c (until_next_command): Update. + * jit.c (jit_read_descriptor, jit_breakpoint_re_set_internal): + Update. + * linespec.c (minsym_found, add_minsym): Update. + * linux-nat.c (get_signo): Update. + * linux-thread-db.c (inferior_has_bug): Update. + * m32c-tdep.c (m32c_return_value) + (m32c_m16c_address_to_pointer): Update. + * m32r-tdep.c (m32r_frame_this_id): Update. + * m68hc11-tdep.c (m68hc11_get_register_info): Update. + * machoread.c (macho_resolve_oso_sym_with_minsym): Update. + * maint.c (maintenance_translate_address): Update. + * minsyms.c (lookup_minimal_symbol_by_pc_name): Update. + (frob_address): New function. + (lookup_minimal_symbol_by_pc_section_1): Use raw addresses, + frob_address. Rename parameter to "pc_in". + (compare_minimal_symbols, compact_minimal_symbols): Use raw + addresses. + (find_solib_trampoline_target, minimal_symbol_upper_bound): + Update. + * mips-linux-tdep.c (mips_linux_skip_resolver): Update. + * mips-tdep.c (mips_skip_pic_trampoline_code): Update. + * objc-lang.c (find_objc_msgsend): Update. + * objfiles.c (objfile_relocate1): Update. + * obsd-tdep.c (obsd_skip_solib_resolver): Update. + * p-valprint.c (pascal_val_print): Update. + * parse.c (write_exp_msymbol): Update. + * ppc-linux-tdep.c (ppc_linux_spe_context_lookup) + (ppc_elfv2_skip_entrypoint): Update. + * ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update. + * printcmd.c (build_address_symbolic, msym_info) + (address_info): Update. + * proc-service.c (ps_pglobal_lookup): Update. + * psymtab.c (find_pc_sect_psymtab_closer) + (find_pc_sect_psymtab, find_pc_sect_symtab_from_partial): + Change msymbol parameter to bound_minimal_symbol. + * ravenscar-thread.c (get_running_thread_id): Update. + * remote.c (remote_check_symbols): Update. + * sh64-tdep.c (sh64_elf_make_msymbol_special): Use raw + address. + * sol2-tdep.c (sol2_skip_solib_resolver): Update. + * solib-dsbt.c (lm_base): Update. + * solib-frv.c (lm_base, main_got): Update. + * solib-irix.c (locate_base): Update. + * solib-som.c (som_solib_create_inferior_hook) + (link_map_start): Update. + * solib-spu.c (spu_enable_break, ocl_enable_break): Update. + * solib-svr4.c (elf_locate_base, enable_break): Update. + * spu-tdep.c (spu_get_overlay_table, spu_catch_start) + (flush_ea_cache): Update. + * stabsread.c (define_symbol, scan_file_globals): Update. + * stack.c (find_frame_funname): Update. + * symfile-debug.c (debug_qf_expand_symtabs_matching) + (debug_qf_find_pc_sect_symtab): Update. + * symfile.c (simple_read_overlay_table) + (simple_overlay_update): Update. + * symfile.h (struct quick_symbol_functions) + : Change type of msymbol to + bound_minimal_symbol. + * symmisc.c (dump_msymbols): Update. + * symtab.c (find_pc_sect_symtab_via_partial) + (find_pc_sect_psymtab, find_pc_sect_line, skip_prologue_sal) + (search_symbols, print_msymbol_info): Update. + * symtab.h (MSYMBOL_VALUE_RAW_ADDRESS): New macro. + (MSYMBOL_VALUE_ADDRESS): Redefine. + (BMSYMBOL_VALUE_ADDRESS): New macro. + * tracepoint.c (scope_info): Update. + * tui/tui-disasm.c (tui_find_disassembly_address) + (tui_get_begin_asm_address): Update. + * valops.c (find_function_in_inferior): Update. + * value.c (value_static_field, value_fn_field): Update. + +2014-02-26 Tom Tromey + + * ada-lang.c (ada_update_initial_language): Update. + (ada_main_name, ada_has_this_exception_support): Update. + * ada-tasks.c (ada_tasks_inferior_data_sniffer): Update. + * aix-thread.c (pdc_symbol_addrs, pd_enable): Update. + * arm-tdep.c (arm_skip_stub): Update. + * auxv.c (ld_so_xfer_auxv): Update. + * avr-tdep.c (avr_scan_prologue): Update. + * ax-gdb.c (gen_var_ref): Update. + * breakpoint.c (struct breakpoint_objfile_data) + : Change + type to bound_minimal_symbol. + (create_overlay_event_breakpoint) + (create_longjmp_master_breakpoint) + (create_std_terminate_master_breakpoint) + (create_exception_master_breakpoint): Update. + * bsd-uthread.c (bsd_uthread_lookup_address): Update. + * c-exp.y (classify_name): Update. + * coffread.c (coff_symfile_read): Update. + * common/agent.c (agent_look_up_symbols): Update. + * d-lang.c (d_main_name): Update. + * dbxread.c (find_stab_function_addr, end_psymtab): Update. + * dec-thread.c (enable_dec_thread): Update. + * dwarf2loc.c (call_site_to_target_addr): Update. + * elfread.c (elf_gnu_ifunc_resolve_by_got): Update. + * eval.c (evaluate_subexp_standard): Update. + * findvar.c (struct minsym_lookup_data) : Change type + to bound_minimal_symbol. + : Remove. + (minsym_lookup_iterator_cb, default_read_var_value): Update. + * frame.c (inside_main_func): Update. + * frv-tdep.c (frv_frame_this_id): Update. + * gcore.c (call_target_sbrk): Update. + * glibc-tdep.c (glibc_skip_solib_resolver): Update. + * gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline): + Update. + * go-lang.c (go_main_name): Update. + * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code) + (hppa_hpux_find_import_stub_for_addr): Update. + * hppa-tdep.c (hppa_extract_17, hppa_lookup_stub_minimal_symbol): + Update. Change return type. + * hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return + type. + * jit.c (jit_breakpoint_re_set_internal): Update. + * linux-fork.c (inferior_call_waitpid, checkpoint_command): + Update. + * linux-nat.c (get_signo): Update. + * linux-thread-db.c (inferior_has_bug): Update + * m32c-tdep.c (m32c_return_value) + (m32c_m16c_address_to_pointer): Update. + * m32r-tdep.c (m32r_frame_this_id): Update. + * m68hc11-tdep.c (m68hc11_get_register_info): Update. + * machoread.c (macho_resolve_oso_sym_with_minsym): Update. + * minsyms.c (lookup_minimal_symbol_internal): Rename to + lookup_minimal_symbol. Change return type. + (lookup_minimal_symbol): Remove. + (lookup_bound_minimal_symbol): Update. + (lookup_minimal_symbol_text): Change return type. + (lookup_minimal_symbol_solib_trampoline): Change return type. + * minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text) + (lookup_minimal_symbol_solib_trampoline): Change return type. + * mips-linux-tdep.c (mips_linux_skip_resolver): Update. + * objc-lang.c (lookup_objc_class, lookup_child_selector) + (value_nsstring, find_imps): Update. + * obsd-tdep.c (obsd_skip_solib_resolver): Update. + * p-lang.c (pascal_main_name): Update. + * ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update. + * ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update. + * proc-service.c (ps_pglobal_lookup): Update. + * ravenscar-thread.c (get_running_thread_msymbol): Change + return type. + (has_ravenscar_runtime, get_running_thread_id): Update. + * remote.c (remote_check_symbols): Update. + * sol-thread.c (ps_pglobal_lookup): Update. + * sol2-tdep.c (sol2_skip_solib_resolver): Update. + * solib-dsbt.c (lm_base): Update. + * solib-frv.c (lm_base, frv_relocate_section_addresses): + Update. + * solib-irix.c (locate_base): Update. + * solib-som.c (som_solib_create_inferior_hook) + (som_solib_desire_dynamic_linker_symbols, link_map_start): + Update. + * solib-spu.c (spu_enable_break): Update. + * solib-svr4.c (elf_locate_base, enable_break): Update. + * spu-tdep.c (spu_get_overlay_table, spu_catch_start) + (flush_ea_cache): Update. + * stabsread.c (define_symbol): Update. + * symfile.c (simple_read_overlay_table): Update. + * symtab.c (find_pc_sect_line): Update. + * tracepoint.c (scope_info): Update. + * tui-disasm.c (tui_get_begin_asm_address): Update. + * value.c (value_static_field): Update. + +2014-02-26 Tom Tromey + + * minsyms.c (prim_record_minimal_symbol_full): Use + SET_MSYMBOL_VALUE_ADDRESS. + * objfiles.c (objfile_relocate1): Use SET_MSYMBOL_VALUE_ADDRESS. + * sh64-tdep.c (sh64_elf_make_msymbol_special): Use + SET_MSYMBOL_VALUE_ADDRESS. + * symtab.h (MSYMBOL_VALUE_ADDRESS): Expand to an rvalue. + (SET_MSYMBOL_VALUE_ADDRESS): New macro. + +2014-02-26 Tom Tromey + + * symtab.h (struct minimal_symbol) : Rename from ginfo. + (MSYMBOL_VALUE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES) + (MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE) + (MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME) + (MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, MSYMBOL_DEMANGLED_NAME) + (MSYMBOL_SET_LANGUAGE, MSYMBOL_SEARCH_NAME) + (MSYMBOL_MATCHES_SEARCH_NAME, MSYMBOL_SET_NAMES): New macros. + * ada-lang.c (ada_main_name): Update. + (ada_lookup_simple_minsym): Update. + (ada_make_symbol_completion_list): Update. + (ada_add_standard_exceptions): Update. + * ada-tasks.c (read_atcb, ada_tasks_inferior_data_sniffer): Update. + * aix-thread.c (pdc_symbol_addrs, pd_enable): Update. + * amd64-windows-tdep.c (amd64_skip_main_prologue): Update. + * arm-tdep.c (skip_prologue_function): Update. + (arm_skip_stack_protector, arm_skip_stub): Update. + * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. + (arm_wince_skip_main_prologue): Update. + * auxv.c (ld_so_xfer_auxv): Update. + * avr-tdep.c (avr_scan_prologue): Update. + * ax-gdb.c (gen_var_ref): Update. + * block.c (call_site_for_pc): Update. + * blockframe.c (get_pc_function_start): Update. + (find_pc_partial_function_gnu_ifunc): Update. + * breakpoint.c (create_overlay_event_breakpoint): Update. + (create_longjmp_master_breakpoint): Update. + (create_std_terminate_master_breakpoint): Update. + (create_exception_master_breakpoint): Update. + (resolve_sal_pc): Update. + * bsd-uthread.c (bsd_uthread_lookup_address): Update. + * btrace.c (ftrace_print_function_name, ftrace_function_switched): + Update. + * c-valprint.c (c_val_print): Update. + * coff-pe-read.c (add_pe_forwarded_sym): Update. + * coffread.c (coff_symfile_read): Update. + * common/agent.c (agent_look_up_symbols): Update. + * dbxread.c (find_stab_function_addr): Update. + (end_psymtab): Update. + * dwarf2loc.c (call_site_to_target_addr): Update. + (func_verify_no_selftailcall): Update. + (tailcall_dump): Update. + (call_site_find_chain_1): Update. + (dwarf_expr_reg_to_entry_parameter): Update. + * elfread.c (elf_gnu_ifunc_record_cache): Update. + (elf_gnu_ifunc_resolve_by_got): Update. + * f-valprint.c (info_common_command): Update. + * findvar.c (read_var_value): Update. + * frame.c (get_prev_frame_1): Update. + (inside_main_func): Update. + * frv-tdep.c (frv_skip_main_prologue): Update. + (frv_frame_this_id): Update. + * glibc-tdep.c (glibc_skip_solib_resolver): Update. + * gnu-v2-abi.c (gnuv2_value_rtti_type): Update. + * gnu-v3-abi.c (gnuv3_rtti_type): Update. + (gnuv3_skip_trampoline): Update. + * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline): Update. + (hppa64_hpux_in_solib_call_trampoline): Update. + (hppa_hpux_skip_trampoline_code): Update. + (hppa64_hpux_search_dummy_call_sequence): Update. + (hppa_hpux_find_import_stub_for_addr): Update. + (hppa_hpux_find_dummy_bpaddr): Update. + * hppa-tdep.c (hppa_symbol_address) + (hppa_lookup_stub_minimal_symbol): Update. + * i386-tdep.c (i386_skip_main_prologue): Update. + (i386_pe_skip_trampoline_code): Update. + * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update. + * infcall.c (get_function_name): Update. + * infcmd.c (until_next_command): Update. + * jit.c (jit_breakpoint_re_set_internal): Update. + (jit_inferior_init): Update. + * linespec.c (minsym_found): Update. + (add_minsym): Update. + * linux-fork.c (info_checkpoints_command): Update. + * linux-nat.c (get_signo): Update. + * linux-thread-db.c (inferior_has_bug): Update. + * m32c-tdep.c (m32c_return_value): Update. + (m32c_m16c_address_to_pointer): Update. + (m32c_m16c_pointer_to_address): Update. + * m32r-tdep.c (m32r_frame_this_id): Update. + * m68hc11-tdep.c (m68hc11_get_register_info): Update. + * machoread.c (macho_resolve_oso_sym_with_minsym): Update. + * maint.c (maintenance_translate_address): Update. + * minsyms.c (add_minsym_to_hash_table): Update. + (add_minsym_to_demangled_hash_table): Update. + (msymbol_objfile): Update. + (lookup_minimal_symbol): Update. + (iterate_over_minimal_symbols): Update. + (lookup_minimal_symbol_text): Update. + (lookup_minimal_symbol_by_pc_name): Update. + (lookup_minimal_symbol_solib_trampoline): Update. + (lookup_minimal_symbol_by_pc_section_1): Update. + (lookup_minimal_symbol_and_objfile): Update. + (prim_record_minimal_symbol_full): Update. + (compare_minimal_symbols): Update. + (compact_minimal_symbols): Update. + (build_minimal_symbol_hash_tables): Update. + (install_minimal_symbols): Update. + (terminate_minimal_symbol_table): Update. + (find_solib_trampoline_target): Update. + (minimal_symbol_upper_bound): Update. + * mips-linux-tdep.c (mips_linux_skip_resolver): Update. + * mips-tdep.c (mips_stub_frame_sniffer): Update. + (mips_skip_pic_trampoline_code): Update. + * msp430-tdep.c (msp430_skip_trampoline_code): Update. + * objc-lang.c (selectors_info): Update. + (classes_info): Update. + (find_methods): Update. + (find_imps): Update. + (find_objc_msgsend): Update. + * objfiles.c (objfile_relocate1): Update. + * objfiles.h (ALL_OBJFILE_MSYMBOLS): Update. + * obsd-tdep.c (obsd_skip_solib_resolver): Update. + * p-valprint.c (pascal_val_print): Update. + * parse.c (write_exp_msymbol): Update. + * ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code) + (ppc_linux_spe_context_lookup, ppc_elfv2_skip_entrypoint): Update. + * ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update. + * printcmd.c (build_address_symbolic): Update. + (sym_info): Update. + (address_info): Update. + * proc-service.c (ps_pglobal_lookup): Update. + * psymtab.c (find_pc_sect_psymtab_closer): Update. + (find_pc_sect_psymtab): Update. + * python/py-framefilter.c (py_print_frame): Update. + * ravenscar-thread.c (get_running_thread_id): Update. + * record-btrace.c (btrace_call_history, btrace_get_bfun_name): + Update. + * remote.c (remote_check_symbols): Update. + * rs6000-tdep.c (rs6000_skip_main_prologue): Update. + (rs6000_skip_trampoline_code): Update. + * sh64-tdep.c (sh64_elf_make_msymbol_special): Update. + * sol2-tdep.c (sol2_skip_solib_resolver): Update. + * solib-dsbt.c (lm_base): Update. + * solib-frv.c (lm_base): Update. + (main_got): Update. + * solib-irix.c (locate_base): Update. + * solib-som.c (som_solib_create_inferior_hook): Update. + (som_solib_desire_dynamic_linker_symbols): Update. + (link_map_start): Update. + * solib-spu.c (spu_enable_break): Update. + (ocl_enable_break): Update. + * solib-svr4.c (elf_locate_base): Update. + (enable_break): Update. + * spu-tdep.c (spu_get_overlay_table): Update. + (spu_catch_start): Update. + (flush_ea_cache): Update. + * stabsread.c (define_symbol): Update. + (scan_file_globals): Update. + * stack.c (find_frame_funname): Update. + (frame_info): Update. + * symfile.c (simple_read_overlay_table): Update. + (simple_overlay_update): Update. + * symmisc.c (dump_msymbols): Update. + * symtab.c (fixup_section): Update. + (find_pc_sect_line): Update. + (skip_prologue_sal): Update. + (search_symbols): Update. + (print_msymbol_info): Update. + (rbreak_command): Update. + (MCOMPLETION_LIST_ADD_SYMBOL): New macro. + (completion_list_objc_symbol): Update. + (default_make_symbol_completion_list_break_on): Update. + * tracepoint.c (scope_info): Update. + * tui/tui-disasm.c (tui_find_disassembly_address): Update. + (tui_get_begin_asm_address): Update. + * valops.c (find_function_in_inferior): Update. + * value.c (value_static_field): Update. + (value_fn_field): Update. + +2014-02-26 Tom Tromey + + * blockframe.c (find_pc_partial_function_gnu_ifunc): Use + bound minimal symbols. Move code that knows about minsym + table layout... + * minsyms.c (minimal_symbol_upper_bound): ... here. New + function. + * minsyms.h (minimal_symbol_upper_bound): Declare. + * objc-lang.c (find_objc_msgsend): Use bound minimal symbols, + minimal_symbol_upper_bound. + +2014-02-27 Joel Brobecker + + * python/lib/gdb/printing.py (RegexpCollectionPrettyPrinter): + Use the type's name if its basic type does not have a tag. + +2014-02-27 Joel Brobecker + + * dwarf2read.c (read_subrange_type): Add comment. hooks/post-receive -- Repository for Project Archer.