From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14314 invoked by alias); 8 Mar 2013 09:11:46 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 14280 invoked by uid 9958); 8 Mar 2013 09:11:43 -0000 Date: Fri, 08 Mar 2013 09:11:00 -0000 Message-ID: <20130308091143.14263.qmail@sourceware.org> From: mmetzger@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] mmetzger/btrace: update btrace and merge master X-Git-Refname: refs/heads/mmetzger/btrace X-Git-Reftype: branch X-Git-Oldrev: 5dd7aa460b03c158b938fa76ff6c83927d597bd8 X-Git-Newrev: b9726ca4867ba8cea4f945aebae4c3ad2e2e2889 X-SW-Source: 2013-q1/txt/msg00244.txt.bz2 List-Id: The branch, mmetzger/btrace has been updated via b9726ca4867ba8cea4f945aebae4c3ad2e2e2889 (commit) from 5dd7aa460b03c158b938fa76ff6c83927d597bd8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit b9726ca4867ba8cea4f945aebae4c3ad2e2e2889 Author: Markus Metzger Date: Fri Mar 8 10:10:59 2013 +0100 update btrace and merge master ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 + bfd/ChangeLog | 181 +- bfd/archive.c | 11 +- bfd/archive64.c | 13 +- bfd/bfd-in2.h | 1 + bfd/bfd.c | 2 +- bfd/config.bfd | 4 +- bfd/configure | 20 +- bfd/configure.in | 2 +- bfd/elf-bfd.h | 191 +- bfd/elf-eh-frame.c | 2 +- bfd/elf-nacl.c | 4 +- bfd/elf-strtab.c | 28 +- bfd/elf-vxworks.c | 2 +- bfd/elf.c | 283 +- bfd/elf32-am33lin.c | 10 +- bfd/elf32-arm.c | 42 +- bfd/elf32-cris.c | 18 +- bfd/elf32-frv.c | 10 +- bfd/elf32-hppa.c | 10 +- bfd/elf32-i386.c | 20 +- bfd/elf32-lm32.c | 3 +- bfd/elf32-m68k.c | 12 +- bfd/elf32-mips.c | 10 +- bfd/elf32-nios2.c | 10 +- bfd/elf32-ppc.c | 72 +- bfd/elf32-rl78.c | 2 + bfd/elf32-rx.c | 2 +- bfd/elf32-s390.c | 4 +- bfd/elf32-score.c | 17 +- bfd/elf32-score7.c | 15 +- bfd/elf32-sh.c | 10 +- bfd/elf32-sparc.c | 8 +- bfd/elf32-spu.c | 16 +- bfd/elf32-tilegx.c | 10 +- bfd/elf32-tilepro.c | 10 +- bfd/elf32-xtensa.c | 10 +- bfd/elf64-aarch64.c | 4 +- bfd/elf64-alpha.c | 34 +- bfd/elf64-hppa.c | 20 +- bfd/elf64-ia64-vms.c | 3 +- bfd/elf64-mips.c | 74 +- bfd/elf64-ppc.c | 10 +- bfd/elf64-tilegx.c | 10 +- bfd/elf64-x86-64.c | 22 +- bfd/elfcode.h | 4 +- bfd/elfcore.h | 8 +- bfd/elflink.c | 52 +- bfd/elfn32-mips.c | 74 +- bfd/elfnn-ia64.c | 10 +- bfd/elfxx-mips.c | 95 +- bfd/libbfd.h | 1 + bfd/reloc.c | 2 + bfd/version.h | 2 +- configure | 3 + configure.ac | 3 + gdb/ChangeLog | 573 +++- gdb/MAINTAINERS | 2 + gdb/NEWS | 34 + gdb/ada-exp.y | 6 +- gdb/ada-lang.c | 113 +- gdb/ada-lang.h | 3 +- gdb/amd64-linux-nat.c | 11 +- gdb/arm-tdep.c | 4 +- gdb/avr-tdep.c | 4 +- gdb/ax-gdb.c | 2 +- gdb/ax-gdb.h | 2 +- gdb/ax-general.c | 2 +- gdb/ax.h | 2 +- gdb/bfin-tdep.c | 2 +- gdb/breakpoint.c | 9 +- gdb/btrace.c | 893 ++--- gdb/btrace.h | 94 +- gdb/c-lang.c | 2 +- gdb/charset.c | 6 +- gdb/cli/cli-cmds.c | 14 +- gdb/cli/cli-decode.c | 2 +- gdb/coff-pe-read.c | 3 + gdb/command.h | 7 +- gdb/common/btrace-common.h | 37 +- gdb/common/common-utils.c | 11 + gdb/common/common-utils.h | 6 + gdb/common/linux-btrace.c | 66 +- gdb/common/linux-btrace.h | 11 +- gdb/common/linux-ptrace.c | 5 +- gdb/config/i386/cygwin64.mh | 20 + gdb/configure.host | 1 + gdb/configure.tgt | 11 +- gdb/contrib/ari/gdb_ari.sh | 15 - gdb/contrib/cc-with-tweaks.sh | 2 +- gdb/contrib/excheck.py | 296 ++ gdb/contrib/exsummary.py | 185 + gdb/contrib/gcc-with-excheck | 28 + gdb/corefile.c | 2 +- gdb/cris-tdep.c | 4 +- gdb/dbug-rom.c | 1 - gdb/doc/ChangeLog | 21 + gdb/doc/gdb.texinfo | 395 +- gdb/dwarf2loc.c | 3 +- gdb/dwarf2read.c | 13 +- gdb/elfread.c | 54 +- gdb/expprint.c | 8 +- gdb/features/btrace.dtd | 2 +- gdb/findcmd.c | 13 +- gdb/frame.c | 2 +- gdb/frv-linux-tdep.c | 6 +- gdb/frv-tdep.c | 4 +- gdb/gdb-gdb.gdb.in | 27 +- gdb/gdbserver/ChangeLog | 86 + gdb/gdbserver/Makefile.in | 3 + gdb/gdbserver/config.in | 6 + gdb/gdbserver/configure | 200 + gdb/gdbserver/configure.ac | 1 + gdb/gdbserver/configure.srv | 5 + gdb/gdbserver/linux-bfin-low.c | 2 +- gdb/gdbserver/linux-low.c | 16 +- gdb/gdbserver/linux-tile-low.c | 31 +- gdb/gdbserver/server.c | 64 +- gdb/gdbserver/target.h | 14 +- gdb/gdbserver/tracepoint.c | 38 +- gdb/gdbserver/win32-low.c | 30 +- gdb/go32-nat.c | 19 +- gdb/hppa-hpux-tdep.c | 8 +- gdb/hppa-linux-tdep.c | 6 +- gdb/hppa-tdep.c | 6 +- gdb/i386-linux-nat.c | 11 +- gdb/i386-nto-tdep.c | 2 +- gdb/i386fbsd-tdep.c | 4 +- gdb/ia64-hpux-tdep.c | 2 +- gdb/ia64-linux-tdep.c | 2 +- gdb/ia64-tdep.c | 32 +- gdb/infcmd.c | 10 +- gdb/iq2000-tdep.c | 2 +- gdb/language.h | 6 +- gdb/linespec.c | 267 +- gdb/linux-record.c | 7 +- gdb/linux-tdep.c | 15 +- gdb/linux-thread-db.c | 4 +- gdb/m32r-rom.c | 6 +- gdb/m68hc11-tdep.c | 4 +- gdb/m68klinux-nat.c | 4 +- gdb/maint.c | 4 +- gdb/mep-tdep.c | 8 +- gdb/mi/mi-parse.c | 16 +- gdb/minsyms.c | 4 +- gdb/mips-linux-nat.c | 2 +- gdb/mips-linux-tdep.c | 4 +- gdb/mips-tdep.c | 1 + gdb/mn10300-tdep.c | 2 +- gdb/monitor.c | 63 +- gdb/monitor.h | 2 - gdb/objc-lang.c | 34 +- gdb/objfiles.c | 2 + gdb/objfiles.h | 2 +- gdb/ppc-linux-nat.c | 4 +- gdb/ppc-linux-tdep.c | 3 + gdb/ppc64-tdep.c | 15 + gdb/ppc64-tdep.h | 2 + gdb/ppcbug-rom.c | 1 - gdb/ppcfbsd-tdep.c | 3 + gdb/python/py-arch.c | 145 + gdb/python/py-block.c | 6 +- gdb/python/py-breakpoint.c | 2 +- gdb/python/py-finishbreakpoint.c | 72 +- gdb/python/py-utils.c | 13 - gdb/python/python-internal.h | 1 - gdb/python/python.c | 58 +- gdb/record-btrace.c | 737 +-- gdb/record.c | 205 +- gdb/record.h | 11 +- gdb/regcache.c | 8 +- gdb/regformats/reg-tilegx.dat | 2 +- .../{reg-tilegx.dat => reg-tilegx32.dat} | 4 +- gdb/remote-m32r-sdi.c | 5 +- gdb/remote-mips.c | 2 +- gdb/remote-notif.c | 2 +- gdb/remote-notif.h | 2 +- gdb/remote-sim.c | 4 +- gdb/remote.c | 126 +- gdb/remote.h | 4 + gdb/score-tdep.c | 16 +- gdb/ser-tcp.c | 2 +- gdb/serial.c | 4 +- gdb/sh64-tdep.c | 4 +- gdb/solib-darwin.c | 4 +- gdb/solib-pa64.c | 2 - gdb/solib-som.c | 6 +- gdb/solib-spu.c | 2 +- gdb/spu-linux-nat.c | 2 +- gdb/spu-multiarch.c | 14 +- gdb/stack.c | 4 +- gdb/stap-probe.c | 2 +- gdb/symfile.c | 10 +- gdb/symtab.c | 36 +- gdb/target.c | 69 +- gdb/target.h | 50 +- gdb/testsuite/ChangeLog | 68 + gdb/testsuite/Makefile.in | 5 +- gdb/testsuite/gdb.base/valgrind-infcall.exp | 4 + gdb/testsuite/gdb.btrace/Makefile.in | 10 +- .../gdb.btrace/enable.c} | 26 +- gdb/testsuite/gdb.btrace/enable.exp | 103 +- .../gdb.btrace/function_call_history.c} | 39 +- gdb/testsuite/gdb.btrace/function_call_history.exp | 219 + .../gdb.btrace/instruction_history.S} | 34 +- .../gdb.btrace/instruction_history.c} | 28 +- gdb/testsuite/gdb.btrace/instruction_history.exp | 195 + gdb/testsuite/gdb.dwarf2/subrange.exp | 82 + gdb/testsuite/gdb.linespec/base/one/thefile.cc | 7 +- gdb/testsuite/gdb.linespec/base/two/thefile.cc | 7 +- gdb/testsuite/gdb.linespec/break-ask.exp | 100 + gdb/testsuite/gdb.linespec/lspec.cc | 2 +- gdb/testsuite/gdb.python/Makefile.in | 2 +- .../gdb.python/py-arch.c} | 31 +- gdb/testsuite/gdb.python/py-arch.exp | 54 + gdb/testsuite/gdb.threads/fork-thread-pending.c | 2 + gdb/testsuite/gdb.threads/pthread_cond_wait.c | 3 +- gdb/testsuite/gdb.trace/report.exp | 313 +- gdb/testsuite/gdb.trace/tfile.exp | 4 + gdb/testsuite/gdb.trace/tstatus.exp | 89 +- gdb/testsuite/lib/gdb.exp | 68 + gdb/thread.c | 5 +- gdb/tic6x-tdep.c | 2 +- gdb/tilegx-linux-nat.c | 2 +- gdb/tilegx-linux-tdep.c | 6 +- gdb/tilegx-tdep.c | 128 +- gdb/tilegx-tdep.h | 4 +- gdb/tracepoint.c | 138 +- gdb/tracepoint.h | 6 +- gdb/utils.c | 40 +- gdb/v850-tdep.c | 57 +- gdb/valprint.c | 4 +- gdb/varobj.c | 4 +- gdb/version.in | 2 +- gdb/windows-nat.c | 74 +- gdb/xstormy16-tdep.c | 8 +- include/ChangeLog | 17 +- include/bfdlink.h | 3 - include/dwarf2.h | 14 + include/opcode/ChangeLog | 4 + include/opcode/aarch64.h | 1 + libiberty/ChangeLog | 11 + libiberty/cp-demangle.c | 21 +- libiberty/libiberty.texi | 6 +- libiberty/obstacks.texi | 2 +- libiberty/testsuite/demangle-expected | 3 + opcodes/ChangeLog | 54 + opcodes/aarch64-asm-2.c | 134 +- opcodes/aarch64-dis-2.c | 668 ++-- opcodes/aarch64-opc-2.c | 66 +- opcodes/aarch64-opc.c | 33 +- opcodes/aarch64-tbl.h | 24 + opcodes/i386-dis.c | 2 + opcodes/i386-gen.c | 3 + opcodes/i386-init.h | 170 +- opcodes/i386-opc.h | 3 + opcodes/i386-opc.tbl | 4 + opcodes/i386-reg.tbl | 2 +- opcodes/i386-tbl.h | 5390 ++++++++++---------- opcodes/metag-dis.c | 1 + opcodes/rl78-decode.c | 407 +- opcodes/rl78-decode.opc | 7 +- 262 files changed, 9630 insertions(+), 6656 deletions(-) create mode 100644 gdb/config/i386/cygwin64.mh create mode 100644 gdb/contrib/excheck.py create mode 100644 gdb/contrib/exsummary.py create mode 100755 gdb/contrib/gcc-with-excheck copy gdb/regformats/{reg-tilegx.dat => reg-tilegx32.dat} (95%) copy gdb/{ppc64-tdep.h => testsuite/gdb.btrace/enable.c} (57%) copy gdb/{ppc64-tdep.h => testsuite/gdb.btrace/function_call_history.c} (57%) create mode 100644 gdb/testsuite/gdb.btrace/function_call_history.exp copy gdb/{ppc64-tdep.h => testsuite/gdb.btrace/instruction_history.S} (57%) copy gdb/{ppc64-tdep.h => testsuite/gdb.btrace/instruction_history.c} (57%) create mode 100644 gdb/testsuite/gdb.btrace/instruction_history.exp create mode 100644 gdb/testsuite/gdb.dwarf2/subrange.exp create mode 100644 gdb/testsuite/gdb.linespec/break-ask.exp copy gdb/{ppc64-tdep.h => testsuite/gdb.python/py-arch.c} (50%) create mode 100644 gdb/testsuite/gdb.python/py-arch.exp First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index e22e8a0..a276e71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-02-15 Yufeng Zhang + + * configure.ac: Sync with GCC repo. + * configure: Ditto. + 2013-02-05 Ian Lance Taylor PR go/55969 diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 21c9396..167faff 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,180 @@ +2013-03-05 Corinna Vinschen + + * config.bfd: Add x86_64-*-cygwin to list of supported targets. + +2013-03-04 Alan Modra + + * elf32-ppc.c (ppc_elf_relocate_section ): Adjust + non-zero addends when relocatable, rather than addends >= 32768. + Always zero "addend" before applying relocation. + +2013-03-04 Nick Clifton + + * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of + file pointer offsets for thin archives. + +2013-02-28 Nathan Sidwell + + * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call + elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link. + +2013-02-27 DJ Delorie + + * reloc.c (BFD_RELOC_RL78_CODE): Add. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code + references in compuated relocs. + +2013-02-26 Anthony Green + + * config.bfd: Extend moxie-rtems target triplet name support. + +2013-02-21 H.J. Lu + + PR ld/15167 + * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set + unique_global only for definition. + * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global + here. + (elf_link_add_object_symbols): Set unique_global only + for definition. + +2013-02-21 Alan Modra + + * elf-bfd.h (struct elf_build_id): Extracted from.. + (struct elf_build_id_info): ..here. Delete. + (struct output_elf_obj_tdata): New, extracted from.. + (struct elf_obj_tdata): ..here. Reorganize for better packing. + Add "o" field. + (elf_program_header_size): Reference tdata->o. + (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker, + elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec, + elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise. + * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata + when opening bfd in any mode that might write. + (_bfd_elf_write_object_contents): Use build_id field in + output_elf_obj_tdata. + (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test. + (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes. + +2013-02-21 Alan Modra + + * elf-bfd.h (struct core_elf_obj_tdata): New. + (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid, + core_program, and core_command. Add "core". + * elf.c (bfd_elf_mkcorefile): Allocate "core" struct. + Update all refs to tdata core fields. + * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c, + * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c, + * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c, + * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c, + * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c, + * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c, + * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs + to tdata core fields. + +2013-02-21 Alan Modra + + * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map. + Delete num_locals and num_globals. + (elf_num_locals, elf_num_globals): Don't define. + (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker, + elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define. + * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c, + * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c, + * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c, + * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata + accessor macros. + * elf.c (elf_map_symbols): Add pnum_locals param. Return + number of locals syms via new param. + (swap_out_syms): Adjust to suit elf_map_symbols change. + +2013-02-19 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear + STO_MICROMIPS annotation. + +2013-02-19 Alan Modra + + * configure.in: Bump version to 2.23.52. + * elf-bfd.h (struct elf_build_id_info): New. + (struct elf_obj_tdata): Delete after_write_object_contents, + after_write_object_contents_info and build_id_size. Make build_id + a pointer to struct elf_build_id_info. + * elf.c (_bfd_elf_write_object_contents): Style. Update + after_write_ibject_contents invocation. + (elfobj_grok_gnu_build_id): Update for new build_id struct. Don't + allow zero size notes. + * configure: Regenerate. + +2013-02-18 Maciej W. Rozycki + + * elf64-mips.c (micromips_elf64_howto_table_rel): Add + R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR. + (micromips_elf64_howto_table_rela): Likewise. + (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR. + * elfn32-mips.c (elf_micromips_howto_table_rel): Add + R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR. + (elf_micromips_howto_table_rela): Likewise. + (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR. + +2013-02-18 Paul Brook + + * elfxx-mips.c (MICROMIPS_P): New macro. + (_bfd_mips_elf_symbol_processing): Use it. + +2013-02-18 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify + comment on _PROCEDURE_LINKAGE_TABLE_ creation. + +2013-02-18 Alan Modra + + PR ld/12549 + * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete. + (_bfd_elf_strtab_clear_all_refs): Declare. + (_bfd_elf_strtab_resize): Declare. + * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete. + (_bfd_elf_strtab_clear_all_refs): New function. + (_bfd_elf_strtab_resize): Likewise. + * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize. + +2013-02-18 Alan Modra + + * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs, + local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section, + and elf_text_section to.. + * elfxx-mips.c (struct mips_elf_obj_tdata): ..here. Update all refs. + * elf64-alpha.c (struct mips_elf_find_line): Rename to.. + (struct alpha_elf_find_line): ..this. + (struct alpha_elf_obj_tdata): Add find_line_info, update refs. + +2013-02-16 H.J. Lu + + PR ld/15146 + * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED + for references from the dummy bfd. + +2013-02-16 H.J. Lu + + PR ld/15149 + * elflink.c (elf_link_add_object_symbols): Also track weak + references. + +2013-02-15 H.J. Lu + + PR binutils/15151 + * archive.c (_bfd_find_nested_archive): Don't allow a nested + archive pointing to itself. + (_bfd_get_elt_at_filepos): Revert the last 2 changes. + +2013-02-15 Nick Clifton + + PR binutils/15140 + * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop + accessing a corrupt nested archive. + 2013-02-13 Richard Sandiford * elfxx-mips.c (mips_got_page_ref): New structure. @@ -850,8 +1027,8 @@ 2013-01-07 Tom Tromey * section.c (_bfd_std_section): Rename from std_section. - (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr) - (STD_SECTION): Update. + (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr) + (STD_SECTION): Update. * bfd-in2.h: Rebuild. 2013-01-04 Juergen Urban diff --git a/bfd/archive.c b/bfd/archive.c index e4183ea..8cc6bf2 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -1,7 +1,5 @@ /* BFD back-end for archive files (libraries). - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, - 2012 Free Software Foundation, Inc. + Copyright 1990-2013 Free Software Foundation, Inc. Written by Cygnus Support. Mostly Gumby Henkel-Wallace's fault. This file is part of BFD, the Binary File Descriptor library. @@ -381,6 +379,13 @@ _bfd_find_nested_archive (bfd *arch_bfd, const char *filename) bfd *abfd; const char *target; + /* PR 15140: Don't allow a nested archive pointing to itself. */ + if (filename_cmp (filename, arch_bfd->filename) == 0) + { + bfd_set_error (bfd_error_malformed_archive); + return NULL; + } + for (abfd = arch_bfd->nested_archives; abfd != NULL; abfd = abfd->archive_next) diff --git a/bfd/archive64.c b/bfd/archive64.c index db4ce2c..be64e0d 100644 --- a/bfd/archive64.c +++ b/bfd/archive64.c @@ -1,6 +1,5 @@ -/* MIPS-specific support for 64-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, - 2010, 2012 Free Software Foundation, Inc. +/* Support for 64-bit ELF archives. + Copyright 1996-2013 Free Software Foundation, Inc. Ian Lance Taylor, Cygnus Support Linker support added by Mark Mitchell, CodeSourcery, LLC. @@ -200,7 +199,7 @@ bfd_elf64_archive_write_armap (bfd *arch, current = current->archive_next) { /* For each symbol which is used defined in this object, write out - the object file's address in the archive */ + the object file's address in the archive. */ for (; count < symbol_count && map[count].u.abfd == current; @@ -210,9 +209,11 @@ bfd_elf64_archive_write_armap (bfd *arch, if (bfd_bwrite (buf, 8, arch) != 8) return FALSE; } + /* Add size of this archive entry */ - archive_member_file_ptr += (arelt_size (current) - + sizeof (struct ar_hdr)); + archive_member_file_ptr += sizeof (struct ar_hdr); + if (! bfd_is_thin_archive (arch)) + archive_member_file_ptr += arelt_size (current); /* remember about the even alignment */ archive_member_file_ptr += archive_member_file_ptr % 2; } diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 6dfd17f..524e97e 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -4239,6 +4239,7 @@ in .byte hlo8(symbol) */ BFD_RELOC_RL78_HI16, BFD_RELOC_RL78_HI8, BFD_RELOC_RL78_LO16, + BFD_RELOC_RL78_CODE, /* Renesas RX Relocations. */ BFD_RELOC_RX_NEG8, diff --git a/bfd/bfd.c b/bfd/bfd.c index cf50b70..d77b90f 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -1580,7 +1580,7 @@ bfd_record_phdr (bfd *abfd, if (count > 0) memcpy (m->sections, secs, count * sizeof (asection *)); - for (pm = &elf_tdata (abfd)->segment_map; *pm != NULL; pm = &(*pm)->next) + for (pm = &elf_seg_map (abfd); *pm != NULL; pm = &(*pm)->next) ; *pm = m; diff --git a/bfd/config.bfd b/bfd/config.bfd index 0f75b0b..10820e2 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -436,7 +436,7 @@ case "${targ}" in targ_selvecs=bfd_elf32_frv_vec ;; - moxie-*-elf | moxie-*-rtems | moxie-*-uclinux) + moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux) targ_defvec=bfd_elf32_bigmoxie_vec targ_selvecs=bfd_elf32_littlemoxie_vec ;; @@ -673,7 +673,7 @@ case "${targ}" in targ_archs="$targ_archs bfd_arm_arch" want64=true ;; - x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep) + x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin) targ_defvec=x86_64pe_vec targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec" want64=true diff --git a/bfd/configure b/bfd/configure index 426c18c..24f6fd3 100755 --- a/bfd/configure +++ b/bfd/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for bfd 2.23.51. +# Generated by GNU Autoconf 2.64 for bfd 2.23.52. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='bfd' PACKAGE_TARNAME='bfd' -PACKAGE_VERSION='2.23.51' -PACKAGE_STRING='bfd 2.23.51' +PACKAGE_VERSION='2.23.52' +PACKAGE_STRING='bfd 2.23.52' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1349,7 +1349,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bfd 2.23.51 to adapt to many kinds of systems. +\`configure' configures bfd 2.23.52 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1420,7 +1420,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bfd 2.23.51:";; + short | recursive ) echo "Configuration of bfd 2.23.52:";; esac cat <<\_ACEOF @@ -1541,7 +1541,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bfd configure 2.23.51 +bfd configure 2.23.52 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2183,7 +2183,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bfd $as_me 2.23.51, which was +It was created by bfd $as_me 2.23.52, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3991,7 +3991,7 @@ fi # Define the identity of the package. PACKAGE='bfd' - VERSION='2.23.51' + VERSION='2.23.52' cat >>confdefs.h <<_ACEOF @@ -16470,7 +16470,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by bfd $as_me 2.23.51, which was +This file was extended by bfd $as_me 2.23.52, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16534,7 +16534,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -bfd config.status 2.23.51 +bfd config.status 2.23.52 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/bfd/configure.in b/bfd/configure.in index 960dc4e..d9bef83 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -18,7 +18,7 @@ dnl . dnl AC_PREREQ(2.59) -AC_INIT([bfd], [2.23.51]) +AC_INIT([bfd], [2.23.52]) AC_CONFIG_SRCDIR([libbfd.c]) AC_CANONICAL_TARGET diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index a93e0d4..72be700 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1512,6 +1512,64 @@ struct sdt_note bfd_byte data[1]; }; +/* NT_GNU_BUILD_ID note type info for input BFDs. */ +struct elf_build_id +{ + size_t size; + bfd_byte data[1]; +}; + +/* tdata information grabbed from an elf core file. */ +struct core_elf_obj_tdata +{ + int signal; + int pid; + int lwpid; + char* program; + char* command; +}; + +/* Extra tdata information held for output ELF BFDs. */ +struct output_elf_obj_tdata +{ + struct elf_segment_map *seg_map; + struct elf_strtab_hash *strtab_ptr; + + /* STT_SECTION symbols for each section */ + asymbol **section_syms; + + /* Used to determine if PT_GNU_EH_FRAME segment header should be + created. */ + asection *eh_frame_hdr; + + /* NT_GNU_BUILD_ID note type info. */ + struct + { + bfd_boolean (*after_write_object_contents) (bfd *); + const char *style; + asection *sec; + } build_id; + + /* Records the result of `get_program_header_size'. */ + bfd_size_type program_header_size; + + /* Used when laying out sections. */ + file_ptr next_file_pos; + + int num_section_syms; + unsigned int shstrtab_section, strtab_section; + + /* Segment flags for the PT_GNU_STACK segment. */ + unsigned int stack_flags; + + /* This is set to TRUE if the object was created by the backend + linker. */ + bfd_boolean linker; + + /* Used to determine if the e_flags field has been initialized */ + bfd_boolean flags_init; +}; + /* Some private data is stashed away for future use using the tdata pointer in the bfd structure. */ @@ -1520,13 +1578,6 @@ struct elf_obj_tdata Elf_Internal_Ehdr elf_header[1]; /* Actual data, but ref like ptr */ Elf_Internal_Shdr **elf_sect_ptr; Elf_Internal_Phdr *phdr; - struct elf_segment_map *segment_map; - struct elf_strtab_hash *strtab_ptr; - int num_locals; - int num_globals; - unsigned int num_elf_sections; /* elf_sect_ptr size */ - int num_section_syms; - asymbol **section_syms; /* STT_SECTION symbols for each section */ Elf_Internal_Shdr symtab_hdr; Elf_Internal_Shdr shstrtab_hdr; hooks/post-receive -- Repository for Project Archer.