binutils-gdb.git
11 years ago * gdb.texinfo: Remove bad @syncodeindex.
Tom Tromey [Thu, 21 Feb 2013 19:08:10 +0000 (19:08 +0000)]
* gdb.texinfo: Remove bad @syncodeindex.
(Values From Inferior, Types In Python, Inferiors In Python)
(Events In Python, Threads In Python, Frames In Python, Blocks In
Python, Symbols In Python, Symbol Tables In Python): Remove
@tables.
(Packets, General Query Packets, Tracepoint Packets)
(Host I/O Packets): Use @w{} for empty @item.

11 years ago * scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
Alan Modra [Thu, 21 Feb 2013 05:10:28 +0000 (05:10 +0000)]
* scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
.init_array/.fini_array input sections before .ctors/.dtors input
sections.
(CTORS_IN_INIT_ARRAY, DTORS_IN_INIT_ARRAY): Adjust to suit.

11 years agobfd/
Alan Modra [Thu, 21 Feb 2013 04:35:22 +0000 (04:35 +0000)]
bfd/
* 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.
gdb/
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
ld/
* emultempl/elf32.em (write_build_id, setup_build_id): Adjust
for elf_tdata changes.

11 years ago * elf-bfd.h (struct core_elf_obj_tdata): New.
Alan Modra [Thu, 21 Feb 2013 03:02:30 +0000 (03:02 +0000)]
* 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.

11 years agobfd/
Alan Modra [Thu, 21 Feb 2013 02:29:11 +0000 (02:29 +0000)]
bfd/
* 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.
ld/
* emultempl/elf-generic.em: Use newly defined elf_obj_tdata
accessor macros.

11 years ago Add a new method 'disassemble' to gdb.Architecture class.
Siva Chandra Reddy [Thu, 21 Feb 2013 01:46:57 +0000 (01:46 +0000)]
Add a new method 'disassemble' to gdb.Architecture class.

* python/py-arch.c (archpy_disassmble): Implementation of the
new method gdb.Architecture.disassemble.
(arch_object_methods): Add entry for the new method.

* doc/gdb.texinfo (Architectures In Python): Add description
about the new method gdb.Architecture.disassemble.

* testsuite/gdb.python/py-arch.c: New test case
* testsuite/gdb.python/py-arch.exp: New tests to test
gdb.Architecture.disassemble
* testsuite/gdb.python/Makefile.in: Add py-arch to the list of
EXECUTABLES.

11 years ago*** empty log message ***
gdbadmin [Thu, 21 Feb 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Wed, 20 Feb 2013 23:00:06 +0000 (23:00 +0000)]
daily update

11 years ago * Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
Alan Modra [Wed, 20 Feb 2013 10:24:11 +0000 (10:24 +0000)]
* Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
* Makefile.in: Regenerate.

11 years ago gdb/
Jiong Wang [Wed, 20 Feb 2013 07:45:14 +0000 (07:45 +0000)]
  gdb/

    * MAINTAINERS (Write After Approval): Add myself to the list.

11 years ago*** empty log message ***
gdbadmin [Wed, 20 Feb 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Tue, 19 Feb 2013 23:00:05 +0000 (23:00 +0000)]
daily update

11 years ago * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
Maciej W. Rozycki [Tue, 19 Feb 2013 21:58:46 +0000 (21:58 +0000)]
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
STO_MICROMIPS annotation.

11 years agogdbserver:server.c - use unpack_varlen_hex to extract hex numbers.
Pedro Alves [Tue, 19 Feb 2013 20:52:57 +0000 (20:52 +0000)]
gdbserver:server.c - use unpack_varlen_hex to extract hex numbers.

