deliverable/binutils-gdb.git
11 years ago * target-reloc.h (relocate_section): If the reloc offset is out of
Ian Lance Taylor [Sat, 27 Apr 2013 00:53:16 +0000 (00:53 +0000)] 
* target-reloc.h (relocate_section): If the reloc offset is out of
range, pass VIEW as NULL to relocate.relocate.
* arm.cc (Target_arm:Relocate::relocate): Check for a NULL view.
* i386.cc (Target_i386::Relocate::relocate): Likewise.
* powerpc.cc (Target_powerpc::Relocate::relocate): Likewise.
* sparc.cc (Target_sparc::Relocate::relocate): Likewise.
* tilegx.cc (Target_tilegx::Relocate::relocate): Likewise.
* x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.

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

11 years agodaily update
Alan Modra [Sat, 27 Apr 2013 00:00:05 +0000 (00:00 +0000)] 
daily update

11 years ago2013-04-26 Geoff Pike <gpike@chromium.org>
Cary Coutant [Fri, 26 Apr 2013 21:38:57 +0000 (21:38 +0000)] 
2013-04-26  Geoff Pike  <gpike@chromium.org>

gold/
* gold.cc (queue_final_tasks): invoke layout->queue_build_id_tasks().
* layout.cc (Hash_task): New class.
(Layout::queue_build_id_tasks): New function.
(Layout::write_build_id): Handle single-thread portion of build ID
computation.  (In some cases, all of it is single-threaded.)  Replace
{sha1,md5}_process_bytes with {sha1,md5}_buffer to get the same
functionality in fewer lines of code.
* layout.h (Layout::queue_build_id_tasks): New function declaration.
* options.h (General_options): make "--build-id" default to tree
rather than sha1.  Add two new options related to --build-id=tree:
--build-id-chunk-size-for-treehash and
--build-id-min-file-size-for-treehash.
* Makefile.am: add testing of --build-id=tree and related new options
(these tests will be invoked by "make check").
* Makefile.in: Regenerate.

11 years ago * MAINTAINERS: Add myself and Cary as gold maintainers.
Ian Lance Taylor [Fri, 26 Apr 2013 20:55:25 +0000 (20:55 +0000)] 
* MAINTAINERS: Add myself and Cary as gold maintainers.

11 years agofix changelog entry: we still have 2013, not 2014
Christian Groessler [Fri, 26 Apr 2013 19:31:15 +0000 (19:31 +0000)] 
fix changelog entry: we still have 2013, not 2014

11 years ago * config/tc-z8k.c (md_parse_option): Set z8k_target_from_cmdline
Christian Groessler [Fri, 26 Apr 2013 19:21:25 +0000 (19:21 +0000)] 
* config/tc-z8k.c (md_parse_option): Set z8k_target_from_cmdline
according to the target parameter.  Don't call s_segm since s_segm
calls bfd_set_arch_mach using stdoutput, but stdoutput isn't
initialized yet.
(md_begin): Call s_segm according to target parameter from command
line.

11 years ago * scripttempl/avr.sc: Add ALIGN directive after *(.progmem*).
Nick Clifton [Fri, 26 Apr 2013 15:27:55 +0000 (15:27 +0000)] 
* scripttempl/avr.sc: Add ALIGN directive after *(.progmem*).

11 years agoGDB 7.6 released.
gdbadmin [Fri, 26 Apr 2013 14:07:53 +0000 (14:07 +0000)] 
GDB 7.6 released.

11 years agoAdd missing test files from 2013-03-21 commit.
Will Newton [Fri, 26 Apr 2013 09:40:18 +0000 (09:40 +0000)] 
Add missing test files from 2013-03-21 commit.

11 years agoRemove some dead code from elf64_aarch64_check_relocs.
Will Newton [Fri, 26 Apr 2013 09:18:43 +0000 (09:18 +0000)] 
Remove some dead code from elf64_aarch64_check_relocs.

bfd/ChangeLog:

2013-04-25  Will Newton  <will.newton@linaro.org>

* elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.

11 years ago * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Test
Alan Modra [Fri, 26 Apr 2013 01:26:45 +0000 (01:26 +0000)] 
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Test
unresolved_syms_in_shared_libs rather than !executable to
determine whether to load DT_NEEDED libraries.

11 years agodaily update
Alan Modra [Fri, 26 Apr 2013 00:00:03 +0000 (00:00 +0000)] 
daily update

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

11 years ago PR corefiles/14983:
Tom Tromey [Thu, 25 Apr 2013 16:25:37 +0000 (16:25 +0000)] 
PR corefiles/14983:
* dwarf2read.c (process_full_comp_unit): Always create a static
block.
gdb/testsuite
* gdb.dwarf2/nostaticblock.exp: New file.

11 years agobfd/
Alan Modra [Thu, 25 Apr 2013 13:22:52 +0000 (13:22 +0000)] 
bfd/
* config.bfd: Add powerpc64le-linux.
gas/
* configure.in: Allow little-endian linux.
* configure: Regenerate.
gold/
* configure.tgt: Add powerpcle and powerpc64le.
ld/
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lppclinux.c.
(eelf32lppclinux.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt: Merge powerpc-linux and other powerpc-elf targets
with corresponding little-endian targets.
* emulparams/elf32lppc.sh: Update comment.
* emulparams/elf32lppclinux.sh: New.

11 years agoFix format error of ChangeLog.
Hui Zhu [Thu, 25 Apr 2013 08:03:31 +0000 (08:03 +0000)] 
Fix format error of ChangeLog.

11 years ago2013-04-25 Hui Zhu <hui@codesourcery.com>
Hui Zhu [Thu, 25 Apr 2013 02:58:05 +0000 (02:58 +0000)] 
2013-04-25  Hui Zhu  <hui@codesourcery.com>

PR gdb/15186

* ax.c (ax_printf): Add fflush.

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

11 years agodaily update
Alan Modra [Thu, 25 Apr 2013 00:00:04 +0000 (00:00 +0000)] 
daily update

11 years ago2013-04-25 Hui Zhu <hui@codesourcery.com>
Hui Zhu [Wed, 24 Apr 2013 23:09:31 +0000 (23:09 +0000)] 
2013-04-25  Hui Zhu  <hui@codesourcery.com>

* breakpoint.c (build_target_command_list): Change loc->cond_bytecode
to loc->cmd_bytecode.

11 years ago2013-04-24 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Wed, 24 Apr 2013 20:51:58 +0000 (20:51 +0000)] 
2013-04-24  Sandra Loosemore  <sandra@codesourcery.com>

gas/
* config/tc-nios2.c (nios2_control_register_arg_p): Rename
"fstatus" control register to "eccinj".

opcodes/
* nios2-opc.c (nios2_builtin_reg): Rename "fstatus" control register
to "eccinj".

11 years ago * dwarf2read.c (setup_type_unit_groups): Fix comment.
Doug Evans [Wed, 24 Apr 2013 19:12:26 +0000 (19:12 +0000)] 
* dwarf2read.c (setup_type_unit_groups): Fix comment.

11 years agoEnable x32 for x86_64-*-elf*
H.J. Lu [Wed, 24 Apr 2013 18:58:14 +0000 (18:58 +0000)] 
Enable x32 for x86_64-*-elf*

