Joel Brobecker [Thu, 27 Sep 2012 12:53:44 +0000 (12:53 +0000)]
New unit sparc-sol-thread.c extracted from sol-thread.c
Moving some sparc-specific routines out of sol-thread.c into their
own (new) file.
gdb/ChangeLog:
* sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs):
Move these functions to sparc-sol-thread.c.
* sparc-sol-thread.c: New file.
* configure.ac: Add sparc-sol-thread.o to CONFIG_OBS and
sparc-sol-thread.c to CONFIG_SRCS for sparc-solaris native
configurations.
* configure: Regenerate.
Joel Brobecker [Thu, 27 Sep 2012 12:52:10 +0000 (12:52 +0000)]
Add procfs_find_LDT_entry declaration (procfs.h).
Add a declaration for procfs_find_LDT_entry in order to prevent
a compiler warning about this function missing one. This also
helps making sure that declaration and definition remain consistent.
gdb/ChangeLog:
* procfs.h (procfs_find_LDT_entry): Add declaration.
* sol-thread.c (ps_lgetLDT): Delete local declaration of
function procfs_find_LDT_entry.
Tom Tromey [Wed, 26 Sep 2012 19:50:13 +0000 (19:50 +0000)]
* dwarf2read.c (mark_common_block_symbol_computed): New function.
(read_common_block): Handle child DIEs with
DW_AT_data_member_location.
(new_symbol_full): Add special case for common blocks.
gdb/testsuite
* gdb.dwarf2/dw2-common-block.S: New file.
* gdb.dwarf2/dw2-common-block.exp: New file.
Alan Modra [Tue, 25 Sep 2012 00:59:25 +0000 (00:59 +0000)]
* object.h (Sized_relobj_file::adjust_local_symbol,
do_adjust_local_symbol): New functions.
* object.cc (Sized_relobj_file::do_count_local_symbols): Use the above.
* powerpc.cc (Powerpc_relobj::do_adjust_local_symbol): New function.
(Powerpc_relobj::scan_opd_relocs): Warn on unexpected opd relocs
and irregular opd entry spacing.
(Powerpc_relobj::do_read_relocs): Add opd size checks.
(Global_symbol_visitor_opd): New functor.
(Target_powerpc::do_finalize_sections): Omit global symbols defined
on deleted opd entries.
gas/testsuite/
2012-09-23 Maciej W. Rozycki <macro@codesourcery.com>
* gas/mips/hilo-diff-eb.d: New test.
* gas/mips/hilo-diff-eb-n32.d: New test.
* gas/mips/hilo-diff-eb-n64.d: New test.
* gas/mips/hilo-diff-el.d: New test.
* gas/mips/hilo-diff-el-n32.d: New test.
* gas/mips/hilo-diff-el-n64.d: New test.
* gas/mips/mips16@hilo-diff-eb.d: New test.
* gas/mips/mips16@hilo-diff-eb-n32.d: New test.
* gas/mips/mips16@hilo-diff-eb-n64.d: New test.
* gas/mips/mips16@hilo-diff-el.d: New test.
* gas/mips/mips16@hilo-diff-el-n32.d: New test.
* gas/mips/mips16@hilo-diff-el-n64.d: New test.
* gas/mips/micromips@hilo-diff-eb.d: New test.
* gas/mips/micromips@hilo-diff-eb-n32.d: New test.
* gas/mips/micromips@hilo-diff-eb-n64.d: New test.
* gas/mips/micromips@hilo-diff-el.d: New test.
* gas/mips/micromips@hilo-diff-el-n32.d: New test.
* gas/mips/micromips@hilo-diff-el-n64.d: New test.
* gas/mips/hilo-diff.s: New test source.
* gas/mips/mips.exp: Run the new tests.
gas/
* config/tc-mips.h (TC_FORCE_RELOCATION): Remove comment.
* config/tc-mips.c (calculate_reloc): New function.
(append_insn): Use it. Do not resolve compound relocations here.
(mips16_macro_build, mips16_ip): Use calculate_reloc.
(mips16_immed_extend): New function, split out from...
(mips16_immed): ...here.
(mips_frob_file): Handle null symbols.
(mips_force_relocation): Remove NEWABI handling.
(read_reloc_insn, write_reloc_insn): New functions.
(md_apply_fix): Report TLS relocations against constants.
Use read_reloc_insn, calculate_reloc and write_reloc_insn.
Report relocations against constants that can't be resolved
at assembly time.
gas/testsuite/
* gas/mips/elf-rel22.s, gas/mips/elf-rel22.d: Add more tests.
* gas/mips/elf-rel29.s, gas/mips/elf-rel29.d,
gas/mips/micromips@elf-rel29.d, gas/mips/elf-rel30.s,
gas/mips/elf-rel30.l: New tests.
* gas/mips/mips.exp: Run them.
gas/
2012-09-23 Richard Sandiford <rdsandiford@googlemail.com>
Maciej W. Rozycki <macro@codesourcery.com>
* config/tc-mips.h (mips_record_label): Delete.
(mips_add_dot_label): Declare.
(tc_new_dot_label): Use it.
* config/tc-mips.c (mips_assembling_insn): New variable.
(md_assemble): Call mips_mark_labels. Set mips_assembling_insn
while the main part of the function is executing.
(mips_compressed_mark_label): New function, split out from...
(mips_compressed_mark_labels): ...here.
(append_insn): Don't call mips_mark_labels here.
(mips_record_label): Make local.
(mips_add_dot_label): New function.
gas/testsuite/
* gas/mips/dot-1.s, gas/mips/dot-1.d, gas/mips/micromips@dot-1.d,
gas/mips/mips16@dot-1.d: New test.
* gas/mips/mips.exp: Run it.
gas/
* config/tc-mips.c (SEXT_16BIT): New macro.
(mips16_immed): Take the reloc type as a parameter. Do not impose
a signed vs. unsigned distinction on the value when a relocation
operator was used.
(mips16_macro_build, mips16_ip, md_convert_frag): Pass the reloc
type to mips16_immed.
(macro): Use SEXT_16BIT.
gas/
* config/tc-mips.c (mips_cl_insn): Remove use_extend and extend.
(MIPS16_EXTEND): New macro.
(mips16_opcode_length): New function.
(insn_length): Use it.
(create_insn): Update after mips_cl_insn change.
(write_compressed_insn): New function.
(install_insn): Use it.
(append_insn): Use insn_length to check for unextended MIPS16
instructions.
(mips16_macro_build): Update call to mips16_immed.
(mips16_ip): Likewise. Use MIPS16_EXTEND to force an extended
instruction.
(mips16_immed): Remove use_extend and extend; install EXTEND
opcodes in the upper 16 bits of *INSN instead. Keep the
instruction extended if it already is. Replace warn, small
and ext with a forced_insn_length-like parameter.
(md_convert_frag): Update call mips16_immed.
Use write_compressed_insn.
Jan Kratochvil [Fri, 21 Sep 2012 20:01:12 +0000 (20:01 +0000)]
gdb/
Fix internal error on canonicalization of clang types.
* cp-name-parser.y (operator): New comment at make_operator call for
new, delete, new[] and delete[].
(exp): Use "sizeof ". Add new comment at make_operator call.
gdb/testsuite/
Fix internal error on canonicalization of clang types.
* gdb.dwarf2/dw2-canonicalize-type.S: New file.
* gdb.dwarf2/dw2-canonicalize-type.exp: New file.
* lib/gdb.exp (gdb_file_cmd): Catch also GDB internal error.
Tom Tromey [Thu, 20 Sep 2012 20:54:11 +0000 (20:54 +0000)]
* NEWS: Update.
* python/python.c (finalize_python): New function.
(_initialize_python): Make a final cleanup.
testsuite
* gdb.python/python.exp: Test atexit.register.
Thomas Schwinge [Wed, 19 Sep 2012 11:10:54 +0000 (11:10 +0000)]
gdb/
* sh-tdep.c (sh_register_convert_to_virtual)
(sh_register_convert_to_raw): Add a gdbarch parameter. Update
all callers. Just do a memcpy if not the little-endian case.
Alan Modra [Wed, 19 Sep 2012 02:51:09 +0000 (02:51 +0000)]
* ld-scripts/assign-loc.d: New file. Test for assigning absolute
symbol to location counter.
* ld-scripts/assign-loc.t: New file. Linker script for above test.
* ld-scripts/expr.exp: Add new assignment test.
* elflink.c (_bfd_elf_merge_symbol): Add an argument to return
if the old symbol is weak.
(_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol
call.
(elf_link_add_object_symbols): Don't update symbol type from a
weak definition. Update symbol type from a common symbol when
overriding a weak symbol.
ld/testsuite/
PR ld/14591
* ld-elf/comm-data.exp (run_ld_link_tests): Add comm-data3a and
comm-data3b tests.
Joel Brobecker [Tue, 18 Sep 2012 16:52:19 +0000 (16:52 +0000)]
wrong language used when re-setting breakpoint
The debugger sometimes fails to re-set a breakpoint as follow,
causing it to become disabled:
(gdb) b nested_sub
Breakpoint 1 at 0x401cec: file foo.adb, line 7.
(gdb) b do_nothing
Breakpoint 2 at 0x401cdc: file pck.adb, line 4.
(gdb) run
Starting program: /[...]/foo
Error in re-setting breakpoint 1: Function "nested_sub" not defined.
Breakpoint 2, pck.do_nothing () at pck.adb:4
4 null;
This only happens on machines where the debug-file-directory is
a valid directory name.
The reason behind the error is that the linespec code that re-sets
the breakpoints uses the current_language global when iterating
over a symtab's symbols. However, the that global gets switched from
Ada to C during the startup phase, probably as a side-effect of stopping
in some system code for which debugging info is available. The fix
is to make sure that we use the correct language.
gdb/ChangeLog:
* linespec.c (iterate_over_all_matching_symtabs): Use the correct
language when iterating over symbols.
Yao Qi [Tue, 18 Sep 2012 12:09:28 +0000 (12:09 +0000)]
gdb/doc:
* gdb.texinfo (GDB/MI Async Records): Document new MI
notifications '=tsv-created' and '=tsv-deleted'.
* observer.texi (GDB Observers): New observer tsv_created and
tsv_deleted.