Addresses, as most numbers in the RSP are hex encoded, with variable
length (that just means the width isn't specified, and there's no top
cap.  So they should be extracted with unpack_varlen_hex.

A couple spots in server.c are using strto(u)l, which doesn't work on
LLP64 targets.

This patch fixes it.

Tested on x86_64 Fedora 17.

2013-02-19  Pedro Alves  <palves@redhat.com>
    Kai Tietz <ktietz@redhat.com>

PR gdb/15161

* server.c (handle_query) <CRC check>: Use unpack_varlen_hex
instead of strtoul to extract address from packet.
(process_serial_event) <'z'>: Likewise.

11 years agoGarbage collect struct monitor_ops::load_routine.
Pedro Alves [Tue, 19 Feb 2013 19:41:28 +0000 (19:41 +0000)]
Garbage collect struct monitor_ops::load_routine.

While touching monitor_load in a previous patch, I noticed this method
is no longer set to anything other than NULL in the tree, so we can
remove it.

Tested by building with --enable-targets=all.

2013-02-19  Pedro Alves  <palves@redhat.com>

Garbage collect 'struct monitor_ops'::load_routine.

* monitor.h (struct monitor_ops) <load_routine>: Remove field.
* monitor.c (monitor_load): No longer call
current_monitor->load_routine.
* dbug-rom.c (init_dbug_cmds): Don't set 'load_routine'.
* m32r-rom.c (init_m32r_cmds): Don't set 'load_routine'.
* ppcbug-rom.c (init_ppc_cmds): Don't set 'load_routine'.

11 years agoHarmonize this monitor_load with generic_load.
Pedro Alves [Tue, 19 Feb 2013 19:27:21 +0000 (19:27 +0000)]
Harmonize this monitor_load with generic_load.

Harmonize this old-looking code with generic_load, which fixes several
issues.

2013-02-19  Pedro Alves  <palves@redhat.com>

PR gdb/15161

Harmonize with generic_load.

* monitor.c: Include "readline/readline.h".
(monitor_load): Rename parameter 'file' to 'args'.  Use build_argv
instead of sscanf.  Use CORE_ADDR/strtoulst instead of unsigned
long/strtol for the 'load_offset' local.  Error out if no argument
is given or if too many arguments are given.  Tilde expand the
passed in file name.

11 years agoImplement Intel SMAP instructions
H.J. Lu [Tue, 19 Feb 2013 19:10:31 +0000 (19:10 +0000)]
Implement Intel SMAP instructions

gas/

PR gas/15159
* config/tc-i386.c (cpu_arch): Add ".smap".

* doc/c-i386.texi: Document smap.

gas/testsuite/

PR gas/15159
* gas/i386/i386.exp: Run smap and x86-64-smap.

* gas/i386/smap.d: New file.
* gas/i386/smap.s: likewise.
* gas/i386/x86-64-smap.d: likewise.

opcodes/

PR gas/15159
* i386-dis.c (rm_table): Add clac and stac to RM_0F01_REG_1.

* i386-gen.c (cpu_flag_init): Add CPU_SMAP_FLAGS.
(cpu_flags): Add CpuSMAP.

* i386-opc.h (CpuSMAP): New.
(i386_cpu_flags): Add cpusmap.

* i386-opc.tbl: Add clac and stac.

* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.

11 years ago PR gdb/15161
Kai Tietz [Tue, 19 Feb 2013 18:31:49 +0000 (18:31 +0000)]
   PR gdb/15161
       * symfile.c (load_section_data): Change type of load_offset
       to CORE_ADDR.
       (generic_load): User strtoulst instead of strtoul for conversion
       of load_offset.

11 years ago * tilegx-tdep.c (tilegx_analyze_prologue): add check for
Walter Lee [Tue, 19 Feb 2013 16:22:42 +0000 (16:22 +0000)]
    * tilegx-tdep.c (tilegx_analyze_prologue): add check for
        for return address, "lr" register, saved on stack.
        * tilegx-tdep.c (tilegx_frame_cache): update "PC" reg
        after we invoke tilegx_analyze_prologue.

11 years ago * tilegx-tdep.c (itilegx_gdbarch_init): char type should be signed.
Walter Lee [Tue, 19 Feb 2013 16:21:29 +0000 (16:21 +0000)]
   * tilegx-tdep.c (itilegx_gdbarch_init): char type should be signed.

11 years ago * tilegx-tdep.c (tilegx_skip_prologue): Use skip_prologue_using_sal.
Walter Lee [Tue, 19 Feb 2013 16:20:47 +0000 (16:20 +0000)]
* tilegx-tdep.c (tilegx_skip_prologue): Use skip_prologue_using_sal.

11 years ago * tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro.
Walter Lee [Tue, 19 Feb 2013 16:19:33 +0000 (16:19 +0000)]
    * tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro.
        (tilegx_write_pc): New function.
        (tilegx_cannot_reference_register): Return zero if REGNO
        is TILEGX_FAULTNUM_REGNUM.
        (tilegx_gdbarch_init): Add call to set_gdbarch_write_pc.
        (tilegx_register_name): Add handling of "faultnum" register.
        * tilegx-tdep.h (enum tilegx_regnum): Add TILEGX_FAULTNUM_REGNUM.
        * tilegx-linux-tdep.c (tilegx_linux_supply_regset): Add
        handling of TILEGX_FAULTNUM_REGNUM.
        * tilegx-linux-nat.c (regmap): Add entry for TILEGX_FAULTNUM_REGNUM.

11 years ago * tilegx-tdep.c (tilegx_push_dummy_call): args pushed on stack
Walter Lee [Tue, 19 Feb 2013 16:09:13 +0000 (16:09 +0000)]
* tilegx-tdep.c (tilegx_push_dummy_call): args pushed on stack
should be aligned to 64bit.

11 years ago * windows-nat.c (windows_xfer_memory): Fix debug-output
Kai Tietz [Tue, 19 Feb 2013 15:46:32 +0000 (15:46 +0000)]
* windows-nat.c (windows_xfer_memory): Fix debug-output
for LLP64.

11 years ago2013-02-19 Lei Liu <lei.liu2@windriver.com>
Lei Liu [Tue, 19 Feb 2013 07:50:30 +0000 (07:50 +0000)]
2013-02-19  Lei Liu  <lei.liu2@windriver.com>

* mips-linux-nat.c (mips64_linux_regsets_store_registers):
Don't check DSP register number if HAVE_DSP is not set.

11 years ago2013-02-19 Lei Liu <lei.liu2@windriver.com>
Lei Liu [Tue, 19 Feb 2013 07:01:07 +0000 (07:01 +0000)]
2013-02-19  Lei Liu  <lei.liu2@windriver.com>

* MAINTAINERS (Write After Approval): Add myself to the list.

11 years ago2013-02-19 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Tue, 19 Feb 2013 03:59:08 +0000 (03:59 +0000)]
2013-02-19  Sandra Loosemore  <sandra@codesourcery.com>

PR ld/15146

ld/
* plugin.c (plugin_notice): Add null check before dereferencing
pointer.

11 years ago * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass
Maciej W. Rozycki [Tue, 19 Feb 2013 01:10:06 +0000 (01:10 +0000)]
* lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass
its contents to ar_simple_create and ld_simple_link after
objfiles.
* ld-aarch64/aarch64-elf.exp: Adjust accordingly.
* ld-alpha/alpha.exp: Likewise.
* ld-arm/arm-elf.exp: Likewise.
* ld-arm/export-class.exp: Likewise.
* ld-elf/comm-data.exp: Likewise.
* ld-elf/eh-group.exp: Likewise.
* ld-elf/elf.exp: Likewise.
* ld-elf/export-class.exp: Likewise.
* ld-elfvers/vers.exp: Likewise.
* ld-frv/tls.exp: Likewise.
* ld-i386/export-class.exp: Likewise.
* ld-i386/i386.exp: Likewise.
* ld-ia64/ia64.exp: Likewise.
* ld-libs/libs.exp: Likewise.
* ld-m68k/m68k.exp: Likewise.
* ld-metag/metag.exp: Likewise.
* ld-mips-elf/comm-data.exp: Likewise.
* ld-mips-elf/export-class.exp: Likewise.
* ld-mips-elf/mips-elf.exp: Likewise.
* ld-mn10300/mn10300.exp: Likewise.
* ld-pe/pe-compile.exp: Likewise.
* ld-pe/pe.exp: Likewise.
* ld-plugin/plugin.exp: Likewise.
* ld-powerpc/aix52.exp: Likewise.
* ld-powerpc/export-class.exp: Likewise.
* ld-powerpc/powerpc.exp: Likewise.
* ld-s390/s390.exp: Likewise.
* ld-sh/sh-vxworks.exp: Likewise.
* ld-sh/sh64/sh64.exp: Likewise.
* ld-sparc/sparc.exp: Likewise.
* ld-tic6x/tic6x.exp: Likewise.
* ld-tilegx/tilegx.exp: Likewise.
* ld-tilepro/tilepro.exp: Likewise.
* ld-undefined/entry.exp: Likewise.
* ld-vax-elf/vax-elf.exp: Likewise.
* ld-x86-64/dwarfreloc.exp: Likewise.
* ld-x86-64/export-class.exp: Likewise.
* ld-x86-64/x86-64.exp: Likewise.
* ld-xc16x/xc16x.exp: Likewise.
* ld-xstormy16/xstormy16.exp: Likewise.
* ld-xtensa/xtensa.exp: Likewise.

