Jan Kratochvil [Fri, 1 Jul 2011 20:19:04 +0000 (20:19 +0000)]
gdb/
Stop on first linespec terminator instead of eating what we can.
* linespec.c (is_linespec_boundary): New function.
(name_end): Remove function.
(keep_name_info): New parameter on_boundary, replace the body.
(decode_line_1): Provide the parameter to keep_name_info.
(decode_compound): Likewise. Drop the trailing java return type
handling. Twice.
gdb/testsuite/
Stop on first linespec terminator instead of eating what we can.
* gdb.cp/minsym-fallback-main.cc (main): Call also C::operator ().
* gdb.cp/minsym-fallback.cc (C::operator ()): Define.
* gdb.cp/minsym-fallback.exp (break 'C::f()'): Change to ...
(break C::f()): ... this one.
(break C::operator()()): New test.
* gdb.cp/minsym-fallback.h (C::operator ()): Declare.
* gdb.java/jmisc.exp (break jmisc.main(java.lang.String[])int): New
test.
Jan Kratochvil [Fri, 1 Jul 2011 20:16:39 +0000 (20:16 +0000)]
gdb/
Fall back linespec to minimal symbols.
* linespec.c (decode_line_1): New variable ex, saved_argptr. Protect
decode_compound by TRY_CATCH, fall back on minsyms if it failed.
(find_method, symbol_found): Change error to cplusplus_error.
gdb/testsuite/
Fall back linespec to minimal symbols.
* gdb.base/psymtab.exp (Don't search past end of psymtab.): Update the
error message.
* gdb.cp/cplusfuncs.exp (list foo::operator int*): Likewise.
* gdb.cp/minsym-fallback-main.cc: New file.
* gdb.cp/minsym-fallback.cc: New file.
* gdb.cp/minsym-fallback.exp: New file.
* gdb.cp/minsym-fallback.h: New file.
Jan Kratochvil [Fri, 1 Jul 2011 19:19:13 +0000 (19:19 +0000)]
gdb/Changelog fix:
* symtab.c (symbol_find_demangled_name): Remove DMGL_VERBOSE.
Jan Kratochvil [Fri, 1 Jul 2011 19:18:36 +0000 (19:18 +0000)]
gdb/
* symtab.c (symbol_find_demangled_name): Likewise.
gdb/testsuite/
* gdb.cp/no-dmgl-verbose.cc: New file.
* gdb.cp/no-dmgl-verbose.exp: New file.
Jan Kratochvil [Fri, 1 Jul 2011 19:12:12 +0000 (19:12 +0000)]
gdb/
* dwarf2read.c (check_physname): New variable.
(dwarf2_physname): Prefer DW_AT_linkage_name over dwarf2_compute_name.
(show_check_physname): New function.
(_initialize_dwarf2_read): Add `check-physname' for check_physname.
gdb/doc/
* gdb.texinfo (Debugging Output): Document set debug
check-physname.
gdb/testsuite/
* gdb.base/break-interp.exp (reach_1, test_ld): Allow also the prefix
__GI_.
* gdb.cp/psymtab-parameter.cc (func): Make it a template function.
(f): New function.
* gdb.cp/psymtab-parameter.exp (complete break 'func(): Rename to ...
(complete p 'func<short>(): ... here.
* gdb.dwarf2/dw2-linkage-name-trust-main.cc: New file.
* gdb.dwarf2/dw2-linkage-name-trust.S: New file.
* gdb.dwarf2/dw2-linkage-name-trust.exp: New file.
* gdb.cp/temargs.exp (test type of F in k3_m, test value of F in k3_m):
Make them KFAIL gcc/49546.
Joel Brobecker [Fri, 1 Jul 2011 18:36:45 +0000 (18:36 +0000)]
remove comment in machoread.c (macho_symfile_read)
Does not seem to be applicable to the current code anymore.
gdb/ChangeLog:
* machoread.c (macho_symfile_read): Delete OBE comment.
Joel Brobecker [Fri, 1 Jul 2011 18:36:36 +0000 (18:36 +0000)]
[mach-o] get rid of current_oso global
This current_oso global was used to store the OSO's symbol table
in order to relocate common symbols. But it is also making the
assumption that all sections are going to be immediately relocated
as macho_add_oso_symfile does:
- Initialize the current_oso
- Use it through symbol_file_add_from_bfd
- Reset the current_oso (to all fields NULL)
What actually happens is that the .debug_frame section gets read
lazily, and thus relocated at a later time. This relocation causes
current_oso.symbol_table to be initialized (see macho_symfile_relocate)
again. And this eventually causes to trip the...
gdb_assert (current_oso.symbol_table == NULL);
...assertion to fail because the symbol_table was never free'ed.
To be complete, this happens because macho_symfile_relocate was
called outside of macho_add_oso_symfile's control, where the
set-global/use/unset-global dance happens.
But it looks like keeping this global around is not necessary, as
this symbol table is only used to relocate the common symbols.
We can do that prior to relocating the rest of the symbols.
gdb/ChangeLog:
* machoread.c (struct macho_oso_data): Delete.
(current_oso): Delete.
(macho_relocate_common_syms): New function, mostly extracted
out of
(macho_add_oso_symfile): Call macho_relocate_common_syms.
Remove code that sets and unset current_oso.
(macho_symfile_relocate): Delete handling of common symbols,
now moved to macho_relocate_common_syms.
Joel Brobecker [Fri, 1 Jul 2011 18:36:28 +0000 (18:36 +0000)]
[Darwin] Do not crash (failed assertion) after PT_KILL ptrace error
It might not be a debugger bug that caused the PT_KILL ptrace operation
to fail. So emit a warning instead, and try to continue.
This patch also tries to handle the case where ptrace return -1,
but left errno set to zero. According to the ptrace man page,
it is possible for some ptrace operations to return -1 in non-error
situations, and to detect those situations, it explains that errno
should be set prior to calling ptrace, and then checked again after.
gdb/ChangeLog:
* darwin-nat.c (darwin_ptrace): Add documentation.
Set errno to zero before calling ptrace. If ptrace returns
-1 and errno is zero, then change then return zero.
(darwin_kill_inferior): Issue a warning instead of triggering
a failed assertion when the PT_KILL ptrace operations returned
nonzero.
Joel Brobecker [Fri, 1 Jul 2011 18:36:12 +0000 (18:36 +0000)]
Darwin/detach: Do not resume inferior after ptrace detach
When trying to detach from an inferior that we start from the debugger,
GDB prints the following warning:
(gdb) detach
Detaching from program: /[...]/foo, process 74593
warning: Mach error at "/[...]/darwin-nat.c:445" in function "darwin_resume_inferior": (os/kern) failure (0x5)
The warning comes from the following code in darwin_detach:
darwin_resume_inferior (inf);
This is because the process has already been resumed by the
PT_DETACH ptrace operation that has just been performed.
On the other hand, when trying to detach from an inferior that
was started outside of debugger control (thus after having attached
the debugger to that inferior), things go smoothly. That's because
we don't use ptrace to control the process in that case, and so
the resume is perfectly justified.
This patch makes sure that we resume the inferior during the detach
only when we're NOT using ptrace.
gdb/ChangeLog:
* darwin-nat.c (darwin_detach): Call darwin_resume_inferior
only when inf->private->no_ptrace.
Joel Brobecker [Fri, 1 Jul 2011 18:35:36 +0000 (18:35 +0000)]
bettter display for temporary Ada exception catchpoints
Temporary catchpoints on Ada exceptions are now displayed as "Temporary
catchpoint" as opposed to just "Catchpoint". This is cosmetic only, but
in line with what's done for other catchpoints as well as breakpoints.
gdb/ChangeLog:
* ada-lang.c (print_it_exception): Print temporary catchpoints
as "Temporary catchpoint".
(print_mention_exception): Likewise.
gdb/testsuite/ChangeLog:
* gdb.ada/catch_ex.exp: Add temporary catchpoint tests.
Jan Kratochvil [Fri, 1 Jul 2011 18:32:06 +0000 (18:32 +0000)]
gdb/testsuite/
Test GCC PR debug/49546.
* gdb.cp/temargs.exp (set sixth breakpoint for temargs)
(test type of F in k3_m, test value of F in k3_m): New.
* gdb.cp/temargs.cc (struct S3, struct K3): New.
(main): New variable k3. Call k3.k3_m.
Tom Tromey [Fri, 1 Jul 2011 18:28:52 +0000 (18:28 +0000)]
* jv-lang.c (java_language_defn): Use java_printchar,
java_printstr.
(java_get_encoding): New function.
(java_emit_char): Use generic_emit_char.
(java_printchar): New function.
(java_printstr): Likewise.
Joel Brobecker [Fri, 1 Jul 2011 18:27:35 +0000 (18:27 +0000)]
crash when printing type of tagged type
If the debugging info is incorrect or incomplete, printing the
type description of a variable that's a variant tagged type can
trigger a crash. The crash comes from us trying print a NULL
string which was supposed to be the parent type name.
We observed this behavior on bareboard targets where a-tags is
not always linked in, as is the case for native platforms, for
instance. Coupled with -feliminate-unused-debug-types, this leads
to GDB being unable to find type ada__tags__type_specific_data,
without which printing the type description above cannot be done
acurately. There is an easy workaround for this limitation,
which is to compile at least 1 unit with
-fno-eliminate-unused-debug-types, but GDB should also be made
resilient to this situation.
gdb/ChangeLog:
* ada-typeprint.c (print_record_type): If unable to decode
the name of the parent type, use the encoded name.
Joel Brobecker [Fri, 1 Jul 2011 18:27:25 +0000 (18:27 +0000)]
Fix printing address of packed array
When trying to print the address of a non-packed array, GDB
correctly prints the type name and address:
(gdb) print &var
$2 = (access pa.var) 0xbffff1d8
However, it is behaving differently when dealing with a packed
array:
(gdb) p &var
(access array (4 .. 8) of boolean <packed: 1-bit elements>) (4 =>
false, false, false, true, false)
The type description isn't all that bad, but GDB shouldn't be
printing the array value!
This patch fixes the `print` and `ptype` command on packed and
non-packed array. It also fixes a gdb.ada test to match with
the new ouput.
gdb/ChangeLog (Jean-Charles Delay):
* ada-typeprint.c (ada_print_type): Fix both PAD type and
pointer to constrained packed array type output.
* ada-valprint.c (ada_val_print_1): Fix pointer to constrained
packed array output.
gdb/testsuite/ChangeLog (Jean-Charles Delay):
* gdb.ada/packed_array.exp: Fix expected outout.
Joel Brobecker [Fri, 1 Jul 2011 18:27:12 +0000 (18:27 +0000)]
Fix ada array bounds display
Array bounds were not correctly displayed when the SHOW parameter of
print_type functions is set to -1. This shows up in the following
type of situation, where we have a declaration as follow:
Anon_Array_Int_Obj : array (1..10) of Integer := (others => 8);
In GDB/MI mode, trying to print the type info for our array object
yields:
(gdb) -var-create ai 0 Anon_Array_Int_Obj
(gdb) -var-info-type ai
^done,type="array (...) of integer"
The actual bounds are missing. Contrast this with what happens
when in GDB/CLI mode:
(gdb) ptype Anon_Array_Int_Obj
type = array (1 .. 10) of integer
This patch fixes array type printing accordingly. And as it turns
out, it also improves the output for one of the tests already present,
so it shows that it's not just the GDB/MI mode that's affected.
gdb/ChangeLog (Jean-Charles Delay):
* ada-typeprint.c (print_array_type): removed if condition on show
being negative for bounds printing.
gdb/testsuite/ChangeLog (Jean-Charles Delay):
* gdb.ada/packed_array.exp: fixed expected output.
Joel Brobecker [Fri, 1 Jul 2011 18:26:50 +0000 (18:26 +0000)]
treat identical enum types as the same type
This is to avoid an unnecessary multiple-choice menu for an
expression involving an enumeral declared in two types, when
the second type is an identical copy of the first type. This
happens in the following situation:
type Color is (Black, Red, Green, Blue, White);
type RGB_Color is new Color range Red .. Blue;
In that case, an implict type is created, and is used as the base
type for type RGB_Color. This base type is a copy of type Color.
We've added some extensive comments explaining the situation and
our approach further.
gdb/ChangeLog:
* ada-lang.c (ada_identical_enum_types_p): New function.
(symbols_are_identical_enums): New function.
(remove_extra_symbols): Do nothing if NSYMS < 2.
Use symbols_are_identical_enums.
gdb/testsuite/ChangeLog:
* gdb.ada/same_enum: New testcase.
Joel Brobecker [Fri, 1 Jul 2011 18:26:22 +0000 (18:26 +0000)]
missing type description for typedef to pointer value
If we evaluate an expression that results in a value that is a typedef
to pointer, then the debugger fails to print the type description
before printing the actual value:
(gdb) print e.plan(1)
$1 = 0x0
The expected output is:
(gdb) print e.plan(1)
$1 = (access integer) 0x0
gdb/ChangeLog:
* ada-valprint.c (ada_value_print): Handle typedefs.
gdb/testsuite/ChangeLog:
* gdb.ada/ptr_typedef: New testcase.
Joel Brobecker [Fri, 1 Jul 2011 18:25:59 +0000 (18:25 +0000)]
Add missing word in comment (ada-lang.c)
gdb/ChangeLog:
* ada-lang.c (ada_evaluate_subexp): Add missing word in comment.
Joel Brobecker [Fri, 1 Jul 2011 18:25:49 +0000 (18:25 +0000)]
variables whose type is a typedef to an array pointer
If we declare a type as being an access to array type, and then
declare a variable of that type, for instance:
type Some_Array is array [...];
type Array_Access is access all Some_Array;
Table : Array_Access := [...];
The variable "Table" may be defined in the debugging information
as being a typedef to the array pointer type. In the past, it was
defined directly as the array pointer type, but this has been changed
to make sure that the typedef type gets used.
If the typedef type wasn't used, it would allow the compiler to stop
emitting that typedef type when compiling with
-feliminate-unused-debug-types. The removal of this typedef would
be a problem, because GDB relies on the typedef to create symbols
for pointer types, and without it, we would no longer be able to
do "ptype array_access".
This patch helps prevent incorrect output or even crashes when that
extra typedef layer is used.
The testing is already mostly covered by arrayptr.exp, but I still
added a 'ptype' test, just for good measure.
gdb/ChangeLog: (Eric Botcazou)
* ada-lang.c (thin_descriptor_type): Deal with typedefs.
(decode_constrained_packed_array): Likewise.
(ada_evaluate_subexp) <TERNOP_SLICE>: Likewise.
gdb/testsuite/ChangeLog (Joel Brobecker):
* gdb.ada/arrayptr.exp: Add ptype test.
Joel Brobecker [Fri, 1 Jul 2011 18:25:33 +0000 (18:25 +0000)]
Fix date in testsuite/ChangeLog entry.
Joel Brobecker [Fri, 1 Jul 2011 18:25:17 +0000 (18:25 +0000)]
handle character-based enumeration typedefs
Consider the following type:
type Char_Enum_Type is ('A', 'B', 'C', 'D');
If the compiler generates a Char_Enum_Type typedef in the debugging
information, the debugger fails in the following case:
(gdb) p Char_Enum_Type'('B')
$1 = 66
For our type, the underlying value of 'B' is actually 1, not 66
(ASCII 'B'). We are failing this case because we were not handling
typedef to enum types before. This patch fixes this.
gdb/ChangeLog:
* ada-exp.y (convert_char_literal): Handle typedef types.
gdb/testsuite/ChangeLog:
* gdb.ada/char_enum: New testcase.
Joel Brobecker [Fri, 1 Jul 2011 18:24:52 +0000 (18:24 +0000)]
Document ada_remove_trailing_digits more
gdb/ChangeLog:
* ada-lang.c (ada_remove_trailing_digits): Expand documentation.
Joel Brobecker [Fri, 1 Jul 2011 18:24:39 +0000 (18:24 +0000)]
[libiberty/filename_cmp] Darwin has case-insensitive filesystems
include/ChangeLog:
* filenames.h (HAVE_CASE_INSENSITIVE_FILE_SYSTEM): Define
on Darwin, as well as on the systems that use a DOS-like
filesystem.
libiberty/ChangeLog:
* filename_cmp.c (filename_cmp, filename_ncmp): Add handling of
HAVE_CASE_INSENSITIVE_FILE_SYSTEM.
Jan Kratochvil [Fri, 1 Jul 2011 17:30:48 +0000 (17:30 +0000)]
merge from gcc
libiberty/
PR debug/49408
* cp-demangle.c (d_print_comp): Suppress argument list for function
references by the '&' unary operator. Keep also already processed
variant without the argument list. Suppress argument list types for
function call used in an expression.
* testsuite/demangle-expected: Fix excessive argument list types in
`test for typed function in decltype'. New testcase for no argument
list types printed. 3 new testcases for function references by the
'&' unary operator..
Eric B. Weddington [Fri, 1 Jul 2011 17:14:03 +0000 (17:14 +0000)]
2011-07-01 Eric B. Weddington <eric.weddington@atmel.com>
* avr.h (AVR_ISA_AVR6): Remove AVR_ISA_SPMX as it was actually
a duplicate of AVR_ISA_SPM.
Yao Qi [Fri, 1 Jul 2011 16:42:42 +0000 (16:42 +0000)]
2011-07-02 Yao Qi <yao@codesourcery.com>
* gdb.base/dump.exp (capture_pointer_with_type): New.
Get value from address instead of name.
Start GDB once, and do `dump' and `restore'
tests together.
Nick Clifton [Fri, 1 Jul 2011 16:11:27 +0000 (16:11 +0000)]
PR binutils/12329
* avr-dis.c (avr_operand): Fix disassembly of ELPM, LPM and SPM
insns using post-increment addressing.
* avr.h (AVR_ISA_AVR6): Fix typo, adding AVR_ISA_SPMX.
Nick Clifton [Fri, 1 Jul 2011 15:02:21 +0000 (15:02 +0000)]
PR binutils/12325
* doc/binutils.texi (ar cmdline): Document --target, --version and
--help command line options.
Nick Clifton [Fri, 1 Jul 2011 12:15:17 +0000 (12:15 +0000)]
PR sim/12737
* sim/arm/iwmmxt/wcmpgt.cgs: Remove expectation of failure.
* sim/arm/iwmmxt/wmac.cgs: Remove expectation of failure.
* sim/arm/iwmmxt/wsra.cgs: Remove expectation of failure.
* sim/arm/xscale/blx.cgs: Remove expectation of failure.
Nick Clifton [Fri, 1 Jul 2011 12:12:16 +0000 (12:12 +0000)]
PR sim/12737
* iwmmxt.c (WCMPGT): Sign extend 32-bit values before performing a
signed compare.
(WMAC): Extend computed result before adding to result register.
(WRSA): Sign extend 32-bit values before shifting.
Alan Modra [Fri, 1 Jul 2011 07:49:08 +0000 (07:49 +0000)]
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at
dyn relocs when called to copy flags for a weak sym.
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
(ppc64_elf_merge_private_bfd_data): Delete.
(bfd_elf64_bfd_merge_private_bfd_data): Define as
_bfd_generic_verify_endian_match.
H.J. Lu [Fri, 1 Jul 2011 01:34:35 +0000 (01:34 +0000)]
Update rorxS.
2011-06-30 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (vex_len_table): Update rorxS.
Mike Frysinger [Fri, 1 Jul 2011 00:19:25 +0000 (00:19 +0000)]
gdb: tests: set remotetimeout to gdb_load_timeout for remote targets
Rather than relying on the default remotetimeout value (which might be
too small for some slower devices), use the existing gdb_load_timeout
config option to set it.
This adds two new helpers for getting/setting the remotetimout to keep
the new logic simple.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gdbadmin [Fri, 1 Jul 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 1 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Bernd Schmidt [Thu, 30 Jun 2011 21:41:05 +0000 (21:41 +0000)]
* binutils-all/objcopy.exp (strip_test, strip_executable):
On ELF targets, test that OS/ABI is preserved.
(copy_setup): Do test on tic6x-*-uclinux.
Bernd Schmidt [Thu, 30 Jun 2011 21:36:09 +0000 (21:36 +0000)]
* bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if
link_info is NULL.
Tom Tromey [Thu, 30 Jun 2011 19:29:55 +0000 (19:29 +0000)]
* varobj.c (varobj_create): Call do_cleanups on early exit path.
* valops.c (find_overload_match): Call do_cleanups on early exit
path.
* solib.c (solib_find): Call do_cleanups on early exit path.
Tom Tromey [Thu, 30 Jun 2011 18:48:19 +0000 (18:48 +0000)]
* symfile-mem.c (symbol_file_add_from_memory): Call do_cleanups.
* solib-svr4.c (open_symbol_file_object): Call do_cleanups on all
return paths. Defer final do_cleanups until last return.
* arm-tdep.c (arm_exidx_new_objfile): Make null cleanup after
early return.
Tom Tromey [Thu, 30 Jun 2011 17:01:29 +0000 (17:01 +0000)]
* Makefile.in (SUBDIR_MI_CFLAGS): Don't add -DMI_OUT=1.
H.J. Lu [Thu, 30 Jun 2011 15:44:55 +0000 (15:44 +0000)]
Fix rorx in BMI2.
gas/testsuite/
2011-06-30 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2011)
* gas/i386/bmi2.s: Correct rorx tests.
* gas/i386/x86-64-bmi2.s: Likewise.
* gas/i386/bmi2-intel.d: Updated.
* gas/i386/bmi2.d: Likewise.
* gas/i386/x86-64-bmi2-intel.d: Likewise.
* gas/i386/x86-64-bmi2.d: Likewise.
opcodes/
2011-06-30 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2011)
* i386-dis.c (vex_len_table): Correct rorxS.
* i386-opc.tbl: Correct rorx.
* i386-tbl.h: Regenerated.
Nick Clifton [Thu, 30 Jun 2011 15:08:17 +0000 (15:08 +0000)]
PR binutils/12558
* ar.c (main): When asked to move members in an archive that is
being created, ignore the move request.
Nick Clifton [Thu, 30 Jun 2011 13:42:46 +0000 (13:42 +0000)]
* gas/arm/addthumb2err.s: New test file.
* gas/arm/addthumb2err.d: Test control file.
* gas/arm/addthumb2err.l: Expected error messages.
* config/tc-arm.c (do_t_add_sub): Only allow LSL shifts of less
than 4 in Thumb mode.
Nick Clifton [Thu, 30 Jun 2011 13:07:21 +0000 (13:07 +0000)]
PR gas/12931
* gas/arm/blx-bad.d: Add exrta nop at end of disassembly.
* gas/arm/inst-po-be.d: Add exrta nop at end of disassembly.
* gas/arm/inst-po.d: Add exrta nop at end of disassembly.
Nick Clifton [Thu, 30 Jun 2011 13:05:04 +0000 (13:05 +0000)]
PR 12848
* gas/arm/thumb-b-bad.s: New test.
* gas/arm/thumb-b-bad.d: Test control file.
* gas/arm/thumb-b-bad.l: Expected error output.
Nick Clifton [Thu, 30 Jun 2011 12:52:58 +0000 (12:52 +0000)]
PR gas/12848
* config/tc-arm.c (BAD_RANGE): New error message define.
(md_apply_fix): Use it.
Fix range check for thumb branch instructions.
Andrew Burgess [Thu, 30 Jun 2011 09:00:54 +0000 (09:00 +0000)]
sourceware.org/ml/gdb-patches/2011-06/msg00444.html
Add myself to the write after approval list.
Andrew Burgess [Thu, 30 Jun 2011 08:53:38 +0000 (08:53 +0000)]
sourceware.org/ml/gdb-patches/2011-06/msg00442.html
Don't compile c++ tests for platforms that don't support c++.
Ian Lance Taylor [Thu, 30 Jun 2011 00:50:13 +0000 (00:50 +0000)]
PR gold/12629
* object.cc (Sized_relobj_file::layout_section): Change shdr
parameter to be const.
(Sized_relobj_file::layout_eh_frame_section): New function, broken
out of do_layout.
(Sized_relobj_file::do_layout): Defer .eh_frame sections if
appropriate. Call layout_eh_frame_section.
(Sized_relobj_file::do_layout_deferred_sections): Handle .eh_frame
sections.
* object.h (class Sized_relobj_file): Update declarations.
gdbadmin [Thu, 30 Jun 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 30 Jun 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Wed, 29 Jun 2011 22:19:24 +0000 (22:19 +0000)]
gdb/
Disable epilogue unwinders on recent GCCs.
* amd64-tdep.c (amd64_in_function_epilogue_p): New variable symtab,
initialize it, return 0 on EPILOGUE_UNWIND_VALID.
* dwarf2read.c (process_full_comp_unit): Initialize
EPILOGUE_UNWIND_VALID.
* i386-tdep.c (i386_in_function_epilogue_p): New variable symtab,
initialize it, return 0 on EPILOGUE_UNWIND_VALID.
* symtab.h (struct symtab): New field epilogue_unwind_valid.
Jan Kratochvil [Wed, 29 Jun 2011 22:17:57 +0000 (22:17 +0000)]
gdb/
Code cleanup - reformatting.
* dwarf2read.c (producer_is_gcc_ge_4_0): Rename to ...
(producer_is_gcc_ge_4): ... here, change the return value.
(process_full_comp_unit): New variable gcc_4_minor, adjust the value
interpretation.
Jan Kratochvil [Wed, 29 Jun 2011 22:05:16 +0000 (22:05 +0000)]
gdb/
Fix non-only rename list for Fortran modules import.
* cp-namespace.c (cp_scan_for_anonymous_namespaces): Adjust the
cp_add_using_directive caller.
(cp_add_using_directive): New parameter excludes, describe it. New
variables ix and param. Compare if also excludes match. Allocate NEW
with variable size, initialize EXCLUDES there.
(cp_lookup_symbol_imports): New variable excludep, test
current->EXCLUDES with it.
* cp-support.h: Include vec.h.
(struct using_direct): New field excludes, describe it.
(DEF_VEC_P (const_char_ptr)): New.
(cp_add_using_directive): New parameter excludes.
* defs.h (const_char_ptr): New typedef.
* dwarf2read.c (read_import_statement): New variables child_die,
excludes and cleanups, read in excludes.
(read_namespace): Adjust the cp_add_using_directive caller.
gdb/testsuite/
Fix non-only rename list for Fortran modules import.
* gdb.fortran/module.exp (print var_x, print var_y, print var_z): New
tests.
* gdb.fortran/module.f90 (module moduse): New.
(program module): use moduse, test var_x, var_y and var_z.
Jan Kratochvil [Wed, 29 Jun 2011 22:02:58 +0000 (22:02 +0000)]
gdb/
Code cleanup.
* cp-namespace.c (cp_add_using_directive): Turn positive comparison to
negative comparisons.
Ian Lance Taylor [Wed, 29 Jun 2011 21:57:51 +0000 (21:57 +0000)]
* script.cc (Token::integer_value): Accept trailing M/m/K/k
modifier.
(Lex::gather_token): Accept trailing M/m/K/k for integers.
Ian Lance Taylor [Wed, 29 Jun 2011 21:57:13 +0000 (21:57 +0000)]
* script.cc (Token::integer_value): Accept trailing M/m/K/k
modifier.
(Lex::gather_token): Accept trailing M/m/K/k for integers.
Ian Lance Taylor [Wed, 29 Jun 2011 21:39:19 +0000 (21:39 +0000)]
PR gold/12675
* object.cc (Sized_relobj_file::check_eh_frame_flags): Check for
SHT_X86_64_UNWIND.
* layout.cc (Layout::layout_eh_frame): Likewise.
Ian Lance Taylor [Wed, 29 Jun 2011 21:26:40 +0000 (21:26 +0000)]
PR gold/12695
* layout.cc (Layout::symtab_section_shndx): New function.
* layout.h (class Layout): Declare symtab_section_shndx.
* output.cc (Output_section::write_header): Call it.
Richard Sandiford [Wed, 29 Jun 2011 21:05:29 +0000 (21:05 +0000)]
gas/
* config/tc-mips.c (append_method): New enum.
(can_swap_branch_p, get_append_method): New functions.
(append_insn): Use get_append_method to decide how the instruction
should be added.
Jan Kratochvil [Wed, 29 Jun 2011 20:51:10 +0000 (20:51 +0000)]
readline/
Avoid free from a signal handler.
* Makefile.in (xfree.o): Add readline.h.
* xfree.c: Include stdio.h and readline.h.
(xfree): Return on RL_STATE_SIGHANDLER.
* xmalloc.h (xfree): New definition.
Richard Sandiford [Wed, 29 Jun 2011 20:48:10 +0000 (20:48 +0000)]
gas/
* config/tc-mips.c (append_insn): Remove bogus goto.
H.J. Lu [Wed, 29 Jun 2011 20:46:11 +0000 (20:46 +0000)]
Replace "index" with "i".
2011-06-29 H.J. Lu <hongjiu.lu@intel.com>
* tilegx-opc.c (find_opcode): Replace "index" with "i".
* tilepro-opc.c (find_opcode): Likewise.
Richard Sandiford [Wed, 29 Jun 2011 20:46:10 +0000 (20:46 +0000)]
gas/
* config/tc-mips.c (append_insn): Always clear the history after an
unconditional branch.
Richard Sandiford [Wed, 29 Jun 2011 20:42:48 +0000 (20:42 +0000)]
gas/
* config/tc-mips.c (find_altered_mips16_opcode): New function.
(append_insn): Use it.
opcodes/
* mips16-opc.c (jalrc, jrc): Move earlier in file.
Richard Sandiford [Wed, 29 Jun 2011 20:39:00 +0000 (20:39 +0000)]
gas/
* config/tc-mips.c (insn_uses_reg): Delete.
(gpr_read_mask, gpr_write_mask): New functions.
(fpr_read_mask, fpr_write_mask): Likewise.
(insns_between, nops_for_vr4130, append_insn): Use them.
gas/testsuite/
* gas/mips/mips16-e.d, gas/mips/mips16-f.d,
gas/mips/mipsel16-e.d, gas/mips/mipsel16-f.d,
gas/mips/tmips16-e.d, gas/mips/tmips16-f.d,
gas/mips/tmipsel16-e.d, gas/mips/tmipsel16-f.d: Fix GPR mask.
* gas/mips/reginfo-1.s, gas/mips/reginfo-1a.d,
gas/mips/reginfo-1b.d: New tests.
* gas/mips/mips.exp: Run them.
Richard Sandiford [Wed, 29 Jun 2011 20:35:05 +0000 (20:35 +0000)]
gas/
* config/tc-mips.c (md_mips_end): Call mips_emit_delays.
gas/testsuite/
* gas/mips/24k-triple-stores-9.d: Add -z to dump options and
explicitly match one nop.
* gas/mips/24k-triple-stores-10.d: Likewise.
* gas/mips/24k-triple-stores-11.d: Likewise.
* gas/mips/lifloat.d: Likewise.
* gas/mips/trunc.d: Likewise 1 extra nop.
* gas/mips/vr4111.d: Likewise 2 nops.
Tom Tromey [Wed, 29 Jun 2011 17:50:47 +0000 (17:50 +0000)]
PR testsuite/12040:
* gdb.fortran/array-element.exp: Use f90, not f77.
* gdb.fortran/complex.exp: Use f90, not f77.
* gdb.fortran/derived-type.exp: Use f90, not f77.
* gdb.fortran/library-module.exp: Use f90, not f77.
* gdb.fortran/logical.exp: Use f90, not f77.
* gdb.fortran/module.exp: Use f90, not f77.
* gdb.fortran/multi-dim.exp: Use f90, not f77.
* gdb.fortran/subarray.exp: Use f90, not f77.
Tom Tromey [Wed, 29 Jun 2011 17:30:01 +0000 (17:30 +0000)]
gdb
2011-06-29 André Pönitz <andre.poenitz@nokia.com>
* mi/mi-main.c (mi_cmd_list_features): Emit
breakpoint-notifications.
gdb/doc
* gdb.texinfo (GDB/MI Miscellaneous Commands): Document
breakpoint-notifications feature.
Nick Clifton [Wed, 29 Jun 2011 16:51:37 +0000 (16:51 +0000)]
* readelf.c (get_section_type_name): When displaying an unknown
section type display the hex value first on the assumption that
the full message will probably be truncated into a 15 character
field.
Nick Clifton [Wed, 29 Jun 2011 16:29:38 +0000 (16:29 +0000)]
PR gas/12931
* config/tc-arm.c (mapping_state): When changing to ARM or THUMB
state set the minimum required alignment of the section.
Ulrich Weigand [Wed, 29 Jun 2011 16:28:22 +0000 (16:28 +0000)]
* gdb.texinfo (Target Description): Remove warning about
possibly unstable format.
Tom Tromey [Wed, 29 Jun 2011 15:32:40 +0000 (15:32 +0000)]
gdb
PR fortran/10036:
* valprint.h (generic_emit_char, generic_printstr): Declare.
* valprint.c (wchar_printable, append_string_as_wide)
(print_wchar): Move from c-lang.c.
(generic_emit_char): New function; mostly taken from c_emit_char.
(generic_printstr): New function; mostly taken from c_printstr.
* f-valprint.c (f_val_print) <TYPE_CODE_ARRAY>: Handle strings
represented as arrays.
<TYPE_CODE_CHAR>: Treat as TYPE_CODE_INT; recognize as character
type.
* f-typeprint.c (f_type_print_base) <TYPE_CODE_CHAR>: Treat
identically to TYPE_CODE_INT.
* f-lang.c (f_get_encoding): New function.
(f_emit_char): Use generic_emit_char.
(f_printchar): Replace comment.
(f_printstr): Use generic_printstr.
* dwarf2read.c (read_base_type) <DW_ATE_unsigned>: Handle Fortran
"character" types specially.
<DW_ATE_signed_char, DW_ATE_unsigned_char>: Make TYPE_CODE_CHAR
for Fortran.
* c-lang.c (wchar_printable, append_string_as_wide, print_wchar):
Move to valprint.c
(c_emit_char): Call generic_emit_char.
(c_printstr): Call generic_printstr.
gdb/testsuite
* gdb.fortran/charset.exp: New file.
* gdb.fortran/charset.f90: New file.
Gary Benson [Wed, 29 Jun 2011 15:20:34 +0000 (15:20 +0000)]
gdb/
* breakpoint.c (bpstat_what): Removed duplicated case.
Tom Tromey [Wed, 29 Jun 2011 14:44:45 +0000 (14:44 +0000)]
PR testsuite/12040:
* lib/future.exp: New file, mostly extracted from ada.exp.
Rewrote compatibility code to use rename.
(gdb_find_gfortran): New proc.
(gdb_default_target_compile): Refresh from dejagnu; plus a pending
gfortran patch.
* lib/ada.exp (gdb_find_gnatmake, gdb_default_target_compile):
Move to future.exp.
* lib/gdb.exp: Always load future.exp.
Ian Lance Taylor [Wed, 29 Jun 2011 14:43:08 +0000 (14:43 +0000)]
PR gold/12818
* symtab.cc (Symbol::should_add_dynsym_entry): Don't add undefined
symbols which are not used in a relocation.
Tristan Gingold [Wed, 29 Jun 2011 11:12:25 +0000 (11:12 +0000)]
2011-06-29 Tristan Gingold <gingold@adacore.com>
* config/tc-i386.c (i386_mach): Convert to ISO-C.
(md_begin, pe_directive_secrel, md_estimate_size_before_relax): Ditto.
(md_convert_frag, md_apply_fix, md_undefined_symbol): Ditto.
(md_section_align, tc_gen_reloc): Ditto.
Ian Lance Taylor [Wed, 29 Jun 2011 00:39:54 +0000 (00:39 +0000)]
PR gold/12898
* layout.cc (Layout::segment_precedes): Don't crash if a linker
script create indistinguishable segments.
(Layout::set_segment_offsets): Use stable_sort when sorting
segments. Pass this to Compare_segments constructor.
* layout.h (class Layout): Make segment_precedes non-static.
(class Compare_segments): Change from struct to class. Add
layout_ field. Add constructor.
* script-sections.cc
(Script_sections::attach_sections_using_phdrs_clause): Rename
local orphan to is_orphan. Don't report failure to put empty
section in segment. On attachment failure, report name of
section, and attach to first PT_LOAD segment.
gdbadmin [Wed, 29 Jun 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 29 Jun 2011 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Tue, 28 Jun 2011 23:12:31 +0000 (23:12 +0000)]
PR gold/12934
* target-select.cc (Target_selector::Target_selector): Add
emulation parameter. Change all callers.
(select_target_by_bfd_name): Rename from select_target_by_name.
Change all callers.
(select_target_by_emulation): New function.
(supported_emulation_names): New function.
* target-select.h (class Target_selector): Add emulation_ field.
Update declarations.
(Target_selector::recognize_by_bfd_name): Rename from
recognize_by_name. Change all callers.
(Target_selector::supported_bfd_names): Rename from
supported_names. Change all callers.
(Target_selector::recognize_by_emulation): New function.
(Target_selector::supported_emulations): New function.
(Target_selector::emulation): New function.
(Target_selector::do_recognize_by_bfd_name): Rename from
do_recognize_by_name. Change all callers.
(Target_selector::do_supported_bfd_names): Rename from
do_supported_names. Change all callers.
(Target_selector::do_recognize_by_emulation): New function.
(Target_selector::do_supported_emulations): New function.
(select_target_by_bfd_name): Change name in declaration.
(select_target_by_emulation): Declare.
(supported_emulation_names): Declare.
* parameters.cc (parameters_force_valid_target): Try to find
target based on emulation from -m option.
* options.h (class General_options): Change doc string for -m.
* options.cc (help): Print emulations.
(General_options::parse_V): Likewise.
* freebsd.h (Target_selector_freebsd::Target_selector_freebsd):
Add emulation parameter. Change all callers.
Ian Lance Taylor [Tue, 28 Jun 2011 22:25:14 +0000 (22:25 +0000)]
* target.h (class Target): Add osabi_ field.
(Target::osabi): New function.
(Target::set_osabi): New function.
(Target::Target): Initialize osabi_.
(Target::do_adjust_elf_header): Make pure virtual.
(Sized_target::do_adjust_elf_header): Declare.
* target.cc (Sized_target::do_adjust_elf_header): New function.
(class Sized_target): Instantiate all versions.
* freebsd.h (class Target_freebsd): Remove.
(Target_selector_freebsd::do_recognize): Call set_osabi on
Target.
(Target_selector_freebsd::do_recognize_by_name): Likewise.
(Target_selector_freebsd::set_osabi): Remove.
* i386.cc (class Target_i386): Inherit from Sized_target rather
than Target_freebsd.
* x86_64.cc (class Target_x86_64): Likewise.
Ian Lance Taylor [Tue, 28 Jun 2011 21:15:42 +0000 (21:15 +0000)]
* target.h (Target::can_check_for_function_pointers): Rewrite.
Make non-virtual.
(Target::can_icf_inline_merge_sections): Likewise.
(Target::section_may_have_icf_unsafe_poineters): Likewise.
(Target::Target_info): Add can_icf_inline_merge_sections field.
(Target::do_can_check_for_function_pointers): New virtual
function.
(Target::do_section_may_have_icf_unsafe_pointers): Likewise.
* arm.cc (Target_arm::do_can_check_for_function_pointers): Rename
from can_check_for_function_pointers, move in file.
(Target_arm::do_section_may_have_icf_unsafe_pointers): Rename from
section_may_have_icf_unsafe_poineters, move in file.
(Target_arm::arm_info): Initialize can_icf_inline_merge_sections.
* i386.cc (Target_i386::do_can_check_for_function_pointers):
Rename from can_check_for_function_pointers, move in file.
(Target_i386::can_icf_inline_merge_sections): Remove.
(Target_i386::i386_info): Initialize
can_icf_inline_merge_sections.
* powerpc.cc (Target_powerpc::powerpc_info) [all versions]:
Initialize can_icf_inline_merge_sections.
* sparc.cc (Target_sparc::sparc_info) [both version]: Likewise.
* x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
Rename from can_check_for_function_pointers, move in file.
(Target_x86_64::can_icf_inline_merge_sections): Remove.
(Target_x86_64::x86_64_info): Initialize
can_icf_inline_merge_sections.
* testsuite/testfile.cc (Target_test::test_target_info):
Likewise.
* icf.cc (get_section_contents): Correct formatting.
Tristan Gingold [Tue, 28 Jun 2011 13:33:33 +0000 (13:33 +0000)]
2011-06-28 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c (s_alpha_pdesc): Fix indentation. Do not
generate dummy fix.
Tom Tromey [Tue, 28 Jun 2011 13:09:12 +0000 (13:09 +0000)]
* python/python-internal.h (PY_SSIZE_T_CLEAN): Define.
Tristan Gingold [Tue, 28 Jun 2011 09:23:53 +0000 (09:23 +0000)]
2011-06-28 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c (load_expression): Use alloca instead of xmalloc.
(emit_jsrjmp): Ditto.
(tc_gen_reloc): Ditto.
Tristan Gingold [Tue, 28 Jun 2011 08:39:39 +0000 (08:39 +0000)]
2011-06-28 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (vms_private_data_struct): Make vms_linkage_index
unsigned int.
(_bfd_vms_write_etir): Write linkage index from reloc.
Yao Qi [Tue, 28 Jun 2011 08:36:18 +0000 (08:36 +0000)]
2011-06-28 Yao Qi <yao@codesourcery.com>
* gdb.cp/exception.cc: Don't include iostream.
(bar): Remove print statement.
(catcher): New.
(main): Remove print statements. Call function catcher.
* gdb.cp/exception.exp : Don't match inferior's output in regexp.
Set breakpoint on catcher, and check the value of parameter.
Tristan Gingold [Tue, 28 Jun 2011 07:45:53 +0000 (07:45 +0000)]
2011-06-28 Fawzi Mohamed <fawzi.mohamed@nokia.com>
* mach-o.c (bfd_mach_o_read_command): Also ignore
BFD_MACH_O_LC_ROUTINES_64.
Tristan Gingold [Tue, 28 Jun 2011 07:40:16 +0000 (07:40 +0000)]
2011-06-28 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c (alpha_evax_proc_hash): Remove.
(alpha_evax_proc_data): New variable.
(s_alpha_ent): Prevent nested function. Remove has_insert call.
(s_alpha_pdesc): Do not call demand_empty_rest_of_line in case of
error. Do not search in the hash table. Check if match with .ent.
(s_alpha_name): Remove unused variable.
(md_begin): Remove initialization of alpha_evax_proc_hash.
Ian Lance Taylor [Tue, 28 Jun 2011 05:39:45 +0000 (05:39 +0000)]
* symtab.cc (Symbol::versioned_name): New function.
(Symbol_table::add_to_final_symtab): Use versioned_name when
appropriate.
(Symbol_table::sized_write_symbol): Likewise.
* symtab.h (class Symbol): Declare versioned_name.
* stringpool.h (class Stringpool_template): Add variant of add
which takes a std::basic_string.
* testsuite/Makefile.am (check_PROGRAMS): Add ver_test_12.
(ver_test_12_SOURCES, ver_test_12_DEPENDENCIES): New variables.
(ver_test_12_LDFLAGS, ver_test_12_LDADD): New variables.
(ver_test_12.o): New target.
* testsuite/Makefile.in: Rebuild.
Alan Modra [Tue, 28 Jun 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 28 Jun 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Tom Tromey [Mon, 27 Jun 2011 19:21:51 +0000 (19:21 +0000)]
* valops.c (find_overload_match): Call do_cleanups before early
return.
* top.c (execute_command): Call do_cleanups before early return.
(command_loop): Likewise.
* stack.c (backtrace_command): Make a null cleanup early. Don't
conditionally call do_cleanups.
* python/py-value.c (TRY_CATCH): Move cleanup handling into
TRY_CATCH.
* python/py-breakpoint.c (gdbpy_breakpoint_has_py_cond): Rearrange
so cleanups are always run.
* mi/mi-cmd-var.c (mi_cmd_var_delete): Reset old_cleanups.
* findcmd.c (parse_find_args): Call do_cleanups on early return
path.
* dbxread.c (elfstab_build_psymtabs): Make a null cleanup early.
Don't conditionally call do_cleanups.
* cli/cli-script.c (execute_user_command): Initialize 'old_chain'
later.
Doug Kwan [Mon, 27 Jun 2011 17:53:32 +0000 (17:53 +0000)]
2011-06-27 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relocate_functions::thm_jump8,
Arm_relocate_functions::thm_jump11): Use a wider signed
type to compute offset.
* testsuite/Makefile.am: Add new tests arm_thm_jump11 and
arm_thm_jump8.
* testsuite/Makefile.in: Regenerate.
* testsuite/arm_branch_in_range.sh: Check test results of
arm_thm_jump11 and arm_thm_jump8.
* testsuite/arm_thm_jump11.s: New test source file.
* testsuite/arm_thm_jump11.t: New linker script.
* testsuite/arm_thm_jump8.s: New test source file.
* testsuite/arm_thm_jump8.t: New linker script.
Eric Botcazou [Mon, 27 Jun 2011 17:00:39 +0000 (17:00 +0000)]
* MAINTAINERS (Write After Approval): Use default email address.
Joel Brobecker [Mon, 27 Jun 2011 16:38:27 +0000 (16:38 +0000)]
Add Eric Botcazou to the list of `Write After Approval' contributors
* MAINTAINERS (Write After Approval): Add Eric Botcazou.
Joel Brobecker [Mon, 27 Jun 2011 16:36:00 +0000 (16:36 +0000)]
Add support for single register window model on SPARC
2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
* sparc-tdep.h (struct sparc_frame_cache): Add frame_offset,
saved_regs_mask and copied_regs_mask fields.
(sparc_record_save_insn): New prototype.
* sparc-tdep.c (sparc_alloc_frame_cache): Initialize the new fields.
(sparc_record_save_insn): New function.
(sparc_analyze_prologue): Add head comment. Recognize store insns
of call-saved registers. Use OFFSET consistently. Recognize flat
frames and cache their settings.
(sparc32_skip_prologue): Handle flat frames.
(sparc_frame_cache): Add frame_offset to the base address.
(sparc32_frame_cache): Adjust to new frame description.
(sparc32_frame_prev_register): Likewise.
* sparc64-tdep.c (sparc64_frame_prev_register): Likewise.
* sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
* sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
* sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Force the
frame by calling sparc_record_save_insn.
* sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise.
* sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise.
* sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise.
Nick Clifton [Mon, 27 Jun 2011 15:02:56 +0000 (15:02 +0000)]
* ld-elf/elf.exp: Exlcude all v850 targets from note-3 test.
Tristan Gingold [Mon, 27 Jun 2011 14:08:15 +0000 (14:08 +0000)]
2011-06-27 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c (add_to_link_pool): Remove basesym parameter.
Locally declare basesym. Add comments. Do not set literal_pool_size.
(load_expression): Adjust call to add_to_link_pool.
(s_alpha_pdesc): Define pdesc symbol using dot.
Do not set literal_pool_size.
(s_alpha_end): Use NULL instead of 0.