From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8028 invoked by alias); 5 Feb 2013 20:39:45 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 7866 invoked by uid 9674); 5 Feb 2013 20:39:43 -0000 Date: Tue, 05 Feb 2013 20:39:00 -0000 Message-ID: <20130205203941.7819.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-absdir: Merge branch 'mix' into mix-default X-Git-Refname: refs/heads/archer-jankratochvil-absdir X-Git-Reftype: branch X-Git-Oldrev: 58e267e759470e2e540a523cd86afd7f633eaf81 X-Git-Newrev: 320eb3c92acb2348c5d51acb1012e12b2e2310c7 X-SW-Source: 2013-q1/txt/msg00039.txt.bz2 List-Id: The branch, archer-jankratochvil-absdir has been updated via 320eb3c92acb2348c5d51acb1012e12b2e2310c7 (commit) via e2a3927aa9079803819f8895de9f127726223acd (commit) via 88b4feb3dadbdcc8bb2c4bdb61fab30049d6bdfc (commit) via a339db591214cb95268f9dbd512bc213b76af9c7 (commit) via 72fe4465ca9be6a4f214fbe731a2f430fd7aa576 (commit) via b630734d5224bcd7669930e6eeb2023f2c605fc2 (commit) via c791c8802a072871b2ee5973bfb5315ecea56ca7 (commit) via f09c77f9e282f068dac89976490a6f6882f98e4f (commit) via dcde314799fec449a1f0da09922550e1269a1df7 (commit) via 8600d0076846de363e7a4a545b7b0a236ea9a8be (commit) via e93f668f079ff75ae8adabfd7701c2dde6f11d81 (commit) via 1b01f307b2d28df76d2f5fbe789ed583dc7b8c41 (commit) via b7f90a2b5b62a75fcf6d051f5e62c64659e4bd56 (commit) via 786ea7e99a531ae1a6fabf44106853c0050137fb (commit) via b0a378a1c15f7736de5164497559826aa8c52972 (commit) via 7412069fb9f19b32088055da28e2290fb5310895 (commit) via 4f44f68c21915935ab7dfdd0ae62f85f79617575 (commit) via 849107d49fdec70329c1b2b3c2e0cf4ac739f32b (commit) via 5f25c6916554f5ae6e417510c5987312991f3fa6 (commit) via 002e5a54e690e6f7eba2c5e2934c3ef557476775 (commit) via 3777a93277a78a158444c851c3aadfecc69779e0 (commit) via bd9f743fa389529613e97028045ff80d8e5bf2c9 (commit) via ad93f7e9600e42d9dd42b6cd411c7ebbafc3af8c (commit) via 7bc000f4ab63febf36063308a62f1ddca19478f1 (commit) via 81c8e2ad6ed717bef69f3b5d38255147ca1a5fd1 (commit) via 6094b5847b44b749df2e9cc9b4f083c55c5b1e7b (commit) via 703eecdd98022d08b362292ff79ac4087d1406de (commit) via 85622eb8d78dfa93e7034ef519e2e7f8557d6cc5 (commit) via d4f5987387f1f61969b86ca9305264820ad01499 (commit) via c73c602ab2e8ff0baf26ca94d9b5f4d442306bbc (commit) via b805df23e04cdf6b6c8252ca6ccf488139dd4cb1 (commit) via ed4d9dacb69f998899d48d8d9678de87938da7d8 (commit) via e6b3eacaca03f328175064c698a4542e96a63df7 (commit) via bfacf227ec8ee6b1c73311e323bd93c1eddd9ca6 (commit) from 58e267e759470e2e540a523cd86afd7f633eaf81 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 320eb3c92acb2348c5d51acb1012e12b2e2310c7 Merge: 58e267e e2a3927 Author: Jan Kratochvil Date: Tue Feb 5 21:38:56 2013 +0100 Merge branch 'mix' into mix-default commit e2a3927aa9079803819f8895de9f127726223acd Merge: 17c9dfe 88b4feb Author: Jan Kratochvil Date: Tue Feb 5 21:37:50 2013 +0100 Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel-mix commit 88b4feb3dadbdcc8bb2c4bdb61fab30049d6bdfc Merge: f4229dd a339db5 Author: Jan Kratochvil Date: Tue Feb 5 21:36:22 2013 +0100 Merge remote-tracking branch 'gdb/master' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel commit a339db591214cb95268f9dbd512bc213b76af9c7 Author: andreast Date: Tue Feb 5 05:59:53 2013 +0000 2013-02-05 Andreas Tobler * NEWS: Add PowerPC FreeBSD as a new native configuration. commit 72fe4465ca9be6a4f214fbe731a2f430fd7aa576 Author: gdbadmin Date: Tue Feb 5 00:00:33 2013 +0000 *** empty log message *** commit b630734d5224bcd7669930e6eeb2023f2c605fc2 Author: Alan Modra Date: Mon Feb 4 23:31:16 2013 +0000 * configure: Regenerate after syncing config/. commit c791c8802a072871b2ee5973bfb5315ecea56ca7 Author: Alan Modra Date: Mon Feb 4 23:00:04 2013 +0000 daily update commit f09c77f9e282f068dac89976490a6f6882f98e4f Author: andreast Date: Mon Feb 4 20:48:51 2013 +0000 2013-02-04 Andreas Tobler * Makefile.in (ALL_TARGET_OBS): Add powerpc FreeBSD files. * configure.host: Add powerpc*-*-freebsd* target. * configure.tgt: Add target info for powerpc*-*-freebsd*. * ppcfbsd-nat.c, ppcfbsd-tdep.h, ppcfbsd-tdep.c: New files. * config/powerpc/fbsd.mh: New file. commit dcde314799fec449a1f0da09922550e1269a1df7 Author: sergiodj Date: Mon Feb 4 18:40:33 2013 +0000 2013-02-04 Sergio Durigan Junior Denys Vlasenko Pedro Alves * gdbarch.sh (elfcore_write_linux_prpsinfo): New F hook. (struct elf_internal_linux_prpsinfo): Forward declare. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.c: Include `cli/cli-utils.h'. (linux_fill_prpsinfo): New function. (linux_make_corefile_notes): Use linux_fill_prpsinfo. If there's an elfcore_write_linux_prpsinfo hook, use it, otherwise, use elfcore_write_linux_prpsinfo32 or elfcore_write_linux_prpsinfo64 depending on gdbarch pointer bitness. * ppc-linux-tdep.c: Include elf-bfd.h. (ppc_linux_init_abi): Hook in elfcore_write_ppc_linux_prpsinfo32 on 32-bit. commit 8600d0076846de363e7a4a545b7b0a236ea9a8be Author: sergiodj Date: Mon Feb 4 18:26:30 2013 +0000 2013-02-04 Sergio Durigan Junior Pedro Alves * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'. * elf-bfd.h (elf_internal_linux_prpsinfo): New structure declaration. (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64) (elfcore_write_ppc32_linux_prpsinfo32): New declarations. * elf-linux-psinfo.h: New file. * elf.c: Include elf-linux-psinfo.h. (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64): New functions. * elf32-ppc.c: Include `elf-linux-psinfo.h'. (elf_external_ppc_linux_prpsinfo32): New structure declaration. (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro. (elfcore_write_ppc_linux_prpsinfo32): New function. commit e93f668f079ff75ae8adabfd7701c2dde6f11d81 Author: mshawcroft Date: Mon Feb 4 18:19:59 2013 +0000 AArch64 GDBserver support. gdb/ * configure.tgt (aarch64*-*-linux*): Set build_gdbserver=yes. gdb/gdbserver/ * Makefile.in (clean): Remove aarch64.c and aarch64-without-fpu.c. (aarch64.c, aarch64-without-fpu.c): New targets. * configure.srv (aarch64*-*-linux*): New. * linux-aarch64-low.c: New file. commit 1b01f307b2d28df76d2f5fbe789ed583dc7b8c41 Author: mshawcroft Date: Mon Feb 4 17:47:00 2013 +0000 Ensure ptrace() calls cast arguments 3 and 4 appropriately. * linux-low.c (handle_extended_wait, linux_create_inferior) (linux_attach_lwp_1, linux_kill_one_lwp, linux_attach_one_lwp) (dequeue_one_deferred_signal, linux_resume_one_thread) (fetch_register, linux_write_memory, linux_enable_event_reporting) (linux_tracefork_grandchild, linux_test_for_tracefork) (linux_read_offsets, linux_xfer_siginfo, linux_xfer_siginfo ): Add PTRACE_ARG3_TYPE and PTRACE_ARG4_TYPE cast to ptrace arguments where the argument is 0. commit b7f90a2b5b62a75fcf6d051f5e62c64659e4bd56 Author: Tristan Gingold Date: Mon Feb 4 14:48:20 2013 +0000 2013-02-04 Tristan Gingold * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no start address. commit 786ea7e99a531ae1a6fabf44106853c0050137fb Author: mshawcroft Date: Mon Feb 4 12:57:43 2013 +0000 Adding aarch64-newlib-tdep support. * aarch64-newlib-tdep.c: New file. * configure.tgt: Add aarch64-newlib-tdep.o to gdb_target_obs of aarch64*-*-elf. * defs.h (enum gdb_osabi): Add GDB_OSABI_NEWLIB. * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-newlib-tdep.o. (ALLDEPFILES): Add aarch64-newlib-tdep.c. * osabi.c (gdb_osabi_names): Add "Newlib". commit b0a378a1c15f7736de5164497559826aa8c52972 Author: mshawcroft Date: Mon Feb 4 12:53:59 2013 +0000 Adding aarch64-linux-tdep support. 2013-02-04 Jim MacArthur Marcus Shawcroft Nigel Stephens Yufeng Zhang * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-linux-tdep.o. (ALLDEPFILES): Add aarch64-linux-tdep.c. * aarch64-linux-tdep.c: New file. * aarch64-linux-tdep.h: New file. * aarch64-tdep.h (gdbarch_tdep): Define gregset and fpregset. * configure.tgt: Add aarch64-none-linux-gnu. commit 7412069fb9f19b32088055da28e2290fb5310895 Author: mshawcroft Date: Mon Feb 4 12:48:36 2013 +0000 Add basic support for AArch64. * Makefile.in (ALL_64_TARGET_OBS): Add arch64-tdep.o. (HFILES_NO_SRCDIR): Add aarch64-tdep.h. (ALLDEPFILES): Add aarch64-tdep.c. * aarch64-tdep.c: New file. * aarch64-tdep.h: New file. * configure.tgt: Add AArch64. * features/Makefile (WHICH): Add aarch64 and aarch64-without-fpu. (aarch64-expedite): New definition. * features/aarch64-core.xml: New file. * features/aarch64-fpu.xml: New file. * features/aarch64-without-fpu.c: New file (generated). * features/aarch64-without-fpu.xml: New file. * features/aarch64.c: New file (generated). * features/aarch64.xml: New file. * regformats/aarch64-without-fpu.dat: New file (generated). * regformats/aarch64.dat: New file (generated). commit 4f44f68c21915935ab7dfdd0ae62f85f79617575 Author: Alan Modra Date: Mon Feb 4 06:04:32 2013 +0000 * po/POTFILES.in: Regenerate. * rl78-decode.c: Regenerate. * rx-decode.c: Regenerate. commit 849107d49fdec70329c1b2b3c2e0cf4ac739f32b Author: Alan Modra Date: Mon Feb 4 06:02:08 2013 +0000 * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo. (BFD64_BACKENDS_CFILES): Remove elf-nacl.c. * Makefile.in: Regenerate. * po/SRC-POTFILES.in: Regenerate. commit 5f25c6916554f5ae6e417510c5987312991f3fa6 Author: Alan Modra Date: Mon Feb 4 05:25:38 2013 +0000 include/coff/ * ti.h (SWAP_OUT_RELOC_EXTRA): Define. bfd/ * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete. * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete. commit 002e5a54e690e6f7eba2c5e2934c3ef557476775 Author: Alan Modra Date: Mon Feb 4 05:10:43 2013 +0000 correct pr reference commit 3777a93277a78a158444c851c3aadfecc69779e0 Author: gdbadmin Date: Mon Feb 4 00:00:34 2013 +0000 *** empty log message *** commit bd9f743fa389529613e97028045ff80d8e5bf2c9 Author: Alan Modra Date: Sun Feb 3 23:00:07 2013 +0000 daily update commit ad93f7e9600e42d9dd42b6cd411c7ebbafc3af8c Author: Jan Kratochvil Date: Sun Feb 3 16:27:56 2013 +0000 gdb/ * contrib/expect-read1.c: New file. * contrib/expect-read1.sh: New file. commit 7bc000f4ab63febf36063308a62f1ddca19478f1 Author: Jan Kratochvil Date: Sun Feb 3 16:25:54 2013 +0000 gdb/ * dwarf2read.c (file_file_name): New function with code from file_full_name. (file_full_name): Move most of the code to file_file_name. (macro_start_file): Rename variable full_name to file_name and use file_file_name for it. Add comp_dir parameter to new_macro_table. * macrocmd.c (show_pp_source_pos): New variable fullname. Replace any macro_source_file->filename access by macro_source_fullname call. * macroscope.c (_initialize_macroscope): Update the new_macro_table caller. * macrotab.c (struct macro_table): New field comp_dir. (macro_include): New variables link_fullname and source_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (macro_lookup_inclusion): Remove the partial filenames checking code. (check_for_redefinition): New variables source_fullname and found_key_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (macro_undef): New variables source_fullname and key_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (macro_lookup_definition): New variables retval and source_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (foreach_macro): New variable key_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (foreach_macro_in_scope): New variable datum_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (new_macro_table): Add parameter comp_dir. Initialize T with it. (macro_source_fullname): New function. * macrotab.h (struct macro_source_file): Extent the filename field comment. (new_macro_table): New parameter comp_dir, add a comment for it. (macro_source_fullname): new declaration. gdb/testsuite/ * gdb.linespec/base/one/header.h: New file. * gdb.linespec/base/two/header.h: New file. * gdb.linespec/macro-relative.c: New file. * gdb.linespec/macro-relative.exp: New file. commit 81c8e2ad6ed717bef69f3b5d38255147ca1a5fd1 Author: Jan Kratochvil Date: Sun Feb 3 16:22:28 2013 +0000 gdb/ * dwarf2read.c (dw2_map_symtabs_matching_filename): Move variable this_real_name to outer block. Use it also for compare_filenames_for_search. (dw2_expand_symtabs_matching): New variable this_real_name. Use it with dw2_get_real_path for file_matcher, considering also BASENAMES_MAY_DIFFER. (file_full_name): Prepend COMP_DIR even for relative lh->INCLUDE_DIRS. commit 6094b5847b44b749df2e9cc9b4f083c55c5b1e7b Author: Jan Kratochvil Date: Sun Feb 3 16:20:18 2013 +0000 gdb/ * dwarf2read.c (dw2_expand_symtabs_matching): Add basenames parameter to the file_matcher parameter. Pass 0 to it. (dwarf2_create_include_psymtab): Copy also DIRNAME. * psymtab.c (partial_map_symtabs_matching_filename): Drop handling of NULL psymtab_to_fullname result. (psymtab_to_fullname): Remove variable r. Never return NULL, assemble an expected filename instead. (expand_symtabs_matching_via_partial): Add basenames parameter to the file_matcher parameter. Call also psymtab_to_fullname, after newly considering BASENAMES_MAY_DIFFER. * source.c (rewrite_source_path): Remove static. * source.h (rewrite_source_path): New declaration. * symfile.h (struct quick_symbol_functions): Add basenames parameter to the expand_symtabs_matching field. Comment it. * symtab.c (file_matches): New function comment. Add parameter basenames, implement it. (search_symbols_file_matches): Add basenames parameter. Update the file_matches caller. (search_symbols): Match FILES also against symtab_to_fullname. Optimize it for BASENAMES_MAY_DIFFER. gdb/testsuite/ * gdb.base/fullpath-expand-func.c: New file. * gdb.base/fullpath-expand.c: New file. * gdb.base/fullpath-expand.exp: New file. * gdb.base/realname-expand-real.c: New file. * gdb.base/realname-expand.c: New file. * gdb.base/realname-expand.exp: New file. commit 703eecdd98022d08b362292ff79ac4087d1406de Author: Jan Kratochvil Date: Sun Feb 3 16:16:40 2013 +0000 gdb/ * source.c (print_source_lines_base): Print for TUI also "fullname". * tui/tui-data.c (init_content_element): Change tui_locator_element field to full_name. * tui/tui-data.h (struct tui_locator_element): Likewise. * tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename tui_update_locator_filename calls to tui_update_locator_fullname. Replace symtab->filename refererence by symtab_to_fullname call. * tui/tui-out.c (tui_field_string): Check for "fullname" now. * tui/tui-source.c (tui_set_source_content): Change tui_locator_element field to full_name. Replace symtab->filename refererence by symtab_to_fullname call. (tui_show_symtab_source): Rename parameter to fullname. Change tui_locator_element field to full_name. * tui/tui-stack.c: Include source.h. (tui_set_locator_filename): Rename the declaration to ... (tui_set_locator_fullname): ... here. Rename its parameter to fullname, updates its comment. (tui_set_locator_info): Rename its parameter to fullname. (tui_set_locator_filename): Rename the definition to ... (tui_set_locator_fullname): ... here. Rename its parameter to fullname, updates its comment. Change tui_locator_element field to full_name. (tui_set_locator_info): Rename its parameter to fullname. (tui_set_locator_info): Rename callee to tui_set_locator_fullname. (tui_update_locator_filename): Rename to ... (tui_update_locator_fullname): ... here. Rename callee to tui_set_locator_fullname. (tui_show_frame_info): Replace symtab->filename refererence by symtab_to_fullname call. * tui/tui-stack.h (tui_update_locator_filename): Rename to ... (tui_update_locator_fullname): ... here. * tui/tui-winsource.c (tui_display_main): Rename the callee to tui_update_locator_fullname. Replace symtab->filename refererence by symtab_to_fullname call. * tui/tui.c (tui_show_source): Rename its parameter to fullname. Rename the callee to tui_update_locator_fullname. * tui/tui.h (tui_show_source): Rename its parameter to fullname. commit 85622eb8d78dfa93e7034ef519e2e7f8557d6cc5 Author: Jan Kratochvil Date: Sun Feb 3 16:13:26 2013 +0000 gdb/ * ada-lang.c (user_select_syms): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * breakpoint.c (print_breakpoint_location, resolve_sal_pc): Likewise. (clear_command): New variable sal_fullname, initialize it. Replace compare_filenames_for_search by filename_cmp with sal_fullname. (say_where, update_static_tracepoint): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * cli/cli-cmds.c (edit_command, list_command, ambiguous_line_spec): Likewise. * dwarf2read.c: Include source.h. (fixup_go_packaging): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * linespec.c (add_sal_to_sals): Rename variable filename to fullname. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (create_sals_line_offset, convert_linespec_to_sals): New variable fullname, initialize it, replace symtab->filename reference by the variable. * linux-fork.c: Include source.h. (info_checkpoints_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * macroscope.c (sal_macro_scope): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * mdebugread.c: Include source.h. (psymtab_to_symtab_1): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file) (mi_cmd_file_list_exec_source_files): Likewise. * printcmd.c: Include source.h. (build_address_symbolic): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * psymtab.c (partial_map_symtabs_matching_filename) (read_psymtabs_with_fullname): Call compare_filenames_for_search also with psymtab_to_fullname. * python/py-symtab.c (stpy_str): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (stpy_get_filename): New variable filename, initialize it, use instead of symtab->filename refererences. (salpy_str): Make variable filename const char *. Replace symtab->filename refererences by symtab_to_filename_for_display calls. * skip.c: Include source.h and filenames.h. (skip_file_command): Remove const from the symtab variable. Replace symtab->filename refererences by symtab_to_fullname call. (function_name_is_marked_for_skip): New variables searched_for_fullname and fullname. Use them to search also with symtab's fullname. * source.c (find_source_lines): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (print_source_lines_base): New variable filename, use it instead of symtab->filename. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (line_info, forward_search_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (reverse_search_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. New variable filename for it. * stack.c (frame_info): Likewise. * symmisc.c: Include source.h. (dump_objfile, dump_symtab_1, maintenance_print_symbols) (maintenance_info_symtabs): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * symtab.c (iterate_over_some_symtabs): Call compare_filenames_for_search also with symtab_to_fullname. (lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (find_line_symtab): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (file_matches): Replace filename_cmp by compare_filenames_for_search. (print_symbol_info): Make the last parameter const char *. New variable s_filename. Use it in the function. (symtab_symbol_info): Make the last_filename variable const char *. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (rbreak_command): New variable fullname. Use it. Replace symtab->filename refererence by symtab_to_filename_for_display call. * tracepoint.c (set_traceframe_context, trace_find_line_command) (print_one_static_tracepoint_marker): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * tui/tui-source.c (tui_set_source_content): New variables filename and s_filename. Replace symtab->filename refererences by this variable. Replace other symtab->filename refererences by symtab_to_filename_for_display calls. commit d4f5987387f1f61969b86ca9305264820ad01499 Author: Jan Kratochvil Date: Sun Feb 3 16:09:29 2013 +0000 gdb/ Add a new variable that controls a way in which filenames are displayed. * NEWS (set filename-display): New entry. * source.c (filename_display_basename, filename_display_relative) (filename_display_absolute, filename_display_kind_names) (filename_display_string, show_filename_display_string) (symtab_to_filename_for_display): New. (_initialize_source): Added initialization of 'filename-display' variable. * source.h (symtab_to_filename_for_display): Added declaration. * stack.c (print_frame): Added new variable and calling of a new function and condition with this variable. Changed third argument of calling of a function. gdb/doc/ * gdb.texinfo (Backtrace): Added description of 'filename-display' variable in 'set/show backtrace' section. gdb/testsuite/ * gdb.dwarf2/dw2-dir-file-name.exp: New file. * gdb.dwarf2/dw2-dir-file-name.c: New file. commit c73c602ab2e8ff0baf26ca94d9b5f4d442306bbc Author: Jan Kratochvil Date: Sun Feb 3 16:05:08 2013 +0000 gdb/ * tui/tui-data.c (init_win_info, tui_del_window, tui_free_window): Rename field reference filename to fullname. * tui/tui-data.h (struct tui_source_info): Rename field filename to fullname. New comment for it. * tui/tui-source.c (tui_set_source_content): Rename field reference filename to fullname. Initialize field by symtab_to_fullname now. * tui/tui-winsource.c (tui_update_breakpoint_info): Rename field reference filename to fullname. Use symtab_to_fullname during comparison. commit b805df23e04cdf6b6c8252ca6ccf488139dd4cb1 Author: Jan Kratochvil Date: Sun Feb 3 16:03:06 2013 +0000 gdb/ Code cleanup. * dwarf2read.c (dw2_expand_symtabs_with_filename): Rename to ... (dw2_expand_symtabs_with_fullname): ... here. Rename parameter filename to fullname. Rename variable this_name to this_fullname. Lowercase FILENAME_CMP call. (dw2_find_symbol_file): New comment for the returned string. (dwarf2_gdb_index_functions): Rename the function to dw2_expand_symtabs_with_fullname. * psymtab.c (read_psymtabs_with_filename): Rename to ... (read_psymtabs_with_fullname): ... here. Rename parameter filename to fullname. (psym_functions): Rename the function to read_psymtabs_with_fullname. * symfile.h (struct quick_symbol_functions): Rename field expand_symtabs_with_filename to expand_symtabs_with_fullname and its parameter filename to fullname. Document returned string meaning for find_symbol_file. * symtab.c (find_line_symtab): Rename the called function to expand_symtabs_with_fullname. commit ed4d9dacb69f998899d48d8d9678de87938da7d8 Author: Jan Kratochvil Date: Sun Feb 3 16:00:34 2013 +0000 gdb/ Code cleanup. * breakpoint.c (clear_command): Remove variable is_abs, unify the call of filename_cmp with compare_filenames_for_search. * dwarf2read.c (dw2_map_symtabs_matching_filename): Remove variable is_abs, unify the call of FILENAME_CMP with compare_filenames_for_search. New gdb_asserts for real_path and name. Unify the call of compare_filenames_for_search with FILENAME_CMP. * psymtab.c (partial_map_symtabs_matching_filename): Likewise. * symfile.h (struct quick_symbol_functions): Extend the comment for map_symtabs_matching_filename. * symtab.c (compare_filenames_for_search): Remove the function comment relative path requirement. Handle absolute filenames, with a comment. (iterate_over_some_symtabs): Remove variable is_abs, unify the call of FILENAME_CMP with compare_filenames_for_search. New gdb_asserts for real_path and name. Unify the call of compare_filenames_for_search with FILENAME_CMP. (iterate_over_symtabs): New gdb_assert on REAL_PATH. gdb/testsuite/ * gdb.mi/mi-fullname-deleted.exp: Use double last slash for $srcfileabs. (compare_filenames_for_search does not match) (compare_filenames_for_search does match): New tests. commit e6b3eacaca03f328175064c698a4542e96a63df7 Author: Jan Kratochvil Date: Sun Feb 3 15:57:06 2013 +0000 gdb/ Code cleanup. * breakpoint.c (print_breakpoint_location): Replace bp_location field source_file references by symtab field references. Remove variables sal and fullname. (momentary_breakpoint_from_master, add_location_to_breakpoint): (clear_command, say_where): Replace bp_location field source_file references by symtab field references. (bp_location_dtor): Remove the source_file reference. (update_static_tracepoint): Replace bp_location field source_file references by symtab field references. (breakpoint_free_objfile): New function. * breakpoint.h (struct bp_location): Extend the comment for line_number. Replace the field source_file by field symtab, extend its comment. (breakpoint_free_objfile): New declaration. * objfiles.c (free_objfile): Call breakpoint_free_objfile. * tui/tui-winsource.c (tui_update_breakpoint_info): Replace bp_location field source_file references by symtab field references. commit bfacf227ec8ee6b1c73311e323bd93c1eddd9ca6 Author: Jan Kratochvil Date: Sun Feb 3 15:54:14 2013 +0000 gdb/ Replace xfullpath calls by gdb_realpath calls. * cli/cli-cmds.c (find_and_open_script): Remove xfullpath from the function comment. * dwarf2read.c (dw2_map_expand_apply): Remove parameter full_path. Remove it from the iterate_over_some_symtabs call. (dw2_map_symtabs_matching_filename): Remove parameter full_path. Remove it from the dw2_map_expand_apply calls, remove a block handling it. * psymtab.c (partial_map_expand_apply): Remove parameter full_path. Remove it from the iterate_over_some_symtabs call. (partial_map_symtabs_matching_filename): Remove parameter full_path. Remove it from the partial_map_expand_apply calls, remove a block handling it. Drop gdb_realpath call and cleanups from the real_path handling. * source.c (openp): Drop the comment part about xfullpath. Replace xfullpath calls by gdb_realpath calls. (find_and_open_source): Replace xfullpath call by gdb_realpath call. * symfile.h (struct quick_symbol_functions): Remove parameter full_path from method map_symtabs_matching_filename and its comment. * symmisc.c (maintenance_print_msymbols): Replace xfullpath call by gdb_realpath call. * symtab.c (iterate_over_some_symtabs): Remove parameter full_path, remove it also from the function comment, remove a block handling it. Drop gdb_realpath call and cleanups from the real_path handling. (iterate_over_symtabs): Drop variable full_path and its use. * symtab.h (iterate_over_some_symtabs): Remove parameter full_path. * utils.c (xfullpath): Remove. * utils.h (xfullpath): Remove. gdb/testsuite/ * gdb.gdb/xfullpath.exp: Replace xfullpath calls by gdb_realpath calls. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 + bfd/ChangeLog | 34 + bfd/ChangeLog-2012 | 2 +- bfd/Makefile.am | 2 - bfd/Makefile.in | 4 +- bfd/coff-tic54x.c | 9 - bfd/coff-tic80.c | 9 - bfd/elf-bfd.h | 36 + bfd/elf-linux-psinfo.h | 127 ++ bfd/elf.c | 29 + bfd/elf32-ppc.c | 66 + bfd/mach-o.c | 3 +- bfd/po/SRC-POTFILES.in | 4 +- bfd/version.h | 2 +- config/ChangeLog | 10 + config/cloog.m4 | 15 +- config/isl.m4 | 10 +- configure | 2 - gdb/ChangeLog | 400 +++++ gdb/Makefile.in | 6 +- gdb/NEWS | 4 + gdb/aarch64-linux-tdep.c | 297 ++++ gdb/aarch64-linux-tdep.h | 26 + gdb/aarch64-newlib-tdep.c | 47 + gdb/aarch64-tdep.c | 2739 ++++++++++++++++++++++++++++++++ gdb/aarch64-tdep.h | 97 ++ gdb/config/powerpc/fbsd.mh | 23 + gdb/configure.host | 1 + gdb/configure.tgt | 19 + gdb/contrib/expect-read1.c | 40 + gdb/contrib/expect-read1.sh | 42 + gdb/defs.h | 1 + gdb/doc/ChangeLog | 6 + gdb/features/Makefile | 4 +- gdb/features/aarch64-core.xml | 46 + gdb/features/aarch64-fpu.xml | 86 + gdb/features/aarch64-without-fpu.c | 54 + gdb/features/aarch64-without-fpu.xml | 13 + gdb/features/aarch64.c | 174 ++ gdb/features/aarch64.xml | 14 + gdb/gdbarch.c | 33 + gdb/gdbarch.h | 13 + gdb/gdbarch.sh | 8 + gdb/gdbserver/ChangeLog | 21 + gdb/gdbserver/Makefile.in | 5 + gdb/gdbserver/configure.srv | 15 + gdb/gdbserver/linux-aarch64-low.c | 1267 +++++++++++++++ gdb/gdbserver/linux-low.c | 83 +- gdb/linux-tdep.c | 235 +++- gdb/osabi.c | 1 + gdb/ppc-linux-tdep.c | 8 + gdb/ppcfbsd-nat.c | 224 +++ gdb/ppcfbsd-tdep.c | 355 +++++ gdb/ppcfbsd-tdep.h | 29 + gdb/regformats/aarch64-without-fpu.dat | 38 + gdb/regformats/aarch64.dat | 72 + gdb/testsuite/ChangeLog | 31 + gdb/version.in | 2 +- include/coff/ChangeLog | 4 + include/coff/ti.h | 3 + opcodes/ChangeLog | 6 + opcodes/po/POTFILES.in | 1 + opcodes/rl78-decode.c | 814 +++++----- opcodes/rx-decode.c | 1212 +++++++------- 64 files changed, 7884 insertions(+), 1103 deletions(-) create mode 100644 bfd/elf-linux-psinfo.h create mode 100644 gdb/aarch64-linux-tdep.c create mode 100644 gdb/aarch64-linux-tdep.h create mode 100644 gdb/aarch64-newlib-tdep.c create mode 100644 gdb/aarch64-tdep.c create mode 100644 gdb/aarch64-tdep.h create mode 100644 gdb/config/powerpc/fbsd.mh create mode 100644 gdb/contrib/expect-read1.c create mode 100644 gdb/contrib/expect-read1.sh create mode 100644 gdb/features/aarch64-core.xml create mode 100644 gdb/features/aarch64-fpu.xml create mode 100644 gdb/features/aarch64-without-fpu.c create mode 100644 gdb/features/aarch64-without-fpu.xml create mode 100644 gdb/features/aarch64.c create mode 100644 gdb/features/aarch64.xml create mode 100644 gdb/gdbserver/linux-aarch64-low.c create mode 100644 gdb/ppcfbsd-nat.c create mode 100644 gdb/ppcfbsd-tdep.c create mode 100644 gdb/ppcfbsd-tdep.h create mode 100644 gdb/regformats/aarch64-without-fpu.dat create mode 100644 gdb/regformats/aarch64.dat First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index d1e45e4..0ff8e41 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-02-05 Alan Modra + + * configure: Regenerate after syncing config/. + 2013-01-15 Jan-Benedict Glaw * configure.ac: Sync with GCC repo. diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7614ca0..2571de3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,37 @@ +2013-02-04 Sergio Durigan Junior + Pedro Alves + + * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'. + * elf-bfd.h (elf_internal_linux_prpsinfo): New structure + declaration. + (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64) + (elfcore_write_ppc32_linux_prpsinfo32): New declarations. + * elf-linux-psinfo.h: New file. + * elf.c: Include elf-linux-psinfo.h. + (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64): + New functions. + * elf32-ppc.c: Include `elf-linux-psinfo.h'. + (elf_external_ppc_linux_prpsinfo32): New structure declaration. + (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro. + (elfcore_write_ppc_linux_prpsinfo32): New function. + +2013-02-04 Tristan Gingold + + * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no + start address. + +2013-02-04 Alan Modra + + * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo. + (BFD64_BACKENDS_CFILES): Remove elf-nacl.c. + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2013-02-04 Alan Modra + + * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete. + * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete. + 2013-02-01 Alan Modra * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol diff --git a/bfd/ChangeLog-2012 b/bfd/ChangeLog-2012 index 2c7d9ea..7d82ace 100644 --- a/bfd/ChangeLog-2012 +++ b/bfd/ChangeLog-2012 @@ -459,7 +459,7 @@ 2012-10-26 Alan Modra - PR target/14758 + PR gas/14758 * elf32-ppc.c (ppc_elf_reloc_type_lookup): Decode ppc64 _DS bfd_reloc values. Map to corresponding D-form relocs. (is_insn_ds_form, is_insn_qs_form): New functions. diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 8098ee4..91b0ed1 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -645,7 +645,6 @@ BFD64_BACKENDS = \ coff-x86_64.lo \ coff64-rs6000.lo \ demo64.lo \ - elf-nacl.lo \ elf32-ia64.lo \ elf32-score.lo \ elf32-score7.lo \ @@ -684,7 +683,6 @@ BFD64_BACKENDS_CFILES = \ coff-x86_64.c \ coff64-rs6000.c \ demo64.c \ - elf-nacl.c \ elf32-score.c \ elf32-score7.c \ elf64-alpha.c \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index af4e5ed..0a0fd40 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -948,7 +948,6 @@ BFD64_BACKENDS = \ coff-x86_64.lo \ coff64-rs6000.lo \ demo64.lo \ - elf-nacl.lo \ elf32-ia64.lo \ elf32-score.lo \ elf32-score7.lo \ @@ -987,7 +986,6 @@ BFD64_BACKENDS_CFILES = \ coff-x86_64.c \ coff64-rs6000.c \ demo64.c \ - elf-nacl.c \ elf32-score.c \ elf32-score7.c \ elf64-alpha.c \ @@ -1072,7 +1070,7 @@ BUILD_CFILES = \ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES) SOURCE_HFILES = \ aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ - elf-bfd.h elf-hppa.h elf32-hppa.h \ + elf-bfd.h elf-linux-psinfo.h elf-hppa.h elf32-hppa.h \ elf64-hppa.h elfcode.h elfcore.h \ freebsd.h genlink.h go32stub.h \ libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \ diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c index 9afba42..8efdc20 100644 --- a/bfd/coff-tic54x.c +++ b/bfd/coff-tic54x.c @@ -323,15 +323,6 @@ ticoff_bfd_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, #define coff_bfd_is_local_label_name ticoff_bfd_is_local_label_name -/* Clear the r_reserved field in relocs. */ -#define SWAP_OUT_RELOC_EXTRA(abfd,src,dst) \ - do \ - { \ - dst->r_reserved[0] = 0; \ - dst->r_reserved[1] = 0; \ - } \ - while (0) - /* Customize coffcode.h; the default coff_ functions are set up to use COFF2; coff_bad_format_hook uses BADMAG, so set that for COFF2. The COFF1 and COFF0 vectors use custom _bad_format_hook procs instead of setting diff --git a/bfd/coff-tic80.c b/bfd/coff-tic80.c index 22d4e94..c8fa5c0 100644 --- a/bfd/coff-tic80.c +++ b/bfd/coff-tic80.c @@ -700,15 +700,6 @@ coff_tic80_relocate_section (bfd *output_bfd, return TRUE; } -/* Clear the r_reserved field in relocs. */ -#define SWAP_OUT_RELOC_EXTRA(abfd,src,dst) \ - do \ - { \ - dst->r_reserved[0] = 0; \ - dst->r_reserved[1] = 0; \ - } \ - while (0) - #define TIC80COFF 1 /* Customize coffcode.h */ #undef C_AUTOARG /* Clashes with TIc80's C_UEXT */ #undef C_LASTENT /* Clashes with TIc80's C_STATLAB */ diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index faaf632..1fd73cf 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -2285,6 +2285,42 @@ extern char *elfcore_write_lwpstatus extern char *elfcore_write_register_note (bfd *, char *, int *, const char *, const void *, int); +/* Internal structure which holds information to be included in the + PRPSINFO section of Linux core files. + + This is an "internal" structure in the sense that it should be used + to pass information to BFD (via the `elfcore_write_linux_prpsinfo' + function), so things like endianess shouldn't be an issue. This + structure will eventually be converted in one of the + `elf_external_linux_*' structures and written out to an output bfd + by one of the functions declared below. */ + +struct elf_internal_linux_prpsinfo + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned long pr_flag; /* Flags. */ + unsigned int pr_uid; + unsigned int pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + char pr_fname[16 + 1]; /* Filename of executable. */ + char pr_psargs[80 + 1]; /* Initial part of arg list. */ + }; + +/* Linux/most 32-bit archs. */ +extern char *elfcore_write_linux_prpsinfo32 + (bfd *, char *, int *, const struct elf_internal_linux_prpsinfo *); + +/* Linux/most 64-bit archs. */ +extern char *elfcore_write_linux_prpsinfo64 + (bfd *, char *, int *, const struct elf_internal_linux_prpsinfo *); + +/* Linux/PPC32 uses different layout compared to most archs. */ +extern char *elfcore_write_ppc_linux_prpsinfo32 + (bfd *, char *, int *, const struct elf_internal_linux_prpsinfo *); + extern bfd *_bfd_elf32_bfd_from_remote_memory (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep, int (*target_read_memory) (bfd_vma, bfd_byte *, bfd_size_type)); diff --git a/bfd/elf-linux-psinfo.h b/bfd/elf-linux-psinfo.h new file mode 100644 index 0000000..c965284 --- /dev/null +++ b/bfd/elf-linux-psinfo.h @@ -0,0 +1,127 @@ +/* Definitions for PRPSINFO structures under ELF on GNU/Linux. + Copyright 2013 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#ifndef ELF_LINUX_PSINFO_H +#define ELF_LINUX_PSINFO_H + +/* The PRPSINFO structures defined below are used by most + architectures, although some of them define their own versions + (like e.g., PPC). */ + +/* External 32-bit structure for PRPSINFO. This structure is + ABI-defined, thus we choose to use char arrays here in order to + avoid dealing with different types in different architectures. + + This structure will ultimately be written in the corefile's note + section, as the PRPSINFO. */ + +struct elf_external_linux_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + char pr_flag[4]; /* Flags. */ + char pr_uid[2]; + char pr_gid[2]; + char pr_pid[4]; + char pr_ppid[4]; + char pr_pgrp[4]; + char pr_sid[4]; + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[80]; /* Initial part of arg list. */ + }; + +/* Helper macro to swap (properly handling endianess) things from the + `elf_internal_linux_prpsinfo' structure to the + `elf_external_linux_prpsinfo32' structure. + + Note that FROM should be a pointer, and TO should be the explicit + type. */ + +#define LINUX_PRPSINFO32_SWAP_FIELDS(abfd, from, to) \ + do \ + { \ + H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ + H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ + H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ + H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ + H_PUT_32 (abfd, from->pr_flag, to.pr_flag); \ + H_PUT_16 (abfd, from->pr_uid, to.pr_uid); \ + H_PUT_16 (abfd, from->pr_gid, to.pr_gid); \ + H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ + H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ + H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ + H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ + strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ + strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ + } while (0) + +/* External 64-bit structure for PRPSINFO. This structure is + ABI-defined, thus we choose to use char arrays here in order to + avoid dealing with different types in different architectures. + + This structure will ultimately be written in the corefile's note + section, as the PRPSINFO. */ + +struct elf_external_linux_prpsinfo64 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + char pr_flag[8]; /* Flags. */ + char gap[4]; + char pr_uid[4]; + char pr_gid[4]; + char pr_pid[4]; + char pr_ppid[4]; + char pr_pgrp[4]; + char pr_sid[4]; + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[80]; /* Initial part of arg list. */ + }; + +/* Helper macro to swap (properly handling endianess) things from the + `elf_internal_linux_prpsinfo' structure to the + `elf_external_linux_prpsinfo64' structure. + + Note that FROM should be a pointer, and TO should be the explicit + type. */ + +#define LINUX_PRPSINFO64_SWAP_FIELDS(abfd, from, to) \ + do \ + { \ + H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ + H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ + H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ + H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ + H_PUT_64 (abfd, from->pr_flag, to.pr_flag); \ + H_PUT_32 (abfd, from->pr_uid, to.pr_uid); \ + H_PUT_32 (abfd, from->pr_gid, to.pr_gid); \ + H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ + H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ + H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ + H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ + strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ + strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ + } while (0) + +#endif diff --git a/bfd/elf.c b/bfd/elf.c index 9cd3542..7ab3683 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -45,6 +45,7 @@ SECTION #include "elf-bfd.h" #include "libiberty.h" #include "safe-ctype.h" +#include "elf-linux-psinfo.h" #ifdef CORE_HEADER #include CORE_HEADER @@ -9159,6 +9160,34 @@ elfcore_write_prpsinfo (bfd *abfd, } char * +elfcore_write_linux_prpsinfo32 + (bfd *abfd, char *buf, int *bufsiz, + const struct elf_internal_linux_prpsinfo *prpsinfo) +{ + struct elf_external_linux_prpsinfo32 data; + + memset (&data, 0, sizeof (data)); + LINUX_PRPSINFO32_SWAP_FIELDS (abfd, prpsinfo, data); + + return elfcore_write_note (abfd, buf, bufsiz, "CORE", NT_PRPSINFO, + &data, sizeof (data)); +} + +char * +elfcore_write_linux_prpsinfo64 + (bfd *abfd, char *buf, int *bufsiz, + const struct elf_internal_linux_prpsinfo *prpsinfo) +{ + struct elf_external_linux_prpsinfo64 data; + + memset (&data, 0, sizeof (data)); + LINUX_PRPSINFO64_SWAP_FIELDS (abfd, prpsinfo, data); + + return elfcore_write_note (abfd, buf, bufsiz, + "CORE", NT_PRPSINFO, &data, sizeof (data)); +} + +char * elfcore_write_prstatus (bfd *abfd, char *buf, int *bufsiz, diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 3f4e4bf..bf14206 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -37,6 +37,7 @@ #include "elf32-ppc.h" #include "elf-vxworks.h" #include "dwarf2.h" +#include "elf-linux-psinfo.h" typedef enum split16_format_type { @@ -1777,6 +1778,58 @@ static reloc_howto_type ppc_elf_howto_raw[] = { 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */ }; + +/* External 32-bit PPC structure for PRPSINFO. This structure is + ABI-defined, thus we choose to use char arrays here in order to + avoid dealing with different types in different architectures. + + The PPC 32-bit structure uses int for `pr_uid' and `pr_gid' while + most non-PPC architectures use `short int'. + + This structure will ultimately be written in the corefile's note + section, as the PRPSINFO. */ + +struct elf_external_ppc_linux_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + char pr_flag[4]; /* Flags. */ + char pr_uid[4]; + char pr_gid[4]; + char pr_pid[4]; + char pr_ppid[4]; + char pr_pgrp[4]; + char pr_sid[4]; + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[80]; /* Initial part of arg list. */ + }; + +/* Helper macro to swap (properly handling endianess) things from the + `elf_internal_prpsinfo' structure to the `elf_external_ppc_prpsinfo32' + structure. + + Note that FROM should be a pointer, and TO should be the explicit type. */ + +#define PPC_LINUX_PRPSINFO32_SWAP_FIELDS(abfd, from, to) \ + do \ + { \ + H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ + H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ + H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ + H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ + H_PUT_32 (abfd, from->pr_flag, to.pr_flag); \ + H_PUT_32 (abfd, from->pr_uid, to.pr_uid); \ + H_PUT_32 (abfd, from->pr_gid, to.pr_gid); \ + H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ + H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ + H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ + H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ + strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ + strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ + } while (0) + /* Initialize the ppc_elf_howto_table, so that linear accesses can be done. */ @@ -2212,6 +2265,19 @@ ppc_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return TRUE; } +char * +elfcore_write_ppc_linux_prpsinfo32 (bfd *abfd, char *buf, int *bufsiz, + const struct elf_internal_linux_prpsinfo *prpsinfo) +{ + struct elf_external_ppc_linux_prpsinfo32 data; + + memset (&data, 0, sizeof (data)); + PPC_LINUX_PRPSINFO32_SWAP_FIELDS (abfd, prpsinfo, data); + + return elfcore_write_note (abfd, buf, bufsiz, + "CORE", NT_PRPSINFO, &data, sizeof (data)); +} + static char * ppc_elf_write_core_note (bfd *abfd, char *buf, int *bufsiz, int note_type, ...) { diff --git a/bfd/mach-o.c b/bfd/mach-o.c index e3bfa58..c92b530 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -3992,8 +3992,9 @@ bfd_mach_o_scan_start_address (bfd *abfd) } } + /* An object file has no start address, so do not fail if not found. */ if (cmd == NULL) - return FALSE; + return TRUE; /* FIXME: create a subtarget hook ? */ for (i = 0; i < cmd->nflavours; i++) diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in index 8a093be..89bf37f 100644 --- a/bfd/po/SRC-POTFILES.in +++ b/bfd/po/SRC-POTFILES.in @@ -102,6 +102,7 @@ cpu-m9s12x.c cpu-m9s12xg.c cpu-mcore.c cpu-mep.c +cpu-metag.c cpu-microblaze.c cpu-mips.c hooks/post-receive -- Repository for Project Archer.