This patch enables x32 for x86_64-*-elf* for embedded target and disables
rex tests since it uses '/' as prefix separator which is `\' for
x86_64-*-elf*.

bfd/

* config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
x86_64-*-elf*.

gas/testsuite/

* gas/i386/rex.d: Skip x86_64-*-elf*.
* gas/i386/ilp32/rex.d: Likewise.

ld/

* configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
x86_64-*-elf*.
(targ_extra_libpath): Likewise.
(tdir_elf_i386): Replace x86_64 with i386 for x86_64-*-elf*.

11 years ago * tracepoint.c (trace_save): Call the writer's start method.
Keith Seitz [Wed, 24 Apr 2013 18:22:31 +0000 (18:22 +0000)] 
* tracepoint.c (trace_save):  Call the writer's start method.

11 years agold/
Yufeng Zhang [Wed, 24 Apr 2013 17:22:31 +0000 (17:22 +0000)] 
ld/

* emulparams/aarch64elf.sh: Define ELFSIZE=64.
* emulparams/aarch64linux.sh: Ditto.
* emultempl/aarch64elf.em (aarch64_elf_before_allocation):
Replace elf64 with elf${ELFSIZE}.
(elf64_aarch64_add_stub_section): Likewise.
(build_section_lists): Likewise.
(gld${EMULATION_NAME}_after_allocation): Likewise.
(gld${EMULATION_NAME}_finish): Likewise.
(aarch64_elf_create_output_section_statements): Likewise.

11 years agobfd/
Roland McGrath [Wed, 24 Apr 2013 16:29:55 +0000 (16:29 +0000)] 
bfd/
* elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p,
allocate space for PLT header even if IS_IPLT_ENTRY.
(arm_nacl_put_plt0): New function, broken out of ...
(elf32_arm_finish_dynamic_sections): ... here.  Call it.
If HTAB->nacl_p, set up the PLT header in .iplt too.
(elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write
a mapping symbol for the start of .iplt too.

11 years ago PR ld/15389
Nick Clifton [Wed, 24 Apr 2013 15:28:12 +0000 (15:28 +0000)] 
PR ld/15389
* scripttempl/avr.sc: Add .note.gnu.build-id section.

11 years ago2013-04-24 Muhammad Bilal <mbilal@codesourcery.com>
Muhammad Bilal [Wed, 24 Apr 2013 14:29:17 +0000 (14:29 +0000)] 
2013-04-24  Muhammad Bilal  <mbilal@codesourcery.com>

PR gdb/10462
* cli/cli-decode.c (lookup_command): Show an error if there is no space
before argument.

2013-04-24  Muhammad Bilal  <mbilal@codesourcery.com>

PR gdb/10462
* gdb.base/setshow.exp: Add test case.

11 years agooops - revert accidental commit
Nick Clifton [Wed, 24 Apr 2013 13:24:30 +0000 (13:24 +0000)] 
oops - revert accidental commit

11 years ago*** empty log message ***
Nick Clifton [Wed, 24 Apr 2013 13:22:43 +0000 (13:22 +0000)] 
*** empty log message ***

11 years ago * ecoff.c: casting the return value of BFD_ALIGN to int
Nick Clifton [Wed, 24 Apr 2013 13:19:27 +0000 (13:19 +0000)] 
* ecoff.c: casting the return value of BFD_ALIGN to int
* elf32-tic6x.c: removing unused variables
* elf32-v850.c: redefine the type of a variable (int -> bfd_vma)
* vms-alpha.c: initialize a variable

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

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

11 years ago * common/filestuff.c: Check USE_WIN32API before including
Tom Tromey [Tue, 23 Apr 2013 15:49:25 +0000 (15:49 +0000)] 
* common/filestuff.c: Check USE_WIN32API before including
sys/socket.h.
(HAVE_F_GETFD): New define.
(mark_cloexec): Check HAVE_F_GETFD.
(gdb_open_cloexec): Change 'mode' to unsigned long.
(gdb_socketpair_cloexec): Check HAVE_SOCKETPAIR.
(gdb_pipe_cloexec): Check HAVE_PIPE.
* common/filestuff.h (gdb_open_cloexec): Change 'mode' to unsigned
long.

11 years agomerge from gcc
DJ Delorie [Tue, 23 Apr 2013 04:05:04 +0000 (04:05 +0000)] 
merge from gcc

11 years ago2013-04-23 Hui Zhu <hui@codesourcery.com>
Hui Zhu [Tue, 23 Apr 2013 03:20:21 +0000 (03:20 +0000)] 
2013-04-23  Hui Zhu  <hui@codesourcery.com>

PR gdb/15293

* breakpoint.c (bpstat_what): Add BPSTAT_WHAT_SINGLE to bp_dprintf.

2013-04-23  Hui Zhu  <hui@codesourcery.com>

PR gdb/15293

* gdb.base/dprintf.exp: Add ignore command.

11 years ago2013-04-23 Hui Zhu <hui@codesourcery.com>
Hui Zhu [Tue, 23 Apr 2013 02:42:44 +0000 (02:42 +0000)] 
2013-04-23  Hui Zhu  <hui@codesourcery.com>

PR gdb/15165

* breakpoint.c (dprintf_print_recreate): New.
(save_breakpoints): Let it not save dprintf commands.
(initialize_breakpoint_ops): Set dprintf_print_recreate.

2013-04-23  Hui Zhu  <hui@codesourcery.com>

PR gdb/15165

* gdb.base/save-bp.exp: Add test for dprintf.

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

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

11 years ago * gdb.gdb/selftest.exp (do_steps_and_nexts): Check for
Tom Tromey [Mon, 22 Apr 2013 20:18:23 +0000 (20:18 +0000)] 
* gdb.gdb/selftest.exp (do_steps_and_nexts): Check for
notice_open_fds.

11 years ago2013-04-22 Jan-Benedict Glaw <jbglaw@lug-owl.de>
Jan-Benedict Glaw [Mon, 22 Apr 2013 17:11:22 +0000 (17:11 +0000)] 
2013-04-22  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* Makefile.def: Sync with GCC.
* Makefile.in: Regenerate.

11 years ago PR gdb/7912:
Tom Tromey [Mon, 22 Apr 2013 16:46:15 +0000 (16:46 +0000)] 
PR gdb/7912:
* Makefile.in (SFILES): Add filestuff.c
(COMMON_OBS): Add filestuff.o.
(filestuff.o): New target.
* auto-load.c (auto_load_objfile_script_1): Use
gdb_fopen_cloexec.
* auxv.c (procfs_xfer_auxv): Use gdb_open_cloexec.
* cli/cli-cmds.c (shell_escape): Call close_most_fds.
* cli/cli-dump.c (fopen_with_cleanup): Use gdb_fopen_cloexec.
* common/agent.c (gdb_connect_sync_socket): Use
gdb_socket_cloexec.
* common/filestuff.c: New file.
* common/filestuff.h: New file.
* common/linux-osdata.c (linux_common_core_of_thread)
(command_from_pid, commandline_from_pid, print_source_lines)
(linux_xfer_osdata_shm, linux_xfer_osdata_sem)
(linux_xfer_osdata_msg, linux_xfer_osdata_modules): Use
gdb_fopen_cloexec.
* common/linux-procfs.c (linux_proc_get_int)
(linux_proc_pid_has_state): Use gdb_fopen_cloexec.
* config.in, configure: Rebuild.
* configure.ac: Don't check for sys/socket.h.  Check for
fdwalk, pipe2.
* corelow.c (core_open): Use gdb_open_cloexec.
* dwarf2read.c (write_psymtabs_to_index): Use gdb_fopen_cloexec.
* fork-child.c (fork_inferior): Call close_most_fds.
* gdb_bfd.c (gdb_bfd_open): Use gdb_open_cloexec.
* inf-child.c (inf_child_fileio_readlink): Use gdb_open_cloexec.
* linux-nat.c (linux_nat_thread_name, linux_proc_pending_signals):
Use gdb_fopen_cloexec.
(linux_proc_xfer_partial, linux_proc_xfer_spu): Use
gdb_open_cloexec.
(linux_async_pipe): Use gdb_pipe_cloexec.
* remote-fileio.c (remote_fileio_func_open): Use
gdb_open_cloexec.
* remote.c (remote_file_put, remote_file_get): Use
gdb_fopen_cloexec.
* ser-pipe.c (pipe_open): Use gdb_socketpair_cloexec,
close_most_fds.
* ser-tcp.c (net_open): Use gdb_socket_cloexec.
* ser-unix.c (hardwire_open): Use gdb_open_cloexec.
* solib.c (solib_find): Use gdb_open_cloexec.
* source.c (openp, find_and_open_source): Use gdb_open_cloexec.
* tracepoint.c (tfile_start): Use gdb_fopen_cloexec.
(tfile_open): Use gdb_open_cloexec.
* tui/tui-io.c (tui_initialize_io): Use gdb_pipe_cloexec.
* ui-file.c (gdb_fopen): Use gdb_fopen_cloexec.
* xml-support.c (xml_fetch_content_from_file): Use
gdb_fopen_cloexec.
* main.c (captured_main): Call notice_open_fds.
gdbserver
* Makefile.in (SFILES): Add filestuff.c.
(OBS): Add filestuff.o.
(filestuff.o): New target.
* config.in, configure: Rebuild.
* configure.ac: Check for fdwalk, pipe2.

11 years ago2013-04-22 Edjunior Machado <emachado@linux.vnet.ibm.com>
Edjunior Barbosa Machado [Mon, 22 Apr 2013 15:50:57 +0000 (15:50 +0000)] 
2013-04-22  Edjunior Machado  <emachado@linux.vnet.ibm.com>

* remote-sim.c (dump_mem): Change the type of 'buf' parameter from
'char *' to 'gdb_byte *'.
(gdbsim_store_register): Change the type of 'tmp' from 'char' to
'gdb_byte'.

11 years ago2013-04-22 Jan-Benedict Glaw <jbglaw@lug-owl.de>
Jan-Benedict Glaw [Mon, 22 Apr 2013 15:25:09 +0000 (15:25 +0000)] 
2013-04-22  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* configure.ac: Sync with GCC.
* configure: Regenerated.

11 years ago PR ld/15382
Alan Modra [Mon, 22 Apr 2013 15:03:01 +0000 (15:03 +0000)] 
PR ld/15382
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
sh_size or reloc_count adjustment by count.

11 years agogdb/
Yao Qi [Mon, 22 Apr 2013 09:34:27 +0000 (09:34 +0000)] 
gdb/

* infrun.c: Fix typo in comment.

11 years ago2013-04-22 Sergio Durigan Junior <sergiodj@redhat.com>
Sergio Durigan Junior [Mon, 22 Apr 2013 09:32:21 +0000 (09:32 +0000)] 
2013-04-22  Sergio Durigan Junior  <sergiodj@redhat.com>

* gdb.arch/arm-bl-branch-dest.exp: Replace additional_flags by
ldflags.

11 years agoAndrew Haley found a bug on GDB running on ARM when using
Sergio Durigan Junior [Mon, 22 Apr 2013 09:20:33 +0000 (09:20 +0000)] 
Andrew Haley found a bug on GDB running on ARM when using
--enable-64-bit-bfd.  Basically the issue happens when dealing with "bl"
instructions: GDB does branch destination calculation and (wrongly)
sign-extends the PC.  Here is a piece of his original message explaining
the problem:

>      next_pc = arm_get_next_pc (frame, get_frame_pc (frame));
>
>      /* The Linux kernel offers some user-mode helpers in a high page.  We can
>         not read this page (as of 2.6.23), and even if we could then we couldn't
>         set breakpoints in it, and even if we could then the atomic operations
>         would fail when interrupted.  They are all called as functions and return
>         to the address in LR, so step to there instead.  */
>      if (next_pc > 0xffff0000)
>        next_pc = get_frame_register_unsigned (frame, ARM_LR_REGNUM);
>
>      arm_insert_single_step_breakpoint (gdbarch, aspace, next_pc);
>
>    Unfortunately, branch destination addresses are SIGN EXTENDED to 64
>    bits.  So,
>
>    (top-gdb) p/x next_pc
>    $14 = 0xffffffffb6df2864
>
>    Which triggers the next_pc = get_frame_register_unsigned(), and we
>    cannot step into any branches because the destination PC is wrong.

Anyway, the fix is simple and Andrew himself provided it for us.  It
took a while for me to figure out how to trigger the bug (in order to
write a testcase for it), but I finally made it.

The attached patch fixes the problem (by casting to `unsigned long'
instead of just `long'), and also includes a testcase to reproduce the
issue.

gdb/ChangeLog:

2013-04-22  Andrew Haley  <aph@redhat.com>

* arm-tdep.c (BranchDest): Cast result as "unsigned long",
instead of "long".

gdb/testsuite/ChangeLog:

2013-04-22  Sergio Durigan Junior  <sergiodj@redhat.com>

* gdb.arch/arm-bl-branch-dest.c: New file.
* gdb.arch/arm-bl-branch-dest.exp: Likewise.

11 years agobfd/
Alan Modra [Mon, 22 Apr 2013 03:11:40 +0000 (03:11 +0000)] 
bfd/
* elf64-ppc.c (ppc64_elf_check_relocs): Don't call
create_linkage_sections here..
(ppc64_elf_init_stub_bfd): ..do so here.  Return status.
(create_linkage_sections): Move earlier in file.
(ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
* elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.
ld/
* emultempl/ppc64elf.em (ppc_create_output_section_statements):
Check return from ppc64_elf_init_stub_bfd.
ld/testsuite/
* ld-powerpc/tlsexe.d: Adjust.
* ld-powerpc/tlsexe.r: Adjust.
* ld-powerpc/tlsexetoc.d: Adjust.
* ld-powerpc/tlsexetoc.r: Adjust.
* ld-powerpc/tlsso.d: Adjust.
* ld-powerpc/tlsso.r: Adjust.
* ld-powerpc/tlstocso.d: Adjust.
* ld-powerpc/tlstocso.r: Adjust.

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

11 years agodaily update
Alan Modra [Mon, 22 Apr 2013 00:00:04 +0000 (00:00 +0000)] 
daily update

11 years ago PR gold/15355
Alan Modra [Sun, 21 Apr 2013 23:21:56 +0000 (23:21 +0000)] 
PR gold/15355
* layout.cc (Layout::segment_precedes): Allow more than one
segment with the same type and flags.

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

11 years agodaily update
Alan Modra [Sun, 21 Apr 2013 00:00:05 +0000 (00:00 +0000)] 
daily update

11 years agogdb/
Yao Qi [Sat, 20 Apr 2013 07:38:39 +0000 (07:38 +0000)] 
gdb/

* ctf.c (ctf_fetch_registers): Change the type of 'regs' from
'char *' to 'gdb_byte *'.  Cast the return value of
'bt_ctf_get_char_array' to 'gdb_byte *'.

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

11 years agodaily update
Alan Modra [Sat, 20 Apr 2013 00:00:04 +0000 (00:00 +0000)] 
daily update

11 years agos/signness/signedness in gdbint.texinfo.
Pedro Alves [Fri, 19 Apr 2013 18:41:32 +0000 (18:41 +0000)] 
s/signness/signedness in gdbint.texinfo.

"signedness" is more typical.

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

* gdbint.texinfo (Misc Guidelines) <Compiler Warnings>: Write
"signedness" instead of "signness".

11 years agoEnable -Wpointer-sign by default.
Pedro Alves [Fri, 19 Apr 2013 18:32:54 +0000 (18:32 +0000)] 
Enable -Wpointer-sign by default.

This enables -Wpointer-sign by default.

I've checked that --enable-targets=all builds fine with the following
as --host, on x86_64 Fedora 17 --build:

x86_64 GNU/Linux
i386 GNU/Linux
i386 MinGW-w64
i386 msdos/djgpp

OK?

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

* configure.ac (build_warnings): Replace -Wno-pointer-sign with
-Wpointer-sign.
* configure: Regenerate.

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

* gdbint.texinfo (Misc Guidelines) <Compiler Warnings>: Replace
-Wno-pointer-sign text with text on -Wpointer-sign.

11 years ago2013-04-19 Nathan Froyd <froydnj@codesourcery.com>
Hafiz Abid Qadeer [Fri, 19 Apr 2013 18:17:32 +0000 (18:17 +0000)] 
2013-04-19  Nathan Froyd  <froydnj@codesourcery.com>

* ppc-instructions (isel): New instruction.

11 years agoMake GDB -Wpointer-sign clean on MinGW too.
Pedro Alves [Fri, 19 Apr 2013 17:48:10 +0000 (17:48 +0000)] 
Make GDB -Wpointer-sign clean on MinGW too.

This is the remaining issue impeding GDB to build with "-Wpointer-sign
-Werror" with Fedora 17's i686-w64-mingw32 cross toolchain.

../../src/gdb/ser-tcp.c: In function 'net_read_prim':
../../src/gdb/ser-tcp.c:341:3: error: pointer targets in passing argument 2 of 'recv' differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/serial.h:23:0,
                 from ../../src/gdb/ser-tcp.c:21:
/usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:983:34: note: expected 'char *' but argument is of type 'unsigned char *'

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

* ser-tcp.c (net_read_prim): Cast second argument to recv to
'void *'.

11 years ago-Wpointer-sign: monitor.c.
Pedro Alves [Fri, 19 Apr 2013 17:44:18 +0000 (17:44 +0000)] 
-Wpointer-sign: monitor.c.

This fixes -Wpointer-sign issues in monitor.c.

Tested by building on x86_64 Fedora 17 w/ --enable-targets=all.

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

* monitor.c (monitor_write_memory, monitor_write_memory_bytes):
Change type of 'myaddr' parameter to gdb_byte pointer.
(monitor_write_memory_longlongs): Likewise.  Cast 'myaddr' pointer
to 'long long' pointer instead of to 'unsigned long long'.
(monitor_write_memory_block, monitor_read_memory_single)
(monitor_read_memory): Change type of 'myaddr' parameter to
gdb_byte pointer.

11 years ago-Wpointer-sign: record.c.
Pedro Alves [Fri, 19 Apr 2013 15:37:31 +0000 (15:37 +0000)] 
-Wpointer-sign: record.c.

../../src/gdb/record.c: In function ‘set_record_insn_history_size’:
../../src/gdb/record.c:670:5: error: pointer targets in passing argument 2 of ‘validate_history_size’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/record.c:646:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/record.c: In function ‘set_record_call_history_size’:
../../src/gdb/record.c:682:5: error: pointer targets in passing argument 2 of ‘validate_history_size’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/record.c:646:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’

This fixes it in the obvious way.

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

* record.c (validate_history_size): Make parameter 'setting'
unsigned.

11 years ago-Wpointer-sign: ctf.c.
Pedro Alves [Fri, 19 Apr 2013 15:36:52 +0000 (15:36 +0000)] 
-Wpointer-sign: ctf.c.

ctf_save_write's second parameter is gdb_byte *, and all these
arguments are 'char *'.  Since this function is ultimately just
writing host bytes to a local file with fwrite, an alternative would
be to change ctf_save_write to take a 'void *' instead of 'gdb_byte
*', thus removing the need for any cast (we have more calls with casts
than without).

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

* ctf.c (ctf_write_uploaded_tsv, ctf_write_uploaded_tp): Add casts
to 'gdb_byte *'.

11 years ago-Wpointer-sign: cp-valprint.c.
Pedro Alves [Fri, 19 Apr 2013 15:36:24 +0000 (15:36 +0000)] 
-Wpointer-sign: cp-valprint.c.

Fix:

../../src/gdb/cp-valprint.c: In function ‘cp_print_class_member’:
../../src/gdb/cp-valprint.c:793:3: error: pointer targets in passing argument 2 of ‘cp_find_class_member’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/cp-valprint.c:721:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’

'fieldno' is used throughout as 'int', so just follow the trend.

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

* cp-valprint.c (cp_print_class_member): Change type of 'fieldno'
local to int.

11 years ago-Wpointer-sign: ada-lang.c, ada-tasks.c.
Pedro Alves [Fri, 19 Apr 2013 15:35:58 +0000 (15:35 +0000)] 
-Wpointer-sign: ada-lang.c, ada-tasks.c.

We're reading strings using the target memory access routines, which
work with raw bytes, so we need a couple casts.

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

* ada-lang.c (print_it_exception): Add cast to gdb_byte *.
* ada-tasks.c (read_fat_string_value): Likewise.

11 years ago-Wpointer-sign: dwarf2-frame.c: Pass unsigned variable to safe_read_uleb128.
Pedro Alves [Fri, 19 Apr 2013 15:35:21 +0000 (15:35 +0000)] 
-Wpointer-sign: dwarf2-frame.c: Pass unsigned variable to safe_read_uleb128.

The 'bytes_read' change should be obvious.  As for the other hunk,
we're passing the address of the signed 'offset' to safe_read_uleb128,
which expects unsigned.  Fix it by passing the address of the unsigned
'utmp' instead, like already done on other spots in the file.

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

* dwarf2-frame.c (execute_cfa_program): Make 'bytes_read' local
unsigned.  Pass 'tmp' to safe_read_uleb128 instead of the signed
'offset', and adjust.

11 years ago-Wpointer-sign: dwarf2read.c.
Pedro Alves [Fri, 19 Apr 2013 15:34:46 +0000 (15:34 +0000)] 
-Wpointer-sign: dwarf2read.c.

This fixes the remaining issues necessary to make the DWARF reader
-Wpointer-sign clean.  The 'filename' bit should be obvious.
'constant_pool' holds the contents of an obstack, which are 'char *'.
gdb_byte would work too, but it'd need more casts elsewhere, so I just
chose the minimal approach.  Any way would be fine with me.

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

* dwarf2read.c (dwarf2_get_dwz_file): Add cast to const char *.
(read_index_from_section): Add cast to 'char *'.

11 years ago-Wpointer-sign: xcoffread.c.
Pedro Alves [Fri, 19 Apr 2013 15:33:58 +0000 (15:33 +0000)] 
-Wpointer-sign: xcoffread.c.

../../src/gdb/xcoffread.c: In function ‘xcoff_initial_scan’:
../../src/gdb/xcoffread.c:2982:17: error: pointer targets in assignment differ in signedness [-Werror=pointer-sign]

'debugsec' is a 'bfd_byte *', holding the result of a
bfd_get_full_section_contents.  'info->debugsec' holds the same
contents throughout the whole xcoff read, and everywhere it's used to
read symbol names.  Simply adding a cast feels appropriate.

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

* xcoffread.c (xcoff_initial_scan): Add cast to 'char *'.

11 years ago-Wpointer-sign: coff-pe-read.c: treat strings in PE/COFF data as char *.
Pedro Alves [Fri, 19 Apr 2013 15:33:29 +0000 (15:33 +0000)] 
-Wpointer-sign: coff-pe-read.c: treat strings in PE/COFF data as char *.

A couple places take a pointer to the middle of some raw section
buffer and treat them as strings.  Add casts to char * as appropriate,
fixing -Wpointer-sign warnings.

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

* coff-pe-read.c (read_pe_exported_syms): Handle strings as char.

11 years ago-Wpointer-sign: bookmarks.
Pedro Alves [Fri, 19 Apr 2013 15:32:56 +0000 (15:32 +0000)] 
-Wpointer-sign: bookmarks.

Bookmarks are opaque to the core code -- by design, the target is free
to use any sort of blob as bookmark identifier.

The record target chooses to use strings for bookmarks.  This adds
casts following that direction, fixing -Wpointer-sign warnings.

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

* record-full.c (record_full_get_bookmark): Change local 'ret'
type to char * and add cast to gdb_byte *.
(record_full_goto_bookmark): Handle 'bookmark' argument as a
string.
* reverse.c (goto_bookmark_command): Add casts to gdb_byte *.

11 years ago-Wpointer-sign: python/.
Pedro Alves [Fri, 19 Apr 2013 15:29:09 +0000 (15:29 +0000)] 
-Wpointer-sign: python/.

This fixes -Wpointer-sign warnings in the python/ code in the manner
that seems most appropriate to me.

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

* python/py-inferior.c (infpy_write_memory): Add cast to gdb_byte
* python/py-prettyprint.c (print_string_repr): Change type of
'output' local to char *.  Add cast to gdb_byte * in
LA_PRINT_STRING call.
(print_children): Change type of 'output' local to char *.
* python/py-value.c (valpy_string): Add cast to const char * in
PyUnicode_Decode call.

11 years ago-Wpointer-sign: remote-mips.c.
Pedro Alves [Fri, 19 Apr 2013 15:28:42 +0000 (15:28 +0000)] 
-Wpointer-sign: remote-mips.c.

remote-mips.c has a bunch of -Wpointer-sign warnings:

../../src/gdb/remote-mips.c: In function ‘mips_receive_packet’:
../../src/gdb/remote-mips.c:1128:7: error: pointer targets in passing argument 2 of ‘mips_cksum’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:830:1: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
../../src/gdb/remote-mips.c:1135:7: error: pointer targets in passing argument 2 of ‘mips_cksum’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:830:1: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
../../src/gdb/remote-mips.c: In function ‘mips_load_srec’:
../../src/gdb/remote-mips.c:2830:12: error: pointer targets in passing argument 4 of ‘mips_make_srec’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:134:12: note: expected ‘unsigned char *’ but argument is of type ‘char *’
../../src/gdb/remote-mips.c: In function ‘pmon_zeroset’:
../../src/gdb/remote-mips.c:3030:3: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c: In function ‘pmon_make_fastrec’:
../../src/gdb/remote-mips.c:3124:6: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3126:4: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3148:3: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3153:3: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3154:8: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c: In function ‘pmon_load_fast’:
../../src/gdb/remote-mips.c:3423:2: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3457:4: error: pointer targets in passing argument 3 of ‘pmon_checkset’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:3051:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3484:8: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/remote-mips.c:3489:3: error: pointer targets in passing argument 3 of ‘pmon_checkset’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/remote-mips.c:3051:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’

The mips packet payload is ASCII, so it makes sense for
mips_send_packet and mips_receive_packet to expose 'char *'-based
interfaces, as currently they do.  But, mips packets have a binary
header, so if you look at e.g., mips_receive_packet's implementation,
you'll see "unsigned char" buffers in use.  I find it the most natural
to make the payload pointer passed to mips_cksum 'char *' too.

The other changes are straightforward adjustments -- a checksum is
naturally unsigned, and there's one point where we're reading a bfd section.

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

* remote-mips.c (mips_cksum): Rename 'data' parameter to 'datastr'
and change its type to 'const char *'.  Adjust.
(mips_send_packet): Add cast to 'char *', and remove cast to
'unsigned char *'.
(mips_receive_packet): Remove cast to 'unsigned char *'.
(mips_load_srec): Use bfd_byte.
(pmon_makeb64, pmon_zeroset): Make 'chksum' parameter unsigned.
(pmon_checkset): Make 'value' parameter unsigned.

11 years agogdb_byte for binary buffer, char for string: common/agent.c.
Pedro Alves [Fri, 19 Apr 2013 15:27:54 +0000 (15:27 +0000)] 
gdb_byte for binary buffer, char for string: common/agent.c.

Similarly to the remote code, agent commands are mostly ascii.  Cast to
gdb_byte when treating the command buffer as raw memory bytes.

2013-04-19  Pedro Alves  <palves@redhat.com>

* common/agent.c (agent_run_command): Add cast to gdb_byte *.

11 years agogdb_byte for binary buffer, char for string: remote.c, tracepoint.c.
Pedro Alves [Fri, 19 Apr 2013 15:27:06 +0000 (15:27 +0000)] 
gdb_byte for binary buffer, char for string: remote.c, tracepoint.c.

While the RSP is largely ASCII based (hence the packet buffer type is
char *), at places we pass around 8-bit binary packets in that buffer.
Functions like hex2bin or remote_escape_output conceptually are
handling binary buffers, so I left them as working with gdb_byte, and
added casts where necessary.  Whether these are host bytes or target
bytes is blurry at present, so this is largely a matter of taste.
Switching some of these functions to take "char *" or "void *" would
be equally good.

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

* remote.c (remote_write_bytes_aux, compare_sections_command)
(remote_read_qxfer)
(remote_search_memory, remote_hostio_pwrite, remote_hostio_pread)
(remote_hostio_readlink, remote_bfd_iovec_pread)
(remote_set_trace_notes): Use gdb_byte when RSP buffer is used as
binary buffer, and char when buffer is used as string.
* tracepoint.c (encode_source_string, tfile_write_uploaded_tp)
(trace_save, tfile_open, traceframe_walk_blocks)
(tfile_fetch_registers): Likewise.

11 years agoserial_write: change prototype to take a void-pointer buffer.
Pedro Alves [Fri, 19 Apr 2013 15:26:17 +0000 (15:26 +0000)] 
serial_write: change prototype to take a void-pointer buffer.

While remote.c works with "char *" buffers most of the time, other
remote targets have binary-ish-er protocols, and choose to use
"unsigned char" throughout, like e.g., remote-mips.c or
remote-m32r-sdi.c.  That results in -Wpointer-sign warnings in those
targets, unless we add casts in calls to serial_write.  Since
serial_write is only concerned about sending raw host bytes out, and
serial_ops->write_prim already works with "void *"/"size_t", a similar
interface to the "write" or "send" system calls, I find it natural to
change serial_write's prototype accordingly, avoiding the need for
casts.

Tested on x86_64 Fedora 17, and also by building x86_64-mingw32
and DJGPP/go32 -hosted gdbs.

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

* ser-base.c (ser_base_write): Change prototype -- take 'void *'
buffer and size_t size.  Adjust.
* ser-base.h (ser_base_write): Adjust.
* ser-go32.c (cnts): Change type to size_t.
(dos_write): Change prototype -- take 'void *'
buffer and size_t size.  Adjust.
(dos_info): Print elements of 'cnts' as unsigned long.
* serial.c (serial_write): Likewise.
* serial.h (serial_write): Adjust.
(struct serial_ops) <write>: Change prototype -- take 'void *'
buffer and size_t size.  Adjust.

11 years agoCast result of obstack_base to gdb_byte * in a couple spots.
Pedro Alves [Fri, 19 Apr 2013 15:24:55 +0000 (15:24 +0000)] 
Cast result of obstack_base to gdb_byte * in a couple spots.

obstack_base returns char *.  Need to cast to gdb_byte * in a couple spots.

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

* c-lang.c (evaluate_subexp_c): Cast result of obstack_base to
gdb_byte *.
* linux-tdep.c (linux_make_mappings_corefile_notes): Likewise.

11 years ago-Wpointer-sign: alpha-tdep.c.
Pedro Alves [Fri, 19 Apr 2013 15:24:25 +0000 (15:24 +0000)] 
-Wpointer-sign: alpha-tdep.c.

../../src/gdb/alpha-tdep.c: In function ‘alpha_extract_return_value’:
../../src/gdb/alpha-tdep.c:520:4: error: pointer targets in passing argument 3 of ‘regcache_cooked_read_signed’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/alpha-tdep.c:36:0:

We use regcache_cooked_read_unsigned everywhere else too.

2013-04-19  Pedro Alves  <palves@redhat.com>

* alpha-tdep.c (alpha_extract_return_value): Use
regcache_cooked_read_unsigned to read 'v0'.

11 years ago-Wpointer-sign: xtensa-tdep.c.
Pedro Alves [Fri, 19 Apr 2013 15:23:52 +0000 (15:23 +0000)] 
-Wpointer-sign: xtensa-tdep.c.

../../src/gdb/xtensa-tdep.c:2914:4: error: pointer targets in passing argument 7 of ‘xtensa_operand_get_field’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/xtensa-tdep.c:53:0:
../../src/gdb/../include/xtensa-isa.h:487:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/xtensa-tdep.c:2916:4: error: pointer targets in passing argument 4 of ‘xtensa_operand_decode’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/xtensa-tdep.c:53:0:
../../src/gdb/../include/xtensa-isa.h:507:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/xtensa-tdep.c:2918:4: error: pointer targets in passing argument 7 of ‘xtensa_operand_get_field’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/xtensa-tdep.c:53:0:
../../src/gdb/../include/xtensa-isa.h:487:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/xtensa-tdep.c:2920:4: error: pointer targets in passing argument 4 of ‘xtensa_operand_decode’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/xtensa-tdep.c:53:0:
../../src/gdb/../include/xtensa-isa.h:507:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/xtensa-tdep.c:2922:4: error: pointer targets in passing argument 7 of ‘xtensa_operand_get_field’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/xtensa-tdep.c:53:0:
../../src/gdb/../include/xtensa-isa.h:487:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/xtensa-tdep.c:2924:4: error: pointer targets in passing argument 4 of ‘xtensa_operand_decode’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/xtensa-tdep.c:53:0:
../../src/gdb/../include/xtensa-isa.h:507:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’

Those bfd functions that decode instructions output uint32_t values.
Hence this fix:

2013-04-19  Pedro Alves  <palves@redhat.com>

* xtensa-tdep.c (execute_l32e, execute_s32e): Change type of
parameters 'at', 'as' and 'offset' to uint32_t.

11 years ago-Wpointer-sign: aarch64-tdep.c.
Pedro Alves [Fri, 19 Apr 2013 15:23:18 +0000 (15:23 +0000)] 
-Wpointer-sign: aarch64-tdep.c.

../../src/gdb/aarch64-tdep.c: In function ‘aarch64_analyze_prologue’:
../../src/gdb/aarch64-tdep.c:713:7: error: pointer targets in passing argument 3 of ‘decode_cb’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/aarch64-tdep.c:386:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’
../../src/gdb/aarch64-tdep.c:747:7: error: pointer targets in passing argument 3 of ‘decode_stur’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/aarch64-tdep.c:597:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’

'is64' is just used as a boolean; signed/unsigned doesn't really matter.

2013-04-19  Pedro Alves  <palves@redhat.com>

* aarch64-tdep.c (aarch64_analyze_prologue): Change type of local
'is64' to signed 'int'.

11 years ago-Wpointer-sign: s390-tdep.c.
Pedro Alves [Fri, 19 Apr 2013 15:22:47 +0000 (15:22 +0000)] 
-Wpointer-sign: s390-tdep.c.

-Wpointer-sign reveals a bunch of:

../../src/gdb/s390-tdep.c:1342:7: error: pointer targets in passing argument 4 of ‘is_rx’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:1038:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/s390-tdep.c:1343:9: error: pointer targets in passing argument 5 of ‘is_rxy’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:1055:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/s390-tdep.c:1344:9: error: pointer targets in passing argument 5 of ‘is_rxy’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:1055:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
...
../../src/gdb/s390-tdep.c:1363:7: error: pointer targets in passing argument 5 of ‘is_rs’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:966:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/s390-tdep.c:1364:9: error: pointer targets in passing argument 6 of ‘is_rsy’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:983:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
../../src/gdb/s390-tdep.c:1365:9: error: pointer targets in passing argument 6 of ‘is_rsy’ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:983:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’
...

I don't know much about s390, but from reading the code I believe the
right fix is to treat d2 as signed.

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

* s390-tdep.c (is_rs, is_rsy, is_rx, is_rxy): Change type of 'd2'
parameter to int *.

11 years agoppc-linux-tdep.c: Wrong signness for buffer holding instructions.
Pedro Alves [Fri, 19 Apr 2013 15:22:14 +0000 (15:22 +0000)] 
ppc-linux-tdep.c: Wrong signness for buffer holding instructions.

There seems to be no reason for this buffer to be signed.  We pass it
around to functions expecting it to be unsigned (which triggers
-Wpointer-sign warnings).

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

* ppc-linux-tdep.c (ppc_skip_trampoline_code): Change local
'insnbuf' buffer type to unsigned int[].

11 years agomips-tdep.c: Wrong signness for local holding PC register.
Pedro Alves [Fri, 19 Apr 2013 15:21:24 +0000 (15:21 +0000)] 
mips-tdep.c: Wrong signness for local holding PC register.

Addresses on MIPS are signed, and we're indeed using
regcache_cooked_read_signed to read the PC, but, we're passing it the
address of an unsigned variable, which triggers a -Wpointer-sign
warning.  I've chosen to change the variable's type.  I believe this
will end up being the same (though I can't test it).

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

* mips-tdep.c (mips_read_pc): Change local 'pc' type to LONGEST.

11 years agomep-tdep.c: Wrong signness for instruction buffer.
Pedro Alves [Fri, 19 Apr 2013 15:15:55 +0000 (15:15 +0000)] 
mep-tdep.c: Wrong signness for instruction buffer.

There seems to be no reason for this to be signed.

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

* mep-tdep.c (mep_get_insn): Change 'insn' parameter type to
unsigned long *.

11 years agoalpha-tdep.c/mips-tdep.c: "set heuristic-fence-post" is signed/zinteger.
Pedro Alves [Fri, 19 Apr 2013 15:15:21 +0000 (15:15 +0000)] 
alpha-tdep.c/mips-tdep.c: "set heuristic-fence-post" is signed/zinteger.

These commands are currently var_zinteger, hence their control
variable is signed.

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

* alpha-tdep.c (heuristic_fence_post): Change type to int.
(alpha_heuristic_proc_start): Adjust to check -1 instead of
UINT_MAX.
* mips-tdep.c (heuristic_fence_post): Change type to int.
(heuristic_proc_start): Adjust to check -1 instead of UINT_MAX.

11 years agocris-tdep.c: Use unsigned variable for unsigned command.
Pedro Alves [Fri, 19 Apr 2013 15:14:23 +0000 (15:14 +0000)] 
cris-tdep.c: Use unsigned variable for unsigned command.

"set cris-version" is an unsigned command:

    /* CRIS-specific user-commands.  */
    add_setshow_uinteger_cmd ("cris-version", class_support,
       &usr_cmd_cris_version,
       _("Set the current CRIS version."),
       _("Show the current CRIS version."),
       _("\
  Set to 10 for CRISv10 or 32 for CRISv32 if autodetection fails.\n\
  Defaults to 10. "),

Tested by building on x86_64 Fedora 17.

2013-04-19  Pedro Alves  <palves@redhat.com>

* cris-tdep.c (usr_cmd_cris_version): Make unsigned.
(struct gdbarch_tdep) <cris_version>: Make unsigned.
(cris_spec_reg_applicable, cris_gdbarch_init): Adjust locals.

11 years ago-Wpointer-sign: gdb_byte -> char.
Pedro Alves [Fri, 19 Apr 2013 15:10:53 +0000 (15:10 +0000)] 
-Wpointer-sign: gdb_byte -> char.

This is sort of the opposite of the previous patch.  Places that
manipulate strings or interfaces that return strings are changed to
use char* instead of gdb_byte*.

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

* avr-tdep.c (avr_io_reg_read_command): New local 'bufstr'.  Use
it to get a string view of the byte buffer.
* i386-cygwin-tdep.c (core_process_module_section): Change local 'buf'
type to gdb_byte *.  Adjust.
* linux-tdep.c (linux_info_proc, linux_find_memory_regions_full):
Change local to char *.
* solib-darwin.c (find_program_interpreter): Change return type to
char *.  Adjust.
(darwin_solib_get_all_image_info_addr_at_init): Adjust.
* solib-dsbt.c (enable_break2): Change local 'buf' to char *.
* solib-frv.c (enable_break2): Change local 'buf' to char *.
* solib-spu.c (spu_current_sos): Add gdb_byte * cast.
* solib-svr4.c (find_program_interpreter): Change return type to
char *.  Adjust.
(enable_break): Change local 'interp_name' to char *.
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
* spu-tdep.c (spu_pseudo_register_read_spu): Add cast to 'char *'.
(spu_pseudo_register_write_spu): Use char for string buffer.
Adjust.
(info_spu_event_command, info_spu_signal_command): Add casts to
'char *'.

11 years ago-Wpointer-sign: char -> gdb_byte.
Pedro Alves [Fri, 19 Apr 2013 15:09:46 +0000 (15:09 +0000)] 
-Wpointer-sign: char -> gdb_byte.

-Wpointer-sign catches all these cases across the codebase that should
be using gdb_byte for raw target bytes.  I think these are all
obvious, hence I've collapsed into a single patch.

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

* aarch64-tdep.c (aarch64_default_breakpoint): Change type to
gdb_byte[].
(aarch64_breakpoint_from_pc): Change return type to gdb_byte *.
* ada-lang.c (ada_value_assign): Use gdb_byte.
* alphanbsd-tdep.c (sigtramp_retcode): Change type to gdb_byte[].
(alphanbsd_sigtramp_offset): Use gdb_byte.
* arm-linux-tdep.c (arm_linux_arm_le_breakpoint)
(arm_linux_arm_be_breakpoint, eabi_linux_arm_le_breakpoint)
(eabi_linux_arm_be_breakpoint, arm_linux_thumb_be_breakpoint)
(arm_linux_thumb_le_breakpoint, arm_linux_thumb2_be_breakpoint)
(arm_linux_thumb2_le_breakpoint): Change type to gdb_byte[].
* arm-tdep.c (arm_stub_unwind_sniffer)
(arm_displaced_init_closure): Use gdb_byte.
(arm_default_arm_le_breakpoint, arm_default_arm_be_breakpoint)
(arm_default_thumb_le_breakpoint)
(arm_default_thumb_be_breakpoint): Change type to gdb_byte[].
* arm-tdep.h (struct gdbarch_tdep) <arm_breakpoint,
thumb_breakpoint, thumb2_breakpoint>: Change type to gdb_byte *.
* arm-wince-tdep.c (arm_wince_le_breakpoint)
(arm_wince_thumb_le_breakpoint): Change type to gdb_byte[].
* armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint)
(arm_nbsd_arm_be_breakpoint, arm_nbsd_thumb_le_breakpoint)
(arm_nbsd_thumb_be_breakpoint): Change type to gdb_byte[].
* armobsd-tdep.c (arm_obsd_thumb_le_breakpoint)
(arm_obsd_thumb_be_breakpoint): Change type to gdb_byte[].
* cris-tdep.c (push_stack_item, cris_push_dummy_call)
(cris_store_return_value, cris_extract_return_value): Use
gdb_byte.
(constraint): Change type of parameter to char * from signed
char*.  Use gdb_byte.
* dwarf2loc.c (read_pieced_value, write_pieced_value): Change type
of local buffer to gdb_byte *.
* dwarf2read.c (read_index_from_section): Use gdb_byte.
(create_dwp_hash_table): Change type of locals to gdb_byte *.
(add_address_entry): Change type of local buffer to gdb_byte[].
* frv-tdep.c (frv_adjust_breakpoint_address, find_func_descr)
(frv_push_dummy_call): Use gdb_byte.
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code)
(hppa_hpux_supply_ss_fpblock, hppa_hpux_supply_ss_wide)
(hppa_hpux_supply_save_state): Use gdb_byte.
* hppa-tdep.c (hppa32_push_dummy_call)
(hppa64_convert_code_addr_to_fptr): Use gdb_byte.
* ia64-tdep.c (extract_bit_field, replace_bit_field)
(slotN_contents, replace_slotN_contents): Change type of parameter
to gdb_byte *.
(fetch_instruction, ia64_pseudo_register_write)
(ia64_register_to_value, ia64_value_to_register)
(ia64_extract_return_value, ia64_store_return_value)
(ia64_push_dummy_call): Use gdb_byte.
* m32c-tdep.c (m32c_return_value): Remove cast.
* m68hc11-tdep.c (m68hc11_pseudo_register_write)
(m68hc11_push_dummy_call, m68hc11_store_return_value): Use
gdb_byte.
* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use gdb_byte.
* mn10300-tdep.c (mn10300_store_return_value)
(mn10300_breakpoint_from_pc, mn10300_push_dummy_call): Use
gdb_byte.
* moxie-tdep.c (moxie_process_readu): Use gdb_byte.
(moxie_process_record): Remove casts.
* ppc-ravenscar-thread.c (supply_register_at_address)
(ppc_ravenscar_generic_store_registers): Use gdb_byte.
* ravenscar-thread.c (get_running_thread_id): Use gdb_byte.
* remote-m32r-sdi.c (m32r_fetch_register): Use gdb_byte.
* remote-mips.c (mips_xfer_memory): Use gdb_byte.
* remote.c (compare_sections_command): Use gdb_byte.
* score-tdep.c (score7_free_memblock): Change type of parameter to
gdb_byte *.
* sh-tdep.c (sh_justify_value_in_reg): Change return type to
gdb_byte *.  Use gdb_byte.
(sh_push_dummy_call_fpu): Use gdb_byte.
(sh_extract_return_value_nofpu, sh_extract_return_value_fpu)
(sh_store_return_value_nofpu, sh_store_return_value_fpu)
(sh_register_convert_to_virtual, sh_register_convert_to_raw):
Change parameter type to 'gdb_byte *'.  Use gdb_byte.
(sh_pseudo_register_read, sh_pseudo_register_write): Use gdb_byte.
* sh64-tdep.c (sh64_push_dummy_call): Use gdb_byte.
(sh64_store_return_value, sh64_register_convert_to_virtual):
Change parameter type to 'gdb_byte *'.  Use gdb_byte.
(sh64_pseudo_register_write): Use gdb_byte.
* solib-darwin.c (darwin_current_sos): Add casts to 'gdb_byte *'.
* solib-irix.c (fetch_lm_info): Likewise.  Use gdb_byte for byte
buffer.
(irix_current_sos): Use gdb_byte.
* solib-som.c (som_current_sos): Use gdb_byte.
* sparc-ravenscar-thread.c (supply_register_at_address)
(sparc_ravenscar_generic_store_registers): Use gdb_byte.
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
* spu-tdep.c (spu_get_overlay_table): Use gdb_byte.
* tic6x-tdep.c (tic6x_breakpoint_from_pc): Change return type to
'gdb_byte *'.
* tic6x-tdep.h (struct gdbarch_tdep) <breakpoint>: Change type to
'gdb_byte *'.
* tracepoint.c (tfile_fetch_registers): Use gdb_byte.
* xstormy16-tdep.c (xstormy16_extract_return_value)
(xstormy16_store_return_value): Change parameter type to
'gdb_byte *'.  Adjust.
(xstormy16_push_dummy_call): Use gdb_byte.
* xtensa-tdep.c (xtensa_scan_prologue, call0_ret)
(call0_analyze_prologue, execute_code): Use gdb_byte.

11 years agoFix the x87 FP register printout when issuing the “info float” command.
Pedro Alves [Fri, 19 Apr 2013 14:13:30 +0000 (14:13 +0000)] 
Fix the x87 FP register printout when issuing the “info float” command.

Consider the following simple program:

.globl  _start
.text
_start:
      fldt    val
.data
      val: .byte 0x00,0x00,0x45,0x07,0x11,0x19,0x22,0xe9,0xfe,0xbf

With current GDB on x86-64 GNU/Linux hosts, after the moment the fldt
command has been executed the register st(0) looks like this,
according to the “info regs” output (TOP=7):

  R7: Valid   0xffffffbffffffffeffffffe922191107450000 -0.910676542908976927

which is clearly wrong (just count its length).  The problem is due to
the printf statement (see patch) printing a promoted integer value of
a char argument "raw[i]", and, since char is signed on x86-64
GNU/Linux, the erroneous “ffffff” are printed for the first three
bytes which turn out to be "negative".  The fix is to use gdb_byte
instead which is unsigned (and is the type of value_contents(), the
type to be used for raw target bytes anyway).  After the fix the value
will be printed correctly:

  R7: Valid   0xbffee922191107450000 -0.910676542908976927

gdb/
2013-04-19  Vladimir Kargov <kargov@gmail.com>
    Pedro Alves  <palves@redhat.com>

* i387-tdep.c (i387_print_float_info): Use gdb_byte for pointer to
value contents.

gdb/testsuite/
2013-04-19  Vladimir Kargov  <kargov@gmail.com>
    Pedro Alves  <palves@redhat.com>

* gdb.arch/i386-float.S: New file.
* gdb.arch/i386-float.exp: New file.

11 years ago * configure.tgt (i386-*-cygwin): Handle x86_64 cygwin.
Kai Tietz [Fri, 19 Apr 2013 09:10:28 +0000 (09:10 +0000)] 
    * configure.tgt (i386-*-cygwin): Handle x86_64 cygwin.

11 years ago PR binutils/15356
Nick Clifton [Fri, 19 Apr 2013 08:12:30 +0000 (08:12 +0000)] 
PR binutils/15356
* compress.c (decompress_contents): Always call inflateEnd, even
when another inflation operation fails.

[Note - the actual patch to compress.c was accidentally committed previously].

11 years agodaily update
Alan Modra [Fri, 19 Apr 2013 00:00:04 +0000 (00:00 +0000)] 
daily update

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

11 years ago * gdb.mi/mi-var-create-rtti.exp: Create a variable of
Luis Machado [Thu, 18 Apr 2013 10:08:08 +0000 (10:08 +0000)] 
* gdb.mi/mi-var-create-rtti.exp: Create a variable of
type void *.

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

11 years agodaily update
Alan Modra [Thu, 18 Apr 2013 00:00:04 +0000 (00:00 +0000)] 
daily update

11 years ago * lib/dwarf.exp (Dwarf): New proc "tu".
Doug Evans [Wed, 17 Apr 2013 21:07:09 +0000 (21:07 +0000)] 
* lib/dwarf.exp (Dwarf): New proc "tu".
* gdb.dwarf2/missing-sig-type.exp: New file.

11 years ago * dwarf2read.c (struct signatured_type): New member type.
Doug Evans [Wed, 17 Apr 2013 17:09:30 +0000 (17:09 +0000)] 
* dwarf2read.c (struct signatured_type): New member type.
(struct attribute): Replace member signatured_type with signature.
(DW_SIGNATURE): Replaces DW_SIGNATURE_TYPE.
(read_call_site_scope): Call follow_die_ref instead of
follow_die_ref_or_sig.
(read_structure_type): Rewrite handling of signatured types.
(read_enumeration_type): Ditto.
(read_attribute_value): Update.
(build_error_marker_type): New function.
(lookup_die_type): Add assert.  Rewrite handling of signatured types.
Don't call error for bad types, just build an error marker type.
(dump_die_shallow): Update.
(follow_die_sig_1): Renamed from follow_die_sig.
Don't call error for bad types, instead return NULL.
(follow_die_sig): New function.
(get_signatured_type, get_DW_AT_signature_type): New functions.

11 years agoUpdate copyright year on elf-ifunc.c
H.J. Lu [Wed, 17 Apr 2013 16:22:13 +0000 (16:22 +0000)] 
Update copyright year on elf-ifunc.c

* elf-ifunc.c: Update copyright year.

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