aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-21*** empty log message ***gdbadmin1-1/+1
2013-04-21daily updateAlan Modra1-1/+1
2013-04-20gdb/Yao Qi2-2/+8
* 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 *'.
2013-04-20*** empty log message ***gdbadmin1-1/+1
2013-04-20daily updateAlan Modra1-1/+1
2013-04-19s/signness/signedness in gdbint.texinfo.Pedro Alves2-1/+6
"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".
2013-04-19Enable -Wpointer-sign by default.Pedro Alves5-9/+19
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.
2013-04-192013-04-19 Nathan Froyd <froydnj@codesourcery.com>Hafiz Abid Qadeer2-0/+17
* ppc-instructions (isel): New instruction.
2013-04-19Make GDB -Wpointer-sign clean on MinGW too.Pedro Alves2-1/+9
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 *'.
2013-04-19-Wpointer-sign: monitor.c.Pedro Alves2-7/+17
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.
2013-04-19-Wpointer-sign: record.c.Pedro Alves2-1/+6
../../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.
2013-04-19-Wpointer-sign: ctf.c.Pedro Alves2-7/+13
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 *'.
2013-04-19-Wpointer-sign: cp-valprint.c.Pedro Alves2-1/+6
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.
2013-04-19-Wpointer-sign: ada-lang.c, ada-tasks.c.Pedro Alves3-2/+8
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.
2013-04-19-Wpointer-sign: dwarf2-frame.c: Pass unsigned variable to safe_read_uleb128.Pedro Alves2-3/+9
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.
2013-04-19-Wpointer-sign: dwarf2read.c.Pedro Alves2-2/+7
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 *'.
2013-04-19-Wpointer-sign: xcoffread.c.Pedro Alves2-1/+5
../../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 *'.
2013-04-19-Wpointer-sign: coff-pe-read.c: treat strings in PE/COFF data as char *.Pedro Alves2-3/+8
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.
2013-04-19-Wpointer-sign: bookmarks.Pedro Alves3-6/+16
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 *.
2013-04-19-Wpointer-sign: python/.Pedro Alves4-7/+18
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.
2013-04-19-Wpointer-sign: remote-mips.c.Pedro Alves2-15/+28
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.
2013-04-19gdb_byte for binary buffer, char for string: common/agent.c.Pedro Alves2-1/+6
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 *.
2013-04-19gdb_byte for binary buffer, char for string: remote.c, tracepoint.c.Pedro Alves3-22/+36
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.
2013-04-19serial_write: change prototype to take a void-pointer buffer.Pedro Alves6-25/+43
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.
2013-04-19Cast result of obstack_base to gdb_byte * in a couple spots.Pedro Alves3-3/+9
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.
2013-04-19-Wpointer-sign: alpha-tdep.c.Pedro Alves2-1/+6
../../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'.
2013-04-19-Wpointer-sign: xtensa-tdep.c.Pedro Alves2-1/+6
../../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.
2013-04-19-Wpointer-sign: aarch64-tdep.c.Pedro Alves2-1/+6
../../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'.
2013-04-19-Wpointer-sign: s390-tdep.c.Pedro Alves2-4/+9
-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 *.
2013-04-19ppc-linux-tdep.c: Wrong signness for buffer holding instructions.Pedro Alves2-1/+6
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[].
2013-04-19mips-tdep.c: Wrong signness for local holding PC register.Pedro Alves2-1/+5
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.
2013-04-19mep-tdep.c: Wrong signness for instruction buffer.Pedro Alves2-1/+6
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 *.
2013-04-19alpha-tdep.c/mips-tdep.c: "set heuristic-fence-post" is signed/zinteger.Pedro Alves3-4/+12
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.
2013-04-19cris-tdep.c: Use unsigned variable for unsigned command.Pedro Alves2-4/+10
"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.
2013-04-19-Wpointer-sign: gdb_byte -> char.Pedro Alves11-25/+53
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 *'.
2013-04-19-Wpointer-sign: char -> gdb_byte.Pedro Alves40-174/+269
-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.
2013-04-19Fix the x87 FP register printout when issuing the “info float” command.Pedro Alves5-1/+90
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.
2013-04-19 * configure.tgt (i386-*-cygwin): Handle x86_64 cygwin.Kai Tietz2-1/+9
2013-04-19 PR binutils/15356Nick Clifton1-0/+6
* compress.c (decompress_contents): Always call inflateEnd, even when another inflation operation fails. [Note - the actual patch to compress.c was accidentally committed previously].
2013-04-19daily updateAlan Modra1-1/+1
2013-04-19*** empty log message ***gdbadmin1-1/+1
2013-04-18 * gdb.mi/mi-var-create-rtti.exp: Create a variable ofLuis Machado2-2/+9
type void *.
2013-04-18*** empty log message ***gdbadmin1-1/+1
2013-04-18daily updateAlan Modra1-1/+1
2013-04-17 * lib/dwarf.exp (Dwarf): New proc "tu".Doug Evans3-0/+146
* gdb.dwarf2/missing-sig-type.exp: New file.
2013-04-17 * dwarf2read.c (struct signatured_type): New member type.Doug Evans2-89/+224
(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.
2013-04-17Update copyright year on elf-ifunc.cH.J. Lu2-1/+5
* elf-ifunc.c: Update copyright year.
2013-04-17Fix line length problem in last entry.Joel Brobecker1-1/+2
2013-04-17gdb/Yufeng Zhang2-10/+5
* aarch64-tdep.c (aarch64_write_pc): Removed. (aarch64_gdbarch_init): Remove set_gdbarch_write_pc of the above function.
2013-04-17 * coffcode.h: Added a cast to void when a bfd_set_section_*()Nick Clifton13-56/+69
macro's return value is ignored. * elf32-hppa.c: Likewise. * elf32-tic6x.c: Likewise. * mach-o.c: Likewise. * mmo.c: Likewise. * opncls.c: Likewise. * peicode.h: Likewise. * elf32-m32r.c: Check return value of bfd_set_section_*(). * elfnn-ia64.c: Likewise. * elfxx-mips.c: Likewise. * vms-alpha.c: Likewise.