deliverable/binutils-gdb.git
11 years agoLinux: No need to set ptrace event options in fork/clone children.
Pedro Alves [Fri, 22 Mar 2013 14:52:26 +0000 (14:52 +0000)] 
Linux: No need to set ptrace event options in fork/clone children.

Oleg Nesterov told me that the Linux kernel copies the parent's ptrace
options to fork/clone children, so there's no need for GDB to do that
manually.

I was actually a bit surprised, since I thought the ptracer had to
always set the ptrace options itself, and GDB is indeed calling
PTRACE_SETOPTIONS for each new fork child, if it'll stay attached.

Looking at the history of that code, I found that is was actually I
who added that set-ptrace-options-in-children bit, back in
http://sourceware.org/ml/gdb-patches/2009-05/msg00656.html.  But,
honestly, I don't recall why I needed that.  I think I may have just
blindly believed it was necessary.

I then looked back at the history of all the PTRACE_SETOPTIONS code we
have, and found that gdb never did copy the ptrace options before my
patch.  But, when gdbserver learnt to use PTRACE_EVENT_CLONE, at
http://sourceware.org/ml/gdb-patches/2007-10/msg00547.html, it was
made to do 'ptrace (PTRACE_SETOPTIONS, new_pid, 0,
PTRACE_O_TRACECLONE)' for all new clones.  Hmmm.  But, GDB itself
never did that, so it can't really ever have been necessary, I
believe, otherwise GDB should have been doing it too.

(GDBserver doesn't support following forks, and so naturally doesn't
do any PTRACE_SETOPTIONS on fork children.)

So this patch removes the -I believe- unnecessary ptrace syscalls.

Tested on x86_64 Fedora 17, native/gdbserver, and on x86_64 RHEL5
native/gdbserver (Linux 2.6.18, I think a ptrace-on-utrace kernel).
No regressions.

gdb/
2013-03-22  Pedro Alves  <palves@redhat.com>

* linux-nat.c (linux_child_follow_fork): Don't call
linux_enable_event_reporting.
(linux_handle_extended_wait): Don't call
linux_enable_event_reporting.

gdb/gdbserver/
2013-03-22  Pedro Alves  <palves@redhat.com>

* linux-low.c (handle_extended_wait): Don't call
linux_enable_event_reporting.

11 years agohppa-hpux-tdep.c: Fix host dependency.
Pedro Alves [Fri, 22 Mar 2013 14:43:28 +0000 (14:43 +0000)] 
hppa-hpux-tdep.c: Fix host dependency.

$ make WERROR_CFLAGS="-Wpointer-sign -Werror" hppa-hpux-tdep.o -k 2>&1 1>/dev/null
../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_push_dummy_code’:
../../src/gdb/hppa-hpux-tdep.c:1225:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0:
../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’
../../src/gdb/hppa-hpux-tdep.c:1251:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0:
../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’
../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_supply_save_state’:
../../src/gdb/hppa-hpux-tdep.c:1354:9: error: pointer targets in passing argument 1 of ‘extract_unsigned_integer’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/hppa-hpux-tdep.c:20:0:
../../src/gdb/defs.h:675:22: note: expected ‘const gdb_byte *’ but argument is of type ‘const char *’

Casting to gdb_byte would fix it, however, writing an
unsigned int array like this

      static unsigned int hppa64_tramp[] = {
        0xeac0f000, /* bve,l (r22),%r2 */
        0x0fdf12d1, /* std r31,-8(,sp) */
        0x0fd110c2, /* ldd -8(,sp),rp */
        0xe840d002, /* bve,n (rp) */
        0x08000240  /* nop */
        ...

directly to target memory assumes the host endianness is the same as
the target's.  hppa is big endian, so I believe this patch should be
correct -- it defines the array as a gdb_byte array.  It uses a macro
to make the insn bytes a little more readable.  I thought of using
write_memory_unsigned_integer once for each element of the unsigned
int array, but this way keeps issuing a single target memory write /
roundtrip for the whole trampoline.

gdb/
2013-03-22  Pedro Alves  <palves@redhat.com>

* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Define INSN macro,
use it to rewrite the trampoline buffers with type gdb_byte[], and
undefine the macro.  Remove char* cast.

11 years ago * ld-elf/init0.s: Add alloc attribute to .section directive.
Nick Clifton [Fri, 22 Mar 2013 09:40:06 +0000 (09:40 +0000)] 
* ld-elf/init0.s: Add alloc attribute to .section directive.
* ld-elf/fini1.s: Likewise.
* ld-elf/fini2.s: Likewise.
* ld-elf/fini3.s: Likewise.
* ld-elf/finin.s: Likewise.
* ld-elf/init0.s: Likewise.
* ld-elf/init1.s: Likewise.
* ld-elf/init2.s: Likewise.
* ld-elf/init3.s: Likewise.
* ld-elf/initn.s: Likewise.

11 years agogdb/doc/
Yao Qi [Fri, 22 Mar 2013 00:58:53 +0000 (00:58 +0000)] 
gdb/doc/
* gdb.texinfo (Embedded Processors): Remove menu item
"OpenRISC 1000".
(OpenRISC 1000): Remove.

11 years ago*** empty log message ***
gdbadmin [Fri, 22 Mar 2013 00:00:32 +0000 (00:00 +0000)] 
*** empty log message ***

11 years agodaily update
Alan Modra [Thu, 21 Mar 2013 23:00:05 +0000 (23:00 +0000)] 
daily update

11 years agoFix gdb.trace/trace-buffer-size.exp race.
Pedro Alves [Thu, 21 Mar 2013 19:18:25 +0000 (19:18 +0000)] 
Fix gdb.trace/trace-buffer-size.exp race.

Just the usual missing $gdb_prompt match:

 (gdb) tstatus
 No trace has been run on the target.
 Collected 0 trace frames.
 Trace buffer has 5242880 bytes of 5242880 bytes free (0% full).
 Trace will stop if GDB disconnects.
 Not looking at any trace frame.
 PASS: gdb.trace/trace-buffer-size.exp: get default buffer size
 (gdb) set trace-buffer-size 4
 (gdb) FAIL: gdb.trace/trace-buffer-size.exp: set trace buffer size 1

This fixes it.

gdb/testsuite/
2013-03-21  Pedro Alves  <palves@redhat.com>

* gdb.trace/trace-buffer-size.exp (get default buffer size):
Expect $gdb_prompt in gdb_test_multiple.

11 years agogas/ChangeLog:
Will Newton [Thu, 21 Mar 2013 18:39:35 +0000 (18:39 +0000)] 
gas/ChangeLog:

2013-03-21  Will Newton  <will.newton@linaro.org>

* config/tc-arm.c (encode_thumb32_addr_mode): Emit an error for all
pc-relative str instructions in Thumb mode.

gas/testsuite/ChangeLog:

2013-03-21  Will Newton  <will.newton@linaro.org>

* gas/arm/thumb2_relax.d: Strip out invalid pc-relative strs.
* gas/arm/thumb2_relax.s: Likewise.
* gas/arm/thumb32.d: Likewise.
* gas/arm/thumb32.l: Likewise.
* gas/arm/thumb32.s: Likewise.
* gas/arm/thumb2_str-bad.d: New file.
* gas/arm/thumb2_str-bad.l: Likewise.
* gas/arm/thumb2_str-bad.s: Likewise.

11 years ago New commands "mt set per-command {space,time,symtab} {on,off}".
Doug Evans [Thu, 21 Mar 2013 17:37:30 +0000 (17:37 +0000)] 
New commands "mt set per-command {space,time,symtab} {on,off}".
* NEWS: Add entry.
* event-top.c: #include "maint.h".
* main.c: #include "maint.h".
* maint.c: #include <sys/time.h>, <time.h>, block.h, top.h,
timeval-utils.h, maint.h, cli/cli-setshow.h.
(per_command_time, per_command_space): New static globals.
(per_command_symtab): New static global.
(per_command_setlist, per_command_showlist): New static globals.
(struct cmd_stats): Move here from utils.c.
(set_per_command_time): Renamed from set_display_time in utils.c
and moved here.  All callers updated.
(set_per_command_space): Renamed from set_display_space in utils.c
and moved here.  All callers updated.
(count_symtabs_and_blocks): New function.
(report_command_stats): Moved here from utils.c.  Add support for
printing symtab stats.  Only print data if enabled before command
executed.
(make_command_stats_cleanup): Ditto.
(sert_per_command_cmd, show_per_command_cmd): New functions.
(_initialize_maint_cmds): Add new commands
mt set per-command {space,time,symtab} {on,off}.
* maint.h: New file.
* top.c: #include "maint.h".
* utils.c (reset_prompt_for_continue_wait_time): New function.
(get_prompt_for_continue_wait_time): New function.
* utils.h (reset_prompt_for_continue_wait_time): Declare
(get_prompt_for_continue_wait_time): Declare.
(make_command_stats_cleanup): Moved to maint.h.
(set_display_time, set_display_space): Moved to maint.h and renamed
to set_per_command_time, set_per_command_space.
* cli/cli-setshow.c (parse_cli_boolean_value): Renamed from
parse_binary_operation and made non-static.  Don't call error,
just return an error marker.  All callers updated.
* cli/cli-setshow.h (parse_cli_boolean_value): Declare.

doc/
* gdb.texinfo (Maintenance Commands): Add docs for
"mt set per-command {space,time,symtab} {on,off}".

testsuite/
* gdb.base/maint.exp: Update tests for per-command stats.

11 years ago * symfile.c (alloc_section_addr_info): Update header. Don't set
Tom Tromey [Thu, 21 Mar 2013 16:18:48 +0000 (16:18 +0000)] 
* symfile.c (alloc_section_addr_info): Update header.  Don't set
'num_sections' field.
(build_section_addr_info_from_section_table): Set 'num_sections'.
(build_section_addr_info_from_bfd): Likewise.
(build_section_addr_info_from_objfile): Remove dead loop
condition.
(free_section_addr_info): Unconditionally call xfree.
(relative_addr_info_to_section_offsets, addrs_section_sort)
(addr_info_make_relative, syms_from_objfile_1): Remove dead loop
condition.
(syms_from_objfile_1): Remove dead 'if' condition.  Check
'num_sections'.
(add_symbol_file_command): Set 'num_sections'.
* symfile-mem.c (symbol_file_add_from_memory): Set
'num_sections'.
* somread.c (som_symfile_offsets): Remove dead loop condition.
* machoread.c (macho_symfile_offsets): Remove dead 'if'.
* jit.c (jit_bfd_try_read_symtab): Set 'num_sections'.

11 years agofix date in ChangeLog entry
Tom Tromey [Thu, 21 Mar 2013 16:16:33 +0000 (16:16 +0000)] 
fix date in ChangeLog entry

11 years ago * tracepoint.h (decode_agent_options): Add 'trace_string'
Tom Tromey [Thu, 21 Mar 2013 16:09:27 +0000 (16:09 +0000)] 
* tracepoint.h (decode_agent_options): Add 'trace_string'
argument.
* tracepoint.c (decode_agent_options): Add 'trace_string'
argument.
(validate_actionline): Update.
(collect_symbol): Add 'trace_string' argument.
(struct add_local_symbols_data) <trace_string>: New field.
(do_collect_symbol): Update.
(add_local_symbols): Add 'trace_string' argument.
(encode_actions_1): Update.
(trace_dump_actions): Update.
* dwarf2loc.c (access_memory): Update.
* ax.h (struct agent_expr) <tracing, trace_string>: New fields.
* ax-general.c (new_agent_expr): Update.
* ax-gdb.h (gen_trace_for_expr, gen_trace_for_var)
(gen_trace_for_return_address): Add argument.
(trace_kludge, trace_string_kludge): Remove.
* ax-gdb.c (trace_kludge, trace_string_kludge): Remove.
(gen_traced_pop, gen_fetch, gen_bitfield_ref, gen_expr): Update.
(gen_trace_for_var): Add 'trace_string' argument.
(gen_trace_for_expr, gen_trace_for_return_address): Likewise.
(gen_printf, agent_eval_command_one): Update.

11 years ago * elf32-h8300 (h8_relax_section): Add new relaxation of mov
Nick Clifton [Thu, 21 Mar 2013 16:08:07 +0000 (16:08 +0000)] 
* elf32-h8300 (h8_relax_section): Add new relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx).
(R_H8_DISP32A16): New reloc.
Comments added and corrected.
* reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.

