binutils-gdb.git
11 years ago * gdb.texinfo (Python API): Mention Python help and keyword
Tom Tromey [Mon, 29 Apr 2013 17:30:26 +0000 (17:30 +0000)]
* gdb.texinfo (Python API): Mention Python help and keyword
arguments.  Move pagination text to Basic Python.
(Basic Python): Put pagination text here.  Document
close-on-exec, SIGCHLD, and SIGINT.

11 years ago2013-04-29 Alexander Ivchenko <alexander.ivchenko@intel.com>
Cary Coutant [Mon, 29 Apr 2013 17:15:09 +0000 (17:15 +0000)]
2013-04-29  Alexander Ivchenko  <alexander.ivchenko@intel.com>

gold/
* output.cc (Output_section::add_merge_input_section): Allow
to merge sections if the alignment is more than character size.
* merge.h (Output_merge_string::Output_merge_string): Remove
assert.
* merge.cc (Output_merge_string<Char_type>::do_add_input_section): Count
only not-null strings. Check the alignment of strings.
* stringpool.h
(Stringpool_template<Stringpool_char>::Stringpool_template): Add
alignment as the argument.
(Stringpool_template<Stringpool_char>::addralign_): New class member.
* stringpool.cc (Stringpool_template<Stringpool_char>::new_key_offset):
Align non-zero length strings according to the addralign_.
(Stringpool_template<Stringpool_char>::set_string_offsets):
Updating offsets according to the given alignment.
* testsuite/Makefile.am (text_section_grouping): Test if string
literals are getting merged.
* testsuite/Makefile.in: Regenerate.
* testsuite/merge_string_literals_1.c: New file.
* testsuite/merge_string_literals_2.c: Ditto.
* testsuite/merge_string_literals.sh: Ditto.

11 years ago * config.guess: Update from config repo.
Jan-Benedict Glaw [Mon, 29 Apr 2013 15:13:53 +0000 (15:13 +0000)]
* config.guess: Update from config repo.
* config.sub: Ditto.

11 years ago * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
Nick Clifton [Mon, 29 Apr 2013 13:38:59 +0000 (13:38 +0000)]
* elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
fragmented .debug_line sections associated with unmarked code
sections.

* dwarf.c (read_debug_line_header): New function.  Reads in a
header in a .debug_line section.
(display_debug_lines_raw): Use new function.  Handle fragmentary
.debug_line sections.
(display_debug_lines_decoded): Likewise.
* readelf.c (process_section_headers): Handle fragmenatry
.debug_line sections.
(display_debug_section): Likewise.

* as.c (Options): Add -gdwarf-sections.
(parse_args): Likewise.
* as.h (flag_dwarf_sections): Declare.
* dwarf2dbg.c (emit_fixed_inc_line_addr): Skip section changes.
(process_entries): When -gdwarf-sections is enabled generate
fragmentary .debug_line sections.
(out_debug_line): Set the section for the .debug_line section end
symbol.
* doc/as.texinfo: Document -gdwarf-sections.
* NEWS: Mention -gdwarf-sections.

* gas/elf/dwarf2-3.d: Fix expected readelf output.

* scripttempl/DWARF.sc: Add support for .debug_line.* and
.debug_line_end.

11 years agomep: define gdbarch_pc_regnum instead of gdbarch_write_pc.
Joel Brobecker [Mon, 29 Apr 2013 10:10:35 +0000 (10:10 +0000)]
mep: define gdbarch_pc_regnum instead of gdbarch_write_pc.

gdb/ChangeLog:

* mep-tdep.c (mep_write_pc): Delete.
(mep_gdbarch_init): Remove call to set_gdbarch_write_pc.
Add call to set_gdbarch_pc_regnum.

11 years agoUse gdbarch_pc_regnum instead of gdbarch_write_pc.
Joel Brobecker [Mon, 29 Apr 2013 10:08:46 +0000 (10:08 +0000)]
Use gdbarch_pc_regnum instead of gdbarch_write_pc.

gdb/ChangeLog:

* m32r-tdep.c (m32r_write_pc): Delete.
(m32r_gdbarch_init): Remove call to set_gdbarch_write_pc.
Add call to set_gdbarch_pc_regnum.

11 years ago * dwarf2read.c (handle_DW_AT_stmt_list): Avoid ARI warning for
Pierre Muller [Mon, 29 Apr 2013 09:52:07 +0000 (09:52 +0000)]
* dwarf2read.c (handle_DW_AT_stmt_list): Avoid ARI warning for
editCase function rule.
(get_DW_AT_signature_type): Likewise.

