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.
Jan-Benedict Glaw [Mon, 29 Apr 2013 15:13:53 +0000 (15:13 +0000)]
* config.guess: Update from config repo.
* config.sub: Ditto.
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.
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.
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.
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.
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.
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.
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.
Pierre Muller [Mon, 29 Apr 2013 08:32:18 +0000 (08:32 +0000)]
* ./contrib/ari/gdb_ari.sh (editCase rule): Fix spelling error.
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.
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.
Alan Modra [Mon, 29 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 29 Apr 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
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.
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.
Alan Modra [Sun, 28 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 28 Apr 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
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.
gdbadmin [Sat, 27 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 27 Apr 2013 00:00:05 +0000 (00:00 +0000)]
daily update
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.
Ian Lance Taylor [Fri, 26 Apr 2013 20:55:25 +0000 (20:55 +0000)]
* MAINTAINERS: Add myself and Cary as gold maintainers.
Christian Groessler [Fri, 26 Apr 2013 19:31:15 +0000 (19:31 +0000)]
fix changelog entry: we still have 2013, not 2014
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.
Nick Clifton [Fri, 26 Apr 2013 15:27:55 +0000 (15:27 +0000)]
* scripttempl/avr.sc: Add ALIGN directive after *(.progmem*).
gdbadmin [Fri, 26 Apr 2013 14:07:53 +0000 (14:07 +0000)]
GDB 7.6 released.
Will Newton [Fri, 26 Apr 2013 09:40:18 +0000 (09:40 +0000)]
Add missing test files from 2013-03-21 commit.
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.
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.
Alan Modra [Fri, 26 Apr 2013 00:00:03 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 26 Apr 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
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.
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.
Hui Zhu [Thu, 25 Apr 2013 08:03:31 +0000 (08:03 +0000)]
Fix format error of ChangeLog.
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.
gdbadmin [Thu, 25 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 25 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
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.
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".
Doug Evans [Wed, 24 Apr 2013 19:12:26 +0000 (19:12 +0000)]
* dwarf2read.c (setup_type_unit_groups): Fix comment.
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*.
Keith Seitz [Wed, 24 Apr 2013 18:22:31 +0000 (18:22 +0000)]
* tracepoint.c (trace_save): Call the writer's start method.
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.
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.
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.
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.
Nick Clifton [Wed, 24 Apr 2013 13:24:30 +0000 (13:24 +0000)]
oops - revert accidental commit
Nick Clifton [Wed, 24 Apr 2013 13:22:43 +0000 (13:22 +0000)]
*** empty log message ***
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
gdbadmin [Wed, 24 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 24 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
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.
DJ Delorie [Tue, 23 Apr 2013 04:05:04 +0000 (04:05 +0000)]
merge from gcc
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.
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.
Alan Modra [Tue, 23 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 23 Apr 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
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.
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.
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.
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'.
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.
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.
Yao Qi [Mon, 22 Apr 2013 09:34:27 +0000 (09:34 +0000)]
gdb/
* infrun.c: Fix typo in comment.
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.
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.
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.
gdbadmin [Mon, 22 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 22 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
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.
gdbadmin [Sun, 21 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 21 Apr 2013 00:00:05 +0000 (00:00 +0000)]
daily update
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 *'.
gdbadmin [Sat, 20 Apr 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 20 Apr 2013 00:00:04 +0000 (00:00 +0000)]
daily update
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".
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.
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.
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 *'.
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.
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.
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 *'.
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.
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.
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.
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 *'.
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 *'.
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.
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 *.
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.
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.
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 *.
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.
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.
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.
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'.
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.
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'.
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 *.