From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3405 invoked by alias); 15 Oct 2008 23:11:24 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 3222 invoked by uid 306); 15 Oct 2008 23:11:21 -0000 Date: Wed, 15 Oct 2008 23:11:00 -0000 Message-ID: <20081015231121.3207.qmail@sourceware.org> From: tromey@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] master: * remote.c (remote_close): Unregister remote_desc from the event X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: c966fe5eabd4c8a71d005ee6b5dd533c353993a1 X-Git-Newrev: 053ff58c07e3175036cf59295a3dcb83d4be682f X-SW-Source: 2008-q4/txt/msg00002.txt.bz2 List-Id: The branch, master has been updated via 053ff58c07e3175036cf59295a3dcb83d4be682f (commit) via 33b74bf83b0a58682eb86765484983cd89ecd57c (commit) via 6bb161e0c8c97eb7f7fc29b9824a254b271ae0cb (commit) via 3c37d5bdda8c258799069687955defc1f5850356 (commit) via 9653ab051597ca66ba6a8eaf7aedf8c63ffbd4bc (commit) via bacc2350cc4a39bea26b9b1fa718ad23a7d73a69 (commit) via 5e272a21d4ef2ec44afce6d53613a29970d0ae17 (commit) via 328f9a02d298584bb94d8b74dc362007dfaa2ea4 (commit) via 1cae3a5947e036eb2412237e8cffd93c4c226975 (commit) via e5e94b33c48e997439eaeb716c93dae10a8c4e18 (commit) via 9f400903d4663e33baebe52cf3d11f9b4bbcc80e (commit) via bc7e8aaf1bfd503d7ca193bf8af4669f77e621e6 (commit) via 5cd62f2f3289be7be0eb4d1ed4090279e4703e7f (commit) via ebc1c445e3469c6d5757d46fcea1fe37845f55c3 (commit) via fbcb51b53af011c387b022a1df48f0f472085883 (commit) via c0a9953fdbacfc6f984da983e3d94b5cf3d0be0e (commit) via 39d3be808a7ac62c305a2dd3a66b6d5846b43a2b (commit) via 8382214e1279aa088dc3dc563723dcceee3a326a (commit) via 6e575f609f85f7ba7ad412e8eab6f6e37d383874 (commit) via 24afce1f5f6521cff7605e6b9c8b607d77396e2d (commit) via 79dd7b533a7495ed7c17a96d10738153ad88cc6d (commit) via 7ac18a840b0655dba162acdca5112709c5628c71 (commit) via 252f4b5d2a4e275df7b10b3d711879f113f486b0 (commit) via 546d4302575d4cc3f9d18f443165decadc7c57cf (commit) via 86c3522b923aeaab35585bb231cfe528f9231dbb (commit) via e82c705c3b0d4291f9b7698abaae96616a0c1d92 (commit) via 245cfeab09a9c76f238d48ba17f3f4c170dabbe2 (commit) via eecf08f906110cc019a333aad9e7c1dc5853b1e2 (commit) via 481e1e9c01da5d3a4d9fef865b20eb76581ca262 (commit) via 62c53aa0e463661bf4dfc5f1358583d287e0c4a6 (commit) via 2e9f3c2978476058a7ab5254496d53493901b025 (commit) via 839823f1f20e629df83edc548e05cb1d50f67ab5 (commit) via 9f1e782ce423c534de55e9a6eeb9412d07a21a78 (commit) via 1232dc905dc8a19f19fe4ed6f0f163506d66c1b4 (commit) via 4f37370cf8ac122e120f1d7042c27e5843b6db4e (commit) via 9a0ca1b50c6201e86d12af0267f6311cf1939d69 (commit) via 8637c4c0e9e2d11ad26e5c18b972d5083a40f6af (commit) via ebf35d27deb930d8f9afa2fd58882d932f0cfe5c (commit) via b451c0a134abb273c79a1d4be52bb306ae9e7243 (commit) via 1e4c4b1cd958e6883025f3dcc6ac27aa40383a0a (commit) via 64c764285eb6fa845ad940d28642dc2adfc0bcd3 (commit) via ec5d68e31ad13796a382273623f9b0eb71094fe5 (commit) via ae02fca1a5202d81fb28aa1155831e075a141c15 (commit) via c60668ca54e19c46ae721ed56359fd5792165b6d (commit) via 026452c4225c0af4b26066e0c109cd7d88381033 (commit) via 26647e6fa4728d2e45414a8ec09e60bb7cc633b5 (commit) via 142925a43316d875088cb87669f05cdac4371761 (commit) via c761eacd2f17f5dd3f4155bf047141ace13143dd (commit) via e610099b04dc3b307f4c642154fca189a543dab5 (commit) via d6251c37223229157dbf9302ab4944310e326a88 (commit) via 725f9d7e0093d0f48fad8eb2862e5f613dd3a42c (commit) via 9014f1e8539cec13aecef91339cf245b4589b369 (commit) via 524fa2f1d5bcf212fa9c4b2871c01ab133551b7f (commit) via aa4f5f4a10874efe442481da9ad9642717fde854 (commit) via 30c40e3c735a7311c04c9df788965d46311e200a (commit) via b6f1242a82a48641e2b834701988665acfb5f945 (commit) via e0c36455dcf193a535d8391b948ecc7ba954edeb (commit) via 2b75ab9b629fb8efc9e16362eeeae2b197124567 (commit) via a78fb0cdbd4669a15712878d786294753654dec4 (commit) via 40bfe6456ab16787ebbe5965caf519774b0a78ec (commit) via 6f26864a541577a4b6a1362ab009d02004c7a8a3 (commit) via 5c06805ecb243774eae7ef726b7fa0493d55633d (commit) via 8cfb738b5b241a508aa70a509c6986f099a4184f (commit) via 37aafc420c8239e3b4c5dbdac0711ac17cb87636 (commit) via a9963fcf0d981d592e66057ebdbbdbef583682d4 (commit) via 8c38d141f8042f4d7d1c0c35431e88bda257ae09 (commit) via 0215ee7b685c459f76142e72601a2e7a30c18dfe (commit) via 5bcb187d30194300147cfb8ed9fb8c9673109706 (commit) via 5ac6c51a4987ba2a168aa025c0bb3a6b30c9ef0f (commit) via 1a528656c56a81c26edd333d43fdb757700de276 (commit) via c3dc62b07f89416ae2ddb95dfcc1b4fafe986dec (commit) via da8e6bca97861ae02d4c5686babe8261433343b6 (commit) via 6337c8653e8ff6727aa56d45999b8083eb9097cc (commit) via 57f0a037b2517cb187f8e293662da59c364d569e (commit) via e7cf2a607242f09a0ac937fa90bf56f44c733f98 (commit) via 8175a827dad24cd2f827b887835003b3b872ce0c (commit) from c966fe5eabd4c8a71d005ee6b5dd533c353993a1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 053ff58c07e3175036cf59295a3dcb83d4be682f Author: Pedro Alves Date: Wed Oct 15 21:39:52 2008 +0000 * remote.c (remote_close): Unregister remote_desc from the event loop. Always restore the SIGINT handler. Discard all inferiors here. (remote_detach_1, remote_disconnect): Don't unregister the file descriptor from the event loop here. (interrupt_query, readchar, getpkt_sane): Pop the target instead of morning the current inferior. (remote_kill): Don't unregister the file descriptor from the event loop here. (remote_mourn_1): Don't discard inferiors here. commit 33b74bf83b0a58682eb86765484983cd89ecd57c Author: Pedro Alves Date: Wed Oct 15 19:15:32 2008 +0000 gdb/ * breakpoint.c (breakpoint_init_inferior): Clean up the moribund locations list. (moribund_breakpoint_here_p): Record the moribund location in the moribund_locations vector. * breakpoint.h (moribund_breakpoint_here_p): Declare. (displaced_step_fixup): Check if the breakpoint the thread was trying to step over has been removed since having been placed in the displaced stepping queue. (adjust_pc_after_break): In non-stop mode, check for a moribund breakpoint at the stop pc. (handle_inferior_event): Don't retire moribund breakpoints on TARGET_WAITKIND_IGNORE. gdb/testsuite/ * gdb.mi/mi-nsmoribund.exp, gdb.mi/nsmoribund.c: New test. commit 6bb161e0c8c97eb7f7fc29b9824a254b271ae0cb Author: Denis Pilat Date: Wed Oct 15 13:06:54 2008 +0000 Typo commit 3c37d5bdda8c258799069687955defc1f5850356 Author: Denis Pilat Date: Wed Oct 15 07:55:24 2008 +0000 typo. commit 9653ab051597ca66ba6a8eaf7aedf8c63ffbd4bc Author: Alan Modra Date: Wed Oct 15 00:00:04 2008 +0000 daily update commit bacc2350cc4a39bea26b9b1fa718ad23a7d73a69 Author: gdbadmin Date: Wed Oct 15 00:00:03 2008 +0000 *** empty log message *** commit 5e272a21d4ef2ec44afce6d53613a29970d0ae17 Author: Pedro Alves Date: Tue Oct 14 23:39:29 2008 +0000 * infrun.c (displaced_step_prepare): Switch thread temporarily while we're here. (displaced_step_fixup): Make sure target_resume sees ptid as inferior_ptid. Add debug output. commit 328f9a02d298584bb94d8b74dc362007dfaa2ea4 Author: Pedro Alves Date: Tue Oct 14 20:49:01 2008 +0000 Remove dead code. * breakpoint.c (show_breakpoint_hit_counts): Delete. (print_one_breakpoint_location): Adjust. (breakpoint_clear_ignore_counts): Delete. * breakpoint.h (breakpoint_clear_ignore_counts): Remove declaration. * target.c (generic_mourn_inferior): Don't clear ignore counts (never reached). commit 1cae3a5947e036eb2412237e8cffd93c4c226975 Author: gdbadmin Date: Tue Oct 14 00:00:33 2008 +0000 *** empty log message *** commit e5e94b33c48e997439eaeb716c93dae10a8c4e18 Author: Alan Modra Date: Tue Oct 14 00:00:04 2008 +0000 daily update commit 9f400903d4663e33baebe52cf3d11f9b4bbcc80e Author: Alan Modra Date: Mon Oct 13 00:00:08 2008 +0000 daily update commit bc7e8aaf1bfd503d7ca193bf8af4669f77e621e6 Author: gdbadmin Date: Mon Oct 13 00:00:03 2008 +0000 *** empty log message *** commit 5cd62f2f3289be7be0eb4d1ed4090279e4703e7f Author: Alan Modra Date: Sun Oct 12 00:00:05 2008 +0000 daily update commit ebc1c445e3469c6d5757d46fcea1fe37845f55c3 Author: gdbadmin Date: Sun Oct 12 00:00:03 2008 +0000 *** empty log message *** commit fbcb51b53af011c387b022a1df48f0f472085883 Author: Alan Modra Date: Sat Oct 11 00:00:10 2008 +0000 daily update commit c0a9953fdbacfc6f984da983e3d94b5cf3d0be0e Author: gdbadmin Date: Sat Oct 11 00:00:03 2008 +0000 *** empty log message *** commit 39d3be808a7ac62c305a2dd3a66b6d5846b43a2b Author: Nathan Froyd Date: Fri Oct 10 20:55:35 2008 +0000 include/elf/ * ppc.h: Add Tag_GNU_Power_ABI_Struct_Return. bfd/ * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge Tag_GNU_Power_ABI_Struct_Return. binutils/ * readelf.c (display_power_gnu_attribute): Decode Tag_GNU_Power_ABI_Struct_Return. ld/testsuite/ * ld-powerpc/gnu-attr-12-1.s: New file. * ld-powerpc/gnu-attr-12-2.s: New file. * ld-powerpc/gnu-attr-12-11.d: New file. * ld-powerpc/gnu-attr-12-21.d: New file. * ld-powerpc/powerpc.exp: Run new dump tests. commit 8382214e1279aa088dc3dc563723dcceee3a326a Author: Doug Evans Date: Fri Oct 10 16:15:41 2008 +0000 * dwarf2read.c (comp_unit_head): Use unsigned int consistently for dwarf section offsets and sizes. (dwarf2_cu): Ditto. (dwarf2_per_cu_data): Ditto. (create_all_comp_units): Change offset to unsigned int. (load_full_comp_unit,find_partial_die_in_comp_unit,find_partial_die, dwarf2_find_containing_comp_unit,dwarf2_find_comp_unit): Ditto. * dwarf2read.c (read_initial_length): Delete cu_header arg. All callers updated. (read_checked_initial_length_and_offset): New function. (read_offset_1): New function. (read_offset): Call it. (dwarf_decode_line_header): Call read_checked_initial_length_and_offset instead of read_initial_length. Call read_offset_1 instead of read_offset. * dwarf2read.c (dwarf2_get_ref_die_offset): Remove unused arg `cu'. All callers updated. * dwarf2read.c (dwarf_attr_name): Unconditionally support all DW_AT_MIPS_* except DW_AT_MIPS_fde which collides with DW_AT_HP_block_index. commit 6e575f609f85f7ba7ad412e8eab6f6e37d383874 Author: Pedro Alves Date: Fri Oct 10 14:46:30 2008 +0000 * remote.c (remote_start_remote): Always tell the stub if we're in extended-remote. commit 24afce1f5f6521cff7605e6b9c8b607d77396e2d Author: Pedro Alves Date: Fri Oct 10 14:06:05 2008 +0000 * server.c (handle_v_run): If GDB didn't specify an argv, use the whole argv from the last run, not just argv[0]. commit 79dd7b533a7495ed7c17a96d10738153ad88cc6d Author: Nick Clifton Date: Fri Oct 10 11:35:36 2008 +0000 PR 6937 * configure.in (SHARED_LIBADD): Add libiberty.a. (SHARED_DEPENDENCIES): Add libiberty.a. commit 7ac18a840b0655dba162acdca5112709c5628c71 Author: Alan Modra Date: Fri Oct 10 00:00:05 2008 +0000 daily update commit 252f4b5d2a4e275df7b10b3d711879f113f486b0 Author: gdbadmin Date: Fri Oct 10 00:00:02 2008 +0000 *** empty log message *** commit 546d4302575d4cc3f9d18f443165decadc7c57cf Author: Pedro Alves Date: Thu Oct 9 18:45:43 2008 +0000 * remote.c (remote_wait): Rename to... (remote_wait_as): ... this. Don't loop here. If the remote didn't stop, return TARGET_WAITKIND_IGNORE. (remote_wait): New, reimplemented on top of remote_wait_as. commit 86c3522b923aeaab35585bb231cfe528f9231dbb Author: Tom Tromey Date: Thu Oct 9 16:49:47 2008 +0000 * gdb.base/macscp.exp: Use 'vafunc' and 'fixedarg' rather than 'fprintf' and 'stderr'. commit e82c705c3b0d4291f9b7698abaae96616a0c1d92 Author: tschwinge Date: Thu Oct 9 16:06:22 2008 +0000 2008-10-09 Thomas Schwinge * Makefile.in (gnu-nat.o): Revert the 2008-09-10 change, as the problem is fixed upstream. commit 245cfeab09a9c76f238d48ba17f3f4c170dabbe2 Author: tschwinge Date: Thu Oct 9 16:04:17 2008 +0000 2008-10-09 Thomas Schwinge * reply_mig_hack.awk: Use the `BAD_TYPECHECK' macro. commit eecf08f906110cc019a333aad9e7c1dc5853b1e2 Author: tschwinge Date: Thu Oct 9 15:53:24 2008 +0000 2008-10-09 Thomas Schwinge * MAINTAINERS (Write After Approval): Add myself. commit 481e1e9c01da5d3a4d9fef865b20eb76581ca262 Author: Pedro Alves Date: Thu Oct 9 13:49:12 2008 +0000 2008-10-09 Pedro Alves Make it compile without warnings. * procfs.c (create_procinfo): Initialize `parent'. (dead_procinfo): Pass a constant string as format to error. (procfs_address_to_host_pointer): Add cast to gdb_type *. (procfs_find_LDT_entry): Adjust format string to long int ptid.tid. (procfs_xfer_partial): Adjust prototype. Add gdb_byte* cast. (procfs_xfer_memory): Adjust prototype. (info_mappings_callback, info_proc_mappings): Adjust to not pass a variable as printf_filtered format. (procfs_make_note_section): Change type of auxv local to gdb_byte. * Makefile.in: Remove special rule. commit 62c53aa0e463661bf4dfc5f1358583d287e0c4a6 Author: Kai Tietz Date: Thu Oct 9 09:00:05 2008 +0000 binutils/ 2008-10-09 Kai Tietz * dlltool.c (PAGE_SIZE): Make sure it has bfd_vma type. (PAGE_MASK): Likewise. (sfunc): Change to address size of bfd_vma for base-file. (flush_page): Likewise. (gen_exp_file): Likewise. bfd/ 2008-10-09 Kai Tietz * cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma sized addresses instead of long sized. commit 2e9f3c2978476058a7ab5254496d53493901b025 Author: Pedro Alves Date: Thu Oct 9 03:24:50 2008 +0000 * remote.c (remote_open_1): Move acknowledging any pending ack, querying supported features, activating noack mode, finding the target description, enabling extended remote, and checking remote symbols from here ... (remote_start_remote): ... to here. (remote_open_1): Don't pop the target if it is already gone. * target.c (unpush_target): Check for the dummy target. commit 839823f1f20e629df83edc548e05cb1d50f67ab5 Author: Pedro Alves Date: Thu Oct 9 01:14:26 2008 +0000 * ser-mingw.c: Include "command.h". (pipe_windows_open): Declare locals at the beginning of the scope. commit 9f1e782ce423c534de55e9a6eeb9412d07a21a78 Author: Alan Modra Date: Thu Oct 9 00:55:52 2008 +0000 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to read plt relocs if no dynamic syms. commit 1232dc905dc8a19f19fe4ed6f0f163506d66c1b4 Author: Alan Modra Date: Thu Oct 9 00:14:24 2008 +0000 daily update commit 4f37370cf8ac122e120f1d7042c27e5843b6db4e Author: gdbadmin Date: Thu Oct 9 00:00:34 2008 +0000 *** empty log message *** commit 9a0ca1b50c6201e86d12af0267f6311cf1939d69 Author: Pedro Alves Date: Wed Oct 8 19:16:30 2008 +0000 * remote.c (struct remote_state) : New field. (remote_open_1): Clear waiting_for_stop_reply. (remote_resume): Set waiting_for_stop_reply. (remote_wait): Clear or set waiting_for_stop_reply accordingly. (putpkt_binary): If we're in async mode and waiting for a stop reply, bail out with an error. (extended_remote_mourn_1): Clear waiting_for_stop_reply. commit 8637c4c0e9e2d11ad26e5c18b972d5083a40f6af Author: DJ Delorie Date: Wed Oct 8 17:55:27 2008 +0000 merge from gcc commit ebf35d27deb930d8f9afa2fd58882d932f0cfe5c Author: David Edelsohn Date: Wed Oct 8 16:53:29 2008 +0000 * xstrdup.c: Include after "config.h". commit b451c0a134abb273c79a1d4be52bb306ae9e7243 Author: Nick Clifton Date: Wed Oct 8 15:58:23 2008 +0000 * configure.in (ALL_LINGUAS): Add "id". * configure: Regenerate. * po/id.po: New Indonesian translation. commit 1e4c4b1cd958e6883025f3dcc6ac27aa40383a0a Author: Pedro Alves Date: Wed Oct 8 15:00:29 2008 +0000 * remote.c (remote_get_thread_info): If the remote doesn't support the query, bail out. commit 64c764285eb6fa845ad940d28642dc2adfc0bcd3 Author: Jan Kratochvil Date: Wed Oct 8 12:49:12 2008 +0000 Convert static_kind into loc_kind enum. * gdbtypes.h (enum field_loc_kind): New. (union field_location): New field dwarf_block. (struct field): Rename static_kind as loc_kind. (FIELD_STATIC_KIND): Rename to ... (FIELD_LOC_KIND): ... here. (TYPE_FIELD_STATIC_KIND): Rename to ... (TYPE_FIELD_LOC_KIND): ... here and use there now new FIELD_LOC_KIND. (TYPE_FIELD_STATIC_HAS_ADDR): Remove. (TYPE_FIELD_STATIC): Remove. (TYPE_FIELD_BITPOS): Reformat. (SET_FIELD_BITPOS): New. (FIELD_PHYSADDR): Rename to ... (FIELD_STATIC_PHYSADDR): ... here. (TYPE_FIELD_STATIC_PHYSADDR): Follow the FIELD_PHYSADDR rename. (SET_FIELD_PHYSADDR): Use new FIELD_LOC_KIND. (FIELD_PHYSNAME): Rename to ... (FIELD_STATIC_PHYSNAME): ... here. (TYPE_FIELD_STATIC_PHYSNAME): Follow the FIELD_PHYSNAME rename. (SET_FIELD_PHYSNAME): Use new FIELD_LOC_KIND. (FIELD_DWARF_BLOCK, TYPE_FIELD_DWARF_BLOCK, SET_FIELD_DWARF_BLOCK): New. (field_is_static): New declaration. * gdbtypes.c (field_is_static): New function. (copy_type_recursive): Update throughout. * amd64-tdep.c, c-typeprint.c, coffread.c, cp-valprint.c, dwarf2read.c, eval.c, jv-typeprint.c, jv-valprint.c, mdebugread.c, p-typeprint.c, p-valprint.c, valops.c, value.c, varobj.c: Update throughout. commit ec5d68e31ad13796a382273623f9b0eb71094fe5 Author: Alan Modra Date: Wed Oct 8 08:30:25 2008 +0000 * elf.c (assign_file_positions_for_load_sections): When checking a segment for contents, don't assume that a non-TLS nobits section must only be followed by nobits sections. commit ae02fca1a5202d81fb28aa1155831e075a141c15 Author: gdbadmin Date: Wed Oct 8 00:00:33 2008 +0000 *** empty log message *** commit c60668ca54e19c46ae721ed56359fd5792165b6d Author: Pedro Alves Date: Tue Oct 7 18:42:42 2008 +0000 * gnu-nat.h: Rename `current_inferior' to `gnu_current_inf' to avoid a name collision. * gnu-nat.c: Likewise. * i386gnu-nat.c: Likewise. commit 026452c4225c0af4b26066e0c109cd7d88381033 Author: H.J. Lu Date: Tue Oct 7 16:44:52 2008 +0000 2008-10-07 Jan Kratochvil * configure.ac: Call AC_SYS_LARGEFILE. * config.in: Regenerated. * configure: Likewise. commit 26647e6fa4728d2e45414a8ec09e60bb7cc633b5 Author: Joel Brobecker Date: Tue Oct 7 14:10:30 2008 +0000 * gdb.ada/ref_tick_size.exp: New testcase. commit 142925a43316d875088cb87669f05cdac4371761 Author: Joel Brobecker Date: Tue Oct 7 14:07:10 2008 +0000 * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Add handling of arguments that are references. commit c761eacd2f17f5dd3f4155bf047141ace13143dd Author: DJ Delorie Date: Tue Oct 7 01:27:53 2008 +0000 merge from gcc commit e610099b04dc3b307f4c642154fca189a543dab5 Author: gdbadmin Date: Tue Oct 7 00:00:03 2008 +0000 *** empty log message *** commit d6251c37223229157dbf9302ab4944310e326a88 Author: Alan Modra Date: Mon Oct 6 23:07:36 2008 +0000 daily update commit 725f9d7e0093d0f48fad8eb2862e5f613dd3a42c Author: Doug Evans Date: Mon Oct 6 22:23:17 2008 +0000 * dwarf2read.c (dwarf2_die_debug): New static global. (dump_die_shallow): Renamed from dump_die, New args f, indent. Print to specified file, indented by the specified amount. (dump_die_for_error): New fn. Point all existing callers of dump_die here. (dump_die_die_1,dump_die): New fns, replaces ... (dump_die_list): ... deleted. (read_die_and_children_1): Old contents of read_die_and_children moved here. (read_die_and_children): Rewrite. (read_die_and_siblings): Call read_die_and_children_1 instead of read_die_and_children. (_initialize_dwarf2_read): New option "debug dwarf2-die". * gdbinit.in (pdie): New macro. * doc/gdb.texinfo (set debug dwarf2-die): Document it. commit 9014f1e8539cec13aecef91339cf245b4589b369 Author: Doug Evans Date: Mon Oct 6 21:54:23 2008 +0000 * dwarf2read.c (offset_in_cu_p): New function. (find_partial_die,follow_die_ref): Use it. * gdb.dwarf2/dw2-cu-size.exp: New file. * gdb.dwarf2/dw2-cu-size.S: New file. * gdb.dwarf2/dw2-intercu.S (.Ltype_int_in_cu2): Renamed from .Ltype_int for clarity. commit 524fa2f1d5bcf212fa9c4b2871c01ab133551b7f Author: Doug Evans Date: Mon Oct 6 21:07:47 2008 +0000 * symmisc.c (maintenance_info_symtabs): Watch for ^c. (maintenance_info_psymtabs): Ditto. commit aa4f5f4a10874efe442481da9ad9642717fde854 Author: gdbadmin Date: Mon Oct 6 00:00:33 2008 +0000 *** empty log message *** commit 30c40e3c735a7311c04c9df788965d46311e200a Author: Alan Modra Date: Sun Oct 5 23:00:05 2008 +0000 daily update commit b6f1242a82a48641e2b834701988665acfb5f945 Author: Michael Snyder Date: Sun Oct 5 20:01:14 2008 +0000 Fix email address commit e0c36455dcf193a535d8391b948ecc7ba954edeb Author: Michael Snyder Date: Sun Oct 5 19:52:10 2008 +0000 2008-10-05 Michael Snyder * infrun.c (handle_inferior_event): Fix typo in comment. commit 2b75ab9b629fb8efc9e16362eeeae2b197124567 Author: gdbadmin Date: Sun Oct 5 00:00:03 2008 +0000 *** empty log message *** commit a78fb0cdbd4669a15712878d786294753654dec4 Author: Alan Modra Date: Sat Oct 4 23:00:04 2008 +0000 daily update commit 40bfe6456ab16787ebbe5965caf519774b0a78ec Author: Hans-Peter Nilsson Date: Sat Oct 4 17:18:36 2008 +0000 * elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros. (cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD, R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL, R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL, R_CRIS_16_TPREL. (cris_reloc_map): Similarly. * reloc.c (bfd_reloc_code_type): Add entries for BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD, BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP, BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL, BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL, BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL, BFD_RELOC_CRIS_16_TPREL. * libbfd.h, bfd-in2.h: Regenerate. commit 6f26864a541577a4b6a1362ab009d02004c7a8a3 Author: Hans-Peter Nilsson Date: Sat Oct 4 17:16:30 2008 +0000 * cris.h (R_CRIS_32_GOT_GD, R_CRIS_16_GOT_GD, R_CRIS_32_GD) (R_CRIS_DTP, R_CRIS_32_DTPREL, R_CRIS_16_DTPREL, R_CRIS_DTPMOD) (R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL) (R_CRIS_16_TPREL): New relocations. commit 5c06805ecb243774eae7ef726b7fa0493d55633d Author: Vladimir Prus Date: Sat Oct 4 14:58:53 2008 +0000 * mi/mi-interp.c (mi_on_resume): Flush raw_stdout. commit 8cfb738b5b241a508aa70a509c6986f099a4184f Author: gdbadmin Date: Sat Oct 4 00:00:33 2008 +0000 *** empty log message *** commit 37aafc420c8239e3b4c5dbdac0711ac17cb87636 Author: Alan Modra Date: Sat Oct 4 00:00:06 2008 +0000 daily update commit a9963fcf0d981d592e66057ebdbbdbef583682d4 Author: Paul Pluzhnikov Date: Fri Oct 3 22:02:20 2008 +0000 2008-10-03 Paul Pluzhnikov PR gdb/2384: * gdb.cp/gdb2384.exp: Extended to test more cases. * gdb.cp/gdb2384.cc: Likewise. * gdb.cp/gdb2384-base.h: Likewise. * gdb.cp/gdb2384-base.cc: Likewise. commit 8c38d141f8042f4d7d1c0c35431e88bda257ae09 Author: Paul Pluzhnikov Date: Fri Oct 3 22:00:09 2008 +0000 2008-10-03 Paul Pluzhnikov PR gdb/2384: * gdbtypes.c (get_vptr_fieldno): baseclass and basetype may have different lifetimes. commit 0215ee7b685c459f76142e72601a2e7a30c18dfe Author: Joel Brobecker Date: Fri Oct 3 16:42:48 2008 +0000 Fix the date in the last entry. commit 5bcb187d30194300147cfb8ed9fb8c9673109706 Author: Joel Brobecker Date: Fri Oct 3 16:38:01 2008 +0000 * solib-osf.c: Include "solib.h". commit 5ac6c51a4987ba2a168aa025c0bb3a6b30c9ef0f Author: Paul Pluzhnikov Date: Fri Oct 3 16:36:07 2008 +0000 2008-10-03 Paul Pluzhnikov * utils.c, defs.h (gdb_buildargv): New fn. Wrap buildargv and check for out-of-memory condition. * exec.c (exec_file_command): Call it. * infrun.c (handle_command, xdb_handle_command): Likewise. * interps.c (interpreter_exec_cmd): Likewise. * linux-nat.c (linux_nat_info_proc_cmd): Likewise. * procfs.c (info_proc_cmd): Likewise. * remote-mips.c (common_open): Likewise. * remote-sim.c (gdbsim_kill, gdbsim_create_inferior) (gdbsim_open): Likewise. * remote.c (extended_remote_run, remote_put_command) (remote_get_command, remote_delete_command): Likewise. * ser-mingw.c (pipe_windows_open): Likesise. * source.c (add_path, show_substitute_path_command) (unset_substitute_path_command, set_substitute_path_command): Likewise. * stack.c (backtrace_command): Likewise. * symfile.c (symbol_file_command, generic_load) (add_symbol_file_command): Likesise. * symmisc.c (maintenance_print_symbols, maintenance_print_psymbols) (maintenance_print_msymbols): Likewise. commit 1a528656c56a81c26edd333d43fdb757700de276 Author: Alan Modra Date: Fri Oct 3 10:09:51 2008 +0000 add pr number for last commit commit c3dc62b07f89416ae2ddb95dfcc1b4fafe986dec Author: Alan Modra Date: Fri Oct 3 09:40:48 2008 +0000 bfd/ * elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when the signature symbol is global. * elflink.c (elf_link_input_bfd): Ensure group signature symbol is output when ld -r. Set group sh_info when local. * linker.c (default_indirect_link_order): Handle group sections specially. ld/ * ldemul.c (ldemul_place_orphan): Add "name" param. * ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct ): Likewise. * ldlang.c (lang_place_orphans): Generate unique section names here.. * emultempl/elf32.em (place_orphan): ..rather than here. Don't directly use an existing output section statement that has no bfd section. * emultempl/pe.em (place_orphan): Likewise. * emultempl/pep.em (place_orphan): Likewise. * emultempl/beos.em (place_orphan): Adjust. * emultempl/spuelf.em (spu_place_special_section): Adjust place_orphan call. * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): New function. (LDEMUL_AFTER_OPEN): Define. commit da8e6bca97861ae02d4c5686babe8261433343b6 Author: gdbadmin Date: Fri Oct 3 00:00:34 2008 +0000 *** empty log message *** commit 6337c8653e8ff6727aa56d45999b8083eb9097cc Author: Alan Modra Date: Fri Oct 3 00:00:05 2008 +0000 daily update commit 57f0a037b2517cb187f8e293662da59c364d569e Author: Jan Kratochvil Date: Thu Oct 2 22:06:07 2008 +0000 gdb/ Replace TYPE_ARRAY_{UPPER,LOWER}_BOUND_TYPE by a bit if {un,}defined. * c-typeprint.c (c_type_print_varspec_suffix), m2-typeprint.c (m2_array), p-typeprint.c (pascal_type_print_varspec_prefix), valops.c (value_cast), varobj.c (c_number_of_children): Replace TYPE_ARRAY_UPPER_BOUND_TYPE compared to BOUND_CANNOT_BE_DETERMINED by TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. * parse.c (follow_types): Use TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. * f-valprint.c (f77_get_dynamic_upperbound): Replace with ... (f77_get_upperbound): ... this function handling now only TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. (f77_get_dynamic_lowerbound): Replace with ... (f77_get_lowerbound): ... this function handling now only TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED. (f77_get_dynamic_length_of_aggregate, f77_create_arrayprint_offset_tbl): Update their callers. * eval.c (evaluate_subexp_standard): Update their callers. * f-lang.h (f77_get_dynamic_upperbound, f77_get_upperbound) (f77_get_dynamic_lowerbound, f77_get_lowerbound): Update their prototypes. (BOUND_FETCH_OK, BOUND_FETCH_ERROR): Remove. * f-typeprint.c (f_type_print_varspec_suffix, f_type_print_base): Remove the lower_bound_was_default variable. Update the f77_get_dynamic_upperbound, f77_get_upperbound and TYPE_ARRAY_UPPER_BOUND_TYPE calls. * gdbtypes.c (print_bound_type): Remove the function. (recursive_dump_type): Remove its calls printing UPPER_BOUND_TYPE and LOWER_BOUND_TYPE. * gdbtypes.h (enum array_bound_type): Remove. (struct main_type): Remove the fields upper_bound_type and lower_bound_type. Comment the new overload of the field artificial. (TYPE_ARRAY_UPPER_BOUND_TYPE): Replace by ... (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED): ... this macro. (TYPE_ARRAY_LOWER_BOUND_TYPE): Replace by ... (TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): ... this macro. gdb/testsuite/ * gdb.base/maint.exp (maint print type): Remove printing UPPER_BOUND_TYPE and LOWER_BOUND_TYPE. commit e7cf2a607242f09a0ac937fa90bf56f44c733f98 Author: Tom Tromey Date: Thu Oct 2 17:39:08 2008 +0000 * Makefile.in (HFILES_NO_SRCDIR): Remove gdb-events.h, gstdint.h. commit 8175a827dad24cd2f827b887835003b3b872ce0c Author: Daniel Jacobowitz Date: Thu Oct 2 15:48:05 2008 +0000 * mips-linux-tdep.c (mips_linux_in_dynsym_resolve_code): Update comments. (mips_linux_skip_resolver): Also use glibc_skip_solib_resolver. (mips_linux_init_abi): Do not override skip_trampoline_code. * configure.tgt (mips*-*-linux*): Add glibc-tdep.o. * mips-tdep.c (mips32_scan_prologue): Stop scanning at branches. (mips_stub_frame_sniffer): Use the stub frame sniffer for PIC stubs. (mips_skip_mips16_trampoline_code): Rename from mips_skip_trampoline_code. (mips_skip_pic_trampoline_code, mips_skip_trampoline_code): New. * infrun.c (handle_inferior_event): Do not pass zero to in_solib_dynsym_resolve_code. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 53 + bfd/bfd-in2.h | 13 + bfd/cofflink.c | 10 +- bfd/configure | 2 +- bfd/configure.in | 2 +- bfd/elf.c | 80 +- bfd/elf32-cris.c | 39 +- bfd/elf32-ppc.c | 27 + bfd/elf64-ppc.c | 28 +- bfd/elflink.c | 57 + bfd/libbfd.h | 11 + bfd/linker.c | 42 +- bfd/po/id.po | 3837 +++++++++++++++++++++++++++ bfd/reloc.c | 25 + bfd/version.h | 2 +- gdb/ChangeLog | 306 +++ gdb/MAINTAINERS | 1 + gdb/Makefile.in | 17 +- gdb/ada-lang.c | 11 +- gdb/amd64-tdep.c | 2 +- gdb/breakpoint.c | 56 +- gdb/breakpoint.h | 4 +- gdb/c-typeprint.c | 10 +- gdb/coffread.c | 9 +- gdb/configure.tgt | 2 +- gdb/cp-valprint.c | 12 +- gdb/defs.h | 2 + gdb/doc/ChangeLog | 4 + gdb/doc/gdb.texinfo | 7 + gdb/dwarf2read.c | 361 ++- gdb/eval.c | 12 +- gdb/exec.c | 5 +- gdb/f-lang.h | 7 +- gdb/f-typeprint.c | 39 +- gdb/f-valprint.c | 153 +- gdb/gdbinit.in | 17 + gdb/gdbserver/ChangeLog | 5 + gdb/gdbserver/server.c | 24 +- gdb/gdbtypes.c | 82 +- gdb/gdbtypes.h | 86 +- gdb/gnu-nat.c | 56 +- gdb/gnu-nat.h | 2 +- gdb/i386gnu-nat.c | 8 +- gdb/infrun.c | 113 +- gdb/interps.c | 19 +- gdb/jv-typeprint.c | 2 +- gdb/jv-valprint.c | 11 +- gdb/linux-nat.c | 6 +- gdb/m2-typeprint.c | 2 +- gdb/mdebugread.c | 13 +- gdb/mi/mi-interp.c | 1 + gdb/mips-linux-tdep.c | 12 +- gdb/mips-tdep.c | 97 +- gdb/p-typeprint.c | 10 +- gdb/p-valprint.c | 12 +- gdb/parse.c | 3 +- gdb/procfs.c | 95 +- gdb/remote-mips.c | 3 +- gdb/remote-sim.c | 13 +- gdb/remote.c | 663 +++--- gdb/reply_mig_hack.awk | 2 +- gdb/ser-mingw.c | 13 +- gdb/solib-osf.c | 1 + gdb/source.c | 11 +- gdb/stack.c | 2 +- gdb/symfile.c | 17 +- gdb/symmisc.c | 203 +- gdb/target.c | 12 +- gdb/testsuite/ChangeLog | 38 + gdb/testsuite/gdb.ada/ref_tick_size.exp | 48 + gdb/testsuite/gdb.ada/ref_tick_size/p.adb | 29 + gdb/testsuite/gdb.ada/ref_tick_size/pck.adb | 25 + gdb/testsuite/gdb.ada/ref_tick_size/pck.ads | 22 + gdb/testsuite/gdb.base/macscp.exp | 20 +- gdb/testsuite/gdb.base/maint.exp | 2 +- gdb/testsuite/gdb.cp/gdb2384-base.cc | 5 + gdb/testsuite/gdb.cp/gdb2384-base.h | 6 + gdb/testsuite/gdb.cp/gdb2384.cc | 23 +- gdb/testsuite/gdb.cp/gdb2384.exp | 65 +- gdb/testsuite/gdb.cp/mb-ctor.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-cu-size.S | 106 + gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp | 53 + gdb/testsuite/gdb.dwarf2/dw2-intercu.S | 4 +- gdb/testsuite/gdb.mi/mi-nsmoribund.exp | 177 ++ gdb/testsuite/gdb.mi/nsmoribund.c | 72 + gdb/utils.c | 14 + gdb/valops.c | 7 +- gdb/value.c | 2 +- gdb/varobj.c | 4 +- gdb/version.in | 2 +- include/ChangeLog | 5 + include/demangle.h | 4 +- include/elf/ChangeLog | 11 + include/elf/cris.h | 76 + include/elf/ppc.h | 5 + libiberty/ChangeLog | 33 +- libiberty/configure | 1 - libiberty/cp-demangle.c | 298 ++- libiberty/cp-demangle.h | 2 +- libiberty/testsuite/demangle-expected | 32 +- libiberty/xstrdup.c | 2 +- opcodes/ChangeLog | 6 + opcodes/configure | 4 +- opcodes/configure.in | 4 +- 104 files changed, 6784 insertions(+), 1289 deletions(-) create mode 100644 bfd/po/id.po create mode 100644 gdb/testsuite/gdb.ada/ref_tick_size.exp create mode 100644 gdb/testsuite/gdb.ada/ref_tick_size/p.adb create mode 100644 gdb/testsuite/gdb.ada/ref_tick_size/pck.adb create mode 100644 gdb/testsuite/gdb.ada/ref_tick_size/pck.ads create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-cu-size.S create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp create mode 100644 gdb/testsuite/gdb.mi/mi-nsmoribund.exp create mode 100644 gdb/testsuite/gdb.mi/nsmoribund.c First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f775536..f0080bb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,56 @@ +2008-10-10 Nathan Froyd + + * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge + Tag_GNU_Power_ABI_Struct_Return. + +2008-10-09 Kai Tietz + + * cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma sized addresses instead of long sized. + +2008-10-09 Alan Modra + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to + read plt relocs if no dynamic syms. + +2008-10-08 Nick Clifton + + * configure.in (ALL_LINGUAS): Add "id". + * configure: Regenerate. + * po/id.po: New Indonesian translation. + +2008-10-08 Alan Modra + + * elf.c (assign_file_positions_for_load_sections): When checking + a segment for contents, don't assume that a non-TLS nobits section + must only be followed by nobits sections. + +2008-10-04 Hans-Peter Nilsson + + * elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros. + (cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD, + R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL, + R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL, + R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL, R_CRIS_16_TPREL. + (cris_reloc_map): Similarly. + * reloc.c (bfd_reloc_code_type): Add entries for + BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD, + BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP, + BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL, + BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL, + BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL, + BFD_RELOC_CRIS_16_TPREL. + * libbfd.h, bfd-in2.h: Regenerate. + +2008-10-03 Alan Modra + + PR 6931 + * elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when + the signature symbol is global. + * elflink.c (elf_link_input_bfd): Ensure group signature symbol + is output when ld -r. Set group sh_info when local. + * linker.c (default_indirect_link_order): Handle group sections + specially. + 2008-09-30 Wesley W. Terpstra Nick Clifton diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index c8ef5f9..16609cb 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -4192,6 +4192,19 @@ This is the 5 bits of a value. */ /* 32-bit offset to symbol with PLT entry, relative to this relocation. */ BFD_RELOC_CRIS_32_PLT_PCREL, +/* Relocs used in TLS code for CRIS. */ + BFD_RELOC_CRIS_32_GOT_GD, + BFD_RELOC_CRIS_16_GOT_GD, + BFD_RELOC_CRIS_32_GD, + BFD_RELOC_CRIS_DTP, + BFD_RELOC_CRIS_32_DTPREL, + BFD_RELOC_CRIS_16_DTPREL, + BFD_RELOC_CRIS_32_GOT_TPREL, + BFD_RELOC_CRIS_16_GOT_TPREL, + BFD_RELOC_CRIS_32_TPREL, + BFD_RELOC_CRIS_16_TPREL, + BFD_RELOC_CRIS_DTPMOD, + /* Intel i860 Relocations. */ BFD_RELOC_860_COPY, BFD_RELOC_860_GLOB_DAT, diff --git a/bfd/cofflink.c b/bfd/cofflink.c index 19a7dd2..d771168 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -2985,16 +2985,16 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd, absolute. We output the address here to a file. This file is then read by dlltool when generating the reloc section. Note that the base file is not - portable between systems. We write out a long here, - and dlltool reads in a long. */ - long addr = (rel->r_vaddr + portable between systems. We write out a bfd_vma here, + and dlltool reads in a bfd_vma. */ + bfd_vma addr = (rel->r_vaddr - input_section->vma + input_section->output_offset + input_section->output_section->vma); if (coff_data (output_bfd)->pe) addr -= pe_data(output_bfd)->pe_opthdr.ImageBase; - if (fwrite (&addr, 1, sizeof (long), (FILE *) info->base_file) - != sizeof (long)) + if (fwrite (&addr, 1, sizeof (bfd_vma), (FILE *) info->base_file) + != sizeof (bfd_vma)) { bfd_set_error (bfd_error_system_call); return FALSE; diff --git a/bfd/configure b/bfd/configure index 0cefd4d..84ba0f6 100755 --- a/bfd/configure +++ b/bfd/configure @@ -12091,7 +12091,7 @@ bfd_default_target_size=32 # host stuff: -ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi" +ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id" # If we haven't got the data from the intl directory, # assume NLS is disabled. USE_NLS=no diff --git a/bfd/configure.in b/bfd/configure.in index 6c33648..72cefbc 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -120,7 +120,7 @@ bfd_default_target_size=32 # host stuff: -ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi" +ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS diff --git a/bfd/elf.c b/bfd/elf.c index 763750b..ea44f72 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -2681,13 +2681,15 @@ elf_fake_sections (bfd *abfd, asection *asect, void *failedptrarg) *failedptr = TRUE; } -/* Fill in the contents of a SHT_GROUP section. */ +/* Fill in the contents of a SHT_GROUP section. Called from + _bfd_elf_compute_section_file_positions for gas, objcopy, and + when ELF targets use the generic linker, ld. Called for ld -r + from bfd_elf_final_link. */ void bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg) { bfd_boolean *failedptr = failedptrarg; - unsigned long symindx; asection *elt, *first; unsigned char *loc; bfd_boolean gas; @@ -2698,20 +2700,49 @@ bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg) || *failedptr) return; - symindx = 0; - if (elf_group_id (sec) != NULL) - symindx = elf_group_id (sec)->udata.i; + if (elf_section_data (sec)->this_hdr.sh_info == 0) + { + unsigned long symindx = 0; + + /* elf_group_id will have been set up by objcopy and the + generic linker. */ + if (elf_group_id (sec) != NULL) + symindx = elf_group_id (sec)->udata.i; - if (symindx == 0) + if (symindx == 0) + { + /* If called from the assembler, swap_out_syms will have set up + elf_section_syms. */ + BFD_ASSERT (elf_section_syms (abfd) != NULL); + symindx = elf_section_syms (abfd)[sec->index]->udata.i; + } + elf_section_data (sec)->this_hdr.sh_info = symindx; + } + else if (elf_section_data (sec)->this_hdr.sh_info == (unsigned int) -2) { - /* If called from the assembler, swap_out_syms will have set up - elf_section_syms; If called for "ld -r", use target_index. */ - if (elf_section_syms (abfd) != NULL) - symindx = elf_section_syms (abfd)[sec->index]->udata.i; - else - symindx = sec->target_index; + /* The ELF backend linker sets sh_info to -2 when the group + signature symbol is global, and thus the index can't be + set until all local symbols are output. */ + asection *igroup = elf_sec_group (elf_next_in_group (sec)); + struct bfd_elf_section_data *sec_data = elf_section_data (igroup); + unsigned long symndx = sec_data->this_hdr.sh_info; + unsigned long extsymoff = 0; + struct elf_link_hash_entry *h; + + if (!elf_bad_symtab (igroup->owner)) + { + Elf_Internal_Shdr *symtab_hdr; + + symtab_hdr = &elf_tdata (igroup->owner)->symtab_hdr; + extsymoff = symtab_hdr->sh_info; + } + h = elf_sym_hashes (igroup->owner)[symndx - extsymoff]; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + elf_section_data (sec)->this_hdr.sh_info = h->indx; } - elf_section_data (sec)->this_hdr.sh_info = symindx; /* The contents won't be allocated for "ld -r" or objcopy. */ gas = TRUE; @@ -4257,21 +4288,14 @@ assign_file_positions_for_load_sections (bfd *abfd, elf_section_type (m->sections[i]) = SHT_NOBITS; /* Find out whether this segment contains any loadable - sections. If the first section isn't loadable, the same - holds for any other sections. */ - i = 0; - while (elf_section_type (m->sections[i]) == SHT_NOBITS) - { - /* If a segment starts with .tbss, we need to look - at the next section to decide whether the segment - has any loadable sections. */ - if ((elf_section_flags (m->sections[i]) & SHF_TLS) == 0 - || ++i >= m->count) - { - no_contents = TRUE; - break; - } - } + sections. */ + no_contents = TRUE; + for (i = 0; i < m->count; i++) + if (elf_section_type (m->sections[i]) != SHT_NOBITS) + { + no_contents = FALSE; + break; + } off_adjust = vma_page_aligned_bias (m->sections[0]->vma, off, align); off += off_adjust; diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 75d0695..360cba6 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -409,7 +409,31 @@ static reloc_howto_type cris_elf_howto_table [] = FALSE, /* partial_inplace */ 0, /* src_mask */ 0xffffffff, /* dst_mask */ - TRUE) /* pcrel_offset */ + TRUE), /* pcrel_offset */ + + /* We don't handle these in any special manner and cross-format + linking is not supported; just recognize them enough to pass them + around. FIXME: do the same for most PIC relocs and add sanity + tests to actually refuse gracefully to handle these and PIC + relocs for cross-format linking. */ +#define TLSHOWTO32(name) \ + HOWTO (name, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, \ + bfd_elf_generic_reloc, #name, FALSE, 0, 0xffffffff, FALSE) +#define TLSHOWTO16(name) \ + HOWTO (name, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, \ + bfd_elf_generic_reloc, #name, FALSE, 0, 0xffff, FALSE) + + TLSHOWTO32 (R_CRIS_32_GOT_GD), + TLSHOWTO16 (R_CRIS_16_GOT_GD), + TLSHOWTO32 (R_CRIS_32_GD), + TLSHOWTO32 (R_CRIS_DTP), + TLSHOWTO32 (R_CRIS_32_DTPREL), + TLSHOWTO16 (R_CRIS_16_DTPREL), + TLSHOWTO32 (R_CRIS_32_GOT_TPREL), + TLSHOWTO16 (R_CRIS_16_GOT_TPREL), + TLSHOWTO32 (R_CRIS_32_TPREL), + TLSHOWTO16 (R_CRIS_16_TPREL), + TLSHOWTO32 (R_CRIS_DTPMOD) }; /* Map BFD reloc types to CRIS ELF reloc types. */ @@ -441,7 +465,18 @@ static const struct cris_reloc_map cris_reloc_map [] = { BFD_RELOC_CRIS_32_GOTPLT, R_CRIS_32_GOTPLT }, { BFD_RELOC_CRIS_32_GOTREL, R_CRIS_32_GOTREL }, { BFD_RELOC_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_GOTREL }, - { BFD_RELOC_CRIS_32_PLT_PCREL, R_CRIS_32_PLT_PCREL } + { BFD_RELOC_CRIS_32_PLT_PCREL, R_CRIS_32_PLT_PCREL }, + { BFD_RELOC_CRIS_32_GOT_GD, R_CRIS_32_GOT_GD }, + { BFD_RELOC_CRIS_16_GOT_GD, R_CRIS_16_GOT_GD }, + { BFD_RELOC_CRIS_32_GD, R_CRIS_32_GD }, + { BFD_RELOC_CRIS_DTP, R_CRIS_DTP }, + { BFD_RELOC_CRIS_32_DTPREL, R_CRIS_32_DTPREL }, + { BFD_RELOC_CRIS_16_DTPREL, R_CRIS_16_DTPREL }, + { BFD_RELOC_CRIS_32_GOT_TPREL, R_CRIS_32_GOT_TPREL }, + { BFD_RELOC_CRIS_16_GOT_TPREL, R_CRIS_16_GOT_TPREL }, + { BFD_RELOC_CRIS_32_TPREL, R_CRIS_32_TPREL }, + { BFD_RELOC_CRIS_16_TPREL, R_CRIS_16_TPREL }, + { BFD_RELOC_CRIS_DTPMOD, R_CRIS_DTPMOD } }; static reloc_howto_type * diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 1d9cabd..83a9274 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3964,6 +3964,33 @@ ppc_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) ibfd, obfd, in_abi, out_abi); } + /* Check for conflicting Tag_GNU_Power_ABI_Struct_Return attributes + and merge non-conflicting ones. */ + in_attr = &in_attrs[Tag_GNU_Power_ABI_Struct_Return]; + out_attr = &out_attrs[Tag_GNU_Power_ABI_Struct_Return]; + if (in_attr->i != out_attr->i) + { + out_attr->type = 1; + if (out_attr->i == 0) + out_attr->i = in_attr->i; + else if (in_attr->i == 0) + ; + else if (out_attr->i == 1 && in_attr->i == 2) + _bfd_error_handler + (_("Warning: %B uses r3/r4 for small structure returns, %B uses memory"), obfd, ibfd); + else if (out_attr->i == 2 && in_attr->i == 1) + _bfd_error_handler + (_("Warning: %B uses r3/r4 for small structure returns, %B uses memory"), ibfd, obfd); + else if (in_attr->i > 2) + _bfd_error_handler + (_("Warning: %B uses unknown small structure return convention %d"), ibfd, + in_attr->i); + else + _bfd_error_handler + (_("Warning: %B uses unknown small structure return convention %d"), obfd, + out_attr->i); + } + /* Merge Tag_compatibility attributes and any common GNU ones. */ _bfd_elf_merge_object_attributes (ibfd, obfd); diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 86fe3c3..523d137 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -3005,8 +3005,8 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, } /* Get start of .glink stubs from DT_PPC64_GLINK. */ - dynamic = bfd_get_section_by_name (abfd, ".dynamic"); - if (dynamic != NULL) + if (dyn_count != 0 + && (dynamic = bfd_get_section_by_name (abfd, ".dynamic")) != NULL) { bfd_byte *dynbuf, *extdyn, *extdynend; size_t extdynsize; @@ -3061,21 +3061,21 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, if (resolv_vma) size += sizeof (asymbol) + sizeof ("__glink_PLTresolve"); - } - relplt = bfd_get_section_by_name (abfd, ".rela.plt"); - if (glink != NULL && relplt != NULL) - { - slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table; - if (! (*slurp_relocs) (abfd, relplt, dyn_syms, TRUE)) - goto free_contents_and_exit; + relplt = bfd_get_section_by_name (abfd, ".rela.plt"); + if (relplt != NULL) + { + slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table; + if (! (*slurp_relocs) (abfd, relplt, dyn_syms, TRUE)) + goto free_contents_and_exit; - plt_count = relplt->size / sizeof (Elf64_External_Rela); - size += plt_count * sizeof (asymbol); + plt_count = relplt->size / sizeof (Elf64_External_Rela); + size += plt_count * sizeof (asymbol); - p = relplt->relocation; - for (i = 0; i < plt_count; i++, p++) - size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt"); + p = relplt->relocation; + for (i = 0; i < plt_count; i++, p++) + size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt"); + } } s = *ret = bfd_malloc (size); diff --git a/bfd/elflink.c b/bfd/elflink.c index 8e59383..d2dc17d 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -9062,6 +9062,63 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) continue; } + if (finfo->info->relocatable + && (o->flags & (SEC_LINKER_CREATED | SEC_GROUP)) == SEC_GROUP) + { + /* Deal with the group signature symbol. */ + struct bfd_elf_section_data *sec_data = elf_section_data (o); + unsigned long symndx = sec_data->this_hdr.sh_info; + asection *osec = o->output_section; + + if (symndx >= locsymcount + || (elf_bad_symtab (input_bfd) + && finfo->sections[symndx] == NULL)) + { + struct elf_link_hash_entry *h = sym_hashes[symndx - extsymoff]; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + /* Arrange for symbol to be output. */ + h->indx = -2; + elf_section_data (osec)->this_hdr.sh_info = -2; + } + else if (ELF_ST_TYPE (isymbuf[symndx].st_info) == STT_SECTION) + { + /* We'll use the output section target_index. */ + asection *sec = finfo->sections[symndx]->output_section; + elf_section_data (osec)->this_hdr.sh_info = sec->target_index; + } + else + { + if (finfo->indices[symndx] == -1) + { + /* Otherwise output the local symbol now. */ + Elf_Internal_Sym sym = isymbuf[symndx]; + asection *sec = finfo->sections[symndx]->output_section; + const char *name; + + name = bfd_elf_string_from_elf_section (input_bfd, + symtab_hdr->sh_link, + sym.st_name); + if (name == NULL) + return FALSE; + + sym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd, + sec); + if (sym.st_shndx == SHN_BAD) + return FALSE; + + sym.st_value += o->output_offset; + + finfo->indices[symndx] = bfd_get_symcount (output_bfd); + if (! elf_link_output_sym (finfo, name, &sym, o, NULL)) + return FALSE; + } + elf_section_data (osec)->this_hdr.sh_info + = finfo->indices[symndx]; + } + } + if ((o->flags & SEC_HAS_CONTENTS) == 0 || (o->size == 0 && (o->flags & SEC_RELOC) == 0)) continue; diff --git a/bfd/libbfd.h b/bfd/libbfd.h index eb84d58..1707b06 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1890,6 +1890,17 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_CRIS_32_GOTREL", "BFD_RELOC_CRIS_32_PLT_GOTREL", "BFD_RELOC_CRIS_32_PLT_PCREL", + "BFD_RELOC_CRIS_32_GOT_GD", + "BFD_RELOC_CRIS_16_GOT_GD", + "BFD_RELOC_CRIS_32_GD", + "BFD_RELOC_CRIS_DTP", + "BFD_RELOC_CRIS_32_DTPREL", + "BFD_RELOC_CRIS_16_DTPREL", + "BFD_RELOC_CRIS_32_GOT_TPREL", + "BFD_RELOC_CRIS_16_GOT_TPREL", + "BFD_RELOC_CRIS_32_TPREL", + "BFD_RELOC_CRIS_16_TPREL", + "BFD_RELOC_CRIS_DTPMOD", "BFD_RELOC_860_COPY", "BFD_RELOC_860_GLOB_DAT", "BFD_RELOC_860_JUMP_SLOT", diff --git a/bfd/linker.c b/bfd/linker.c index baf280c..5080d7d 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -2796,18 +2796,36 @@ default_indirect_link_order (bfd *output_bfd, } } - /* Get and relocate the section contents. */ - sec_size = (input_section->rawsize > input_section->size - ? input_section->rawsize - : input_section->size); - contents = bfd_malloc (sec_size); - if (contents == NULL && sec_size != 0) - goto error_return; - new_contents = (bfd_get_relocated_section_contents hooks/post-receive -- Repository for Project Archer.