platform/upstream/binutils.git
11 years agotracepoint->step_count fixes
Pedro Alves [Thu, 4 Apr 2013 19:22:38 +0000 (19:22 +0000)]
tracepoint->step_count fixes

If a tracepoint's actions list includes a while-stepping action, and
then the actions are changed to a list without any while-stepping
action, the tracepoint's step_count will be left with a stale value.
For example:

 (gdb) trace subr
 Tracepoint 1 at 0x4004d9: file ../../../src/gdb/testsuite//actions-changed.c, line 31.
 (gdb) actions
 Enter actions for tracepoint 1, one per line.
 End with a line saying just "end".
 >collect $reg
 >end
 (gdb) set debug remote 1
 (gdb) tstart
 Sending packet: $QTinit#59...Packet received: OK
 Sending packet: $QTDP:1:00000000004004d9:E:0:0-#a3...Packet received: OK
 Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF#2b...Packet received: OK
 (gdb) tstop
 Sending packet: $QTStop#4b...Packet received: OK
 Sending packet: $QTNotes:#e8...Packet received: OK
 (gdb) actions
 Enter actions for tracepoint 1, one per line.
 End with a line saying just "end".
 >collect $reg
 >while-stepping 1
   >collect $reg
   >end
 >end
 (gdb) tstart
 Sending packet: $QTinit#59...Packet received: OK
 Sending packet: $QTDP:1:00000000004004d9:E:1:0-#a4...Packet received: OK
 Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF-#58...Packet received: OK
 Sending packet: $QTDP:-1:00000000004004d9:SR03FFFFFFFFFFFFFFFFFF#7e...Packet received: OK
 (gdb) tstop
 Sending packet: $QTStop#4b...Packet received: OK
 Sending packet: $QTNotes:#e8...Packet received: OK
 (gdb) actions
 Enter actions for tracepoint 1, one per line.
 End with a line saying just "end".
 >collect $regs
 >end
 (gdb) tstart
 Sending packet: $QTinit#59...Packet received: OK
 Sending packet: $QTDP:1:00000000004004d9:E:1:0-#a4...Packet received: OK
 Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF#2b...Packet received: OK

The last "$QTDP:1:00000000004004d9:E:1:0-#a4" should be "$QTDP:1:00000000004004d9:E:0:0-#a3".
In pseudo-diff:

  -$QTDP:1:00000000004004d9:E:1:0-#a4
  +$QTDP:1:00000000004004d9:E:0:0-#a3

A related issue is that the "commands" command actually supports
setting commands to a range of breakpoints/tracepoints at once.  But,
hacking "maint info breakpoints" to print t->step_count, reveals:

 (gdb) trace main
 Tracepoint 5 at 0x45a2ab: file ../../src/gdb/gdb.c, line 29.
 (gdb) trace main
 Note: breakpoint 5 also set at pc 0x45a2ab.
 Tracepoint 6 at 0x45a2ab: file ../../src/gdb/gdb.c, line 29.
 (gdb) commands 5-6
 Type commands for breakpoint(s) 5-6, one per line.
 End with a line saying just "end".
 > while-stepping 5
  >end
 > end
 (gdb) maint info breakpoints 5
 Num     Type           Disp Enb Address            What
 5       tracepoint     keep y   0x000000000045a2ab in main at ../../src/gdb/gdb.c:29 inf 1
         step_count=5
         ^^^^^^^^^^^^
         while-stepping 5
         end
         not installed on target
 (gdb) maint info breakpoints 6
 Num     Type           Disp Enb Address            What
 6       tracepoint     keep y   0x000000000045a2ab in main at ../../src/gdb/gdb.c:29 inf 1
         step_count=0
         ^^^^^^^^^^^^
         while-stepping 5
         end
         not installed on target
 (gdb)

that tracepoint 6 doesn't end up with the correct step_count.