11 years agobfd/efl32-arm.c: Fix handling of IRELATIVE relocs.
Will Newton [Mon, 29 Apr 2013 09:48:32 +0000 (09:48 +0000)]
bfd/efl32-arm.c: Fix handling of IRELATIVE relocs.

bfd/ChangeLog:

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

* elf32-arm.c (elf32_arm_populate_plt_entry): Call
elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.

ld/testsuite/ChangeLog:

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

* ld-arm/arm-elf.exp: Add IFUNC test 17.
* ld-arm/ifunc-17.dd: New file.
* ld-arm/ifunc-17.gd: Likewise.
* ld-arm/ifunc-17.rd: Likewise.
* ld-arm/ifunc-17.s: Likweise.
* ld-arm/ifunc-1.rd: Reorder relocs to match linker output.
* ld-arm/ifunc-2.rd: Likewise.
* ld-arm/ifunc-5.rd: Likewise.
* ld-arm/ifunc-6.rd: Likewise.

11 years agold-plugin/lto.exp: Disable ld/12942 test for gcc < 4.7.0.
Will Newton [Mon, 29 Apr 2013 08:57:48 +0000 (08:57 +0000)]
ld-plugin/lto.exp: Disable ld/12942 test for gcc < 4.7.0.

The test for ld/12942 fails with gcc versions before 4.7.0. This patch
disables this test with these versions of gcc.

ld/testsuite/ChangeLog:

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

* ld-plugin/lto.exp: Disable ld/12942 test for gcc < 4.7.0.

11 years ago * elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
Nick Clifton [Mon, 29 Apr 2013 08:33:51 +0000 (08:33 +0000)]
* elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
error check up and add error message.

11 years ago * ./contrib/ari/gdb_ari.sh (editCase rule): Fix spelling error.
Pierre Muller [Mon, 29 Apr 2013 08:32:18 +0000 (08:32 +0000)]
* ./contrib/ari/gdb_ari.sh (editCase rule): Fix spelling error.

11 years ago * emultempl/pe.em [cygwin]: Do not merge rdata with v2
Nick Clifton [Mon, 29 Apr 2013 08:22:16 +0000 (08:22 +0000)]
* emultempl/pe.em [cygwin]: Do not merge rdata with v2
psuedo-relocs.

11 years agoAdd ARI marker to get_DW_AT_signature_type.
Joel Brobecker [Mon, 29 Apr 2013 05:05:44 +0000 (05:05 +0000)]
Add ARI marker to get_DW_AT_signature_type.

gdb/ChangeLog:

        * dwarf2read.c (get_DW_AT_signature_type): Add ARI marker.

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

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

11 years agold/
Thomas Schwinge [Sun, 28 Apr 2013 14:52:55 +0000 (14:52 +0000)]
ld/
* scripttempl/armbpabi.sc: Replace "source" usage with ".".
* scripttempl/avr.sc: Likewise.
* scripttempl/elf.sc: Likewise.
* scripttempl/elf32cr16.sc: Likewise.
* scripttempl/elf32crx.sc: Likewise.
* scripttempl/elf32msp430.sc: Likewise.
* scripttempl/elf32msp430_3.sc: Likewise.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elf64hppa.sc: Likewise.
* scripttempl/elf_chaos.sc: Likewise.
* scripttempl/elfd10v.sc: Likewise.
* scripttempl/elfd30v.sc: Likewise.
* scripttempl/elfi370.sc: Likewise.
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
* scripttempl/elfxgate.sc: Likewise.
* scripttempl/elfxtensa.sc: Likewise.
* scripttempl/epiphany_4x4.sc: Likewise.
* scripttempl/i386beos.sc: Likewise.
* scripttempl/i386go32.sc: Likewise.
* scripttempl/ia64vms.sc: Likewise.
* scripttempl/ip2k.sc: Likewise.
* scripttempl/iq2000.sc: Likewise.
* scripttempl/mep.sc: Likewise.
* scripttempl/mmo.sc: Likewise.
* scripttempl/v850.sc: Likewise.
* scripttempl/v850_rh850.sc: Likewise.
* scripttempl/xstormy16.sc: Likewise.

11 years agogdb/
Yao Qi [Sun, 28 Apr 2013 08:58:29 +0000 (08:58 +0000)]
gdb/

* solib-dsbt.c (fetch_loadmap): Re-indent.
(displacement_from_map, enable_break2): Likewise.
(dsbt_relocate_section_addresses): Likewise.

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

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

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'.