11 years ago*** empty log message ***
gdbadmin [Tue, 19 Feb 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

11 years agoinclude/
Alan Modra [Mon, 18 Feb 2013 23:50:32 +0000 (23:50 +0000)]
include/
* bfdlink.h (struct bfd_link_info): Delete emit_note_gnu_build_id.
bfd/
* 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.
gdb/
* elfread.c (struct build_id): Delete.  Use struct elf_build_id
throughout file instead.
(build_id_bfd_get): Update to use new elf_tdata build_id field.
Don't xmalloc return value.
(build_id_verify): Similarly.  Don't xfree.
(build_id_to_debug_filename): Update.
(find_separate_debug_file_by_buildid): Update, don't xfree.
ld/
* emultempl/elf32.em (emit_note_gnu_build_id): New static var.
Replace all info->emit_note_gnu_build_id refs.
(id_note_section_size): Rename from
gld${EMULATION_NAME}_id_note_section_size.
(struct build_id_info): Delete.
(write_build_id): Rename from
gld${EMULATION_NAME}_write_build_id_section.
Update elf_tdata usage.  Style, formatting.
(setup_build_id): New function.
(gld${EMULATION_NAME}_after_open): Use setup_build_id.

11 years ago * ld-mips-elf/jalx-2.ld: Include .rel.plt in output, give .plt a
Maciej W. Rozycki [Mon, 18 Feb 2013 23:35:17 +0000 (23:35 +0000)]
* ld-mips-elf/jalx-2.ld: Include .rel.plt in output, give .plt a
mapping.
* ld-mips-elf/jalx-2.dd: Adjust disassembly accordingly.

11 years ago * config/tc-mips.c (s_cpload): Call mips_mark_labels and set
Maciej W. Rozycki [Mon, 18 Feb 2013 23:27:23 +0000 (23:27 +0000)]
* config/tc-mips.c (s_cpload): Call mips_mark_labels and set
mips_assembling_insn appropriately.
(s_cpsetup, s_cprestore, s_cpreturn, s_cpadd): Likewise.

11 years ago * elf64-mips.c (micromips_elf64_howto_table_rel): Add
Maciej W. Rozycki [Mon, 18 Feb 2013 23:20:45 +0000 (23:20 +0000)]
* 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.

11 years ago * elfxx-mips.c (MICROMIPS_P): New macro.
Maciej W. Rozycki [Mon, 18 Feb 2013 23:18:16 +0000 (23:18 +0000)]
* elfxx-mips.c (MICROMIPS_P): New macro.
(_bfd_mips_elf_symbol_processing): Use it.

11 years ago * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
Maciej W. Rozycki [Mon, 18 Feb 2013 23:16:35 +0000 (23:16 +0000)]
* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
comment on _PROCEDURE_LINKAGE_TABLE_ creation.

11 years agodaily update
Alan Modra [Mon, 18 Feb 2013 23:00:04 +0000 (23:00 +0000)]
daily update

11 years ago PR gdb/15102:
Tom Tromey [Mon, 18 Feb 2013 21:04:28 +0000 (21:04 +0000)]
PR gdb/15102:
* dwarf2read.c (read_subrange_type): Use result of
'check_typedef'.
gdb/testsuite
* gdb.dwarf2/subrange.exp: New file.

11 years agogdb/gdbserver
Yao Qi [Mon, 18 Feb 2013 14:54:57 +0000 (14:54 +0000)]
gdb/gdbserver

* linux-bfin-low.c (the_low_target): Use NULL instead of 0.

11 years agoFix ChangeLog typo.
Maciej W. Rozycki [Mon, 18 Feb 2013 14:02:47 +0000 (14:02 +0000)]
Fix ChangeLog typo.

11 years ago * config/tc-mips.c (append_insn): Correcting indentation, remove
Maciej W. Rozycki [Mon, 18 Feb 2013 14:02:02 +0000 (14:02 +0000)]
* config/tc-mips.c (append_insn): Correcting indentation, remove
extraneous braces.

11 years ago PR ld/12549
Alan Modra [Mon, 18 Feb 2013 10:40:19 +0000 (10:40 +0000)]
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.

11 years ago * ld-plugin/lto.exp (Build pr15146b.so) Add -Wl,--no-as-needed.
Alan Modra [Mon, 18 Feb 2013 09:13:11 +0000 (09:13 +0000)]
* ld-plugin/lto.exp (Build pr15146b.so) Add -Wl,--no-as-needed.
(PR ld/15146 (1), (2)): Likewise.
(LTO 7): Likewise.

11 years agomissed from last commit
Alan Modra [Mon, 18 Feb 2013 04:44:16 +0000 (04:44 +0000)]
missed from last commit

11 years ago * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
Alan Modra [Mon, 18 Feb 2013 02:56:58 +0000 (02:56 +0000)]
* 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.

11 years ago*** empty log message ***
gdbadmin [Mon, 18 Feb 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Sun, 17 Feb 2013 23:00:06 +0000 (23:00 +0000)]
daily update

11 years ago*** empty log message ***
gdbadmin [Sun, 17 Feb 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Sat, 16 Feb 2013 23:00:05 +0000 (23:00 +0000)]
daily update

11 years agoDon't add DT_NEEDED for references from the dummy bfd
H.J. Lu [Sat, 16 Feb 2013 17:54:37 +0000 (17:54 +0000)]
Don't add DT_NEEDED for references from the dummy bfd

bfd/

PR ld/15146
* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
for references from the dummy bfd.

ld/

PR ld/15146
* plugin.c (plugin_notice): Replace the undefined dummy bfd with
the real one.

ld/testsuite/

PR ld/15146
* ld-plugin/pr15146.d: New file.
* ld-plugin/pr15146a.c: Likewise.
* ld-plugin/pr15146b.c: Likewise.
* ld-plugin/pr15146c.c: Likewise.
* ld-plugin/pr15146d.c: Likewise.

* ld-plugin/lto.exp: Add tests for PR ld/15146.

11 years agoAlso trace symbol from the IR bfd
H.J. Lu [Sat, 16 Feb 2013 17:50:20 +0000 (17:50 +0000)]
Also trace symbol from the IR bfd

PR ld/15141
* plugin.c (plugin_notice): Also trace symbol from the IR bfd.

11 years agoAlso track weak references
H.J. Lu [Sat, 16 Feb 2013 17:48:57 +0000 (17:48 +0000)]
Also track weak references

PR ld/15149
* elflink.c (elf_link_add_object_symbols): Also track weak
references.

11 years agogdb/
Yao Qi [Sat, 16 Feb 2013 08:57:48 +0000 (08:57 +0000)]
gdb/
2013-02-16  Yuanhui Zhang  <asmwarrior@gmail.com>

* frame.c: Remove one extra white space after #include
directive.

11 years ago*** empty log message ***
gdbadmin [Sat, 16 Feb 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Fri, 15 Feb 2013 23:00:05 +0000 (23:00 +0000)]
daily update

11 years agogdb/
Jan Kratochvil [Fri, 15 Feb 2013 20:30:16 +0000 (20:30 +0000)]
gdb/
* contrib/cc-with-tweaks.sh: Extend the comment for -p option.

11 years agogdb/
Jan Kratochvil [Fri, 15 Feb 2013 20:28:24 +0000 (20:28 +0000)]
gdb/
* gdb-gdb.gdb.in: Wrap set complaints, b internal_error, b info_command
and dir commands into an if block.

11 years agoDon't allow a nested archive pointing to itself
H.J. Lu [Fri, 15 Feb 2013 18:26:06 +0000 (18:26 +0000)]
Don't allow a nested archive pointing to itself

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.

11 years ago * configure.ac: Sync with GCC repo.
Yufeng Zhang [Fri, 15 Feb 2013 17:55:25 +0000 (17:55 +0000)]
* configure.ac: Sync with GCC repo.
* configure: Ditto.

11 years ago2013-02-15 Sanimir Agovic <sanimir.agovic@intel.com>
Tom Tromey [Fri, 15 Feb 2013 17:12:29 +0000 (17:12 +0000)]
2013-02-15  Sanimir Agovic  <sanimir.agovic@intel.com>

* python/py-breakpoint (struct pybp_code):  Use int instead of
enum type_code.

11 years agoAllow for some recursion when scanning archives.
Nick Clifton [Fri, 15 Feb 2013 15:53:42 +0000 (15:53 +0000)]
Allow for some recursion when scanning archives.

11 years ago * options.h (DEFINE_uint64_alias): Define.
Ian Lance Taylor [Fri, 15 Feb 2013 15:44:03 +0000 (15:44 +0000)]
* options.h (DEFINE_uint64_alias): Define.
(class General_options): Add -Ttext-segment as an alias for
-Ttext.

11 years ago * metag-dis.c: Initialize outf->bytes_per_chunk to 4
Nick Clifton [Fri, 15 Feb 2013 14:54:28 +0000 (14:54 +0000)]
* metag-dis.c: Initialize outf->bytes_per_chunk to 4
which also makes the disassembler output be in little
endian like it should be.

* metag/labelarithmetic.d: Fix the expected disassembler
output to be in little endian format
* metag/metacore12.d: likewise
* metag/metacore21.d: likewise
* metag/metacore21ext.d: likewise
* metag/metadsp21.d: likewise
* metag/metadsp21ext.d: likewise
* metag/metafpu.d: likewise
* metag/metafpuext.d: likewise
* metag/tls.d: likewise

* ld-metag/pcrel.d: Fix the expected disassembler
output to be in little endian format
* ld-metag/shared.d: likewise
* ld-metag/stub.d: likewise
* ld-metag/stub_pic_app.d: likewise
* ld-metag/stub_pic_shared.d: likewise
* ld-metag/stub_shared.d: likewise

11 years ago PR binutils/15140
Nick Clifton [Fri, 15 Feb 2013 14:37:39 +0000 (14:37 +0000)]
PR binutils/15140
* ar.c (open_inarch): Fail on attempts to convert a normal archive
to a thin archive or vice versa.
* elfcomm.c (make_qualified_name): Handle corrupted thin
archives.
* readelf.c (process_archive): Likewise.
* doc/binutils.texi: Clarify documentation describing thin
archives.

* archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
accessing a corrupt nested archive.

11 years ago * objcopy.c (copy_main): Initialize context variable.
Kai Tietz [Fri, 15 Feb 2013 14:25:34 +0000 (14:25 +0000)]
    * objcopy.c (copy_main): Initialize context variable.

11 years ago * powerpc.cc (Stub_table::plt_off): New function, extracted from..
Alan Modra [Fri, 15 Feb 2013 12:59:15 +0000 (12:59 +0000)]
* powerpc.cc (Stub_table::plt_off): New function, extracted from..
(Stub_table::do_write): ..here, two places.
(Stub_table::plt_call_size): Use it here too.

11 years ago * scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
Kai Tietz [Fri, 15 Feb 2013 11:08:01 +0000 (11:08 +0000)]
    * scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
        (.pdata): Merge .pdata* into .pdata section.

11 years ago * gas/arm/neon-vmov-bad.d: New file.
Nick Clifton [Fri, 15 Feb 2013 10:07:47 +0000 (10:07 +0000)]
    * gas/arm/neon-vmov-bad.d: New file.
        * gas/arm/neon-vmov-bad.s: Likewise.
        * gas/arm/neon-vmov-bad.l: Likewise.

        * config/tc-arm.c (do_neon_mov): Break on NS_NULL.

11 years ago2013-02-15 Pedro Alves <pedro@codesourcery.com>
Hafiz Abid Qadeer [Fri, 15 Feb 2013 09:47:50 +0000 (09:47 +0000)]
2013-02-15  Pedro Alves  <pedro@codesourcery.com>
    Hafiz Abid Qadeer  <abidh@codesourcery.com>

gdb/
* NEWS: Mention new field "trace-file".
* tracepoint.c (trace_status_mi): Output "trace-file" field.
(tfile_open): Record the trace file's filename in the trace
status.
(tfile_files_info): Mention the name of the trace file.
Check the "filename" field explicitely.
(trace_status_command): Explicitely check "filename" field.
(trace_find_command): Ditto.
(trace_find_pc_command): Ditto.
(trace_find_tracepoint_command): Ditto.
(trace_find_line_command): Ditto.
(trace_find_range_command): Ditto.
(trace_find_outside_command): Ditto.
* tracepoint.h (struct trace_status) <from_file>: Rename it
to "filename" and make it hold the trace file's filename
instead of a boolean.
* remote.c (remote_get_trace_status): Initialize "filename"
field with NULL instead of 0.

gdb/doc/
* gdb.texinfo (GDB/MI Tracepoint Commands) <-trace-status>:
Document the "trace-file" field.

gdb/testsuite/
* gdb.trace/tfile.exp: Add test for -trace-status command.

11 years ago * configure.tgt: Add nios2-*-rtems*.
Nick Clifton [Fri, 15 Feb 2013 09:36:32 +0000 (09:36 +0000)]
* configure.tgt: Add nios2-*-rtems*.

11 years ago PR binutils/15033
Nick Clifton [Fri, 15 Feb 2013 09:32:31 +0000 (09:32 +0000)]
PR binutils/15033
* objcopy.c (enum change_action): Delete.
(struct section_list): Delete remove, copy, change_vma, change_lma
and set_flags fields.  Add context field.
(find_section_list): Add a context parameter.  Add support for
wildcard characters in section names.
(is_strip_section): Check for sections being both  copied and
removed.
(copy_object): Pass context to find_section_list.
(setup_section): Likewise.
(copy_section): Likewise.
(copy_main): Likewise.
* doc/binutils: Document the new behaviour.
* NEWS: Mention the new feature

11 years agogdb/
Yao Qi [Fri, 15 Feb 2013 03:37:12 +0000 (03:37 +0000)]
gdb/
* remote.c: Fix a typo.

11 years agomerge from gcc
DJ Delorie [Fri, 15 Feb 2013 02:48:33 +0000 (02:48 +0000)]
merge from gcc

11 years ago*** empty log message ***
gdbadmin [Fri, 15 Feb 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago * binutils-all/mips/mixed-mips16.s: Add missing stack adjustment.
Maciej W. Rozycki [Thu, 14 Feb 2013 23:48:18 +0000 (23:48 +0000)]
* binutils-all/mips/mixed-mips16.s: Add missing stack adjustment.
* binutils-all/mips/mixed-mips16.d: Update accordingly.

11 years agodaily update
Alan Modra [Thu, 14 Feb 2013 23:00:04 +0000 (23:00 +0000)]
daily update

11 years ago * contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove.
Pierre Muller [Thu, 14 Feb 2013 21:08:35 +0000 (21:08 +0000)]
* contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove.

11 years agoopcodes/
Yufeng Zhang [Thu, 14 Feb 2013 18:12:51 +0000 (18:12 +0000)]
opcodes/

* aarch64-opc.c (aarch64_prfops): Change unnamed operation 'name'
fields to NULL.
(aarch64_print_operand): Adjust the printing for AARCH64_OPND_PRFOP.

gas/

* config/tc-aarch64.c (md_begin): Change to check if 'name' is
NULL.

gas/testsuite/

* gas/aarch64/system.s: Add tests.
* gas/aarch64/system.d: Update.

11 years agogdbserver: QTNotes, plug memory leak.
Pedro Alves [Thu, 14 Feb 2013 18:07:19 +0000 (18:07 +0000)]
gdbserver: QTNotes, plug memory leak.

The previous notes aren't being released before setting new ones.

Tested on x86_64 Fedora 17.

gdb/gdbserver/
2013-02-14  Pedro Alves  <palves@redhat.com>

Plug memory leak.

* tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
TRACING_NOTES and TRACING_STOP_NOTE before clobbering.

11 years agogdbserver:tracepoint.c:cmd_qtdpsrc use savestring.
Pedro Alves [Thu, 14 Feb 2013 17:30:03 +0000 (17:30 +0000)]
gdbserver:tracepoint.c:cmd_qtdpsrc use savestring.

An obvious use case for savestring.

Tested on x86_64 Fedora 17.

2013-02-14  Pedro Alves  <palves@redhat.com>

* tracepoint.c (cmd_qtdpsrc): Use savestring.

11 years agoMove savestring to common/common-utils.c, make gdbserver use it.
Pedro Alves [Thu, 14 Feb 2013 17:11:41 +0000 (17:11 +0000)]
Move savestring to common/common-utils.c, make gdbserver use it.

This makes gdbserver share gdb's savestring, instead of baking its own.

Tested on x86_64 Fedora 17.

gdb/
2013-02-14  Pedro Alves  <palves@redhat.com>

* utils.c (savestring): Don't #undef it.  Move function to
common/common-utils.c.
* common/common-utils.c: Include gdb_string.h.
(savestring): Move here from utils.c.
* common/common-utils.h (savestring): Declare.

gdb/gdbserver/
2013-02-14  Pedro Alves  <palves@redhat.com>

* tracepoint.c (save_string): Delete.
(add_tracepoint_action): Use savestring instead of save_string.

11 years agosavestring: Rename parameter 'size' to 'len'.
Pedro Alves [Thu, 14 Feb 2013 17:09:00 +0000 (17:09 +0000)]
savestring: Rename parameter 'size' to 'len'.

It's better to avoid needless confusion, and call string length,
length, instead of size, which is usually used to refer to sizeof of
the string (len+1):

size_t len = strlen (str);
size_t size = sizeof (str);

Tested on x86_64 Fedora 17.

2013-02-14  Pedro Alves  <palves@redhat.com>

* utils.c (savestring): Rename parameter 'size' to 'len'.

11 years agogdb/testsuite/
Jan Kratochvil [Thu, 14 Feb 2013 15:24:11 +0000 (15:24 +0000)]
gdb/testsuite/
* gdb.threads/pthread_cond_wait.c (main): Remove variable ts.  Replace
nanosleep by sleep.

11 years ago2013-02-14 Pedro Alves <palves@redhat.com>
Yufeng Zhang [Thu, 14 Feb 2013 13:50:30 +0000 (13:50 +0000)]
2013-02-14  Pedro Alves  <palves@redhat.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* aarch64-linux-nat.c (aarch64_init_debug_reg_state): Delete.
(aarch64_inferior_data, struct aarch64_inferior_data):
Delete.
(struct aarch64_process_info): New.
(aarch64_process_list): New global.
(aarch64_find_process_pid, aarch64_add_process)
(aarch64_process_info_get): New functions.
(aarch64_inferior_data_get): Delete.
(aarch64_process_info_get): New function.
(aarch64_forget_process): New function.
(aarch64_get_debug_reg_state): New parameter 'pid'.  Reimplement.
(aarch64_linux_prepare_to_resume): Pass the lwp's pid to
aarch64_get_debug_reg_state.
(aarch64_notify_debug_reg_change): Use iterate_over_lwps
instead of linux_nat_iterate_watchpoint_lwps.
(aarch64_linux_new_fork): New function.
(aarch64_linux_child_post_startup_inferior): Use
aarch64_forget_process instead of aarch64_init_debug_reg_state.
(aarch64_handle_breakpoint, aarch64_linux_insert_hw_breakpoint)
(aarch64_linux_remove_hw_breakpoint)
(aarch64_handle_aligned_watchpoint)
(aarch64_handle_unaligned_watchpoint)
(aarch64_linux_insert_watchpoint)
(aarch64_linux_remove_watchpoint)
(aarch64_linux_stopped_data_address): Adjust to pass the current
process id to aarch64_debug_reg_state.
(_initialize_aarch64_linux_nat): Install aarch64_linux_new_fork as
linux_nat_new_fork hook, and aarch64_forget_process as
linux_nat_forget_process hook; remove the call to
register_inferior_data_with_cleanup.

11 years agoFix ptype bug actually exercised in userdef.exp
Pedro Alves [Thu, 14 Feb 2013 12:43:46 +0000 (12:43 +0000)]
Fix ptype bug actually exercised in userdef.exp

I happened to notice a bug with ptype &Ref, and found out userdef.exp
actually exercises the bug.  With:

class Container
{
public:
  Member m;

  Member& operator* ();
};

Member& Container::operator* ()
{
  return this->m;
}

And 'c' is of type Container:

(gdb) p c
$1 = {m = {z = -9192}}
(gdb) p *c
$2 = (Member &) @0x7fffffffda20: {z = -9192}
(gdb) ptype *c
type = class Member {
  public:
    int z;
} &

(gdb) p &*c
$3 = (Member *) 0x7fffffffda20

(gdb) ptype &*c
type = class Member {
  public:
    int z;
} &*
(gdb)

Notice that last print (&*c) on says the type is a pointer - that's
how you get the address behind a reference.  But notice the last ptype
instead says the type of the same expression is a pointer _reference_.
This looks like a bug to me.

This patch fixes it.  The issue is that we're entering the VALUE_LVAL
(x) == lval_memory branch by mistake for references.  The fix is just
to swap the tests so references are checked first, like value_addr
also handles references first.

Tested on x86_64 Fedora 17.

2013-02-14  Pedro Alves  <palves@redhat.com>

* eval.c (evaluate_subexp_for_address) <default_case_after_eval,
EVAL_AVOID_SIDE_EFFECTS>: Swap and handle TYPE_CODE_REF before
lval_memory.

2013-02-14  Pedro Alves  <palves@redhat.com>

* gdb.cp/userdef.exp (ptype &*c): Don't expect an &.

11 years ago PR binutils/15125
Nick Clifton [Thu, 14 Feb 2013 11:52:25 +0000 (11:52 +0000)]
PR binutils/15125
* objcopy.c (copy_object): Provide a helpful warning message when
adding a gnu_debuglink section to an object which already contains
one.

11 years ago2013-02-14 Pedro Alves <pedro@codesourcery.com>
Hafiz Abid Qadeer [Thu, 14 Feb 2013 10:19:39 +0000 (10:19 +0000)]
2013-02-14  Pedro Alves  <pedro@codesourcery.com>
    Hafiz Abid Qadeer  <abidh@codesourcery.com>

gdb/
* tracepoint.h (validate_trace_state_variable_name): Declare.
* tracepoint.c (validate_trace_state_variable_name): New.
(trace_variable_command): Parse the trace state variable's name
without using parse_expression.  Do several validations.
* mi/mi-main.c (mi_cmd_trace_define_variable): Don't parse the
trace state variable's name with parse_expression.  Validate it.

gdb/testsuite/
* gdb.trace/tsv.exp: Adjust tests, and add a few more.

11 years agogdb/
Yao Qi [Thu, 14 Feb 2013 04:00:16 +0000 (04:00 +0000)]
gdb/
* infcmd.c (breakpoint_proceeded): Remove it.

11 years agogdb/
Yao Qi [Thu, 14 Feb 2013 03:57:13 +0000 (03:57 +0000)]
gdb/
* tracepoint.c (end_actions_pseudocommand): Make it static.
(while_stepping_pseudocommand): Likewise.
* tracepoint.h (end_actions_pseudocommand): Remove the
declaration.
(while_stepping_pseudocommand): Likewise.

11 years agogdb/
Yao Qi [Thu, 14 Feb 2013 03:51:59 +0000 (03:51 +0000)]
gdb/
Indent one changelog entry.

11 years agogdb/
Yao Qi [Thu, 14 Feb 2013 03:39:42 +0000 (03:39 +0000)]
gdb/
* cli/cli-decode.c (help_cmd): Remove the declaration of
"cmdlist".
(help_all): Likewise.

11 years ago*** empty log message ***
gdbadmin [Thu, 14 Feb 2013 00:00:36 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Wed, 13 Feb 2013 23:00:05 +0000 (23:00 +0000)]
daily update

11 years agoCorrect ChangeLog dates.
Maciej W. Rozycki [Wed, 13 Feb 2013 19:36:10 +0000 (19:36 +0000)]
Correct ChangeLog dates.

11 years ago opcodes/
Maciej W. Rozycki [Wed, 13 Feb 2013 17:09:09 +0000 (17:09 +0000)]
opcodes/
* mips-dis.c (is_compressed_mode_p): Only match symbols from the
section disassembled.

binutils/testsuite/
* binutils-all/mips/mixed-micromips.d: New test.
* binutils-all/mips/mixed-mips16.d: New test.
* binutils-all/mips/mixed-micromips.s: New test source.
* binutils-all/mips/mixed-mips16.s: New test source.
* binutils-all/mips/mips.exp: New file.

11 years agoFix typo: amd64 -> i386.
Pedro Alves [Wed, 13 Feb 2013 15:06:50 +0000 (15:06 +0000)]
Fix typo: amd64 -> i386.

11 years ago[native x86 GNU/Linux] Access debug register mirror from the corresponding process.
Pedro Alves [Wed, 13 Feb 2013 14:59:49 +0000 (14:59 +0000)]
[native x86 GNU/Linux] Access debug register mirror from the corresponding process.

While reviewing the native AArch64 patch, I noticed a problem:

On 02/06/2013 08:46 PM, Pedro Alves wrote:
>
>> > +static void
>> > +aarch64_linux_prepare_to_resume (struct lwp_info *lwp)
>> > +{
>> > +  struct arch_lwp_info *info = lwp->arch_private;
>> > +
>> > +  /* NULL means this is the main thread still going through the shell,
>> > +     or, no watchpoint has been set yet.  In that case, there's
>> > +     nothing to do.  */
>> > +  if (info == NULL)
>> > +    return;
>> > +
>> > +  if (DR_HAS_CHANGED (info->dr_changed_bp)
>> > +      || DR_HAS_CHANGED (info->dr_changed_wp))
>> > +    {
>> > +      int tid = GET_LWP (lwp->ptid);
>> > +      struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
> Hmm.  This is always fetching the debug_reg_state of
> the current inferior, but may not be the inferior of lwp.
> I see the same bug on x86.  Sorry about that.  I'll fix it.

A natural fix would be to make xxx_get_debug_reg_state take an
inferior argument, but that doesn't work because of the case where we
detach breakpoints/watchpoints from the child fork, at a time there's
no inferior for the child fork at all.  We do a nasty hack in
i386_inferior_data_get, but that relies on all callers pointing the
current inferior to the correct inferior, which isn't actually being
done by all callers, and I don't think we want to enforce that -- deep
in the bowls of linux-nat.c, there are many cases we resume lwps
behind the scenes, and it's be better to not have that code rely on
global state (as it doesn't today).

The fix is to decouple the watchpoints code from inferiors, making it
track target processes instead.  This way, we can freely keep track of
the watchpoint mirrors for these processes behind the core's back.
Checkpoints also play dirty tricks with swapping the process behind
the inferior, so they get special treatment too in the patch (which
just amounts to calling a new hook).  Instead of the old hack in
i386_inferior_data_get, where we returned a copy of the current
inferior's debug registers mirror, as soon as we detect a fork in the
target, we copy the debug register mirror from the parent to the child
process.

I don't have an old kernel handy to test, but I stepped through gdb doing
the watchpoint removal in the fork child in the watchpoint-fork test
seeing that the debug registers end up cleared in the child.

I didn't find the need for linux_nat_iterate_watchpoint_lwps.  If
we use plain iterate_over_lwps instead, what happens is that
when removing watchpoints, that iterate_over_lwps doesn't actually
iterate over anything, since the fork child is not added to the
lwp list until later, at detach time, in linux_child_follow_fork.
And if we don't iterate over that lwp, we don't mark its debug
registers as needing update.  But linux_child_follow_fork takes
care of doing that explicitly:

  child_lp = add_lwp (inferior_ptid);
  child_lp->stopped = 1;
  child_lp->last_resume_kind = resume_stop;
  make_cleanup (delete_lwp_cleanup, child_lp);

  /* CHILD_LP has new PID, therefore linux_nat_new_thread is not called for it.
     See i386_inferior_data_get for the Linux kernel specifics.
     Ensure linux_nat_prepare_to_resume will reset the hardware debug
     registers.  It is done by the linux_nat_new_thread call, which is
     being skipped in add_lwp above for the first lwp of a pid.  */
  gdb_assert (num_lwps (GET_PID (child_lp->ptid)) == 1);
  if (linux_nat_new_thread != NULL)
    linux_nat_new_thread (child_lp);

  if (linux_nat_prepare_to_resume != NULL)
    linux_nat_prepare_to_resume (child_lp);
  ptrace (PTRACE_DETACH, child_pid, 0, 0);

so unless I'm missing something (quite possible) it ends up all
the same.  But, the !detach-on-fork, and the "follow-fork child" paths
should also call linux_nat_new_thread, and they don't presently.  It
seems to me in those cases we're not clearing debug regs correctly
when that's needed.  Instead of copying that bit that works around
add_lwp bypassing the linux_nat_new_thread call, I thought it'd
be better to add an add_initial_lwp call to be used in the case we
really need to bypass linux_nat_new_thread, and make
add_lwp always call linux_nat_new_thread.

i386_cleanup_dregs is rewritten to forget about the current process
debug mirrors, which takes cares of other i386 ports.  Only a couple
of extra tweaks here and there were needed, as some targets wheren't
actually calling i386_cleanup_dregs.

Tested on Fedora 17 x86_64 -m64/-m32.

GDBserver already fetches the i386_debug_reg_state from the right
process, and, it doesn't handle forks at all, so no fix is needed over
there.

gdb/
2013-02-13  Pedro Alves  <palves@redhat.com>

* amd64-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(amd64_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(amd64_linux_new_fork): New function.
(_initialize_amd64_linux_nat): Install amd64_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(i386_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(i386_linux_new_fork): New function.
(_initialize_i386_linux_nat): Install i386_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-nat.c (i386_init_dregs): Delete.
(i386_inferior_data, struct i386_inferior_data):
Delete.
(struct i386_process_info): New.
(i386_process_list): New global.
(i386_find_process_pid, i386_add_process, i386_process_info_get):
New functions.
(i386_inferior_data_get): Delete.
(i386_process_info_get): New function.
(i386_debug_reg_state): New parameter 'pid'.  Reimplement.
(i386_forget_process): New function.
(i386_cleanup_dregs): Rewrite.
(i386_update_inferior_debug_regs, i386_insert_watchpoint)
(i386_remove_watchpoint, i386_region_ok_for_watchpoint)
(i386_stopped_data_address, i386_insert_hw_breakpoint)
(i386_remove_hw_breakpoint): Adjust to pass the current process id
to i386_debug_reg_state.
(i386_use_watchpoints): Don't register inferior data.
* i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and
adjust comment.
(i386_forget_process): Declare.
* linux-fork.c (delete_fork): Call linux_nat_forget_process.
* linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook):
New static globals.
(linux_child_follow_fork): Don't call linux_nat_new_thread here.
(add_initial_lwp): New, factored out from ...
(add_lwp): ... this.  Don't check the number of lwps before
calling linux_nat_new_thread.
(linux_nat_iterate_watchpoint_lwps): Delete.
(linux_nat_attach): Use add_initial_lwp instead of add_lwp.
(linux_handle_extended_wait): Call the linux_nat_new_fork hook on
forks and vforks.
(linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the
initial lwp.
(linux_nat_kill, linux_nat_mourn_inferior): Call
linux_nat_forget_process.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New functions.
* linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete
type.
(linux_nat_iterate_watchpoint_lwps): Delete declaration.
(linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New
types.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New declarations.

* amd64fbsd-nat.c (super_mourn_inferior): New global.
(amd64fbsd_mourn_inferior): New function.
(_initialize_amd64fbsd_nat): Override to_mourn_inferior.
* windows-nat.c (windows_detach): Call i386_cleanup_dregs.

11 years agoFix ARI gripe about missing _().
Marcus Shawcroft [Wed, 13 Feb 2013 14:32:56 +0000 (14:32 +0000)]
Fix ARI gripe about missing _().

11 years agobfd/
Richard Sandiford [Wed, 13 Feb 2013 14:08:58 +0000 (14:08 +0000)]
bfd/
* elfxx-mips.c (mips_got_page_ref): New structure.
(mips_got_page_entry): Use a section rather than a (bfd, symndx)
pair to represent the anchor point.
(mips_got_info): Add a got_page_refs field.
(mips_elf_link_hash_table): Add a sym_cache field.
(mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
(mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
new anchor representation.
(mips_elf_create_got_info): Create got_page_refs rather than
got_page_entries.
(mips_elf_record_got_page_ref): New function.
(mips_elf_pages_for_range): Move further down file.
(mips_elf_record_got_page_entry): Likewise.  Take a got as argument.
Use a section rather than a (bfd, symndx) pair to represent the
anchor point.
(mips_elf_resolve_got_page_ref): New function.
(mips_elf_resolve_final_got_entries): Use it to populate
got_page_entries.
(_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
rather than mips_elf_record_got_page_entry.  Only nullify h
afterwards.
(mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
earlier.

ld/testsuite/
* ld-mips-elf/mips16-pic-2.dd,
ld-mips-elf/mips16-pic-2.gd: Remove 3 unused local GOT entries.
* ld-mips-elf/got-page-4a.s, ld-mips-elf/got-page-4b.s,
ld-mips-elf/got-page-4a.d, ld-mips-elf/got-page-4a.got,
ld-mips-elf/got-page-4b.d, ld-mips-elf/got-page-4b.got,
ld-mips-elf/got-page-5.s, ld-mips-elf/got-page-5.d,
ld-mips-elf/got-page-5.got, ld-mips-elf/got-page-6.s,
ld-mips-elf/got-page-6.d, ld-mips-elf/got-page-6.got,
ld-mips-elf/got-page-7a.s, ld-mips-elf/got-page-7b.s,
ld-mips-elf/got-page-7c.s, ld-mips-elf/got-page-7d.s,
ld-mips-elf/got-page-7e.s, ld-mips-elf/got-page-7.d,
ld-mips-elf/got-page-7.got: New tests.
* ld-mips-elf/mips-elf.exp: Run them.

11 years agoARI fix: Replace %llx with %s and phex().
Marcus Shawcroft [Wed, 13 Feb 2013 13:42:39 +0000 (13:42 +0000)]
ARI fix: Replace %llx with %s and phex().

2013-02-13  Marcus Shawcroft  <marcus.shawcroft@arm.com>

        * aarch64-linux-nat.c (debug_reg_change_callback)
        (aarch64_linux_get_debug_reg_capacity): ARI fix: Replace %llx with
        %s and phex().

11 years agoARI fix: Replace long long with LONGEST.
Marcus Shawcroft [Wed, 13 Feb 2013 13:41:12 +0000 (13:41 +0000)]
ARI fix: Replace long long with LONGEST.

        * aarch64-linux-nat.c (dr_changed_t): ARI fix: Replace long long
        with LONGEST.