* ld.texinfo (H8/300): Add description of relaxation of
mov @(disp:32,ERx) to mov @(disp:16,ERx).

* ld-h8300/h8300.exp: Add new relax-7 test on ELF.
* ld-h8300/relax-2.s: Add other direction and .w/.l variants of
mov insns.
* ld-h8300/relax-2.d: Update expected disassembly.
* ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov
@(disp:16,ERx).
* ld-h8300/relax-7b.s: New: Likewise.
* ld-h8300/relax-7.d: New: expected disassembly.

* config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc
R_H8_DISP32A16.
* config/tc-h8300.h: Remove duplicated defines.

11 years ago PR exp/15109:
Tom Tromey [Thu, 21 Mar 2013 15:19:33 +0000 (15:19 +0000)] 
PR exp/15109:
* c-exp.y (yylex): Rewrite to push all tokens onto the FIFO.
Handle FILENAME token.
gdb/testsuite
* gdb.cp/cpexprs.exp: Add test for FILENAME:: case.
* gdb.cp/misc.exp: Add test for FILENAME:: case.

11 years ago * c-exp.y (YYPRINT): Define.
Tom Tromey [Thu, 21 Mar 2013 15:01:55 +0000 (15:01 +0000)] 
* c-exp.y (YYPRINT): Define.
(c_print_token): New function.

11 years ago PR gas/15282
Nick Clifton [Thu, 21 Mar 2013 14:47:34 +0000 (14:47 +0000)] 
PR gas/15282
* tc-avr.c (mcu_has_3_byte_pc): New function.
(tc_cfi_frame_initial_instructions): Call it to find return
address size.

11 years ago * c-exp.y (%union) <sym, ivar, ivec>: Remove.
Tom Tromey [Thu, 21 Mar 2013 14:41:28 +0000 (14:41 +0000)] 
* c-exp.y (%union) <sym, ivar, ivec>: Remove.

11 years ago * coffgen.c (coff_real_object_p): Make global.
Kai Tietz [Thu, 21 Mar 2013 14:07:08 +0000 (14:07 +0000)] 
* coffgen.c (coff_real_object_p): Make global.
* peicode.h (coff_real_object_p): Add prototype.
(FILHDR): Defined for COFF_IMAGE_WITH_PE as
external_PEI_IMAGE_hdr structure.
(coff_swap_filehdr_in): Handle variable header-size.
* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
of directory-entiries as specified in pe-header.

11 years ago * pe-dll.c (process_def_file_and_drectve): Don't handle VC
Kai Tietz [Thu, 21 Mar 2013 14:05:29 +0000 (14:05 +0000)] 
* pe-dll.c (process_def_file_and_drectve): Don't handle VC
generated C++-symbols as stdcall/fastcall.

11 years ago PR sim/15286
Nick Clifton [Thu, 21 Mar 2013 10:34:11 +0000 (10:34 +0000)] 
PR sim/15286
* elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
iWMMXt and iWMMXt2 processors from attributes.

11 years ago * layout.cc (Layout::set_segment_offsets): Accept writable .text
Alan Modra [Thu, 21 Mar 2013 04:52:55 +0000 (04:52 +0000)] 
* layout.cc (Layout::set_segment_offsets): Accept writable .text
segment when omagic.

11 years ago * dwp.cc (Dwp_output_file::add_contribution): Avoid signed/unsigned
Alan Modra [Thu, 21 Mar 2013 02:00:16 +0000 (02:00 +0000)] 
* dwp.cc (Dwp_output_file::add_contribution): Avoid signed/unsigned
comparison warning.
* layout.cc (Layout::create_dynamic_symtab): Avoid "may be used
uninitialized" warning.

11 years agogdb/
Yao Qi [Thu, 21 Mar 2013 01:08:46 +0000 (01:08 +0000)] 
gdb/
* ctf.c: Include "gdb_stat.h".
[USE_WIN32API]: New macro 'mkdir'.
(ctf_start): Use permission bits macros if they are defined.

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

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

11 years ago * breakpoint.h (struct breakpoint): Add comment to
Keith Seitz [Wed, 20 Mar 2013 22:17:18 +0000 (22:17 +0000)] 
* breakpoint.h (struct breakpoint): Add comment to
extra_string indicating that this member is mallod'd.
* breakpoint.c (base_breakpoint_dtor): Free extra_string.

11 years agoFix PR gdb/15289 - "set remote hardware-watchpoint-limit" broken (zinteger commands)
Pedro Alves [Wed, 20 Mar 2013 18:58:16 +0000 (18:58 +0000)] 
Fix PR gdb/15289 - "set remote hardware-watchpoint-limit" broken (zinteger commands)

This is a regression from 7.5, introduced/exposed by:
  http://sourceware.org/ml/gdb-patches/2012-07/msg00259.html

There are a series of issues with this code.

It does:

unsigned int val = parse_and_eval_long (arg);
^^^^^^^^^^^^

(unsigned, usually 32-bit) while parse_and_eval_long returns a LONGEST
(usually 64-bit), so we lose precision without noticing:

  (gdb) set remote hardware-watchpoint-limit 0x100000000
  (gdb) show remote hardware-watchpoint-limit 0x100000000
  The maximum number of target hardware watchpoints is 0.

While at it, print the invalid number with plongest, so the user sees
what GDB thought the number was:

  (gdb) set remote hardware-watchpoint-limit 0x100000000
  integer 4294967296 out of range

So with "set remote hardware-watchpoint-limit -1", val ends converted
to 0xffffffff, which then fails the

else if (val >= INT_MAX)
  error (_("integer %u out of range"), val);

test.

Looking at that INT_MAX check, we forbid INT_MAX itself, but we
shouldn't, as that does fit in 'int' -- we want to forbid values
_greater_ than INT_MAX (and less than INT_MIN, while at it):

  (gdb) set remote hardware-watchpoint-limit 2147483647
  integer 2147483647 out of range

The same problem is in the new var_zuinteger_unlimited code, which
also uses "int" for variable.

Also, when printing a 'signed int', we should use %d, not %u.

This adds a couple regression tests.  Not completely thorough in checking
all kinds of invalid input; I'm saving more exaustive testing around
zXXinteger commands for something like new test-assisting commands
like "maint test cmd-zinteger -1", where testing would focus on the
command types, and thus be independent of particular user commands of
particular GDB features.

Tested on x86_64 Fedora 17.

gdb/
2013-03-20  Pedro Alves  <palves@redhat.com>

PR gdb/15289

* cli/cli-setshow.c (do_set_command)
<var_uinteger, var_zuinteger>: Use LONGEST for variable holding
the result of parsing the command argument.  Throw error if the
value is greater than UINT_MAX.  Print the invalid value with
plongest.
<var_integer, var_zinteger>: Use LONGEST for variable holding the
result of parsing the command argument.  Throw error if the value
is greater than INT_MAX, not greater or equal.  Also throw error
if the value is less than INT_MIN.  Print the invalid value with
plongest.
<var_zuinteger_unlimited>: Throw error if the value is greater
than INT_MAX, not greater or equal.
(do_show_command) <var_integer, var_zinteger,
var_zuinteger_unlimited>: Use %d for printing int, not %u.

gdb/testsuite/
2013-03-20  Pedro Alves  <palves@redhat.com>

PR gdb/15289

* gdb.base/remote.exp: Test
"set remote hardware-watchpoint-limit -1",
"set remote hardware-breakpoint-limit -1",
"set remote hardware-watchpoint-limit 2147483647" and
"set remote hardware-breakpoint-limit 2147483647".

11 years ago * ax-gdb.c (gen_var_ref): Unconditionally call via computed ops,
Tom Tromey [Wed, 20 Mar 2013 18:35:22 +0000 (18:35 +0000)] 
* ax-gdb.c (gen_var_ref): Unconditionally call via computed ops,
if possible.
* dwarf2read.c (read_func_scope): Remove old FIXME.
* eval.c (evaluate_subexp_standard): Check SYMBOL_COMPUTED_OPS,
not LOC_COMPUTED.
* findvar.c (symbol_read_needs_frame, default_read_var_value):
Unconditionally call via computed ops, if possible.
* printcmd.c (address_info): Unconditionally call via computed ops,
if possible.
* stack.c (read_frame_arg): Unconditionally call via computed ops,
if possible.
* symtab.c (register_symbol_computed_impl): Sanity check 'ops'.
* tracepoint.c (scope_info): Unconditionally call via computed ops,
if possible.

