H.J. Lu [Tue, 24 Aug 2010 16:36:25 +0000 (16:36 +0000)]
Fix typos in ld-x86-64/x86-64.exp.
2010-08-24 H.J. Lu <hongjiu.lu@intel.com>
* ld-x86-64/x86-64.exp: Fix typos.
Daniel Jacobowitz [Tue, 24 Aug 2010 15:56:15 +0000 (15:56 +0000)]
* arm-tdep.c: Include features/arm-with-m.c.
(arm_psr_thumb_bit): New. Update all uses of CPSR_T to
call this function.
(arm_pc_is_thumb): Add a gdbarch argument. Update all callers.
Check is_m after force-mode.
(arm_gdbarch_init): Check the binary before the target description.
Add check for M profile attribute. If we have an M-profile device,
but no target register description, use arm-with-m. Recognize the
new org.gnu.gdb.arm.m-profile feature and its xpsr register.
(_initialize_arm_tdep): Call initialize_tdesc_arm_with_m.
* arm-tdep.h (XPSR_T): Define.
(struct gdbarch_tdep): Add is_m member.
* features/arm-m-profile.xml, features/arm-with-m.c,
features/arm-with-m.xml: New files.
doc/
* gdb.texinfo (ARM Features): Document
org.gnu.gdb.arm.m-profile.
Nick Clifton [Tue, 24 Aug 2010 07:24:10 +0000 (07:24 +0000)]
PR 11899
* layout.cc (segment_precedes): Sort segments by their physical
addresses, if they have been set.
Hans-Peter Nilsson [Tue, 24 Aug 2010 01:14:38 +0000 (01:14 +0000)]
* sim/cris/asm/nonvcv32.ms: Neutralize changed &&-in-macro gas syntax.
Alan Modra [Tue, 24 Aug 2010 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 24 Aug 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Doug Evans [Mon, 23 Aug 2010 21:49:26 +0000 (21:49 +0000)]
* dwarf2read.c (set_die_type): Fix typo in comment.
Doug Evans [Mon, 23 Aug 2010 21:44:39 +0000 (21:44 +0000)]
* dwarf2read.c (read_structure_type): Add comment.
(read_enumeration_type): Add comment.
(process_enumeration_scope): Move definition of some locals
closer to their use.
(read_namespace_type): Add comment.
Tom Tromey [Mon, 23 Aug 2010 20:29:19 +0000 (20:29 +0000)]
gdb
PR python/11145:
* python/py-value.c: Include expression.h.
(valpy_do_cast): New function.
(valpy_cast): Use it.
(valpy_dynamic_cast): New function.
(valpy_reinterpret_cast): Likewise.
(value_object_methods): Add dynamic_cast, reinterpret_cast.
gdb/doc
PR python/11145:
* gdb.texinfo (Values From Inferior): Document dynamic_cast and
reinterpret_cast methods.
gdb/testsuite
PR python/11145:
* gdb.python/py-value.c (Base, Derived): New types.
(base): New global.
* gdb.python/py-value.exp (test_subscript_regression): Add
dynamic_cast test.
Cary Coutant [Mon, 23 Aug 2010 20:28:24 +0000 (20:28 +0000)]
* archive.cc (Lib_group::add_symbols): Lock object before deleting its
symbols data.
(Lib_group::include_member): Unlock object after deleting its
symbols data.
* testsuite/start_lib_test_3.c: Remove all global symbols to trigger
the bug fixed here.
Tom Tromey [Mon, 23 Aug 2010 20:27:49 +0000 (20:27 +0000)]
PR python/11391:
* python/py-value.c (valpy_nonzero): Don't throw error for other
Value types.
Tom Tromey [Mon, 23 Aug 2010 20:26:10 +0000 (20:26 +0000)]
gdb
PR python/10676:
* python/py-type.c: Include bcache.h, vec.h.
(struct type_equality_entry): New.
(compare_strings): New function.
(check_types_equal): Likewise.
(check_types_worklist): Likewise.
(typy_richcompare): Likewise.
(type_object_type): Set tp_richcompare field.
gdb/testsuite
PR python/10676:
* gdb.python/py-type.exp (test_fields): Add tests for type
equality.
Tom Tromey [Mon, 23 Aug 2010 20:23:55 +0000 (20:23 +0000)]
PR python/10953:
* python/py-type.c (typy_fields): Call check_typedef.
(typy_template_argument): Add TRY_CATCH.
Tom Tromey [Mon, 23 Aug 2010 20:21:28 +0000 (20:21 +0000)]
gdb
PR python/11915:
* python/py-type.c (typy_array): New function.
(type_object_methods): Add "array".
gdb/doc
PR python/11915:
* gdb.texinfo (Types In Python): Document array method.
gdb/testsuite
PR python/11915:
* gdb.python/py-type.exp (test_fields): Add tests for array.
Keith Seitz [Mon, 23 Aug 2010 19:12:53 +0000 (19:12 +0000)]
* gdb.dwarf2/dw2-double-set-die-type.S: DIE 0x51f does not
have any children. Create a new abbrev for it.
Add missing terminal sequence to .debug_abbrev.
H.J. Lu [Mon, 23 Aug 2010 16:25:53 +0000 (16:25 +0000)]
Add --input-osabi and --output-osabi to elfedit.
binutils/
2010-08-23 H.J. Lu <hongjiu.lu@intel.com>
* elfedit.c (input_elf_osabi): New.
(output_elf_osbi): Likewise.
(osabis): Likewise.
(elf_osabi): Likewise.
(update_elf_header): Support updating ELF OSABI.
(make_qualified_name): Break long line.
(command_line_switch): Add OPTION_INPUT_OSABI and
OPTION_OUTPUT_OSABI.
(options): Likewise.
(usage): Add --input-osabi and --output-osabi.
(main): Handle OPTION_INPUT_OSABI and OPTION_OUTPUT_OSABI.
* doc/binutils.texi: Document --input-osabi and --output-osabi
for elfedit.
binutils/testsuite/
2010-08-23 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/elfedit-3.d: New.
* binutils-all/elfedit.exp: Run elfedit-3.
Maciej W. Rozycki [Mon, 23 Aug 2010 13:51:40 +0000 (13:51 +0000)]
binutils/
* readelf.c (display_mips_gnu_attribute): Replace GCC options
with a textual description of a MIPS32r2 64-bit FPU.
ld/testsuite/
* ld-mips-elf/attr-gnu-4-04.d: Adjust Tag_GNU_MIPS_ABI_FP for
the new MIPS32r2 64-bit FPU description.
* ld-mips-elf/attr-gnu-4-40.d: Likewise.
* ld-mips-elf/attr-gnu-4-44.d: Likewise.
Alan Modra [Mon, 23 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 23 Aug 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Sun, 22 Aug 2010 20:21:21 +0000 (20:21 +0000)]
Find one .eh_frame section for --eh-frame-hdr.
2010-08-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11937
* emultempl/elf32.em (_after_open): Find one .eh_frame section
for --eh-frame-hdr.
H.J. Lu [Sun, 22 Aug 2010 19:14:25 +0000 (19:14 +0000)]
Don't check relocation if input ELF object ID doesn't match output.
bfd/
2010-08-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11933
* elflink.c (elf_link_add_object_symbols): Don't check relocation
if input ELF object ID doesn't match output.
ld/testsuite/
2010-08-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11933
* ld-x86-64/mixed1a.s: New.
* ld-x86-64/mixed1b.s: Likewise.
* ld-x86-64/mixed2a.s: Likewise.
* ld-x86-64/mixed2b.s: Likewise.
* ld-x86-64/x86-64.exp: Text mixed x86_64 and i386 inputs.
H.J. Lu [Sun, 22 Aug 2010 19:11:58 +0000 (19:11 +0000)]
Find an ELF input for --build-id and --eh-frame-hdr.
2010-08-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11937
* emultempl/elf32.em (_after_open): Find an ELF input for
--build-id and --eh-frame-hdr.
gdbadmin [Sun, 22 Aug 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 22 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Ralf Wildenhues [Sat, 21 Aug 2010 12:34:06 +0000 (12:34 +0000)]
Fix misquoting in stdint.m4.
config/:
PR target/45084
* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
of AC_MSG_ERROR.
libdecnumber/:
* configure: Regenerate.
bfd/:
* configure: Regenerate.
Alan Modra [Sat, 21 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 21 Aug 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
DJ Delorie [Fri, 20 Aug 2010 23:58:16 +0000 (23:58 +0000)]
merge from gcc
H.J. Lu [Fri, 20 Aug 2010 22:29:28 +0000 (22:29 +0000)]
Revert the last checkin on sec_merge_emit.
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
* merge.c (sec_merge_emit): Revert the last checkin.
Maciej W. Rozycki [Fri, 20 Aug 2010 21:18:39 +0000 (21:18 +0000)]
* Makefile.am (eshlelf_fd.c): Correct the name of the tool
directory.
* Makefile.in: Regenerate.
Maciej W. Rozycki [Fri, 20 Aug 2010 21:15:03 +0000 (21:15 +0000)]
* elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output
BFD.
Maciej W. Rozycki [Fri, 20 Aug 2010 21:13:03 +0000 (21:13 +0000)]
* ld-sh/sh.exp: Add missing newline.
Maciej W. Rozycki [Fri, 20 Aug 2010 21:06:30 +0000 (21:06 +0000)]
* elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
options unless an m68k hash table has been found.
Maciej W. Rozycki [Fri, 20 Aug 2010 21:04:07 +0000 (21:04 +0000)]
binutils/
* ChangeLog: Add a missing entry for 2010-04-20's commit.
ld/testsuite/
* ld-mips-elf/attr-gnu-4-01.d: Correct Tag_GNU_MIPS_ABI_FP.
* ld-mips-elf/attr-gnu-4-02.d: Likewise.
* ld-mips-elf/attr-gnu-4-10.d: Likewise.
* ld-mips-elf/attr-gnu-4-11.d: Likewise.
* ld-mips-elf/attr-gnu-4-15.d: Likewise.
* ld-mips-elf/attr-gnu-4-20.d: Likewise.
* ld-mips-elf/attr-gnu-4-22.d: Likewise.
* ld-mips-elf/attr-gnu-4-25.d: Likewise.
Maciej W. Rozycki [Fri, 20 Aug 2010 20:53:28 +0000 (20:53 +0000)]
* doc/c-arm.texi (ARM Options): Document -mfpu=fp4-sp-d16.
Pedro Alves [Fri, 20 Aug 2010 18:52:11 +0000 (18:52 +0000)]
* python/python.c: Include "serial.h".
(gdbpy_event_fds): Change type to `struct serial *' a array from
int array.
(gdbpy_run_events): Change parameters. Use serial_readchar in
place of read.
(gdbpy_post_event): Use serial_write in place of write.
(gdbpy_initialize_events): Use serial_pipe instead of pipe, and
serial_async in place of add_file_handler.
Pedro Alves [Fri, 20 Aug 2010 18:49:20 +0000 (18:49 +0000)]
* serial.h (gdb_pipe, serial_pipe): Declare.
* serial.c (serial_interface_lookup): Take a const char pointer.
(serial_fdopen): Rename to ...
(serial_fdopen_ops): ... this. Add an OPS parameter and use it.
Call the OPS' fdopen function if there is one.
(serial_fdopen): Rewrite as wrapper to serial_fdopen_ops.
(serial_pipe): New.
(struct serial_ops) <fdopen>: New field.
* ser-mingw.c (free_pipe_state):
(free_pipe_state): Close output on non-pex pipes.
(pipe_windows_fdopen): New.
(gdb_pipe): New.
(_initialize_ser_windows): Register pipe_windows_fdopen.
* ser-go32.c (gdb_pipe): New.
* ser-pipe.c (pipe_close): Close file descriptor even if there's
no state pointer.
(pipe_ops): Delete.
(gdb_pipe): New.
Keith Seitz [Fri, 20 Aug 2010 17:16:44 +0000 (17:16 +0000)]
PR symtab/11465:
* dwarf2read.c (struct delayed_method_info): New struct.
(struct dwarf2_cu): Add vector method_list.
(scan_partial_symbols): Count methods for union, class, structure,
and interface types.
(add_to_method_list): New function.
(free_delayed_list): New function.
(compute_delayed_physnames): New function.
(process_full_comp_unit): Make a cleanup for the CU's delayed
physname list, compute the delayed physnames, and free the
the list.
(dwarf2_add_member_fn): For C++ and Java, delay the computation
of the physname until after the CU is read.
* dwarf2read.c (read_structure_type): Check if the current
DIE's type was already completed after dwarf2_full_name
was called.
Keith Seitz [Fri, 20 Aug 2010 17:16:15 +0000 (17:16 +0000)]
PR symtab/11465:
* gdb.dwarf2/pr11465.exp: New test.
* gdb.dwarf2/pr11465.S: New file.
* gdb.dwarf2/dw2-double-set-die-type.S: New file.
* gdb.dwarf2/dw2-double-set-die-type.exp: New test.
Nick Clifton [Fri, 20 Aug 2010 15:01:45 +0000 (15:01 +0000)]
* emultempl/elf32.em (_after_open): Check for get_elf_backend_data
returning NULL.
Nick Clifton [Fri, 20 Aug 2010 14:41:48 +0000 (14:41 +0000)]
* merge.c (sec_merge_emit): Do not zero pad sections that do not
have an alignment.
Cary Coutant [Fri, 20 Aug 2010 00:35:13 +0000 (00:35 +0000)]
* gold/archive.h (Add_lib_group_symbols): Add readsyms_blocker_, adjust
constructor, and set_blocker.
* gold/archive.cc (Add_lib_group_symbols::is_runnable): Also check
readsyms_blocker_.
* gold/readsyms.cc (Read_symbols::do_lib_group): Also pass
this->this_blocker_ to Add_lib_group_symbols::set_blocker.
* testsuite/Makefile.am (start_lib_test): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/start_lib_test_main.c: New file.
* testsuite/start_lib_test_1.c: New file.
* testsuite/start_lib_test_2.c: New file.
* testsuite/start_lib_test_3.c: New file.
Alan Modra [Fri, 20 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 20 Aug 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Stan Shebs [Thu, 19 Aug 2010 23:43:31 +0000 (23:43 +0000)]
* NEWS: Mention some additional changes.
Ian Lance Taylor [Thu, 19 Aug 2010 23:42:03 +0000 (23:42 +0000)]
* Makefile.in: Rebuild with automake 1.11.1.
* aclocal.m4: Likewise.
* testsuite/Makefile.in: Likewise.
Ian Lance Taylor [Thu, 19 Aug 2010 22:50:16 +0000 (22:50 +0000)]
PR 10893
* i386.cc (class Output_data_plt_i386): Update declarations.
Define Global_ifunc and Local_ifunc types. Add global_ifuncs_ and
local_ifuncs_ fields.
(Target_i386::do_plt_section_for_global): New function.
(Target_i386::do_plt_section_for_local): New function.
(Output_data_plt_i386::Output_data_plt_i386): Add symtab
parameter; change all callers. Initialize global_ifuncs_ and
local_ifuncs_. If doing a static link define __rel_iplt_start and
__rel_iplt_end.
(Output_data_plt_i386::add_entry): Handle IFUNC symbols.
(Output_data_plt_i386::add_local_ifunc_entry): New function.
(Output_data_plt_i386::do_write): Fix GOT entries for IFUNC
symbols.
(Target_i386::make_plt_section): New function, broken out of
make_plt_entry. Set sh_info field of .rel.plt to point to .plt.
(Target_i386::make_plt_entry): Call make_plt_section.
(Target_i386::make_local_ifunc_plt_entry): New function.
(Target_i386::Scan::reloc_needs_iplt_for_ifunc): New function.
(Target_i386::Scan::local): Handle IFUNC symbols. Add
R_386_IRELATIVE to switch.
(Target_i386::Scan::global): Likewise.
(Target_i386::Relocate::relocate): Likewise.
(Target_i386::Relocatable_size_for_reloc): Add R_386_IRELATIVE to
switch.
* x86_64.cc (class Output_data_plt_x86_64): Update declarations.
(Target_x86_64::do_plt_section_for_global): New function.
(Target_x86_64::do_plt_section_for_local): New function.
(Output_data_plt_x86_64::Output_data_plt_x86_64): Add symtab
parameter; change all callers. If doing a static link define
__rela_iplt_start and __rela_iplt_end.
(Output_data_plt_x86_64::add_entry): Handle IFUNC symbols.
(Output_data_plt_x86_64::add_local_ifunc_entry): New function.
(Target_x86_64::make_plt_section): Set sh_info field of .rel.plt
to point to .plt.
(Target_x86_64::make_local_ifunc_plt_entry): New function.
(Target_x86_64::Scan::check_non_pic): Add R_X86_64_IRELATIVE to
switch.
(Target_x86_64::Scan::reloc_needs_iplt_for_ifunc): New function.
(Target_x86_64::Scan::local): Handle IFUNC symbols. Add
R_X86_64_IRELATIVE to switch.
(Target_x86_64::Scan::global): Likewise.
(Target_x86_64::Relocate::relocate): Likewise.
(Target_x86_64::Relocatable_size_for_reloc): Add R_X86_64_IRELATIVE to
switch.
* target.h (class Target): Add plt_section_for_global and
plt_section_for_local functions. Add do_plt_section_for_global
and do_plt_section_for_local virtual functions.
* symtab.h (Symbol::needs_plt_entry): Handle IFUNC symbol. Add
clarifying comments.
(Symbol::use_plt_offset): Handle IFUNC symbol.
* object.cc (Sized_relobj::Sized_relobj): Initialize
local_plt_offsets_.
(Sized_relobj::local_has_plt_offset): New function.
(Sized_relobj::local_plt_offset): New function.
(Sized_relobj::set_local_plt_offset): New function.
(Sized_relobj::do_count): Handle IFUNC symbol.
* object.h (class Symbol_value): Add is_ifunc_symbol_ field. Take
a bit away from input_shndx_ field. Add set_is_func_symbol and
is_ifunc_symbol functions.
(class Sized_relobj): Update declarations. Remove Tls_got_entry
and Local_tls_got_offsets. Define Local_plt_offsets. Add
local_plt_offsets_ field.
(Sized_relobj::clear_local_symbols): Clear local_plt_offsets_.
* output.h (class Output_section_data): Add non-const
output_section function.
(class Output_data_got): Update declarations.
(class Output_data_got::Got_entry): Add use_plt_offset_ field.
Add use_plt_offset parameter to global and local constructors.
Change all callers. Change local_sym_index_ field to 31 bits.
Change GSYM_CODE and CONSTANT_CODE accordingly.
* output.cc (Output_data_reloc_base::do_adjust_output_section): If
doing a static link don't set sh_link field.
(Output_data_got::Got_entry::write): Use PLT offset if
appropriate.
(Output_data_got::add_global_plt): New function.
(Output_data_got::add_local_plt): New function.
* target-reloc.h (relocate_section): Handle IFUNC symbol.
* defstd.cc (in_section): Remove entries for __rel_iplt_start,
__rel_iplt_end, __rela_iplt_start, and __rela_iplt_end.
* configure.ac: Set IFUNC automake conditional for glibc >= 2.11.
* testsuite/Makefile.am: Add a bunch of IFUNC tests, all within
IFUNC conditional.
* testsuite/ifunc-sel.h: New file.
* testsuite/ifuncmain1.c: New file.
* testsuite/ifuncmain1vis.c: New file.
* testsuite/ifuncmod1.c: New file.
* testsuite/ifuncdep2.c: New file.
* testsuite/ifuncmain2.c: New file.
* testsuite/ifuncmain3.c: New file.
* testsuite/ifuncmod3.c: New file.
* testsuite/ifuncmain4.c: New file.
* testsuite/ifuncmain5.c: New file.
* testsuite/ifuncmod5.c: New file.
* testsuite/ifuncmain6pie.c: New file.
* testsuite/ifuncmod6.c: New file.
* testsuite/ifuncmain7.c: New file.
* configure, testsuite/Makefile.in: Rebuild.
H.J. Lu [Thu, 19 Aug 2010 21:04:36 +0000 (21:04 +0000)]
Fix a typo in comments.
2010-08-19 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (VEX_check_operands): Fix a typo in comments.
Tom Tromey [Thu, 19 Aug 2010 18:40:46 +0000 (18:40 +0000)]
* Makefile.in (install-python): Add DESTDIR.
Thiago Jung Bauermann [Thu, 19 Aug 2010 17:52:49 +0000 (17:52 +0000)]
* gdb.arch/vsx-regs.exp: Remove wrong comment about testing AltiVec
registers. Update data sets with the new v2_double element in the
VSX register union. Add vector_register3_vr data set for the AltiVec
registers. Use gdb_test_no_output instead of send_gdb.
Pedro Alves [Thu, 19 Aug 2010 17:00:58 +0000 (17:00 +0000)]
* gdb.python/py-shared.exp: New file, factored out from
python.exp.
* gdb.python/py-shared.c: New file.
* gdb.python/py-shared-sl.c: New file.
* gdb.python/python-1.c: New file.
* gdb.python/python-sl.c: Delete.
* gdb.python/python.c: Mention python-1.c.
* gdb.python/python.exp: Move shared library tests to
py-shared.exp.
* gdb.python/Makefile.in (EXECUTABLES): Add py-shared and python.
(MISCELLANEOUS): New.
(clean mostlyclean): Also remove $MISCELLANEOUS.
Doug Evans [Thu, 19 Aug 2010 13:33:15 +0000 (13:33 +0000)]
PR exp/11926
* parser-defs.h (parse_float, parse_c_float): Declare.
* parse.c (parse_float, parse_c_float): New function.
* c-exp.y (parse_number): Call parse_c_float.
* objc-exp.y (parse_number): Ditto.
* p-exp.y (parse_number): Ditto. Use ANSI/ISO-style definition.
* jv-exp.y (parse_number): Call parse_float, fix suffix handling.
testsuite/
* gdb.base/printcmds.exp (test_float_accepted): New function.
Move existing float tests there. Add tests for floats with suffixes.
(test_float_rejected): New function.
* gdb.java/jv-print.exp (test_float_accepted): New function.
(test_float_rejected): New function.
* gdb.objc/print.exp: New file.
* gdb.pascal/print.exp: New file.
* lib/objc.exp: New file.
Joel Brobecker [Thu, 19 Aug 2010 09:04:13 +0000 (09:04 +0000)]
Fix regression in -file-list-exec-source-files command.
See http://sourceware.org/ml/gdb/2010-07/msg00118.html for
a description of the problem. Namely, the file and fullname
fields are inverted in the output of the -file-list-exec-source-files
GDB/MI command:
(gdb) interpreter-exec mi -file-list-exec-source-files
^done,files=[{file="/takamaka.a/brobecke/ex/list-exec-source-files/foo.c",fullname="foo.c"},{file="/takamaka.a/brobecke/ex/list-exec-source-files/foo.c",fullname="foo.c"},{file="",fullname="init.c"},{file="",fullname="../sysdeps/x86_64/elf/start.S"},{file="",fullname="../sysdeps/x86_64/elf/start.S"}]
It turns out to be a silly thinko: The map_symbol_filenames function
calls the psymtab version of map_symbol_filenames routine, and this
version called the callback function with filename and fullname
in the wrong order (fullname/filename instead of filename/fullname).
The routine description in symfile.h confirst that expected order for
the FUN callback parameters:
/* Call a callback for every file defined in OBJFILE. FUN is the
callback. It is passed the file's name, the file's full name,
and the DATA passed to this function. */
void (*map_symbol_filenames) (struct objfile *objfile,
void (*fun) (const char *, const char *,
void *),
void *data);
Fixing this error uncovered another location where the arguments
were reversed: maybe_add_partial_symtab_filename. Once the first
error was fixed, the debugger would crash while attempting to do
completion, because it was given a NULL fullname instead of the
non-NULL filename.
gdb/ChangeLog:
* psymtab.c (map_symbol_filenames_psymtab): Call FUN with
the arguments in the correct order.
* symtab.c (maybe_add_partial_symtab_filename): Declare
the arguments in the correct order.
Jan Kratochvil [Thu, 19 Aug 2010 07:34:27 +0000 (07:34 +0000)]
gdb/
* varobj.c (varobj_create): Replace variable old_fi with old_id,
initialize it by null_frame_id, wrap its usage by get_frame_id,
frame_id_p and frame_find_by_id.
Pierre Muller [Thu, 19 Aug 2010 07:05:56 +0000 (07:05 +0000)]
* gdb.base/default.exp (info set): Avoid full buffer error and force
reading up to final gdb prompt.
(show): Likewise.
Alan Modra [Thu, 19 Aug 2010 05:51:50 +0000 (05:51 +0000)]
binutils/
* NEWS: Mention change in linker script expression evaluation.
ld/
* ld.texinfo (Expression Section): Detail expression evaluation.
(Builtin Functions <ADDR>): Correct.
(Builtin Functions <LOADADDR>): Don't mention LOADADDR normally
the same as ADDR.
(Builtin Functions <SEGMENT_START>): Typo fix.
* ldexp.c (new_number): New function.
(make_abs, exp_get_abs_int): Cope with NULL expld.result.section.
(fold_unary <'~', '!', '-'>): Don't make_abs.
(fold_binary): Simplify result section logic. Return NULL section
for logical ops.
(fold_binary <SEGMENT_START>): Use new_rel_from_abs to set value to
a consistent result.
(fold_name <SIZEOF_HEADERS>): Return new_number, not new_abs.
(fold_name <DEFINED, SIZEOF, ALIGNOF, LENGTH, CONSTANT>): Likewise.
(fold_name <NAME>): No need to handle absolute symbols differently
from relative ones.
(fold_name <ORIGIN>): Don't return valid result when
lang_first_phase_enum. Return new_rel_from_abs, not new_abs.
(exp_fold_tree_1 <etree_value>): Return new_number, not new_rel.
(exp_fold_tree_1): Ajust for NULL expld.result.section. When assigning
a plain number to dot, assume the value is relative to expld.section.
Make terms not in an output section, absolute.
* ldlang.c (print_assignment): Fix style nit.
(lang_size_sections_1): Cope with NULL expld.result.section.
(lang_do_assignments_1): Likewise.
ld/testsuite/
* ld-scripts/memory.t: Remove ORIGIN fudge.
Ian Lance Taylor [Thu, 19 Aug 2010 00:02:18 +0000 (00:02 +0000)]
* incremental.cc
(Output_section_incremental_inputs::write_input_files): Add cast
to avoid signed/unsigned comparison warning.
(Output_section_incremental_inputs::write_info_blocks): Likewise.
gdbadmin [Thu, 19 Aug 2010 00:00:35 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 19 Aug 2010 00:00:06 +0000 (00:00 +0000)]
daily update
Tom Tromey [Wed, 18 Aug 2010 22:57:46 +0000 (22:57 +0000)]
PR python/11900:
* configure: Rebuild.
* configure.ac: Add install-python to CONFIG_INSTALL.
* Makefile.in (install-python): New.
H.J. Lu [Wed, 18 Aug 2010 19:36:41 +0000 (19:36 +0000)]
Check i.imm_operands VEXXDS.
2010-08-18 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (build_modrm_byte): Check i.imm_operands
instead of VEXXDS.
Doug Evans [Wed, 18 Aug 2010 19:13:33 +0000 (19:13 +0000)]
* gdb_assert.h (gdb_assert_not_reached): New macro.
(gdb_assert_fail): Fix typo in comment.
* avr-tdep.c (avr_return_value): Use gdb_assert_not_reached instead of
gdb_assert (0).
* darwin-nat.c (darwin_check_new_threads): Ditto.
* dwarf2read.c (dwarf2_get_section_info): Ditto.
(munmap_section_buffer): Ditto.
* m32c-tdep.c (make_types): Ditto.
(m32c_decode_srcdest4, m32c_decode_sd23, m32c_frame_base): Ditto.
* macroexp.c (get_character_constant): Ditto.
(get_string_literal): Ditto.
* mep-tdep.c (mep_pseudo_cr_size): Ditto.
(mep_pseudo_cr_index, mep_register_type): Ditto.
(mep_pseudo_register_read, mep_pseudo_register_write): Ditto.
(mep_get_insn, mep_analyze_prologue): Ditto.
* objfiles.c (qsort_cmp): Ditto.
* prologue-value.c (pv_is_identical): Ditto.
* record.c (record_get_loc): Ditto.
* value.c (value_static_field): Ditto.
* xtensa-tdep.c (call0_track_op): Ditto.
Tom Tromey [Wed, 18 Aug 2010 19:02:34 +0000 (19:02 +0000)]
gdb
PR symtab/11919:
* gdbtypes.c (lookup_struct_elt_type): Clean up error emission.
* parse.c (parse_field_expression): Use RETURN_MASK_ERROR. Move
name-copying lower. Document exception behavior.
* completer.c (expression_completer): Catch exceptions from
parse_field_expression.
gdb/testsuite
PR symtab/11919:
* gdb.base/completion.exp: Add test.
Cary Coutant [Wed, 18 Aug 2010 18:33:05 +0000 (18:33 +0000)]
* common.cc (Sort_commons::operator()): Remove unnecessary code.
Thiago Jung Bauermann [Wed, 18 Aug 2010 17:58:48 +0000 (17:58 +0000)]
* gdb.texinfo (PowerPC Embedded): Mention support for the DVC register.
Doug Evans [Wed, 18 Aug 2010 16:37:22 +0000 (16:37 +0000)]
* gdb.base/call-ar-st.exp (set_lang_c): Delete, unused.
* gdb.base/callfuncs.exp (set_lang_c): Delete, set c language directly.
* gdb.base/printcmds.exp (set_lang_c): Delete, set c language directly.
Simplify, early exit if runto_main fails.
* gdb.fortran/exprs.exp: load_lib fortran.exp.
(set_lang_fortran): Moved to lib/fortran.exp.
* gdb.fortran/types.exp: load_lib fortran.exp.
(set_lang_fortran): Moved to lib/fortran.exp.
* gdb.java/jmisc.exp (set_lang_java): Moved to lib/java.exp.
* gdb.java/jprint.exp (set_lang_java): Ditto.
* gdb.java/jv-exp.exp: load_lib java.exp.
If set_lang_java fails, issue a warning instead of failure to be
consistent with other set_lang_foo uses.
(set_lang_java): Moved to lib/java.exp.
* gdb.java/jv-print.exp (set_lang_java): Moved to lib/java.exp.
If set_lang_java fails, issue a warning instead of failure to be
consistent with other set_lang_foo uses.
* gdb.pascal/types.exp: load_lib pascal.exp.
(set_lang_pascal): Moved to lib/pascal.exp.
* lib/fortran.exp: New file.
* lib/java.exp (set_lang_java): New function.
* lib/pascal.exp (set_lang_pascal): New function.
Pedro Alves [Wed, 18 Aug 2010 12:25:49 +0000 (12:25 +0000)]
PR corefile/8210
* linux-thread-db.c (add_thread_db_info): Skip glibc/BZ5983
workaround on core files.
(try_thread_db_load_1): Don't try enabling thread event reporting
on core files.
(thread_db_load): Allow thread_db on core files.
(attach_thread): Don't check thread signals on core files, nor try
really attaching to the thread, nor enabling thread event event
reporting.
(thread_db_detach): Don't try disabing thread event reporting or
removing thread event breakpoints when debugging a core file.
(find_new_threads_callback): Don't try enabling thread event
reporting on core files.
(thread_db_find_new_threads_2): Don't look for a stopped lwp when
debugging a core file.
(thread_db_find_new_threads): Don't update thread
cores (processors) when debugging a core (dump).
Pedro Alves [Wed, 18 Aug 2010 12:24:13 +0000 (12:24 +0000)]
2010-08-18 Pedro Alves <pedro@codesourcery.com>
PR corefile/8210
bfd/
* bfd-in2.h: Regenerate.
* corefile.c (bfd_core_file_pid): New.
* targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid.
(struct bfd_target) <_core_file_pid>: New.
* libbfd-in.h (_bfd_nocore_core_file_pid): Declare.
* libbfd.c (_bfd_nocore_core_file_pid): New.
* elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid):
Declare.
* elfcode.h (elf_core_file_pid): New define.
* elfcore.h (elf_core_file_pid): New function.
* elf.c (elfcore_make_pid): Rewrite.
(elfcore_grok_prstatus): Only set core_pid if not set yet.
(elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to
getting the lwpid from prstat.pr_pid.
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
(elf64_x86_64_grok_psinfo): Extract the the main process's PID,
and store it in elf_tdata's core_pid field.
* elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
(elf_i386_grok_psinfo): Extract the the main process's PID, and
store it in elf_tdata's core_pid field.
* elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID
to elf_tdata's core_lwpid instead of to core_pid.
* elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID
to elf_tdata's core_lwpid instead of to core_pid.
* elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID
to elf_tdata's core_lwpid instead of to core_pid.
* elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
elf_tdata's core_lwpid instead of to core_pid.
* plugin.c (bfd_plugin_core_file_pid): New function.
* aout-target.h (MY_core_file_pid): Define.
* aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines.
* coff-rs6000.c (coff_core_file_pid): New define.
(rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE.
* coff64-rs6000.c (coff_core_file_pid): New define.
(rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE.
(xcoff64_core_file_pid): New define.
(aix5coff64_vec): Use BFD_JUMP_TABLE_CORE.
* mach-o-target.c (bfd_mach_o_core_file_pid): New define.
* aix386-core.c (aix386_core_file_pid): New define.
* hppabsd-core.c (hppabsd_core_core_file_pid): New define.
* hpux-core.c (hpux_core_core_file_pid): New define.
* irix-core.c (irix_core_core_file_pid): New define.
* lynx-core.c (lynx_core_file_pid): New define.
* osf-core.c (osf_core_core_file_pid): New define.
* ptrace-core.c (ptrace_unix_core_file_pid): New define.
* sco5-core.c (sco5_core_file_pid): New define.
* xcoff-target.h (coff_core_file_pid): New define.
* netbsd-core.c (netbsd_core_core_file_pid): New define.
gdb/
2010-08-18 Pedro Alves <pedro@codesourcery.com>
PR corefile/8210
gdb/
* corelow.c (add_to_thread_list): Don't use
gdbarch_core_reg_section_encodes_pid. Use bfd_core_file_pid.
(get_core_register_section): Don't use
gdbarch_core_reg_section_encodes_pid.
* gdbarch.sh (core_reg_section_encodes_pid): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
* amd64-sol2-tdep.c (amd64_sol2_init_abi): Don't set
gdbarch_core_reg_section_encodes_pid.
* i386-sol2-tdep.c (i386_sol2_init_abi): Ditto.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Ditto.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Ditto.
Alan Modra [Wed, 18 Aug 2010 05:56:41 +0000 (05:56 +0000)]
* macro.c (sub_actual): Add back ampersand suffix when no
substitution.
(macro_expand_body): Correct comment.
Yao Qi [Wed, 18 Aug 2010 03:20:46 +0000 (03:20 +0000)]
Forget to check in ChangeLog in my previous commit.
http://sourceware.org/ml/gdb-cvs/2010-08/msg00098.html
Yao Qi [Wed, 18 Aug 2010 03:16:05 +0000 (03:16 +0000)]
In order to fix a checkin mistake in dw2-ref-missing-frame-func.c:r1.2,
revert it back, and re-apply the correct patch again.
2010-08-18 Yao Qi <yao@codesourcery.com
* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
func_nofb_start and func_loopfb_start, so that address of functions
is equal to these labels on Thumb.
Yao Qi [Wed, 18 Aug 2010 03:06:39 +0000 (03:06 +0000)]
revert back to previous revision
Yao Qi [Wed, 18 Aug 2010 02:44:02 +0000 (02:44 +0000)]
2010-08-18 Yao Qi <yao@codesourcery.com
* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
func_nofb_start and func_loopfb_start, so that address of functions
is equal to these labels on Thumb.
Yao Qi [Wed, 18 Aug 2010 02:30:07 +0000 (02:30 +0000)]
2010-08-18 Yao Qi <yao@codesourcery.com>
* gdb.gdb/selftest.exp (do_steps_and_nexts): Update test case
to reflect latest c source file.
Yao Qi [Wed, 18 Aug 2010 02:24:47 +0000 (02:24 +0000)]
2010-08-18 Yao Qi <yao@codesourcery.com>
* MAINTAINERS : Add myself under Write After Approval.
H.J. Lu [Wed, 18 Aug 2010 00:43:46 +0000 (00:43 +0000)]
Add missing files.
gdbadmin [Wed, 18 Aug 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 18 Aug 2010 00:00:06 +0000 (00:00 +0000)]
daily update
Tom Tromey [Tue, 17 Aug 2010 21:34:12 +0000 (21:34 +0000)]
* NEWS: Mention template parameter support.
Jan Kratochvil [Tue, 17 Aug 2010 21:31:13 +0000 (21:31 +0000)]
gdb/testsuite/
* gdb.cp/infcall-dlopen.exp: New file.
* gdb.cp/infcall-dlopen.cc: New file.
* gdb.cp/infcall-dlopen-lib.cc: New file.
Pedro Alves [Tue, 17 Aug 2010 21:12:32 +0000 (21:12 +0000)]
* breakpoint.c (decref_bp_location): Assert the reference count is
sane.
Pedro Alves [Tue, 17 Aug 2010 20:59:04 +0000 (20:59 +0000)]
gdb/
2010-08-17 Pedro Alves <pedro@codesourcery.com>
PR breakpoints/11371
* breakpoint.c (breakpoint_init_inferior): Decrement the
location's reference count instead of deleting right away.
(bpstat_free): Decrement the location's reference count. Make
static.
(bpstat_copy): Increment the location's reference count.
(bpstat_find_breakpoint): Adjust.
(bpstat_num): Adjust.
(print_it_typical): Adjust. Use the breakpoint pointer in the
bpstat instead of the location's owner.
(bpstat_alloc): Remove const qualifier from the 'bl' parameter.
Adjust to record the location's owner in the bpstat.
(watchpoint_check): Use the breakpoint pointer in the bpstat
instead of the location's owner.
(bpstat_check_breakpoint_conditions): Don't handle
bp_watchpoint_scope here. Use the breakpoint pointer in the
bpstat instead of the location's owner.
(bpstat_stop_status): Defer inferior function calls to after
building the bpstat list. Handle bp_watchpoint_scope here. Use
the breakpoint pointer in the bpstat instead of the location's
owner.
(bpstat_what): Use the breakpoint pointer in the bpstat instead of
the location's owner.
(free_bp_location): Don't walk bpstats clearing locations.
(incref_bp_location): New.
(decref_bp_location): New.
(breakpoint_auto_delete): Use the breakpoint pointer in the bpstat
instead of the location's owner.
(update_global_location_list): Clear the location's owner, and
decrement the location's reference count instead of deleting it
right away.
(breakpoint_retire_moribund): Decrement the location's reference
count instead of deleting it right away.
(bpstat_remove_bp_location): Delete.
(bpstat_remove_breakpoint): New.
(bpstat_remove_bp_location_callback): Delete.
(bpstat_remove_breakpoint_callback): New.
(delete_breakpoint): Iterate over all threads' stop_bpstat's
clearing references to the breakpoint that is being deleted.
* breakpoint.h (struct bp_location) <refc>: New field.
<owner>: Update comments.
(bpstat_free): Delete declaration.
(struct bpstats): Change the type of the breakpoint_at field to
struct breakpoint point, from struct bp_location pointer. Add new
field bp_location_at.
gdb/testsuite/
2010-08-17 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <pedro@codesourcery.com>
PR breakpoints/11371
* gdb.base/watch-cond-infcall.exp: New file.
* gdb.base/watch-cond-infcall.c: New file.
H.J. Lu [Tue, 17 Aug 2010 20:37:26 +0000 (20:37 +0000)]
Replace Eb with Mb on prefetch and prefetchw.
2010-08-17 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (reg_table): Replace Eb with Mb on prefetch and
prefetchw.
Roland McGrath [Tue, 17 Aug 2010 20:03:41 +0000 (20:03 +0000)]
Add "?" pseudo-flag to ELF .section/.pushsection directives.
Alan Modra [Tue, 17 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 17 Aug 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Tom Tromey [Mon, 16 Aug 2010 21:19:29 +0000 (21:19 +0000)]
* NEWS: Fix typo.
Tom Tromey [Mon, 16 Aug 2010 21:15:46 +0000 (21:15 +0000)]
* NEWS: Mention watch -location.
Jan Kratochvil [Mon, 16 Aug 2010 19:53:05 +0000 (19:53 +0000)]
gdb/
* breakpoint.c (update_watchpoint): Add source empty line. Prefer
EXP_STRING_REPARSE to EXP_STRING.
(watch_command_1): Set also EXP_STRING_REPARSE.
(delete_breakpoint): Free also EXP_STRING_REPARSE.
* breakpoint.h (struct breakpoint): New field exp_string_reparse.
Update comment for exp_string.
Tom Tromey [Mon, 16 Aug 2010 19:19:22 +0000 (19:19 +0000)]
gdb
* value.c (release_value): Clear 'next' pointer.
* breakpoint.c (watch_command_1): Add 'just_location' argument.
(watch_command_wrapper): Update.
(watch_maybe_just_location): New function.
(watch_command): Update.
(rwatch_command_wrapper): Update.
(rwatch_command): Update.
(awatch_command_wrapper): Update.
(awatch_command): Update.
(check_for_argument): New function.
(_initialize_breakpoint): Update help text.
gdb/testsuite
* gdb.base/help.exp: Update.
* gdb.base/watchpoint.exp (test_watchpoint_and_breakpoint): Delete
watchpoint.
(test_watch_location): New proc.
(test_watchpoint_in_big_blob): Delete watchpoint.
* gdb.base/watchpoint.c (func5): New function.
(main): Call it.
gdb/doc
* gdb.texinfo (Set Watchpoints): Document -location option.
Doug Evans [Mon, 16 Aug 2010 18:01:40 +0000 (18:01 +0000)]
* gdb.python/python.exp: Fix syntax in "post event insertion" test.
gdbadmin [Mon, 16 Aug 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 16 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 15 Aug 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 15 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Ulrich Weigand [Sat, 14 Aug 2010 00:45:39 +0000 (00:45 +0000)]
* arm-tdep.c (arm_push_dummy_call): Handle pointers to
typedef'ed function types correctly.
Alan Modra [Sat, 14 Aug 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 14 Aug 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Tom Tromey [Fri, 13 Aug 2010 20:50:47 +0000 (20:50 +0000)]
* python/python-internal.h (gdbpy_get_hook_function): Don't
declare.
H.J. Lu [Fri, 13 Aug 2010 20:50:27 +0000 (20:50 +0000)]
Check if .got.plt section is discarded before using it.
bfd/
2010-08-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11913
* elf32-i386.c (elf_i386_finish_dynamic_sections): Check if
.got.plt section is discarded.
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise.
ld/testsuite/
2010-08-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11913
* ld-i386/discarded1.d: New.
* ld-i386/discarded1.s: Likewise.
* ld-i386/discarded1.t: Likewise.
* ld-x86-64/discarded1.d: Likewise.
* ld-x86-64/discarded1.s: Likewise.
* ld-x86-64/discarded1.t: Likewise.
* ld-i386/i386.exp: Run discarded1.
* ld-x86-64/x86-64.exp: Likewise.