The issue is that here:

 static void
 do_map_commands_command (struct breakpoint *b, void *data)
 {
  struct commands_info *info = data;

  if (info->cmd == NULL)
    {
      struct command_line *l;

      if (info->control != NULL)
l = copy_command_lines (info->control->body_list[0]);
      else
{
  struct cleanup *old_chain;
  char *str;

  str = xstrprintf (_("Type commands for breakpoint(s) "
      "%s, one per line."),
    info->arg);

  old_chain = make_cleanup (xfree, str);

  l = read_command_lines (str,
  info->from_tty, 1,
  (is_tracepoint (b)
   ? check_tracepoint_command : 0),
  b);

  do_cleanups (old_chain);
}

      info->cmd = alloc_counted_command_line (l);
    }

validate_actionline is never called for tracepoints other than the
first (the copy_command_lines path).  Right below, we have:

  /* If a breakpoint was on the list more than once, we don't need to
     do anything.  */
  if (b->commands != info->cmd)
    {
      validate_commands_for_breakpoint (b, info->cmd->commands);
      incref_counted_command_line (info->cmd);
      decref_counted_command_line (&b->commands);
      b->commands = info->cmd;
      observer_notify_breakpoint_modified (b);
    }

And validate_commands_for_breakpoint looks like the right place to put
a call; if we reset step_count there too, we have a nice central fix
for the first issue as well, because trace_actions_command calls
breakpoint_set_commands that also calls
validate_commands_for_breakpoint.

We end up calling validate_actionline twice for the first tracepoint,
since read_command_lines calls it too, through
check_tracepoint_command, but that should be harmless.

2013-04-04  Pedro Alves  <palves@redhat.com>
    Hui Zhu  <hui@codesourcery.com>

* breakpoint.c (validate_commands_for_breakpoint): If validating a
tracepoint, reset its STEP_COUNT and call validate_actionline.

2013-04-04  Stan Shebs  <stan@codesourcery.com>
    Pedro Alves  <palves@redhat.com>

* gdb.trace/Makefile.in (PROGS): Add actions-changed.
* gdb.trace/actions-changed.c: New file.
* gdb.trace/actions-changed.exp: New file.
* lib/trace-support.exp (gdb_trace_setactions): Rename to ...
(gdb_trace_setactions_command): ... this.  Add "actions_command"
parameter, and handle it.
(gdb_trace_setactions, gdb_trace_setcommands): New procedures.

11 years ago GCC PR c++/56840
Ian Lance Taylor [Thu, 4 Apr 2013 16:49:04 +0000 (16:49 +0000)]
GCC PR c++/56840
* object.cc (do_layout_deferred_sections): Handle .eh_frame
sections before checking whether they are included in the link.

11 years ago * ld-elf/shared.exp: Update regexp on --no-add-needed and
Alan Modra [Thu, 4 Apr 2013 14:51:48 +0000 (14:51 +0000)]
* ld-elf/shared.exp: Update regexp on --no-add-needed and
--no-copy-dt-needed-entries tests.

11 years ago * ldlang.c (load_symbols): Report "error adding symbols" on
Alan Modra [Thu, 4 Apr 2013 14:38:47 +0000 (14:38 +0000)]
* ldlang.c (load_symbols): Report "error adding symbols" on
bfd_link_add_symbols failure.
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.
* emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Likewise.
(gld${EMULATION_NAME}_try_needed): Likewise.

11 years ago * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
Alan Modra [Thu, 4 Apr 2013 14:38:01 +0000 (14:38 +0000)]
* bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
* bfd-in2.h: Regenerate.
* elflink.c (elf_link_add_object_symbols): Use new error.

11 years agooops - omitted from previous delta
Nick Clifton [Thu, 4 Apr 2013 07:24:08 +0000 (07:24 +0000)]
oops - omitted from previous delta

11 years agogdb/testsuite/
Yao Qi [Thu, 4 Apr 2013 02:16:04 +0000 (02:16 +0000)]
gdb/testsuite/

* gdb.server/server-kill.exp: Use command 'tstatus' instead of
'step'.

11 years agomerge from gcc
DJ Delorie [Thu, 4 Apr 2013 01:03:01 +0000 (01:03 +0000)]
merge from gcc

11 years ago*** empty log message ***
gdbadmin [Thu, 4 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

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

11 years ago * dwarf2read.c (read_die_and_siblings_1): Renamed from
Doug Evans [Wed, 3 Apr 2013 19:45:00 +0000 (19:45 +0000)]
* dwarf2read.c (read_die_and_siblings_1): Renamed from
read_die_and_siblings.
(read_die_and_siblings): New function.
(read_cutu_die_from_dwo): Dump die if requested.
(read_die_and_children): Call read_full_die_1 and
read_die_and_siblings_1.
(read_full_die): Dump die if requested.

* dwarf2read.c (read_comp_units_from_section): Add debugging printf.

11 years ago * dwarf2read.c (struct dwo_file): New member comp_dir.
Doug Evans [Wed, 3 Apr 2013 19:11:01 +0000 (19:11 +0000)]
* dwarf2read.c (struct dwo_file): New member comp_dir.
Rename member name to dwo_name.  All uses updated.
(hash_dwo_file): Include comp_dir in computation.
(eq_dwo_file): Ditto.
(lookup_dwo_file_slot): New arg comp_dir.  All callers updated.
(create_dwo_in_dwp, lookup_dwo_in_dwp, open_and_init_dwo_file): Ditto.

11 years ago * psymtab.c (read_psymtabs_with_fullname): Don't call
Doug Evans [Wed, 3 Apr 2013 18:48:54 +0000 (18:48 +0000)]
* psymtab.c (read_psymtabs_with_fullname): Don't call
psymtab_to_fullname if the basenames are different.

11 years agogdb/
Jan Kratochvil [Wed, 3 Apr 2013 18:28:49 +0000 (18:28 +0000)]
gdb/
* NEWS (Changes in GDB 7.6): Update the data-disassemble for "fullname".
New entry about "fullname" presence.

11 years agomerge from gcc
DJ Delorie [Wed, 3 Apr 2013 18:21:49 +0000 (18:21 +0000)]
merge from gcc

11 years agoNEWS: Mention x86_64/Cygwin as new native configuration too.
Pedro Alves [Wed, 3 Apr 2013 18:04:33 +0000 (18:04 +0000)]
NEWS: Mention x86_64/Cygwin as new native configuration too.

x86_64/Cygwin is only mentioned as a new target, but we gained support
for building a native x86_64/Cygwin debugger too.

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

* NEWS: Mention x86_64/Cygwin as new native configuration.

11 years ago * elf32-v850.c (v850_elf_is_target_special_symbol): New function.
Nick Clifton [Wed, 3 Apr 2013 14:42:10 +0000 (14:42 +0000)]
* elf32-v850.c (v850_elf_is_target_special_symbol): New function.
(bfd_elf32_bfd_is_target_special_symbol): Define.

* v850.h (V850_INVERSE_PCREL): Define.

* v850-dis.c (print_value): With V850_INVERSE_PCREL compute the
destination address by subtracting the operand from the current
address.
* v850-opc.c (insert_u16_loop): Disallow negative offsets.  Store
a positive value in the insn.
(extract_u16_loop): Do not negate the returned value.
(D16_LOOP): Add V850_INVERSE_PCREL flag.

(ceilf.sw): Remove duplicate entry.
(cvtf.hs): New entry.
(cvtf.sh): Likewise.
(fmaf.s): Likewise.
(fmsf.s): Likewise.
(fnmaf.s): Likewise.
(fnmsf.s): Likewise.
(maddf.s): Restrict to E3V5 architectures.
(msubf.s): Likewise.
(nmaddf.s): Likewise.
(nmsubf.s): Likewise.

11 years ago * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
Nick Clifton [Wed, 3 Apr 2013 14:21:18 +0000 (14:21 +0000)]
     * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
        elf64_aarch64_locals to get local GOT reference counts.

        * ld-aarch64/gc-relocs-tlsle.s: New gc section test.
        * ld-aarch64/gc-relocs-tlsle.s: Likewise
        * ld-aarch64/gc-relocs-tlsgd.s: Likewise
        * ld-aarch64/gc-relocs-tlsdesc.s: Likewise
        * ld-aarch64/gc-relocs-312.s: Likewise
        * ld-aarch64/gc-relocs-311.s: Likewise
        * ld-aarch64/gc-relocs-309.s: Likewise
        * ld-aarch64/gc-start.s: Likewise
        * ld-aarch64/gc-got-relocs.d: Update expected objdump
        * ld-aarch64/gc-tls-relocs.d: Likewise
        * ld-aarch64/aarch64-elf.exp: add test

11 years ago PR ld/15227
Alan Modra [Wed, 3 Apr 2013 11:44:41 +0000 (11:44 +0000)]
PR ld/15227
* ld-plugin/lto.exp (PR ld/12942 (3)): Remove file name and
line number from regexp.
(PR ld/15146 (2)): Similarly.
* ld-plugin/pr12942a.cc (main): Use __builtin_abort.

11 years agogdb/testsuite/
Yao Qi [Wed, 3 Apr 2013 10:11:46 +0000 (10:11 +0000)]
gdb/testsuite/

* gdb.trace/mi-traceframe-changed.exp: Update tfile name to
"tfile-basic.tf".
(test_tfind_tfile): Likewise.

11 years agogdb/testsuite/
Yao Qi [Wed, 3 Apr 2013 03:43:54 +0000 (03:43 +0000)]
gdb/testsuite/

* gdb.trace/tfile.c (write_basic_trace_file): Pass argument
"tfile-basic.tf" instead of "basic.tf".
(write_error_trace_file): Pass argument "tfile-error.tf"
instead of "error.tf".
* gdb.trace/tfile.exp: Update tfile names to
"tfile-basic.tf" and "tfile-error.tf".

11 years ago * doc/as.texinfo: Add support to generate man options for h8300.
Alan Modra [Wed, 3 Apr 2013 02:48:37 +0000 (02:48 +0000)]
* doc/as.texinfo: Add support to generate man options for h8300.
* doc/c-h8300.texi: Likewise.

11 years ago2013-04-02 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Wed, 3 Apr 2013 01:40:19 +0000 (01:40 +0000)]
2013-04-02  Sandra Loosemore  <sandra@codesourcery.com>

gdb/testsuite/
* gdb.cp/ovsrch.exp (test_class): Correct regexp to allow
empty directory in file for breakpoint hit.

11 years ago*** empty log message ***
gdbadmin [Wed, 3 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago* elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
DJ Delorie [Tue, 2 Apr 2013 23:29:51 +0000 (23:29 +0000)]
* elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
(rl78_elf_relax_section): Only fetch the next reloc if there is
one expected.

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

11 years ago * dwarf2read.c (read_structure_type): Fix typo in comment.
Doug Evans [Tue, 2 Apr 2013 21:18:40 +0000 (21:18 +0000)]
* dwarf2read.c (read_structure_type): Fix typo in comment.

11 years agoNEWS/manual: Missing documentation for new commands in 7.6.
Pedro Alves [Tue, 2 Apr 2013 17:52:08 +0000 (17:52 +0000)]
NEWS/manual: Missing documentation for new commands in 7.6.

I hacked "apropos" to dump the whole set of commands (just make it
accept the entry string as regex), and then diffed the output of 7.5
vs 7.6, --enable-targets=all builds.  That allowed then checking
whether some commands had not been mentioned in NEWS or the manual.
These are what I found missing.  We've been a bit negligent in
requiring documentation bits for debug commands.

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

* NEWS: Mention "set/show debug aarch64", "set/show debug
coff-pe-read" and "set/show debug mach-o".

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

* gdb.texinfo (Debugging Output): Document "set/show debug
aarch64", "set/show debug coff-pe-read" and "set/show debug
mach-o".

11 years agoAdd missing NEWS and manual bits for "set trace-buffer-size".
Pedro Alves [Tue, 2 Apr 2013 17:48:49 +0000 (17:48 +0000)]
Add missing NEWS and manual bits for "set trace-buffer-size".

Add missing mention of the QTBuffer::size packet configuration
command, in both NEWS and manual.

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

* NEWS: Mention "set/show remote trace-buffer-size-packet".

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

* gdb.texinfo (Remote Configuration) <set remote @var{name}-packet
table>: Add entry for "trace-buffer-size".

11 years agoFix list of files submitted to "make TAGS".
Eli Zaretskii [Tue, 2 Apr 2013 17:44:27 +0000 (17:44 +0000)]
Fix list of files submitted to "make TAGS".

* Makefile.in (HFILES_NO_SRCDIR): Remove call-cmds.h.
gdb_string.h is now in common/.

11 years agoNEWS: Move "set debug notification" and "set trace-buffer-size" under "New options".
Pedro Alves [Tue, 2 Apr 2013 15:19:07 +0000 (15:19 +0000)]
NEWS: Move "set debug notification" and "set trace-buffer-size" under "New options".

The "New commands" section reads:

  "New commands (for set/show, see "New options" below)"

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

* NEWS: Move "set debug notification" and "set trace-buffer-size"
under "New options".

11 years agogdb/
Jan Kratochvil [Tue, 2 Apr 2013 14:09:08 +0000 (14:09 +0000)]
gdb/
Revert this patch:
PR gdb/15275
* remote.c (remote_get_trace_status): Include putpkt in TRY_CATCH.

11 years agounpush the remote target if serial_write fails.
Pedro Alves [Tue, 2 Apr 2013 13:51:07 +0000 (13:51 +0000)]
unpush the remote target if serial_write fails.

PR gdb/15275 notes that when debugging with a remote connection over a
serial link and the link is disconnected, say by disconnecting USB
serial port, the GDB quit command no longer works:

 (gdb)
 tar ext /dev/ttyACM0
 &"tar ext /dev/ttyACM0\n"
 ~"Remote debugging using /dev/ttyACM0\n"
 ^done
 (gdb)
 set debug remote 1
 &"set debug remote 1\n"
 ^done
 (gdb)
 quit
 &"quit\n"
 &"Sending packet: $qTStatus#49..."
 &"putpkt: write failed: Input/output error.\n"
 ^error,msg="putpkt: write failed: Input/output error."
 (gdb)
 (gdb)
 quit
 &"quit\n"
 &"Sending packet: $qTStatus#49..."
 &"putpkt: write failed: Input/output error.\n"
 ^error,msg="putpkt: write failed: Input/output error."

This is not reproducible with TCP connections, as with that, sending
doesn't error out, but instead the error is detected on the subsequent
readchar.  When that read fails, we unpush the remote target, and
throw TARGET_CLOSE_ERROR.  To address PR gdb/15275, instead of
catching the error in remote_get_trace_status as presently done (which
leaves this same issue latent for another packet to trip on), or of
making ser-unix.c fake success too on failed writes, so we'd get to
readchar detecting the error on serial ports too, better let the error
propagate out of serial_write, and catch it at the remote.c level,
throwing away the target if writing fails too, instead of delaying
that until the next read.

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

PR gdb/15275

* remote.c (send_interrupt_sequence): Use remote_serial_write.
(remote_serial_write): New function.
(putpkt_binary, getpkt_or_notif_sane_1): Use remote_serial_write.

11 years agogdb/ChangeLog:
Jiong Wang [Tue, 2 Apr 2013 02:49:55 +0000 (02:49 +0000)]
gdb/ChangeLog:

  * NEWS: Mention TILE-Gx in "New native configurations" and
    "New targets" sections.

11 years ago*** empty log message ***
gdbadmin [Tue, 2 Apr 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago * dwarf2read.c (lookup_signatured_type_at_offset): Delete.
Doug Evans [Mon, 1 Apr 2013 23:17:40 +0000 (23:17 +0000)]
* dwarf2read.c (lookup_signatured_type_at_offset): Delete.
(process_enumeration_scope): Simplify.

11 years agodaily update
Alan Modra [Mon, 1 Apr 2013 23:00:05 +0000 (23:00 +0000)]
daily update

11 years ago * dwarf2read.c (struct dwarf2_per_cu_data): Move member
Doug Evans [Mon, 1 Apr 2013 22:36:08 +0000 (22:36 +0000)]
* dwarf2read.c (struct dwarf2_per_cu_data): Move member
type_unit_group ...
(struct signatured_type): ... to here.
(sig_type_ptr): New typedef.
(type_unit_group): Delete member 't.first_cu'.  Move member 'tus'
out of union 't'.  All uses updated.
(dw2_get_file_names_reader): Assert not called for a type unit.
(dw2_get_file_names): Assert not called for a type unit or type
unit group.
(build_type_psymtabs_reader): Assert called for a type unit.
(build_type_psymtab_dependencies): Assert called for a type unit group.

11 years agoFix whitespace errors from last commit.
Aleksandar Ristovski [Mon, 1 Apr 2013 20:11:19 +0000 (20:11 +0000)]
Fix whitespace errors from last commit.

11 years ago * dwarf2read.c (free_dwo_file): Add comment.
Doug Evans [Mon, 1 Apr 2013 16:42:15 +0000 (16:42 +0000)]
* dwarf2read.c (free_dwo_file): Add comment.
(dwarf2_per_objfile_free): Unref dwp bfd.

11 years ago Fix coff-pe-read.c to compile with Wunused.
Aleksandar Ristovski [Mon, 1 Apr 2013 12:53:01 +0000 (12:53 +0000)]
Fix coff-pe-read.c to compile with Wunused.

* coff-pe-read.c (add_pe_exported_sym): Remove unused 'dll_name_len'.
(add_pe_forwarded_sym): Remove unused 'section', 'dll_name_len'.
(read_pe_exported_syms): Remove unused 'exportix'.
(pe_text_section_offset): Remove unused 'opthdr_ofs', 'num_entries',
'export_rva', 'export_size', 'expptr', 'exp_funcbase', 'expdata',
'erva', 'name_rvas', 'ordinals', 'nexp', 'ordbase', 'dll_name'.

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

11 years ago Cleanup: remove unused - breakpoint, buildsym
Aleksandar Ristovski [Mon, 1 Apr 2013 12:48:03 +0000 (12:48 +0000)]
Cleanup: remove unused - breakpoint, buildsym

* breakpoint.c (parse_cond_to_aexpr): Remove unused 'old_chain'.
(print_it_watchpoint): Remove unused 'bl'.
(say_where): Remove unused 'uiout'.
(bpstat_remove_breakpoint_callback): Remove unused 'uiout'.
(bkpt_breakpoint_hit): Remove unused 'b'.
(internal_bkpt_print_it): Remove unused 'uiout'.
* buildsym.c (augment_type_symtab): Remove unused 'i'.

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

11 years agogdb/ChangeLog
Tiago Daitx [Mon, 1 Apr 2013 04:05:35 +0000 (04:05 +0000)]
gdb/ChangeLog
2013-03-01  Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>

* ppc-sysv-tdep.c (ppc64_sysv_abi_push_float): New function.
(ppc64_sysv_abi_push_dummy_call): Handle complex arguments.

11 years ago*** empty log message ***
gdbadmin [Mon, 1 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

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

11 years agosim: frv/m32r: back out hard failure when dv-sockser is not available
Mike Frysinger [Sun, 31 Mar 2013 00:39:35 +0000 (00:39 +0000)]
sim: frv/m32r: back out hard failure when dv-sockser is not available

These sims have optional support for the dv-sockser model, so do not make
them hard failures.  The Makefile made it seem like they didn't actually
support things dynamically, but a further code dive into the source and
the Makefile shows that things work out.

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

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

11 years ago PR ld/15323
Alan Modra [Sat, 30 Mar 2013 10:14:15 +0000 (10:14 +0000)]
PR ld/15323
bfd/
* elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
global symbols referenced by relocs.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-bfin.c (bfin_check_relocs): Likewise.
* elf32-cr16.c (cr16_elf_check_relocs): Likewise.
* elf32-cris.c (cris_elf_check_relocs): Likewise.
* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
* elf32-frv.c (elf32_frv_check_relocs): Likewise.
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
* elf32-i370.c (i370_elf_check_relocs): Likewise.
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
* elf32-lm32.c (lm32_elf_check_relocs): Likewise.
* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
* elf32-metag.c (elf_metag_check_relocs): Likewise.
* elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
* elf32-moxie.c (moxie_elf_check_relocs): Likewise.
* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
* elf32-mt.c (mt_elf_check_relocs): Likewise.
* elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
* elf32-rl78.c (rl78_elf_check_relocs): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
* elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
* elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
* elf32-v850.c (v850_elf_check_relocs): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
* elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
* elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
* elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.  Don't
test indirect/warning links for NULL.
ld/testsuite/
* ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather
than using -r to effectively strip out lto info.

11 years ago2013-03-29 Sriraman Tallam <tmsriram@google.com>
Sriraman Tallam [Sat, 30 Mar 2013 01:03:23 +0000 (01:03 +0000)]
2013-03-29  Sriraman Tallam  <tmsriram@google.com>

* archive.cc (Archive::get_elf_object_for_member):  Create the elf
object before calling the plugin claim_file handler.  Pass the elf
object of the archive to the plugin. Delete the elf object if the
plugin claims the file.

11 years agoSet non_ir_ref if a symbol is referenced by a non-shared object
H.J. Lu [Sat, 30 Mar 2013 00:38:39 +0000 (00:38 +0000)]
Set non_ir_ref if a symbol is referenced by a non-shared object

bfd/

PR ld/15323
* elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
symbol is referenced by a non-shared object.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.

ld/testsuite/

PR ld/15323
* ld-plugin/lto.exp (lto_link_tests): Add pr15323a-r.o.
(lto_run_tests): Add a test for PR ld/15323.

* ld-plugin/pr15323.out: New file.
* ld-plugin/pr15323a.c: Likewise.
* ld-plugin/pr15323b.c: Likewise.

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

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

11 years ago * dwarf2read.c (open_dwo_file): Renamed from open_dwop_file.
Doug Evans [Fri, 29 Mar 2013 21:47:51 +0000 (21:47 +0000)]
* dwarf2read.c (open_dwo_file): Renamed from open_dwop_file.
Delete arg is_dwp.  All callers updated.
(open_dwp_file): New function.
(open_and_init_dwp_file): Call it.
(get_dwp_file): New function.
(lookup_dwo_cutu): Call it.

11 years ago * dwarf2read.c (open_and_init_dwp_file): Remove incorrect, and
Doug Evans [Fri, 29 Mar 2013 21:42:04 +0000 (21:42 +0000)]
* dwarf2read.c (open_and_init_dwp_file): Remove incorrect, and
unnecessary, cleanup.

11 years agoIncrement hdrptr by 8 after SAFE_BYTE_GET64
H.J. Lu [Fri, 29 Mar 2013 20:42:48 +0000 (20:42 +0000)]
Increment hdrptr by 8 after SAFE_BYTE_GET64

* dwarf.c (process_debug_info): Increment hdrptr by 8 after
SAFE_BYTE_GET64.

11 years ago * dwarf2read.c (lookup_dwo_cutu): Improve complaint text.
Doug Evans [Fri, 29 Mar 2013 18:46:07 +0000 (18:46 +0000)]
* dwarf2read.c (lookup_dwo_cutu): Improve complaint text.

11 years ago * dwarf2read.c (read_cutu_die_from_dwo): New function.
Doug Evans [Fri, 29 Mar 2013 17:48:48 +0000 (17:48 +0000)]
* dwarf2read.c (read_cutu_die_from_dwo): New function.
(lookup_dwo_unit): New function.
(init_cutu_and_read_dies): Move DWO handling to new functions.

11 years ago * dwarf2read.c (struct signatured_type): Tweak comment.
Doug Evans [Fri, 29 Mar 2013 16:55:57 +0000 (16:55 +0000)]
* dwarf2read.c (struct signatured_type): Tweak comment.
(struct dwo_unit): Tweak comment.
(create_debug_types_hash_table): Tweak comment.  Reformat long line.
(create_dwo_debug_info_hash_table): Tweak comment.
(dwarf2_per_cu_offset_and_type): Tweak comment.

11 years ago * dwarf2read.c (lookup_signatured_type): Remove complaint about
Doug Evans [Fri, 29 Mar 2013 16:38:52 +0000 (16:38 +0000)]
* dwarf2read.c (lookup_signatured_type): Remove complaint about
missing .debug_types section.

11 years agogdb/
Yao Qi [Fri, 29 Mar 2013 15:21:23 +0000 (15:21 +0000)]
gdb/

2013-03-29  Yao Qi  <yao@codesourcery.com>

* corelow.c: Include "completer.h".
(_initialize_corelow): Call add_target_with_completer with
argument 'filename_completer'.
* tracepoint.c: Likewise.
* exec.c (_initialize_exec): Likewise.
* target.c (add_target): Rename to ...
(add_target_with_completer): ... this.  Call set_cmd_completer
if parameter completer is not NULL.
(add_target): New.
* target.h: Include "command.h".
(add_target_with_completer): Declare it.

gdb/testsuite:

2013-03-29  Yao Qi  <yao@codesourcery.com>

* gdb.base/completion.exp: Test completion of commands
"target core", "target tfile" and "target exec".
* gdb.trace/tfile.exp: Test completion of command
"target tfile".

11 years agoIgnore __fu<digits>__ symbols from COFF symbol tables
Joel Brobecker [Fri, 29 Mar 2013 02:04:15 +0000 (02:04 +0000)]
Ignore __fu<digits>__ symbols from COFF symbol tables

The debugger sometimes prints strange function names for given
addresses. For instance, with the following source code...

4    procedure Foo is
5       A : Integer;
6    begin
7       Do_Nothing (A'Address);
8    end Foo;

... we can see...

    (gdb) info line 5
    Line 5 of "foo.adb" starts at address 0x4017ca <_ada_foo+6>
       and ends at 0x4017d2 <_fu29__system__scalar_values__is_is4+7>.
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

_fu29__system__scalar_values__is_is4 is an artificial symbol
generated by the linker, and interferes with the pc-to-symbol
resolution.  There isn't much in the general minimal_symbol
data that could help us identify them, so this patch changes
the COFF reader to simply ignore them.

gdb/ChangeLog:

* coffread.c (is_import_fixup_symbol): New function.
(record_minimal_symbol): Use is_import_fixup_symbol to
detect import fixup symbols, and discard them.

gdb/testsuite/ChangeLog:

        * gdb.ada/win_fu_syms: New testcase.

11 years ago * dwarf2read.c (create_debug_types_hash_table): Don't allocate the
Doug Evans [Fri, 29 Mar 2013 00:35:20 +0000 (00:35 +0000)]
* dwarf2read.c (create_debug_types_hash_table): Don't allocate the
types hash table until we know we need it.

11 years ago * dwarf2read.c (create_addrmap_from_index): Complain about bad CU
Doug Evans [Fri, 29 Mar 2013 00:18:32 +0000 (00:18 +0000)]
* dwarf2read.c (create_addrmap_from_index): Complain about bad CU
index numbers.

11 years ago * dwarf2read.c (dw2_get_file_names): Delete arg "objfile".
Doug Evans [Fri, 29 Mar 2013 00:11:10 +0000 (00:11 +0000)]
* dwarf2read.c (dw2_get_file_names): Delete arg "objfile".
All callers updated.
(dw2_print_stats): Print #read CUs too.
(dump_die_shallow): Print signatured types better.

testsuite/
* gdb.base/maint.exp (maint print statistics): Update expected output.

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

11 years ago * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
Kaz Kojima [Thu, 28 Mar 2013 23:52:44 +0000 (23:52 +0000)]
* elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
R_SH_REL32 relocations against undefined weak symbols.

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

11 years ago * dwarf2read.c (struct dwarf2_per_cu_data): Rename member
Doug Evans [Thu, 28 Mar 2013 22:59:47 +0000 (22:59 +0000)]
* dwarf2read.c (struct dwarf2_per_cu_data): Rename member
info_or_types_section to section.  All uses updated.
(struct dwo_unit): Ditto.

11 years agoStop sending qTStatus if the target doesn't recognize it; add packet configuration...
Pedro Alves [Thu, 28 Mar 2013 21:58:03 +0000 (21:58 +0000)]
Stop sending qTStatus if the target doesn't recognize it; add packet configuration command.

GDB currently sends a qTStatus even if the target previously replied
an empty packet to a previous qTStatus.  If the target doesn't
recognize the packet, there's no point in trying again.

The machinery we have in place is packet_ok, which has the nice side
effect of forcing one to install a configuration command/knob for the
packet in question, which is often handy when you need to debug
things, and/or emulate a target that doesn't support the packet, or even,
it can be used as workaround for the old broken kgdb's that return error
to qTSTatus instead of an empty packet.

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

* NEWS (New options): New section.
(New options): Mention set/show remote trace-status-packet.
* remote.c (PACKET_qTStatus): New enumeration value.
(remote_get_trace_status): Skip sending qTStatus if the packet is
disabled.  Use packet_ok.
(_initialize_remote): Register a configuration command for
qTStatus packet.

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

* gdb.texinfo (Remote Configuration) <set remote @var{name}-packet
table>: Add entry for "trace-status".

11 years agoFix Doug Evans's commit of 2013-03-21.
Eli Zaretskii [Thu, 28 Mar 2013 21:07:56 +0000 (21:07 +0000)]
Fix Doug Evans's commit of 2013-03-21.

* gdb.texinfo (Maintenance Commands): Use @enumerate, not "@table
@bullet", which is invalid (makeinfo 5.1 barfs).

11 years ago * symfile.c (find_separate_debug_file): Add comment.
Doug Evans [Thu, 28 Mar 2013 18:17:38 +0000 (18:17 +0000)]
* symfile.c (find_separate_debug_file): Add comment.
(terminate_after_last_dir_separator): Tweak comment.

11 years ago * dwarf2read.c (create_partial_symtab): Add forward decl.
Doug Evans [Thu, 28 Mar 2013 17:41:03 +0000 (17:41 +0000)]
* dwarf2read.c (create_partial_symtab): Add forward decl.
(create_partial_symtab): Move to be closer to other psymtab functions.
(process_psymtab_comp_unit_reader, process_psymtab_comp_unit): Ditto.

11 years ago * dwarf2read.c (dwarf2_physname): Move declaration to better spot.
Doug Evans [Thu, 28 Mar 2013 17:35:01 +0000 (17:35 +0000)]
* dwarf2read.c (dwarf2_physname): Move declaration to better spot.
(compute_symtab_includes): Remove unnecessary forward declaration.
(die_needs_namespace): Add comment marking group of functions for
dwarf2 name computation.

11 years ago * typeprint.c (_initialize_typeprint): Improve type help text.
Doug Evans [Thu, 28 Mar 2013 17:25:47 +0000 (17:25 +0000)]
* typeprint.c (_initialize_typeprint): Improve type help text.

11 years ago * python/python.c (finish_python_initialization): Provide suggestion
Doug Evans [Thu, 28 Mar 2013 16:39:09 +0000 (16:39 +0000)]
* python/python.c (finish_python_initialization): Provide suggestion
for how to tell gdb to find its python files.

11 years ago * elf64-ppc.c (struct ppc_dyn_relocs): New.
Alan Modra [Thu, 28 Mar 2013 13:36:32 +0000 (13:36 +0000)]
* elf64-ppc.c (struct ppc_dyn_relocs): New.
(ppc64_elf_check_relocs): Separate dynrel counts for local syms
into ifunc and non-ifunc.
(dec_dynrel_count): Pass in sym rather than sym_sec.  Handle
separate ifunc/non-ifunc dynrel counts.
(allocate_got): Always use reliplt for ifunc.
(allocate_dynrelocs): Likewise.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc64_elf_layout_multitoc): Likewise.
(ppc64_elf_relocate_section): Likewise.

11 years agoFix PR gdb/15294: list with unlimited listsize broken
Pedro Alves [Thu, 28 Mar 2013 11:57:47 +0000 (11:57 +0000)]
Fix PR gdb/15294: list with unlimited listsize broken

Currently, "set listsize -1" is supposed to mean "unlimited" source
lines, but, alas, it doesn't actually work:

 (gdb) set listsize -1
 (gdb) show listsize
 Number of source lines gdb will list by default is unlimited.
 (gdb) list 1
 (gdb) list 1
 (gdb) list 1
 (gdb) set listsize 10
 (gdb) list 1
 1       /* Main function for CLI gdb.
 2          Copyright (C) 2002-2013 Free Software Foundation, Inc.
 3
 4          This file is part of GDB.
 5
 6          This program is free software; you can redistribute it and/or modify
 7          it under the terms of the GNU General Public License as published by
 8          the Free Software Foundation; either version 3 of the License, or
 9          (at your option) any later version.
 10

Before this patch:

     http://sourceware.org/ml/gdb-patches/2012-08/msg00367.html

was applied, the "set listsize" command was a var_integer command, and
"unlimited" was set with 0.  Internally, var_integer maps 0 to INT_MAX

   case var_integer:
      {
      ...
if (val == 0 && c->var_type == var_integer)
  val = INT_MAX;

The change in that patch to zuinteger_unlimited command, meant that -1
is left as -1 in the command's control variable (lines_to_list), and
the code in source.c isn't expecting that -- it only expects positive
numbers.

I previously suggested fixing the code and keeping the new behavior,
but I found that "set listsize 0" is currently used in the wild, and
we do have a bunch of other commands where "0" means unlimited, so I'm
thinking that changing this command alone in isolation is not a good
idea.

So I now strongly prefer reverting back the behavior in 7.6 to the
same behavior the command has had since 2006 (0==unlimited, -1=error).
Before that, set listsize -1 would be accepted as unlimited as well.

After 7.6 is out, in mainline, we can get back to reconsidering
changing this command's behavior, if there's a real need for being
able to suppress output.  For now, let's play it safe.

The "list line 1 with unlimited listsize" test in list.exp was
originally written years and years ago expecting 0 to mean "no
output", but GDB never actually worked that way, even when the tests
were written, so the tests had been xfailed then.  This patch now
adjusts the test to the new behavior, so that the test actually
passes, and the xfail is removed.

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

PR gdb/15294

* source.c (_initialize_source): Change back "set listsize" to an
integer command.

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

PR gdb/15294

* gdb.base/list.exp (set_listsize): Adjust to accept $arg == 0 to
mean unlimited instead of $arg < 0.
(test_listsize): Remove "listsize of 0 suppresses output" test.
Test that "set listsize 0" ends up with an unlimited listsize.

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

PR gdb/15294

* gdb.texinfo (List) <set listsize>: Adjust to document that
listsize 0 means no limit, and remove mention of -1.

11 years agolist.exp: Avoid hardcoding line numbers.
Pedro Alves [Thu, 28 Mar 2013 11:56:51 +0000 (11:56 +0000)]
list.exp: Avoid hardcoding line numbers.

The previous patch actually wasn't the first time I had to update line
numbers in this file.

This avoids hard coding line numbers, hopefully making the next time a
little easier.

Tested on x86_64 Fedora 17.

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

* gdb.base/list.exp (last_line): New global.
(last_line_re): New global.
(test_listsize, test_list_function, test_list_forward)
(test_repeat_list_command, test_list_range)
(test_list_filename_and_function): Use them.
* gdb.base/list0.c: Comment the last line of the file with "last
line".

11 years agolist.exp: Adjust "set listsize -1" to current test source's real line count.
Pedro Alves [Thu, 28 Mar 2013 11:56:15 +0000 (11:56 +0000)]
list.exp: Adjust "set listsize -1" to current test source's real line count.

The "set listsize -1" test in list.exp can't work correct anymore
nowadays, because the test's source files grew over time, and this
particular test was never updated.

This fixes it in the obvious way.

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

* gdb.base/list.exp (test_listsize): Adjust test to make sure we
list the whole file.

11 years agolist.exp: Catch "set listsize" failures (and "set listsize -1/0"'s history).
Pedro Alves [Thu, 28 Mar 2013 11:55:40 +0000 (11:55 +0000)]
list.exp: Catch "set listsize" failures (and "set listsize -1/0"'s history).

Before the changes starting at
<http://sourceware.org/ml/gdb-patches/2012-08/msg00020.html>, the 'set
listsize' command only accepted "0" as special value, meaning
"unlimited".  The testsuite actually tried "set listsize -1" and
expected that to mean unlimited too.

If you tried testing list.exp at the time of that patch above,
you'd get:

  (gdb) PASS: gdb.base/list.exp: list line 10 with listsize 100
  set listsize 0
  (gdb) PASS: gdb.base/list.exp: setting listsize to 0 #6
  show listsize
  Number of source lines gdb will list by default is unlimited.
  (gdb) PASS: gdb.base/list.exp: show listsize unlimited #6
  list 1
  1       #include "list0.h"
  2
  ...
  42          /* Not used for anything */
  43      }
  (gdb) PASS: gdb.base/list.exp: listsize of 0 suppresses output
  set listsize -1
  integer 4294967295 out of range
  (gdb) PASS: gdb.base/list.exp: setting listsize to -1 #7
  show listsize
  Number of source lines gdb will list by default is unlimited.
  (gdb) PASS: gdb.base/list.exp: show listsize unlimited #7
  list 1
  1       #include "list0.h"

Notice that "set listsize -1" actually failed with "integer 4294967295
out of range", but we issued a PASS anyway.

(and notice how the "listsize of 0 suppresses output" test passes bogusly too.)

This patch fixes that testsuite problem in the obvious way.

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

* gdb.base/list.exp (set_listsize): Use gdb_test_no_output for
"set listsize".

11 years agoAdd support for Cortex-A53 and Cortex-A57.
Ramana Radhakrishnan [Thu, 28 Mar 2013 11:00:15 +0000 (11:00 +0000)]
Add support for Cortex-A53 and Cortex-A57.

11 years ago PR binutils/15068
Nick Clifton [Thu, 28 Mar 2013 09:25:11 +0000 (09:25 +0000)]
PR binutils/15068
* tic6x-opcode-table.h: Fix patterns for add, ldnw and xor.
* gas/tic6x/insns16-lsd-unit.s: Correct bit patterns for mvk, add
and xor.
* gas/tic6x/insns16-lsd-unit.d: Update expected output.

11 years ago * elf32-ppc.c (struct ppc_dyn_relocs): New.
Alan Modra [Thu, 28 Mar 2013 07:07:25 +0000 (07:07 +0000)]
* elf32-ppc.c (struct ppc_dyn_relocs): New.
(ppc_elf_check_relocs): Separate dynrel counts for local syms
into ifunc and non-ifunc.
(allocate_dynrelocs): Always put ifunc relocs into reliplt.
(ppc_elf_size_dynamic_sections): Likewise.
(ppc_elf_relocate_section): Likewise.

11 years agomerge from gcc
DJ Delorie [Thu, 28 Mar 2013 02:00:05 +0000 (02:00 +0000)]
merge from gcc

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

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

11 years agoProperly check address mode for SIB
H.J. Lu [Wed, 27 Mar 2013 18:49:10 +0000 (18:49 +0000)]
Properly check address mode for SIB

gas/testsuite/

* gas/i386/addr32.s: Add an SIB test.
* gas/i386/addr32.d: Updated.

opcodes/

* i386-dis.c (get_sib): Add the sizeflag argument.  Properly
check address mode.
(print_insn): Pass sizeflag to get_sib.

11 years agogdb/
Jan Kratochvil [Wed, 27 Mar 2013 18:20:10 +0000 (18:20 +0000)]
gdb/
PR gdb/15275
* remote.c (remote_get_trace_status): Include putpkt in TRY_CATCH.

11 years ago * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
Alan Modra [Wed, 27 Mar 2013 13:37:51 +0000 (13:37 +0000)]
* elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
(struct elf_backend_data <elf_backed_reloc_type_class>): Add
bfd_link_info* and asection* params.
(_bfd_elf_reloc_type_class): Likewise.
* elf.c (_bfd_elf_reloc_type_class): Likewise.
* elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
(elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
* elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
for any reliplt reloc.  Don't return reloc_class_plt for
R_PPC_REL24 and R_PPC_ADDR24.
* elf64-ppc.c (allocate_got): Formatting.
(ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
reliplt reloc.
* elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
* elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
* elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
* elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
* elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
* elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
Add extra params to the various reloc_type_class functions.

11 years ago * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
Alan Modra [Wed, 27 Mar 2013 13:25:48 +0000 (13:25 +0000)]
* elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
masks for all local ifunc syms.
(allocate_dynrelocs): Don't use htab->relgot for ifunc.
(ppc_elf_size_dynamic_sections): Likewise.
(ppc_elf_relocate_section): Likewise.

11 years ago PR ld/13812
Nick Clifton [Wed, 27 Mar 2013 13:21:38 +0000 (13:21 +0000)]
PR ld/13812
* scripttempl/avr.sc: Place trampolines before .progmem section.

11 years agoForbid "set history size (INT_MAX..UINT_MAX)"
Pedro Alves [Wed, 27 Mar 2013 12:14:09 +0000 (12:14 +0000)]
Forbid "set history size (INT_MAX..UINT_MAX)"

The whole readline interface is signed, and works with the 0..INT_MAX
range.

We don't allow setting the size to UINT_MAX directly.  The documented
user visible interface is "use 0 for unlimited".  The UINT_MAX
representation is an implementation detail we could change, e.g., by
keeping a separate flag for "unlimited", which is actually what the
readline interface does (stifled vs non stifled).  Generically
speaking, exposing this detail to clients of the interface may make
our lives complicated when we find the need to extend the range of
some command in the future, and it's better if users
(frontends/scripts) aren't relying on anything but what we tell them
to use for "unlimited".  Making values other than 0 error out is the
way to prevent users from using those ranges inappropriately.  Quite
related, note:

    (gdb) set history size 0xffffffff
    integer 4294967295 out of range

  But,

    (gdb) set history size 0xfffffffe
    (gdb) show history size
    The size of the command history is unlimited.

    (gdb) set history size 0x100000000
    integer 4294967296 out of range

If values over INT_MAX are accepted as unlimited, then there's no good
argument for only accepting [INT_MAX..UINT_MAX) as valid "unlimited"
magic numbers, while not accepting [UINT_MAX..inf).

Making the setting's control variable of different type (unsigned int)
of the rest of the related code (int) adds the need to recall that one
variable among all these is unsigned, and that one need to think about
whether these comparisons are signed or unsigned, along with the
promotion/conversion rules.  Since this is an easy to forget detail,
this patch renames the variable to at least make it more obvious that
this variable is not one of GNU history's public int variables, which
are all signed.  We don't actually need the only code that presently
is affected by this, though, the code that is computing the current
history's length.  We can just use GNU history's history_length
instead:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Variable: int history_length
    The number of entries currently stored in the history list.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/* Return the history entry which is logically at OFFSET in the history array.
   OFFSET is relative to history_base. */
HIST_ENTRY *
history_get (offset)
     int offset;
{
  int local_index;

  local_index = offset - history_base;
  return (local_index >= history_length || local_index < 0 || the_history == 0)
? (HIST_ENTRY *)NULL
: the_history[local_index];
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

At the time this code was added (gdb 4.13 ~1994), 'history_length' was
extern, but not documented in readline's GNU history documents, so I
guess it wasn't considered public then and the loop was the
workaround.

One of the warts of GDB choosing 0 to mean unlimited is that "set
history size 0" behaves differently from 'HISTSIZE=0 gdb'.  The latter
leaves GDB with no history, while the former means "unlimited"...

 $ HISTSIZE=0 ./gdb
 ...
 (gdb) show history size
 The size of the command history is 0.

We shouldn't really change what HISTSIZE=0 means, as bash, etc. also
handle 0 as real zero, and zero it's what really makes sense.

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

* top.c (history_size): Rename to ...
(history_size_setshow_var): ... this.  Add comment.
(show_commands): Use readline's 'history_length' instead of
computing the history length by calling history_get in a loop.
(set_history_size_command): Error out for sizes over INT_MAX.
Restore previous history size on invalid size.
(init_history): If HISTSIZE is negative, leave the history size as
zero.  Add comments.
(init_main): Adjust.

11 years ago PR binutils/13409
Nick Clifton [Wed, 27 Mar 2013 11:53:46 +0000 (11:53 +0000)]
PR binutils/13409
* winduni.c (codepages[]): Use UTF-16LE.
(wind_MultiByteToWideChar): Likewise.
(wind_WideCharToMultiByte): Likewise.

11 years ago PR binutils/15068
Nick Clifton [Wed, 27 Mar 2013 11:43:37 +0000 (11:43 +0000)]
PR binutils/15068
* tic6x-dis.c: Add support for displaying 16-bit insns.
* tic6xc-insn-formats.h (FLD): Add use of bitfield array.
Add 16-bit opcodes.
* tic6xc-opcode-table.h: Add 16-bit insns.
* tic6x.h: Add support for 16-bit insns.
* config/tc-tic6x.c (tic6x_try_encode): Add use of bitfields array.
* gas/tic6x/insns16-d-unit.s: New test.
* gas/tic6x/insns16-d-unit.d: Expected disassembly.
* gas/tic6x/insns16-ddec.s: New test.
* gas/tic6x/insns16-ddec.d: Expected disassembly.
* gas/tic6x/insns16-dinc.s: New test.
* gas/tic6x/insns16-dinc.d: Expected disassembly.
* gas/tic6x/insns16-dind.s: New test.
* gas/tic6x/insns16-dind.d: Expected disassembly.
* gas/tic6x/insns16-doff4.s: New test.
* gas/tic6x/insns16-doff4.d: Expected disassembly.
* gas/tic6x/insns16-l-unit.s: New test.
* gas/tic6x/insns16-l-unit.d: Expected disassembly.
* gas/tic6x/insns16-lsd-unit.s: New test.
* gas/tic6x/insns16-lsd-unit.d: Expected disassembly.
* gas/tic6x/insns16-m-unit.s: New test.
* gas/tic6x/insns16-m-unit.d: Expected disassembly.
* gas/tic6x/insns16-s-unit-pcrel.s: New test.
* gas/tic6x/insns16-s-unit-pcrel.d: Expected disassembly.
* gas/tic6x/insns16-s-unit: New test.
* gas/tic6x/insns16-s-unit.d: Expected disassembly.

11 years agobfd/ChangeLog:
Will Newton [Wed, 27 Mar 2013 09:51:46 +0000 (09:51 +0000)]
bfd/ChangeLog:

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

* elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
dynamic reloc for symbols with dynindx == -1.
(allocate_dynrelocs_for_symbol): Avoid allocating space for a
dynamic reloc for symbols with dynindx == -1.

11 years agobfd/ChangeLog:
Will Newton [Wed, 27 Mar 2013 09:48:46 +0000 (09:48 +0000)]
bfd/ChangeLog:

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

* elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
dynamic reloc for symbols with dynindx == -1.
(allocate_dynrelocs_for_symbol): Avoid allocating space for a
dynamic reloc for symbols with dynindx == -1.

11 years agoRename "set debug coff_pe_read" command to "set debug coff-pe-read".
Pedro Alves [Wed, 27 Mar 2013 09:47:41 +0000 (09:47 +0000)]
Rename "set debug coff_pe_read" command to "set debug coff-pe-read".

Hyphens are much more common than underscores in command names.

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

* coff-pe-read.c (_initialize_coff_pe_read): Rename "set debug
coff_pe_read" command to "set debug coff-pe-read".

11 years agorecord: fix instruction-history-size regression
Markus Metzger [Wed, 27 Mar 2013 09:42:47 +0000 (09:42 +0000)]
record: fix instruction-history-size regression

* record.c (command_size_to_target_size): Fix size comparison.
Change parameter type from pointer to integer to integer.
Update all users.

11 years ago * windows-nat.c (handle_output_debug_string): Avoid typecast
Pierre Muller [Wed, 27 Mar 2013 08:57:09 +0000 (08:57 +0000)]
* windows-nat.c (handle_output_debug_string): Avoid typecast
from integer of different size warning.