11 years ago2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey [Wed, 20 Mar 2013 18:33:05 +0000 (18:33 +0000)] 
2013-03-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    Tom Tromey  <tromey@redhat.com>

PR symtab/8421:
* coffread.c (coff_register_index): New global.
(process_coff_symbol, coff_read_enum_type): Set
SYMBOL_ACLASS_INDEX.
(_initialize_coffread): Initialize new global.
* dwarf2loc.c (locexpr_find_frame_base_location)
(dwarf2_block_frame_base_locexpr_funcs)
(loclist_find_frame_base_location)
(dwarf2_block_frame_base_loclist_funcs): New.
(dwarf_expr_frame_base_1): Call SYMBOL_BLOCK_OPS, remove internal_error.
(dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Add location_has_loclist.
* dwarf2loc.h (dwarf2_block_frame_base_locexpr_funcs)
(dwarf2_block_frame_base_loclist_funcs): New.
* dwarf2read.c (dwarf2_locexpr_index, dwarf2_loclist_index)
(dwarf2_locexpr_block_index, dwarf2_loclist_block_index): New
globals.
(read_func_scope): Update.
(fixup_go_packaging, mark_common_block_symbol_computed)
(var_decode_location, new_symbol_full, dwarf2_const_value):
Set SYMBOL_ACLASS_INDEX.
(dwarf2_symbol_mark_computed): Likewise.  Add 'is_block' argument.
(_initialize_dwarf2_read): Initialize new globals.
* jit.c (finalize_symtab): Set SYMBOL_ACLASS_INDEX.
* jv-lang.c (add_class_symbol): Set SYMBOL_ACLASS_INDEX.
* mdebugread.c (mdebug_register_index, mdebug_regparm_index): New
globals.
(parse_symbol, psymtab_to_symtab_1): Set SYMBOL_ACLASS_INDEX.
(_initialize_mdebugread): Initialize new globals.
* psympriv.h (struct partial_symbol) <aclass>: Update comment.
* stabsread.c (patch_block_stabs): Set SYMBOL_ACLASS_INDEX.
(stab_register_index, stab_regparm_index): New globals.
(define_symbol, read_enum_type, common_block_end): Set
SYMBOL_ACLASS_INDEX.
(_initialize_stabsread): Initialize new globals.
* symtab.c (next_aclass_value, symbol_impl, symbol_impls): New
globals.
(MAX_SYMBOL_IMPLS): New define.
(register_symbol_computed_impl, register_symbol_block_impl)
(register_symbol_register_impl)
(initialize_ordinary_address_classes): New functions.
(_initialize_symtab): Call initialize_ordinary_address_classes.
* symtab.h (enum address_class) <LOC_FINAL_VALUE>: New constant.
(struct symbol_impl): New.
(SYMBOL_ACLASS_BITS): New define.
(struct symbol) <aclass, ops>: Remove fields.
<aclass_index>: New field.
(symbol_impls): Declare.
(SYMBOL_CLASS, SYMBOL_COMPUTED_OPS, SYMBOL_REGISTER_OPS): Redefine.
(SYMBOL_IMPL, SYMBOL_ACLASS_INDEX): New defines.
(register_symbol_computed_impl, register_symbol_block_impl)
(register_symbol_register_impl): Declare.
(struct symbol_computed_ops): Add location_has_loclist.
(struct symbol_block_ops): New.
(SYMBOL_BLOCK_OPS): New.
* xcoffread.c (process_xcoff_symbol): Set SYMBOL_ACLASS_INDEX.

11 years ago * psymtab.c (find_pc_sect_psymbol, fixup_psymbol_section)
Tom Tromey [Wed, 20 Mar 2013 18:28:48 +0000 (18:28 +0000)] 
* psymtab.c (find_pc_sect_psymbol, fixup_psymbol_section)
(print_partial_symbols, recursively_search_psymtabs): Use
PSYMBOL_CLASS.

11 years ago PR gas/15082
Nick Clifton [Wed, 20 Mar 2013 16:56:34 +0000 (16:56 +0000)] 
PR gas/15082
* tic6x-opcode-table.h: Rename mpydp's specific operand type macro
from ORREGD1324 to ORXREGD1324 and make it cross-path-able through
tic6x_operand_xregpair operand coding type.
Make mpydp instruction cross-path-able, ie: remove the FIXed 'x'
opcode field, usu ORXREGD1324 for the src2 operand and remove the
TIC6X_FLAG_NO_CROSS.

* gas/tic6x/insns-bad-1.s: Remove test-case for mpydp with
cross-path.
* gas/tic6x/insns-bad-1.l: Update expected output.
* gas/tic6x/insns-c674x.s: Add a test-case for mpydp with
cross-path.
* gas/tic6x/insns-c674x.d: Update expected output.

11 years ago* include/opcode/tic6x.h: add tic6x_coding_dreg_(msb|lsb) field coding type in
Nick Clifton [Wed, 20 Mar 2013 16:36:34 +0000 (16:36 +0000)] 
* include/opcode/tic6x.h: add tic6x_coding_dreg_(msb|lsb) field coding type in
order to encode separately the msb and lsb of a register pair ; this will be
needed to encode the opcodes the same
way as Ti assembler does.

* gas/config/tc-tic6x.c: handle tic6x_coding_dreg_(msb|lsb)  field coding types
and use it to encode register pair numbers when required.

* opcodes/tic6x-dis.c: decodes opcodes that have individual msb and lsb halves
in src1 & src2 fields ; discard the src1 (lsb) value and only use src2 (msb),
discarding bit 0, to follow what Ti SDK does in that case as any value in the
src1 field yields the same output with SDK disassembler.

* include/opcode/tic6x-opcode-table.h: modify absdp, dpint, dpsp, dptrunc,
rcpdp and rsqrdp opcodes to use the new field coding types.

* gas/testsuite/gas/tic6x/insns-c674x.d, gas/testsuite/gas/tic6x/insns-c674x.s
: add test case for the newly generated opcode but keep the old ones as they
seem legit as per Ti disassembler output.

11 years ago * contrib/ari/gdb_ari.sh (OP eol rule): Also check
Pierre Muller [Wed, 20 Mar 2013 16:13:10 +0000 (16:13 +0000)] 
* contrib/ari/gdb_ari.sh (OP eol rule): Also check
addtion, subtraction, multiplication and division binary operator.

11 years agogdb/
Jan Kratochvil [Wed, 20 Mar 2013 15:46:24 +0000 (15:46 +0000)] 
gdb/
Code cleanup.
* bfd-target.c (target_bfd_xclose): Remove parameter quitting.
* bsd-kvm.c (bsd_kvm_close): Likewise.
* bsd-uthread.c (bsd_uthread_close): Likewise.
* corelow.c (core_close): Likewise.
(core_close_cleanup): Remove parameter quitting from a caller.
* event-top.c (async_disconnect): Likewise.
* exec.c (exec_close_1): Remove parameter quitting.
* go32-nat.c (go32_close): Likewise.
* linux-nat.c (linux_nat_close): Remove parameter quitting.  Remove
parameter quitting from a caller.
* mips-linux-nat.c (super_close): Remove parameter quitting from the
variable.
(mips_linux_close): Remove parameter quitting.  Remove parameter
quitting from a caller.
* monitor.c (monitor_close): Remove parameter quitting.
* monitor.h (monitor_close): Likewise.
* record-btrace.c (record_btrace_close): Likewise.
* record-full.c (record_full_close): Likewise.
* remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove
it also from fprintf_unfiltered.
* remote-mips.c (mips_close): Remove parameter quitting.
(mips_detach): Remove parameter quitting from a caller.
* remote-sim.c (gdbsim_close): Remove parameter quitting.
(gdbsim_close): Remove duplicate function comment.  Remove parameter
quitting and remove it also from printf_filtered.
* remote.c (remote_close): Remove parameter quitting.
* solib-svr4.c (enable_break): Remove parameter quitting from a caller.
* target.c (update_current_target): Remove parameter int from to_close
de_fault.
(push_target, unpush_target, pop_target): Remove parameter quitting from
a caller.
(pop_all_targets_above, pop_all_targets): Remove parameter quitting.
Remove parameter quitting from a caller.
(target_preopen): Remove parameter quitting from a caller.
(target_close): Remove parameter quitting.  Remove parameter quitting
from a caller two times.  Remove parameter quitting also from
fprintf_unfiltered.
* target.h (struct target_ops): Remove parameter quitting and as int
from fields to_xclose and to_close.
(extern struct target_ops current_target):
(target_close, pop_all_targets): Remove parameter quitting.  Update the
comment.
(pop_all_targets_above): Remove parameter quitting.
* top.c (quit_target): Remove parameter quitting from a caller.
* tracepoint.c (tfile_close): Remove parameter quitting.
* windows-nat.c (windows_close): Remove parameter quitting.

11 years agoEnable --gc-sections test cases for aarch64*-*-*
Marcus Shawcroft [Wed, 20 Mar 2013 14:57:38 +0000 (14:57 +0000)] 
Enable --gc-sections test cases for aarch64*-*-*

11 years agold/testsuite/ChangeLog:
Will Newton [Wed, 20 Mar 2013 12:46:27 +0000 (12:46 +0000)] 
ld/testsuite/ChangeLog:

2013-03-20  Will Newton  <will.newton@linaro.org>

        * ld-elfvers/vers.exp (objdump_symstuff): Sort objdump output
based on the symbol name rather than address.
* ld-elfvers/vers1.sym: Reorder contents to match changes to vers.exp.
* ld-elfvers/vers15.sym: Likewise.
* ld-elfvers/vers18.sym: Likewise.
* ld-elfvers/vers21.sym: Likewise.
* ld-elfvers/vers9.sym: Likewise.

11 years agotfile.exp: Test printing a non-const global that is not covered by the trace frame...
Pedro Alves [Wed, 20 Mar 2013 11:28:55 +0000 (11:28 +0000)] 
tfile.exp: Test printing a non-const global that is not covered by the trace frame; test disassembling.

Make sure we don't fallback to printing the initial value of a
non-const variable in the executable.

Also make sure we can do 'disassemble', as another test that GDB is
able to read read-only parts from the executable (the existing test of
printing constglob also covers that case).

gdb/testsuite/
2013-03-20  Pedro Alves  <palves@redhat.com>
    Yao Qi  <yao@codesourcery.com>

* gdb.trace/tfile.c: Add comments.
(nonconstglob): New global.
* gdb.trace/tfile.exp: Add comments.  Test printing a non-const
global that is not covered by the trace frame.  Test
disassembling.

11 years ago * windows-nat.c (handle_output_debug_string): Replace call
Corinna Vinschen [Wed, 20 Mar 2013 08:51:06 +0000 (08:51 +0000)] 
* windows-nat.c (handle_output_debug_string): Replace call
to string_to_core_addr with call to strtoull.

11 years agobfd/
Alan Modra [Wed, 20 Mar 2013 03:44:56 +0000 (03:44 +0000)] 
bfd/
* elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
sh_type according to is_rela.
ld/testsuite/
* ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test.
* ld-elf/shared.exp: Build and run it.

11 years agogdb/
Yao Qi [Wed, 20 Mar 2013 02:54:22 +0000 (02:54 +0000)] 
gdb/
* ctf.c (ctf_save_metadata_header): Define macro HOST_ENDIANNESS
and write it to CTF metadata.

11 years ago * ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests
Alan Modra [Wed, 20 Mar 2013 02:28:17 +0000 (02:28 +0000)] 
* ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests
linking against shared libraries.
* ld-elfweak/elfweak.exp: Likewise.  Enable for x86_64-linux.
Build main1.o using $picflag.

11 years ago * symtab.h (Symbol::clear_version): New function.
Alan Modra [Wed, 20 Mar 2013 00:25:28 +0000 (00:25 +0000)] 
* symtab.h (Symbol::clear_version): New function.
* symtab.cc (Symbol_table::set_dynsym_indexes): Don't set object
is_needed by weak references.  Clear version for symbols defined
in as-needed objects that are not needed.

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

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

11 years ago * windows-nat.c (handle_output_debug_string): Change type of n to
Corinna Vinschen [Tue, 19 Mar 2013 15:06:26 +0000 (15:06 +0000)] 
* windows-nat.c (handle_output_debug_string): Change type of n to
SIZE_T to avoid crash on 64 bit systems.

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

11 years agodaily update
Alan Modra [Tue, 19 Mar 2013 01:15:10 +0000 (01:15 +0000)] 
daily update

11 years ago PR ld/12549
Alan Modra [Mon, 18 Mar 2013 02:47:03 +0000 (02:47 +0000)] 
PR ld/12549
bfd/
* elflink.c (elf_link_add_object_symbols): Exclude weak refs when
considering whether an --as-needed library is needed.
ld/
* ld.texinfo (--as-needed): Update.
ld/testsuite/
* ld-elf/pr14862.out: Expect no output.

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

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

11 years agomerge from gcc
DJ Delorie [Sun, 17 Mar 2013 21:25:53 +0000 (21:25 +0000)] 
merge from gcc

11 years agogdb/testsuite/
Jan Kratochvil [Sun, 17 Mar 2013 20:37:32 +0000 (20:37 +0000)] 
gdb/testsuite/
* gdb.base/valgrind-infcall.exp
(continue #$continue_count) <remote connection closed>
(continue #$continue_count) <valgrind vgdb has terminated>: Add kill of
$valgrind_pid.

11 years agoAvoid MinGW warnings about redefinition of snprintf.
Eli Zaretskii [Sun, 17 Mar 2013 19:10:38 +0000 (19:10 +0000)] 
Avoid MinGW warnings about redefinition of snprintf.

 gdb/python/python-internal.h (HAVE_SNPRINTF)
 [_WIN32 && HAVE_DECL_SNPRINTF]: Define, to avoid compiler warnings
 about redefinition of snprintf by pyerrors.h.

11 years agoFix compilation warning by MinGW GCC.
Eli Zaretskii [Sun, 17 Mar 2013 19:04:25 +0000 (19:04 +0000)] 
Fix compilation warning by MinGW GCC.

 setenv.c [!HAVE_ENVIRON_DECL]: Avoid declaring environ if it is
 a macro, as this causes compiler warnings with MinGW.

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

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

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

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

11 years agogas/testsuite/ChangeLog:
Will Newton [Fri, 15 Mar 2013 17:55:03 +0000 (17:55 +0000)] 
gas/testsuite/ChangeLog:

2013-03-15  Will Newton  <will.newton@linaro.org>

* gas/arm/any-idiv.d: Expand *-*eabi test to cover *-*eabi*.
* gas/arm/arch4t-eabi.d: Likewise.
* gas/arm/arch4t.d: Likewise.
* gas/arm/attr-any-armv4t.d: Likewise.
* gas/arm/attr-any-thumbv6.d: Likewise.
* gas/arm/attr-cpu-directive.d: Likewise.
* gas/arm/attr-default.d: Likewise.
* gas/arm/attr-march-all.d: Likewise.
* gas/arm/attr-march-armv1.d: Likewise.
* gas/arm/attr-march-armv2.d: Likewise.
* gas/arm/attr-march-armv2a.d: Likewise.
* gas/arm/attr-march-armv2s.d: Likewise.
* gas/arm/attr-march-armv3.d: Likewise.
* gas/arm/attr-march-armv3m.d: Likewise.
* gas/arm/attr-march-armv4.d: Likewise.
* gas/arm/attr-march-armv4t.d: Likewise.
* gas/arm/attr-march-armv4txm.d: Likewise.
* gas/arm/attr-march-armv4xm.d: Likewise.
* gas/arm/attr-march-armv5.d: Likewise.
* gas/arm/attr-march-armv5t.d: Likewise.
* gas/arm/attr-march-armv5te.d: Likewise.
* gas/arm/attr-march-armv5tej.d: Likewise.
* gas/arm/attr-march-armv5texp.d: Likewise.
* gas/arm/attr-march-armv5txm.d: Likewise.
* gas/arm/attr-march-armv6-m+os.d: Likewise.
* gas/arm/attr-march-armv6-m.d: Likewise.
* gas/arm/attr-march-armv6.d: Likewise.
* gas/arm/attr-march-armv6j.d: Likewise.
* gas/arm/attr-march-armv6k+sec.d: Likewise.
* gas/arm/attr-march-armv6k.d: Likewise.
* gas/arm/attr-march-armv6kt2.d: Likewise.
* gas/arm/attr-march-armv6s-m.d: Likewise.
* gas/arm/attr-march-armv6t2.d: Likewise.
* gas/arm/attr-march-armv6z.d: Likewise.
* gas/arm/attr-march-armv6zk.d: Likewise.
* gas/arm/attr-march-armv6zkt2.d: Likewise.
* gas/arm/attr-march-armv6zt2.d: Likewise.
* gas/arm/attr-march-armv7-a+idiv.d: Likewise.
* gas/arm/attr-march-armv7-a+mp.d: Likewise.
* gas/arm/attr-march-armv7-a+sec+virt.d: Likewise.
* gas/arm/attr-march-armv7-a+sec.d: Likewise.
* gas/arm/attr-march-armv7-a+virt.d: Likewise.
* gas/arm/attr-march-armv7-a.d: Likewise.
* gas/arm/attr-march-armv7-m.d: Likewise.
* gas/arm/attr-march-armv7-r+mp.d: Likewise.
* gas/arm/attr-march-armv7-r.d: Likewise.
* gas/arm/attr-march-armv7.d: Likewise.
* gas/arm/attr-march-armv7a.d: Likewise.
* gas/arm/attr-march-armv7em.d: Likewise.
* gas/arm/attr-march-armv7m.d: Likewise.
* gas/arm/attr-march-armv7r.d: Likewise.
* gas/arm/attr-march-armv8-a+crypto.d: Likewise.
* gas/arm/attr-march-armv8-a+fp.d: Likewise.
* gas/arm/attr-march-armv8-a+simd.d: Likewise.
* gas/arm/attr-march-armv8-a.d: Likewise.
* gas/arm/attr-march-iwmmxt.d: Likewise.
* gas/arm/attr-march-iwmmxt2.d: Likewise.
* gas/arm/attr-march-xscale.d: Likewise.
* gas/arm/attr-mcpu.d: Likewise.
* gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/arm/attr-mfpu-arm7500fe.d: Likewise.
* gas/arm/attr-mfpu-fpa.d: Likewise.
* gas/arm/attr-mfpu-fpa10.d: Likewise.
* gas/arm/attr-mfpu-fpa11.d: Likewise.
* gas/arm/attr-mfpu-fpe.d: Likewise.
* gas/arm/attr-mfpu-fpe2.d: Likewise.
* gas/arm/attr-mfpu-fpe3.d: Likewise.
* gas/arm/attr-mfpu-maverick.d: Likewise.
* gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/arm/attr-mfpu-neon.d: Likewise.
* gas/arm/attr-mfpu-softfpa.d: Likewise.
* gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/arm/attr-mfpu-softvfp.d: Likewise.
* gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/arm/attr-names.d: Likewise.
* gas/arm/attr-order.d: Likewise.
* gas/arm/attr-override-cpu-directive.d: Likewise.
* gas/arm/attr-override-mcpu.d: Likewise.
* gas/arm/got_prel.d: Likewise.
* gas/arm/mapdir.d: Likewise.
* gas/arm/mapmisc.d: Likewise.
* gas/arm/mapsecs.d: Likewise.
* gas/arm/mapshort-eabi.d: Likewise.
* gas/arm/mapshort-elf.d: Likewise.
* gas/arm/mov-highregs-any.d: Likewise.
* gas/arm/mov-lowregs-any.d: Likewise.
* gas/arm/pr12198-1.d: Likewise.
* gas/arm/pr12198-2.d: Likewise.
* gas/arm/thumb-eabi.d: Likewise.
* gas/arm/thumb.d: Likewise.
* gas/arm/thumbrel.d: Likewise.

ld/testsuite/ChangeLog:

2013-03-15  Will Newton  <will.newton@linaro.org>

* ld-arm/arm-elf.exp: Expand *-*eabi test to cover *-*eabi*.
* ld-arm/gc-hidden-1.d: Likewise.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-shared/shared.exp: Likewise.

11 years agogdb:
Steve Ellcey [Fri, 15 Mar 2013 17:53:44 +0000 (17:53 +0000)] 
gdb:

2013-03-15  Steve Ellcey  <sellcey@mips.com>

* remote-sim.c (sim_command_completer): Make char arguments const.

include:

2013-03-15  Steve Ellcey  <sellcey@mips.com>

* gdb/remote-sim.h (sim_command_completer): Make char arguments const.

sim:

2013-03-15  Steve Ellcey  <sellcey@mips.com>

* arm/wrapper.c (sim_complete_command): Make char arguments const.
* avr/interp.c (sim_complete_command): Ditto.
* common/sim-options.c (sim_complete_command): Ditto.
* cr16/interp.c (sim_complete_command): Ditto.
* erc32/interf.c (sim_complete_command): Ditto.
* m32c/gdb-if.c (sim_complete_command): Ditto.
* microblaze/interp.c (sim_complete_command): Ditto.
* ppc/sim_calls.c (sim_complete_command): Ditto.
* rl78/gdb-if.c (sim_complete_command): Ditto.
* rx/gdb-if.c (sim_complete_command): Ditto.
* sh/interp.c (sim_complete_command): Ditto.

11 years ago2013-03-15 Tony Theodore <tonyt@logyst.com>
Tom Tromey [Fri, 15 Mar 2013 17:30:27 +0000 (17:30 +0000)] 
2013-03-15  Tony Theodore  <tonyt@logyst.com>

PR build/9098:
* Makefile.in (SHELL): Use @SHELL@.

11 years ago PR c++/15116:
Tom Tromey [Fri, 15 Mar 2013 17:10:45 +0000 (17:10 +0000)] 
PR c++/15116:
     * gdbtypes.c (types_equal): Handle TYPE_CODE_FUNC.
gdb/testsuite
     * gdb.cp/overload.cc (intintfunc): New.
     * gdb.cp/overload.exp: Add regression test.

11 years ago * gas/arm/arch7.d: Skip for non-ELF ARM targets.
Nick Clifton [Fri, 15 Mar 2013 16:29:35 +0000 (16:29 +0000)] 
* gas/arm/arch7.d: Skip for non-ELF ARM targets.
* gas/arm/arch7a-mp.d: Likewise.
* gas/arm/arch7em.d: Likewise.
* gas/arm/crc32-bad.d: Likewise.
* gas/arm/crc32.d: Likewise.

11 years ago * addr2line.c (slurp_symtab): If canonicalization reveals that
Nick Clifton [Fri, 15 Mar 2013 16:25:00 +0000 (16:25 +0000)] 
* addr2line.c (slurp_symtab): If canonicalization reveals that
there were no ordinary symbols, try loading the dynamic symbols
instead.

11 years agogas/ChangeLog:
Will Newton [Fri, 15 Mar 2013 15:53:39 +0000 (15:53 +0000)] 
gas/ChangeLog:

2013-03-12  Will Newton  <will.newton@linaro.org>

* config/tc-arm.c (do_neon_ldr_str): Fix error check for PC register
in vstr in Thumb mode for pre-ARMv7 cores.

gas/testsuite/ChangeLog:

2013-03-12  Will Newton  <will.newton@linaro.org>

* gas/arm/vstr-thumb-bad.d: Assemble with -mcpu=arm1156t2f-s.

11 years ago * powerpc.cc (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Make
Alan Modra [Fri, 15 Mar 2013 08:40:49 +0000 (08:40 +0000)] 
* powerpc.cc (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Make
static and public.  Add report_err param.  Return false for data refs.
(Target_powerpc::rela_dyn_section): New overloaded function.
(Target_powerpc::plt_, iplt_): Elucidate.
(Output_data_plt_powerpc::entry_count): Handle current_data_size()==0.
(Output_data_plt_powerpc::do_write): Don't write .iplt.
(Output_data_plt_powerpc::plt_entry_count): Don't add .iplt entries.
(Target_powerpc::Scan::local, global): Adjust reloc_needs_plt_for_ifunc
calls.  Put ifunc dynamic relocs in irela_dyn_section.  Only
push_branch and make_plt_entry for ifunc syms when
reloc_needs_plt_for_ifunc.
(Target_powerpc::Relocate::relocate): Don't use plt entry value
for ifunc unless reloc_needs_plt_for_ifunc.

11 years ago * gc.h (gc_process_relocs): Don't look through function descriptors.
Alan Modra [Fri, 15 Mar 2013 07:51:32 +0000 (07:51 +0000)] 
* gc.h (gc_process_relocs): Don't look through function descriptors.
* icf.cc (get_section_contents): Do so here instead.

11 years agogdb/testsuite/
Yao Qi [Fri, 15 Mar 2013 01:41:29 +0000 (01:41 +0000)] 
gdb/testsuite/
* gdb.threads/non-ldr-exc-1.exp (do_test): Fix the indent of
using with_test_prefix.
* gdb.threads/non-ldr-exc-2.exp (do_test): Likewise.
* gdb.threads/non-ldr-exc-3.exp (do_test): Likewise.
* gdb.threads/non-ldr-exc-4.exp (do_test): Likewise.
* gdb.threads/watchpoint-fork.exp (test): Likewise.
* gdb.base/break-interp.exp (test_core): Likewise.
(test_attach_gdb): Likewise.
* gdb.base/catch-load.exp (one_catch_load_test): Likewise.
* gdb.base/disp-step-syscall.exp (disp_step_cross_syscall):
Likewise.
* gdb.base/jit-so.exp (one_jit_test): Likewise.
* gdb.base/jit.exp (one_jit_test): Likewise.
* gdb.base/sepdebug.exp (test_different_dir): Likewise.
* gdb.dwarf2/dw2-dir-file-name.exp (test): Likewise.
* gdb.dwarf2/dw2-noloc.exp (file_symbols): Likewise.
* gdb.mi/mi-breakpoint-changed.exp (test_pending_resolved):
Likewise.
* gdb.mi/mi-cmd-param-changed.exp (test_command_param_changed):
Likewise.
* gdb.mi/mi-watch.exp test_watchpoint_all): Likewise.
* gdb.mi/pr11022.exp (test_memory_changed_observer): Likewise.
* gdb.trace/change-loc.exp (tracepoint_change_loc_1): Likewise.
(tracepoint_change_loc_2): Likewise.
* gdb.trace/disconnected-tracing.exp (disconnected_tracing):
Likewise.
(disconnected_tfind): Likewise.
* gdb.trace/mi-traceframe-changed.exp (test_tfind_tfile):
Likewise.
(test_tfind_remote): Likewise.
* gdb.trace/mi-tracepoint-changed.exp (test_reconnect):
Likewise.
(test_pending_resolved): Likewise.
* gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv):
Likewise.
(test_upload_tsv): Likewise.
* gdb.trace/pending.exp (pending_tracepoint_resolved):
Likewise.
(pending_tracepoint_works): Likewise.
* gdb.trace/report.exp (use_collected_data): Likewise.
* gdb.trace/status-stop.exp (test_tstart_tstop_tstart):
Likewise.
(test_tstart_tstart, test_buffer_full_tstart): Likewise.
* gdb.trace/strace.exp (strace_info_marker): Likewise.
(strace_trace_on_same_addr): Likewise.
(strace_trace_on_diff_addr): Likewise.
* gdb.trace/unavailable.exp (gdb_collect_args_test): Likewise.
(gdb_collect_locals_test): Likewise.
(gdb_unavailable_registers_test): Likewise.
(gdb_collect_globals_test): Likewise.

11 years agogdb/testsuite/
Yao Qi [Fri, 15 Mar 2013 01:33:40 +0000 (01:33 +0000)] 
gdb/testsuite/
* gdb.base/condbreak.exp: Add semicolon back which was removed
by my previous commit.

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

11 years agoFix erc32 simulator out-of-tree build failure.
Joel Brobecker [Thu, 14 Mar 2013 23:33:57 +0000 (23:33 +0000)] 
Fix erc32 simulator out-of-tree build failure.

sim/erc32/ChangeLog:

        * Makefile.in: Include build directory in search path to find
        config.h

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

11 years ago * gdb_bfd.c (struct gdb_bfd_data) <crc_computed, crc>:
Tom Tromey [Thu, 14 Mar 2013 20:26:19 +0000 (20:26 +0000)] 
* gdb_bfd.c (struct gdb_bfd_data) <crc_computed, crc>:
New fields.
(get_file_crc): Move from symfile.c.
(gdb_bfd_crc): New function.
* gdb_bfd.h (gdb_bfd_crc): Declare.
* objfiles.h (struct objfile) <crc32, crc32_p>: Remove.
* symfile.c (get_file_crc): Move to gdb_bfd.c.
(separate_debug_file_exists): Use gdb_bfd_crc.

11 years agogdb
Tom Tromey [Thu, 14 Mar 2013 20:11:12 +0000 (20:11 +0000)] 
gdb
* symfile.c (get_debug_link_info): Remove.
(find_separate_debug_file_by_debuglink): Use
bfd_get_debug_link_info.
bfd
* opncls.c (bfd_get_debug_link_info): Rename from
get_debug_link_info.  Export.  Update comment.
(find_separate_debug_file): Update.
* bfd-in2.h: Rebuild.

11 years ago * symtab.c (error_in_psymtab_expansion): New function.
Tom Tromey [Thu, 14 Mar 2013 18:56:02 +0000 (18:56 +0000)] 
* symtab.c (error_in_psymtab_expansion): New function.
(lookup_symbol_aux_quick)
(basic_lookup_transparent_type_quick): Remove "last resort"
code.  Use error_in_psymtab_expansion.

11 years ago * MAINTAINERS: Add myself as Meta maintainer.
Nick Clifton [Thu, 14 Mar 2013 16:38:55 +0000 (16:38 +0000)] 
* MAINTAINERS: Add myself as Meta maintainer.

11 years agogdb/
Jan Kratochvil [Thu, 14 Mar 2013 16:36:27 +0000 (16:36 +0000)] 
gdb/
* dwarf2read.c (dw2_map_symtabs_matching_filename): Put continue after
any successful compare_filenames_for_search or FILENAME_CMP.
* psymtab.c (partial_map_symtabs_matching_filename): Likewise.
* symtab.c (iterate_over_some_symtabs): Likewise.

11 years ago* doc/c-arc.texi (ARC Directives): Revert last change and use
Andreas Schwab [Thu, 14 Mar 2013 16:17:45 +0000 (16:17 +0000)] 
* doc/c-arc.texi (ARC Directives): Revert last change and use
@itemize instead of @table.
* doc/c-arm.texi (ARM-Instruction-Set): Likewise.

11 years agogdb/
Jan Kratochvil [Thu, 14 Mar 2013 14:42:48 +0000 (14:42 +0000)] 
gdb/
* source.c (print_source_lines_base): Make a local copy of
symtab_to_fullname.

11 years agogdb/
Jan Kratochvil [Thu, 14 Mar 2013 14:35:17 +0000 (14:35 +0000)] 
gdb/
* source.c (print_source_lines_base): Suppress "file" for TUI.

11 years agogdb/testsuite/
Yao Qi [Thu, 14 Mar 2013 13:34:06 +0000 (13:34 +0000)] 
gdb/testsuite/

* config/monitor.exp (gdb_target_cmd): Remove semicolon after
'return'.
(gdb_target_monitor, gdb_load): Likewise.
* config/sid.exp (gdb_load): Likewise.
* config/slite.exp (gdb_load): Likewise.
* config/vx.exp (gdb_start, spawn_vxgdb): Likewise.
* gdb.ada/arrayidx.exp, gdb.ada/null_array.exp: Likewise.
* gdb.arch/mips-octeon-bbit.exp (single_step): Likewise.
(single_step_until): Likewise.
* gdb.arch/powerpc-d128-regs.exp: Likewise.
* gdb.arch/system-gcore.exp: Likewise.
* gdb.base/bigcore.exp (extract_heap): Likewise.
* gdb.base/break-on-linker-gcd-function.exp: Likewise.
* gdb.base/call-ar-st.exp: Likewise.
* gdb.base/call-rt-st.exp: Likewise.
* gdb.base/call-sc.exp, gdb.base/call-strs.exp: Likewise.
* gdb.base/callfuncs.exp, gdb.base/completion.exp: Likewise.
* gdb.base/condbreak.exp, gdb.base/constvars.exp: Likewise.
* gdb.base/corefile.exp: Likewise.
* gdb.base/dbx.exp (gdb_file_cmd): Likewise.
* gdb.base/exprs.exp, gdb.base/fileio.exp: Likewise.
* gdb.base/fixsection.exp: Likewise.
* gdb.base/funcargs.exp: Likewise.
* gdb.base/gcore-buffer-overflow.exp: Likewise.
* gdb.base/gcore-relro.exp: Likewise.
* gdb.base/gcore.exp, gdb.base/gdb11530.exp: Likewise.
* gdb.base/gdb11531.exp, gdb.base/gnu-ifunc.exp: Likewise.
* gdb.base/info-os.exp, gdb.base/info-proc.exp: Likewise.
* gdb.base/interp.exp, gdb.base/langs.exp:: Likewise.
* gdb.base/list.exp: Likewise.
(set_listsize): Likewise.
* gdb.base/logical.exp, gdb.base/mips_pro.exp: Likewise.
* gdb.base/miscexprs.exp, gdb.base/nodebug.exp: Likewise.
* gdb.base/opaque.exp, gdb.base/pointers.exp: Likewise.
* gdb.base/psymtab.exp, gdb.base/ptype.exp: Likewise.
* gdb.base/relational.exp, gdb.base/scope.exp: Likewise.
* gdb.base/setvar.exp: Likewise.
(test_set): Likewise.
* gdb.base/signals.exp, gdb.base/sizeof.exp: Likewise.
* gdb.base/solib-overlap.exp: Likewise.
* gdb.base/store.exp, gdb.base/structs.exp: Likewise.
* gdb.base/structs2.exp, gdb.base/volatile.exp: Likewise.
* gdb.base/watchpoint.exp (initialize): Likewise.
(test_simple_watchpoint): Likewise.
(test_disabling_watchpoints): Likewise.
(test_watchpoint_triggered_in_syscall): Likewise.
* gdb.base/whatis.exp, gdb.cp/ambiguous.exp: Likewise.
* gdb.cp/casts.exp, gdb.cp/ctti.exp: Likewise.
* gdb.cp/namespace.exp, gdb.cp/nsdecl.exp: Likewise.
* gdb.cp/psmang.exp, gdb.dwarf2/dw2-ranges.exp: Likewise.
* gdb.hp/gdb.aCC/optimize.exp: Likewise.
* gdb.hp/gdb.aCC/watch-cmd.exp: Likewise.
* gdb.hp/gdb.base-hp/callfwmall.exp: Likewise.
* gdb.hp/gdb.base-hp/pxdb.exp: Likewise.
* gdb.hp/gdb.compat/xdb1.exp: Likewise.
* gdb.hp/gdb.compat/xdb2.exp: Likewise.
* gdb.hp/gdb.compat/xdb3.exp: Likewise.
* gdb.hp/gdb.defects/bs14602.exp: Likewise.
* gdb.hp/gdb.defects/solib-d.exp: Likewise.
* gdb.mi/gdb792.exp: Likewise.
* gdb.mi/mi-inheritance-syntax-error.exp: Likewise.
* gdb.mi/mi-logging.exp, gdb.mi/mi-var-cp.exp : Likewise.
* gdb.mi/mi-var-rtti.exp, gdb.python/py-type.exp: Likewise.
* gdb.threads/gcore-thread.exp: Likewise.
(load_core): Likewise.
* gdb.threads/pthreads.exp (all_threads_running): Likewise.
(test_startup, check_control_c): Likewise.
* gdb.threads/sigstep-threads.exp: Likewise.
* gdb.threads/thread_check.exp: Likewise.
* gdb.trace/backtrace.exp, gdb.trace/change-loc.exp: Likewise.
* gdb.trace/circ.exp (run_trace_experiment): Likewise.
(set_a_tracepoint, trace_buffer_normal): Likewise.
(gdb_trace_circular_tests): Likewise.
* gdb.trace/collection.exp: Likewise.
* gdb.trace/disconnected-tracing.exp: Likewise.
* gdb.trace/infotrace.exp: Likewise.
* gdb.trace/mi-traceframe-changed.exp: Likewise.
* gdb.trace/mi-tracepoint-changed.exp: Likewise.
* gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv): Likewise.
* gdb.trace/packetlen.exp, gdb.trace/passc-dyn.exp: Likewise.
* gdb.trace/pending.exp, gdb.trace/report.exp: Likewise.
* gdb.trace/stap-trace.exp: Likewise.
* gdb.trace/status-stop.exp,gdb.trace/strace.exp: Likewise.
* gdb.trace/tfind.exp, gdb.trace/trace-break.exp: Likewise.
* gdb.trace/trace-buffer-size.exp: Likewise.
* gdb.trace/tspeed.exp, gdb.trace/tsv.exp: Likewise.
* gdb.trace/unavailable.exp: Likewise.
* gdb.trace/while-dyn.exp: Likewise.
* lib/fortran.exp (set_lang_fortran): Likewise.
* lib/gdb.exp (default_gdb_version, gdb_start_cmd): Likewise.
(gdb_breakpoint, gdb_reinitialize_dir): Likewise.
(default_gdb_start, get_compiler_info): Likewise.
(gdb_compile, gdb_compile_objc, gdb_reload, gdb_init): Likewise.
(get_debug_format, setup_xfail_format): Likewise.
(rerun_to_main, gdb_skip_float_test): Likewise.
(build_id_debug_filename_get, get_remotetimeout): Likewise.
* lib/java.exp (set_lang_java): Likewise.
* lib/mi-support.exp (default_mi_gdb_start): Likewise.
(mi_gdb_reinitialize_dir, mi_gdb_target_cmd): Likewise.
(mi_gdb_file_cmd, mi_gdb_test): Likewise.
(mi_run_cmd_full, mi_expect_interrupt): Likewise.
* lib/objc.exp (set_lang_objc): Likewise.
* lib/pascal.exp (set_lang_pascal): Likewise.
* lib/prompt.exp (default_prompt_gdb_start): Likewise.
* lib/trace-support.exp (gdb_trace_setactions, gdb_tfind_test): Likewise.
(gdb_readexpr, gdb_gettpnum, gdb_find_recursion_test_baseline): Likewise.

11 years ago2013-03-14 Sergio Durigan Junior <sergiodj@redhat.com>
Sergio Durigan Junior [Thu, 14 Mar 2013 11:40:08 +0000 (11:40 +0000)] 
2013-03-14  Sergio Durigan Junior  <sergiodj@redhat.com>

* tracepoint.c (cmd_qtv): Initialize `val' with zero, silencing
compiler warning.

11 years agoFrom: Sergio Durigan Junior <sergiodj@redhat.com>
Sergio Durigan Junior [Thu, 14 Mar 2013 11:13:36 +0000 (11:13 +0000)] 
From: Sergio Durigan Junior <sergiodj@redhat.com>
Subject: [PATCH] Fix for PR c++/15203 and PR c++/15210
Date: Sat, 09 Mar 2013 02:50:49 -0300 (5 days, 4 hours, 57 minutes ago)
Message-ID: <m3a9qdnmti.fsf@redhat.com>

Hi,

This bug was reported internally at our Bugzilla, along with a proposed
fix.  After talking to Keith about it, he investigated and came up with
another patch needed to really fix the issue on CVS HEAD.

The first part of the fix is the patch to cp-namespace.c.  It handles
the case when we are accessing a static variable inside a function
(inside a class) by the full linespec (is it right, Keith?).  E.g.:

    class foo
    {
    public:
        int bar()
        {
            static int var = 0;
        }
    };

And then, printing the value of `var':

    (gdb) print 'foo::bar()::var'

GDB would fall in an internal_error:

    gdb/cp-namespace.c:816: internal-error: cp_lookup_nested_symbol called on a non-aggregate type.

This is because `cp_lookup_nested_symbol' is not handling the case when
TYPE_CODE is either _FUNC or _METHOD.  This patch fixes it by returning
NULL in this case.

The second part of the fix is the patch to elfread.c.  It is needed
because the BSF_GNU_UNIQUE flag was added to some symbols in
<http://sourceware.org/ml/binutils/2009-06/msg00016.html>.  Because of
that, (still) the command:

    (gdb) print 'foo::bar()::var'

where `var' is a static variable returns:

    "No symbol "foo::bar()::var" in current context."

So with the second patch applied the command finally DTRT:

    (gdb) print 'foo::bar()::var'
    $1 = 0

This may not be the ideal solution, according to Keith it would be good
to implement productions on c-exp.y in order to recognize
CLASS::FUNCTION::VARIABLE, but it is a solution which works with what we
have today.

I regtested it in Fedora 17 x86_64 with -m64 and -m32, including
gdbserver, without regressions.

gdb/:
2013-03-14  Keith Seitz  <keiths@redhat.com>
    Alan Matsuoka  <alanm@redhat.com>

PR c++/15203
PR c++/15210
* cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_FUNC and
TYPE_CODE_METHOD.
* elfread.c (elf_symtab_read): Handle BSF_GNU_UNIQUE for certain
symbols.

gdb/testsuite/:
2013-03-14  Sergio Durigan Junior  <sergiodj@redhat.com>

PR c++/15203
PR c++/15210
* gdb.cp/m-static.cc (keepalive_int): New function.
(gnu_obj_1::method): New variable `sintvar', call `keepalive_int'.
* gdb.cp/m-static.exp: New test for `sintvar'.

11 years ago PR gas/15273
Nick Clifton [Thu, 14 Mar 2013 10:23:13 +0000 (10:23 +0000)] 
PR gas/15273
* config/tc-arm.c (do_co_reg): Do not call check_obsolete with a
NULL message, instead just check ARM_CPU_IS_ANY directly.

11 years ago PR gas/15212
Nick Clifton [Thu, 14 Mar 2013 10:00:46 +0000 (10:00 +0000)] 
PR gas/15212
* doc/c-arc.texi (ARC Directives): Use @code instead of @bullte
for table format.
* doc/c-arm.texi (ARM-Instruction-Set): Likewise.  Also add text
to the @item directives.
(ARM-Neon-Alignment): Move to correct place in the document.
* doc/c-cr16.texi (CR16 Operand Qualifiers): Fix up table
formatting.
* doc/c-tic54x.texi (TIC54X-Subsyms): Correct use of
@smallexample.

11 years agogdb/testsuite/
Yao Qi [Thu, 14 Mar 2013 09:12:21 +0000 (09:12 +0000)] 
gdb/testsuite/
* gdb.trace/tstatus.exp (run_trace_experiment): Save the output
of 'tstatus' into tstatus_output.
(top level): Save the trace data to tfile.  Read trace file in
tfile target.  Check the trace status.

11 years agogdb/
Yao Qi [Thu, 14 Mar 2013 09:08:56 +0000 (09:08 +0000)] 
gdb/
* tracepoint.c (tfile_write_status): Write 'stop_desc' of trace
status to tfile if trace is stopped by command 'tstop'.

11 years agogdb/
Yao Qi [Thu, 14 Mar 2013 09:06:40 +0000 (09:06 +0000)] 
gdb/
* tracepoint.c (tfile_write_status): Write trace notes and user
name into tfile if they are not NULL.

11 years agogdb/
Yao Qi [Thu, 14 Mar 2013 09:02:30 +0000 (09:02 +0000)] 
gdb/
2013-03-14  Hui Zhu  <hui@codesourcery.com>
    Yao Qi  <yao@codesourcery.com>

* Makefile.in (REMOTE_OBS): Add ctf.o.
(SFILES): Add ctf.c.
(HFILES_NO_SRCDIR): Add ctf.h.
* ctf.c, ctf.h: New files.
* tracepoint.c: Include 'ctf.h'.
(collect_pseudocommand): Remove static.
(trace_save_command): Parse option "-ctf".
Produce different trace file writers per option.
Adjust output message.
(trace_save_tfile, trace_save_ctf): New.
* tracepoint.h (trace_save_tfile, trace_save_ctf): Declare.
* mi/mi-main.c: Include 'ctf.h'.
(mi_cmd_trace_save): Handle option '-ctf'.  Call either
trace_save_tfile or trace_save_ctf.
* NEWS: Mention these changes.

gdb/doc/
2013-03-14  Hui Zhu  <hui@codesourcery.com>
    Yao Qi  <yao@codesourcery.com>

* gdb.texinfo (Trace Files): Add "tsave -ctf".

11 years ago * emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
Jakub Jelinek [Thu, 14 Mar 2013 08:56:05 +0000 (08:56 +0000)] 
* emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
aarch64linux* emulations.

11 years agogdb/
Yao Qi [Thu, 14 Mar 2013 08:50:55 +0000 (08:50 +0000)] 
gdb/
* tracepoint.c (trace_file_writer_xfree): New.
(struct tfile_writer_data): New.
(tfile_dtor, tfile_can_target_save, tfile_start): New.
(tfile_write_header, tfile_write_regblock_type): New.
(tfile_write_status, tfile_write_uploaded_tsv): New.
(tfile_write_uploaded_tp, tfile_write_definition_end): New.
(tfile_write_raw_data, (tfile_end): New.
(tfile_write_ops): New global variable.
(TRACE_WRITE_R_BLOCK): New macro.
(TRACE_WRITE_M_BLOCK_HEADER): New macro.
(TRACE_WRITE_M_BLOCK_MEMORY): New macro.
(TRACE_WRITE_V_BLOCK): New macro.
(trace_save): Add extra one parameter WRITER.  Make it static.
Use WRITER to writer trace.
(tfile_trace_file_writer_new): New.
(trace_save_command): Caller update.
(trace_save_tfile): Write trace data in TFILE format.
* tracepoint.h (struct trace_frame_write_ops): New.
(struct trace_file_write_ops): New.
(struct trace_file_writer): New.
(trace_save): Remove its declaration.
(trace_save_tfile): Declare it.
* mi/mi-main.c (mi_cmd_trace_save): Call trace_save_tfile
instead of trace_save.

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

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

11 years agoMake hppa-hpux-nat.c:hppa_hpux_save_state_offset static.
Pedro Alves [Wed, 13 Mar 2013 18:50:16 +0000 (18:50 +0000)] 
Make hppa-hpux-nat.c:hppa_hpux_save_state_offset static.

Dave reports:

> There is one small (...) issue that needs fixing:
>
> gcc -g -O2   -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gdb/config -DLOCALEDIR="\"/opt/gnu64/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -I../../src/gdb/../libdecnumber  -I../../src/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Werror -c -o hppa-hpux-nat.o -MT hppa-hpux-nat.o -MMD -MP -MF .deps/hppa-hpux-nat.Tpo ../../src/gdb/hppa-hpux-nat.c
> ../../src/gdb/hppa-hpux-nat.c:45:1: error: no previous prototype for 'hppa_hpux_save_state_offset' [-Werror=missing-prototypes]
> cc1: all warnings being treated as errors
>
> Believe the function should be static.

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

* hppa-hpux-nat.c (hppa_hpux_save_state_offset): Make static.

11 years agoFix completer.c FIXME, and invalid pointer to pointer conversion.
Pedro Alves [Wed, 13 Mar 2013 18:38:12 +0000 (18:38 +0000)] 
Fix completer.c FIXME, and invalid pointer to pointer conversion.

As mentioned in the previous patch, I grepped for "\*\*) &" and found
one hit in completer.c.

I was about to post a patch that simply made
current_demangling_style_string const, and cast away constness at the
xfree site.  However, looking deeper, it seem to be there's a lot of
dead code in the file.

First, all external callers of set_demangling_style are found in the
stabs reader, commented out for over 12 years:

  http://sourceware.org/ml/gdb-patches/2000-12/msg00214.html

I don't think it's likely we'll ever make the older mangling schemes
work for stabs.  If we do, we can rediscuss the approach then.

Then, set_demangling_command has special handling for unknown
demangling styles, but "set demangle-style" is an enum command, and
with those, the user can only specify a known enumeration value, by
design:

  (gdb) set demangle-style gangnam-style
  Undefined item: "gangnam-style".

This patch removes all that dead code, then makes
current_demangling_style_string point to an element of
demangling_style_names, as the FIXME suggests, and then makes
current_demangling_style_string, removing the need for the 'const char
**' cast.

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

* dbxread.c (read_ofile_symtab, process_one_symbol): Remove
commented out code.
* demangle.c (current_demangling_style_string): Make it const.
(set_demangling_command): Assert the demangling style is known.
Remove all handling of unknown styles.  Set
'current_demangling_style_string' to an element of the
demangling_style_names array.
(set_demangling_style): Delete.
(_initialize_demangler): Set current_demangling_style_string to the
element of the demangling_style_names array that corresponds to
the default demangling style.  Remove FIXME note.  Don't call
set_demangling_style.
* gdb-demangle.h (set_demangling_style): Remove declaration.

11 years agoExtraneous NULL in linux_target_ops when HAVE_LINUX_BTRACE not defined
Joel Brobecker [Wed, 13 Mar 2013 18:37:54 +0000 (18:37 +0000)] 
Extraneous NULL in linux_target_ops when HAVE_LINUX_BTRACE not defined

This fixes the followin error when HAVE_LINUX_BTRACE is not defined:

    linux-low.c:5943: error: excess elements in struct initializer
    linux-low.c:5943: error: (near initialization for 'linux_target_ops')

gdb/gdbserver/ChangeLog:

        * linux-low.c (linux_target_ops) [!HAVE_LINUX_BTRACE]:
        Remove extraneous NULL element.

11 years agoConstify strings in tracepoint.c, lookup_cmd and the completers.
Pedro Alves [Wed, 13 Mar 2013 18:34:55 +0000 (18:34 +0000)] 
Constify strings in tracepoint.c, lookup_cmd and the completers.

This is sort of a continuation of Keith's parse_exp_1 constification
patch.  It started out by undoing these bits:

  @@ -754,9 +754,12 @@ validate_actionline (char **line, struct
      tmp_p = p;
      for (loc = t->base.loc; loc; loc = loc->next)
        {
  -       p = tmp_p;
  -       exp = parse_exp_1 (&p, loc->address,
  +       const char *q;
  +
  +       q = tmp_p;
  +       exp = parse_exp_1 (&q, loc->address,
     block_for_pc (loc->address), 1);
  +       p = (char *) q;

and progressively making more things const upwards, fixing fallout,
rinse repeat, until GDB built again (--enable-targets=all).

That ended up constifying lookup_cmd/add_cmd and (lots of) friends,
and the completers.

I didn't try to constify the command hooks themselves, because I know
upfront there are commands that write to the command string argument,
and I think I managed to stop at a nice non-hacky split point already.

I think the only non-really-super-obvious changes are
tracepoint.c:validate_actionline, and tracepoint.c:trace_dump_actions.

The rest is just mostly about 'char *' => 'const char *', 'char **'=>
'const char **', and the occasional (e.g., deprecated_cmd_warning)
case of 'char **'=> 'const char *', where/when I noticed that nothing
actually cares about the pointer to pointer output.

Tested on x86_64 Fedora 17, native and gdbserver.

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

* ada-lang.c (struct add_partial_datum) <text, text0, word>: Make
fields const.
(ada_make_symbol_completion_list): Make "text0" parameter const.
* ax-gdb.c (agent_eval_command_one): Make "exp" parameter const.
* breakpoint.c (condition_completer): Make "text" and "word"
parameters const.  Adjust.
(check_tracepoint_command): Adjust to validate_actionline
prototype change.
(catch_syscall_completer): Make "text" and "word" parameters
const.
* cli/cli-cmds.c (show_user): Make "comname" local const.
(valid_command_p): Make "command" parameter const.
(alias_command): Make "alias_prefix" and "command_prefix" locals
const.
* cli/cli-decode.c (add_cmd): Make "name" parameter const.
(add_alias_cmd): Make "name" and "oldname" parameters const.
Adjust.  No longer make copy of OLDNAME.
(add_prefix_cmd, add_abbrev_prefix_cmd, add_set_or_show_cmd)
(add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_string_noescape_cmd)
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
(add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd)
(delete_cmd, add_info, add_info_alias, add_com, add_com_alias):
Make "name" parameter const.
(help_cmd): Rename "command" parameter to "arg".  New const local
"command".
(find_cmd): Make "command" parameter const.
(lookup_cmd_1): Make "text" parameter pointer to const.  Adjust to
deprecated_cmd_warning prototype change.
(undef_cmd_error): Make "cmdtype" parameter const.
(lookup_cmd): Make "line" parameter const.
(deprecated_cmd_warning): Change type of "text" parameter to
pointer to const char, from pointer to pointer to char.  Adjust.
(lookup_cmd_composition): Make "text" parameter const.
(complete_on_cmdlist, complete_on_enum): Make "text" and "word"
parameters const.
* cli/cli-decode.h (struct cmd_list_element) <name>: Make field
const.
* cli/cli-script.c (validate_comname): Make "tem" local const.
(define_command): New const local "tem_c".  Use it in calls to
lookup_cmd.
(document_command): Make "tem" and "comfull" locals const.
(show_user_1): Make "prefix" and "name" parameters const.
* cli-script.h (show_user_1): Make "prefix" and "name" parameters
const.
* command.h (add_cmd, add_alias_cmd, add_prefix_cmd)
(add_abbrev_prefix_cmd, completer_ftype, lookup_cmd, lookup_cmd_1)
(deprecated_cmd_warning, lookup_cmd_composition, add_com)
(add_com_alias, add_info, add_info_alias, complete_on_cmdlist)
(complete_on_enum, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_string_noescape_cmd)
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
(add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
Change prototypes, constifying strings.
* completer.c (noop_completer, filename_completer): Make "text"
and "prefix" parameters const.
(location_completer, expression_completer)
(complete_line_internal): Make "text" and "prefix" parameters
const and adjust.
(command_completer, signal_completer): Make "text" and "prefix"
parameters const.
* completer.h (noop_completer, filename_completer)
(expression_completer, location_completer, command_completer)
(signal_completer): Change prototypes.
* corefile.c (complete_set_gnutarget): Make "text" and "word"
parameters const.
* cp-abi.c (cp_abi_completer): Likewise.
* expression.h (parse_expression_for_completion): Change
prototype.
* f-lang.c (f_make_symbol_completion_list): Make "text" and "word"
parameters const.
* infcmd.c (_initialize_infcmd): Make "cmd_name" local const.
* infrun.c (handle_completer): Make "text" and "word" parameters
const.
* interps.c (interpreter_completer): Make "text" and "word"
parameters const.
* language.h (struct language_defn)
<la_make_symbol_completion_list>: Make "text" and "word"
parameters const.
* parse.c (parse_exp_1): Move const hack to parse_exp_in_context.
(parse_exp_in_context): Rename to ...
(parse_exp_in_context_1): ... this.
(parse_exp_in_context): Reimplement, with const hack from
parse_exp_1.
(parse_expression_for_completion): Make "string" parameter const.
* printcmd.c (decode_format): Make "string_ptr" parameter pointer
to pointer to const char.  Adjust.
(print_command_1): Make "exp" parameter const.
(output_command): Rename to ...
(output_command_const): ... this.  Make "exp" parameter const.
(output_command): Reimplement.
(x_command): Adjust.
(display_command): Rename "exp" parameter to "arg".  New "exp"
local, const version of "arg".
* python/py-auto-load.c (gdbpy_initialize_auto_load): Make
"cmd_name" local const.
* python/py-cmd.c (cmdpy_destroyer): Cast const away in xfree
call.
(cmdpy_completer): Make "text" and "word" parameters const.
(gdbpy_parse_command_name): Make "prefix_text2" local const.
* python/py-param.c (add_setshow_generic): Make "tmp_name" local
const.
* remote.c (_initialize_remote): Make "cmd_name" local const.
* symtab.c (language_search_unquoted_string): Make "text" and "p"
parameters const.  Adjust.
(completion_list_add_fields): Make "sym_text", "text" and "word"
parameters const.
(struct add_name_data) <sym_text, text, word>: Make fields const.
(default_make_symbol_completion_list_break_on): Make "text" and
"word" parameters const.  Adjust locals.
(default_make_symbol_completion_list)
(make_symbol_completion_list, make_symbol_completion_type)
(make_symbol_completion_list_fn): Make "text" and "word"
parameters const.
(make_file_symbol_completion_list): Make "text", "word" and
"srcfile" parameters const.  Adjust locals.
(add_filename_to_list): Make "text" and "word" parameters const.
(struct add_partial_filename_data) <text, word>: Make fields
const.
(make_source_files_completion_list): Make "text" and "word"
parameters const.
* symtab.h (default_make_symbol_completion_list_break_on)
(default_make_symbol_completion_list, make_symbol_completion_list)
(make_symbol_completion_type enum type_code)
(make_symbol_completion_list_fn make_file_symbol_completion_list)
(make_source_files_completion_list): Change prototype.
* top.c (execute_command): Adjust to pass pointer to pointer to
const char to lookup_cmd, and to deprecated_cmd_warning prototype
change.
(set_verbose): Make "cmdname" local const.
* tracepoint.c (decode_agent_options): Make "exp" parameter const,
and adjust.
(validate_actionline): Make "line" parameter a pointer to const
char, and adjust.
(encode_actions_1): Make "action_exp" local const, and adjust.
(encode_actions): Adjust.
(replace_comma): Delete.
(trace_dump_actions): Make "action_exp" and "next_comma" locals
const, and adjust.  Don't frob the action string while splitting
it at commas.  Instead, make a copy of each split substring in
turn.
(trace_dump_command): Adjust to validate_actionline prototype
change.
* tracepoint.h (decode_agent_options, decode_agent_options)
(encode_actions, validate_actionline): Change prototypes.
* valprint.h (output_command): Delete declaration.
(output_command_const): Declare.
* value.c (function_destroyer): Cast const away in xfree call.

11 years ago * gdb.texinfo (Maintenance Commands): Add missing ')' for
Keith Seitz [Wed, 13 Mar 2013 17:55:50 +0000 (17:55 +0000)] 
* gdb.texinfo (Maintenance Commands): Add missing ')' for
"maint agent" reference to Dynamic printf.

11 years agoMore invalid pointer to pointer conversions.
Pedro Alves [Wed, 13 Mar 2013 16:45:11 +0000 (16:45 +0000)] 
More invalid pointer to pointer conversions.

As a follow up to:

  http://sourceware.org/ml/gdb-patches/2013-03/msg00449.html

In a nutshell, casts between 'char **' <-> 'unsigned char **' and
'char **' <-> 'const char **' are invalid.

I grepped for "\*\*) &" and found these.  There's another one in
demangle.c, but I've split fixing that one to a separate patch.

I think the ada_decode_symbol change is perhaps the one that could be
surprising.  The function's description has this comment, which makes
things much clearer:

   The GSYMBOL parameter is "mutable" in the C++ sense: logically
   const, but nevertheless modified to a semantically equivalent form
   when a decoded name is cached in it.  */

 const char *
 ada_decode_symbol (const struct general_symbol_info *gsymbol)

With that out of the way, I think the patch ends up being pretty
obvious.

Tested on x86_64 Fedora 17.

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

* ada-lang.c (ada_decode_symbol): Cast away constness of GSYMBOL
rather than casting 'const char * const *' to 'const char **'.
* ada-lex.l (processInt): Make "trailer" local const.  Remove
'const char **' cast.
* arm-linux-tdep.c (arm_stap_parse_special_token): Add 'char *'
locals, and use those as strtol output pointer, instead than doing
invalid casts to from 'const char **' to 'char **'.
(_initialize_demangle): Remove cast.
* i386-tdep.c (i386_stap_parse_special_token): : Add 'char *'
locals, and use those as strtol output pointer, instead than doing
invalid casts to from 'const char **' to 'char **'.
* solib-dsbt.c (dsbt_get_initial_loadmaps): Remove 'gdb_byte**'
casts.
* stap-probe.c (stap_parse_register_operand)
(stap_parse_single_operand): Likewise.

11 years ago * tracepoint.c (tfile_get_trace_state_variable_value): Look for
Yao Qi [Wed, 13 Mar 2013 03:40:27 +0000 (03:40 +0000)] 
* tracepoint.c (tfile_get_trace_state_variable_value): Look for
the last matched 'V' blcok in trace frame.

gdb/gdbserver:

* tracepoint.c (traceframe_read_tsv): Look for the last matched
'V' block in trace frame.

gdb/testsuite:

* gdb.trace/tsv.exp (check_tsv): New.
(top level): Save a tfile on current trace session. Call
check_tsv on live target.  Load the tfile with target tfile
and call check_tsv again.

This page took 0.053107 seconds and 4 git commands to generate.