Index: contrib/gdb/gdb/amd64-tdep.c =================================================================== --- contrib/gdb/gdb/amd64-tdep.c +++ contrib/gdb/gdb/amd64-tdep.c @@ -741,7 +741,7 @@ return current_pc; /* Check for `movq %rsp, %rbp'. */ - read_memory (pc + 1, buf, 3); + read_memory (pc + 1, (char *)buf, 3); if (memcmp (buf, proto, 3) != 0) return pc + 1; Index: contrib/gdb/gdb/amd64fbsd-nat.c =================================================================== --- contrib/gdb/gdb/amd64fbsd-nat.c +++ contrib/gdb/gdb/amd64fbsd-nat.c @@ -228,8 +228,8 @@ len = sizeof (kst); if (sysctl (mib, sizeof(mib) / sizeof(mib[0]), &kst, &len, NULL, 0) == 0) { - amd64fbsd_sigtramp_start_addr = kst.ksigtramp_start; - amd64fbsd_sigtramp_end_addr = kst.ksigtramp_end; + amd64fbsd_sigtramp_start_addr = (CORE_ADDR)kst.ksigtramp_start; + amd64fbsd_sigtramp_end_addr = (CORE_ADDR)kst.ksigtramp_end; } } } Index: contrib/gdb/gdb/arm-tdep.c =================================================================== --- contrib/gdb/gdb/arm-tdep.c +++ contrib/gdb/gdb/arm-tdep.c @@ -1992,12 +1992,12 @@ { *pcptr = UNMAKE_THUMB_ADDR (*pcptr); *lenptr = tdep->thumb_breakpoint_size; - return tdep->thumb_breakpoint; + return (const unsigned char *)tdep->thumb_breakpoint; } else { *lenptr = tdep->arm_breakpoint_size; - return tdep->arm_breakpoint; + return (const unsigned char *)tdep->arm_breakpoint; } } @@ -2246,7 +2246,7 @@ /* Values of one word or less are zero/sign-extended and returned in r0. */ bfd_byte tmpbuf[INT_REGISTER_SIZE]; - LONGEST val = unpack_long (type, valbuf); + LONGEST val = unpack_long (type, (const char *)valbuf); store_signed_integer (tmpbuf, INT_REGISTER_SIZE, val); regcache_cooked_write (regs, ARM_A1_REGNUM, tmpbuf); @@ -2457,10 +2457,10 @@ /* Find the style that the user wants in the opcodes table. */ int current = 0; - numregs = get_arm_regnames (current, &setname, &setdesc, ®names); + numregs = get_arm_regnames (current, &setname, &setdesc, (const char *const **)®names); while ((disassembly_style != setname) && (current < num_disassembly_options)) - get_arm_regnames (++current, &setname, &setdesc, ®names); + get_arm_regnames (++current, &setname, &setdesc, (const char *const **)®names); current_option = current; /* Fill our copy. */ @@ -2913,7 +2913,7 @@ = xmalloc ((num_disassembly_options + 1) * sizeof (char *)); for (i = 0; i < num_disassembly_options; i++) { - numregs = get_arm_regnames (i, &setname, &setdesc, ®names); + numregs = get_arm_regnames (i, &setname, &setdesc, (const char *const **)®names); valid_disassembly_styles[i] = setname; fprintf_unfiltered (stb, "%s - %s\n", setname, setdesc); Index: contrib/gdb/gdb/breakpoint.c =================================================================== --- contrib/gdb/gdb/breakpoint.c +++ contrib/gdb/gdb/breakpoint.c @@ -7618,8 +7618,6 @@ int i = hw_watchpoint_used_count (bpt->type, &other_type_used); int mem_cnt = can_use_hardware_watchpoint (bpt->val); - /* Hack around 'unused var' error for some targets here */ - (void) mem_cnt, i; target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT ( bpt->type, i + mem_cnt, other_type_used); /* we can consider of type is bp_hardware_watchpoint, convert to Index: contrib/gdb/gdb/c-typeprint.c =================================================================== --- contrib/gdb/gdb/c-typeprint.c +++ contrib/gdb/gdb/c-typeprint.c @@ -540,7 +540,7 @@ fprintf_filtered (stream, ")"); fprintf_filtered (stream, "["); - if (TYPE_LENGTH (type) >= 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 + if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 && TYPE_ARRAY_UPPER_BOUND_TYPE (type) != BOUND_CANNOT_BE_DETERMINED) fprintf_filtered (stream, "%d", (TYPE_LENGTH (type) Index: contrib/gdb/gdb/cli/cli-setshow.c =================================================================== --- contrib/gdb/gdb/cli/cli-setshow.c +++ contrib/gdb/gdb/cli/cli-setshow.c @@ -279,7 +279,7 @@ unsigned char *p; if (*(unsigned char **) c->var) - fputstr_filtered (*(unsigned char **) c->var, '"', stb->stream); + fputstr_filtered (*(const char **) c->var, '"', stb->stream); quote = 1; } break; Index: contrib/gdb/gdb/coff-pe-read.c =================================================================== --- contrib/gdb/gdb/coff-pe-read.c +++ contrib/gdb/gdb/coff-pe-read.c @@ -296,7 +296,7 @@ exp_funcbase = pe_as32 (expdata + 28); /* Use internal dll name instead of full pathname. */ - dll_name = pe_as32 (expdata + 12) + erva; + dll_name = (char *)(pe_as32 (expdata + 12) + erva); bfd_map_over_sections (dll, get_section_vmas, section_data); @@ -333,7 +333,7 @@ if ((func_rva >= section_data[sectix].rva_start) && (func_rva < section_data[sectix].rva_end)) { - add_pe_exported_sym (erva + name_rva, + add_pe_exported_sym ((char *)(erva + name_rva), func_rva, section_data + sectix, dll_name, objfile); break; Index: contrib/gdb/gdb/corelow.c =================================================================== --- contrib/gdb/gdb/corelow.c +++ contrib/gdb/gdb/corelow.c @@ -529,7 +529,7 @@ return (*ops->to_xfer_memory) (offset, readbuf, len, 0/*read*/, NULL, ops); if (writebuf) - return (*ops->to_xfer_memory) (offset, writebuf, len, 1/*write*/, + return (*ops->to_xfer_memory) (offset, (char *)writebuf, len, 1/*write*/, NULL, ops); return -1; @@ -573,7 +573,7 @@ return (*ops->to_xfer_memory) (addr, readbuf, len, 0/*read*/, NULL, ops); if (writebuf) - return (*ops->to_xfer_memory) (addr, writebuf, len, 1/*write*/, + return (*ops->to_xfer_memory) (addr, (char *)writebuf, len, 1/*write*/, NULL, ops); return -1; } Index: contrib/gdb/gdb/dwarf2-frame.c =================================================================== --- contrib/gdb/gdb/dwarf2-frame.c +++ contrib/gdb/gdb/dwarf2-frame.c @@ -393,7 +393,7 @@ break; case DW_CFA_def_cfa_offset: - insn_ptr = read_uleb128 (insn_ptr, insn_end, &fs->cfa_offset); + insn_ptr = read_uleb128 (insn_ptr, insn_end, (unsigned long *)&fs->cfa_offset); /* cfa_how deliberately not set. */ break; @@ -1336,7 +1336,7 @@ buf += bytes_read; if (buf > end) return NULL; - cie->initial_instructions = buf + length; + cie->initial_instructions = (unsigned char *)(buf + length); augmentation++; } @@ -1361,7 +1361,8 @@ else if (*augmentation == 'P') { /* Skip. */ - buf += size_of_encoded_value (*buf++); + buf += size_of_encoded_value (*buf); + buf++; augmentation++; } @@ -1373,13 +1374,13 @@ return end; /* Skip unknown augmentations. */ - buf = cie->initial_instructions; + buf = (char *)(cie->initial_instructions); break; } } - cie->initial_instructions = buf; - cie->end = end; + cie->initial_instructions = (unsigned char *)buf; + cie->end =(unsigned char *)end; add_cie (unit, cie); } @@ -1437,8 +1438,8 @@ return NULL; } - fde->instructions = buf; - fde->end = end; + fde->instructions = (unsigned char *)buf; + fde->end = (unsigned char *)end; add_fde (unit, fde); } Index: contrib/gdb/gdb/dwarf2expr.c =================================================================== --- contrib/gdb/gdb/dwarf2expr.c +++ contrib/gdb/gdb/dwarf2expr.c @@ -528,9 +528,9 @@ (ctx->read_mem) (ctx->baton, buf, result, TARGET_ADDR_BIT / TARGET_CHAR_BIT); - result = dwarf2_read_address (buf, - buf + (TARGET_ADDR_BIT - / TARGET_CHAR_BIT), + result = dwarf2_read_address ((unsigned char *)buf, + (unsigned char*)(buf + (TARGET_ADDR_BIT + / TARGET_CHAR_BIT)), &bytes_read); } break; @@ -541,9 +541,9 @@ int bytes_read; (ctx->read_mem) (ctx->baton, buf, result, *op_ptr++); - result = dwarf2_read_address (buf, - buf + (TARGET_ADDR_BIT - / TARGET_CHAR_BIT), + result = dwarf2_read_address ((unsigned char *)buf, + (unsigned char *)(buf + (TARGET_ADDR_BIT + / TARGET_CHAR_BIT)), &bytes_read); } break; @@ -562,6 +562,8 @@ op_ptr = read_uleb128 (op_ptr, op_end, ®); result += reg; break; + default: + break; } break; Index: contrib/gdb/gdb/dwarf2loc.c =================================================================== --- contrib/gdb/gdb/dwarf2loc.c +++ contrib/gdb/gdb/dwarf2loc.c @@ -62,14 +62,14 @@ SECT_OFF_TEXT (baton->objfile)); CORE_ADDR base_address = baton->base_address + base_offset; - loc_ptr = baton->data; - buf_end = baton->data + baton->size; + loc_ptr = (char *)(baton->data); + buf_end = (char *)(baton->data + baton->size); while (1) { - low = dwarf2_read_address (loc_ptr, buf_end, &length); + low = dwarf2_read_address ((unsigned char *)loc_ptr, (unsigned char *)buf_end, (int *)&length); loc_ptr += length; - high = dwarf2_read_address (loc_ptr, buf_end, &length); + high = dwarf2_read_address ((unsigned char *)loc_ptr, (unsigned char *)buf_end, (int *)&length); loc_ptr += length; /* An end-of-list entry. */ @@ -161,8 +161,8 @@ { struct dwarf2_loclist_baton *symbaton; symbaton = SYMBOL_LOCATION_BATON (framefunc); - *start = find_location_expression (symbaton, length, - get_frame_pc (debaton->frame)); + *start = (unsigned char *)(find_location_expression (symbaton, length, + get_frame_pc (debaton->frame))); } else { @@ -238,7 +238,7 @@ bfd_byte *contents; retval = allocate_value (SYMBOL_TYPE (var)); - contents = VALUE_CONTENTS_RAW (retval); + contents = (bfd_byte *)(VALUE_CONTENTS_RAW (retval)); for (i = 0; i < ctx->num_pieces; i++) { struct dwarf_expr_piece *p = &ctx->pieces[i]; @@ -251,7 +251,7 @@ } else /* In memory? */ { - read_memory (p->value, contents + offset, p->size); + read_memory (p->value, (char *)(contents + offset), p->size); } offset += p->size; } @@ -312,7 +312,7 @@ static char lit0 = DW_OP_lit0; struct needs_frame_baton *nf_baton = baton; - *start = &lit0; + *start = (unsigned char *)&lit0; *length = 1; nf_baton->needs_frame = 1; @@ -528,8 +528,8 @@ unsigned char *data; size_t size; - data = find_location_expression (dlbaton, &size, - frame ? get_frame_pc (frame) : 0); + data = (unsigned char *)(find_location_expression (dlbaton, &size, + frame ? get_frame_pc (frame) : 0)); if (data == NULL) { val = allocate_value (SYMBOL_TYPE (symbol)); @@ -575,7 +575,7 @@ unsigned char *data; size_t size; - data = find_location_expression (dlbaton, &size, ax->scope); + data = (unsigned char *)(find_location_expression (dlbaton, &size, ax->scope)); if (data == NULL) error ("Variable \"%s\" is not available.", SYMBOL_NATURAL_NAME (symbol)); Index: contrib/gdb/gdb/dwarf2read.c =================================================================== --- contrib/gdb/gdb/dwarf2read.c +++ contrib/gdb/gdb/dwarf2read.c @@ -4583,7 +4583,7 @@ { case DW_FORM_addr: case DW_FORM_ref_addr: - DW_ADDR (attr) = read_address (abfd, info_ptr, cu, &bytes_read); + DW_ADDR (attr) = read_address (abfd, info_ptr, cu, (int *)&bytes_read); info_ptr += bytes_read; break; case DW_FORM_block2: @@ -5257,7 +5257,7 @@ } /* Read directory table */ - while ((cur_dir = read_string (abfd, line_ptr, &bytes_read)) != NULL) + while ((cur_dir = read_string (abfd, line_ptr, (unsigned int *)&bytes_read)) != NULL) { line_ptr += bytes_read; add_include_dir (lh, cur_dir); @@ -5265,16 +5265,16 @@ line_ptr += bytes_read; /* Read file name table */ - while ((cur_file = read_string (abfd, line_ptr, &bytes_read)) != NULL) + while ((cur_file = read_string (abfd, line_ptr, (unsigned int *)&bytes_read)) != NULL) { unsigned int dir_index, mod_time, length; line_ptr += bytes_read; - dir_index = read_unsigned_leb128 (abfd, line_ptr, &bytes_read); + dir_index = read_unsigned_leb128 (abfd, line_ptr, (unsigned int *)&bytes_read); line_ptr += bytes_read; - mod_time = read_unsigned_leb128 (abfd, line_ptr, &bytes_read); + mod_time = read_unsigned_leb128 (abfd, line_ptr, (unsigned int *)&bytes_read); line_ptr += bytes_read; - length = read_unsigned_leb128 (abfd, line_ptr, &bytes_read); + length = read_unsigned_leb128 (abfd, line_ptr, (unsigned int *)&bytes_read); line_ptr += bytes_read; add_file_name (lh, cur_file, dir_index, mod_time, length); @@ -5413,7 +5413,7 @@ record_line (current_subfile, 0, address); break; case DW_LNE_set_address: - address = read_address (abfd, line_ptr, cu, &bytes_read); + address = read_address (abfd, line_ptr, cu, (int *)&bytes_read); line_ptr += bytes_read; address += baseaddr; break; @@ -7551,7 +7551,7 @@ case DW_OP_addr: stack[++stacki] = read_address (objfile->obfd, &data[i], - cu, &bytes_read); + cu, (int *)&bytes_read); i += bytes_read; break; @@ -7971,9 +7971,9 @@ int line; char *body; - line = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read); + line = read_unsigned_leb128 (abfd, mac_ptr, (unsigned int *)&bytes_read); mac_ptr += bytes_read; - body = read_string (abfd, mac_ptr, &bytes_read); + body = read_string (abfd, mac_ptr, (unsigned int *)&bytes_read); mac_ptr += bytes_read; if (! current_file) @@ -7998,9 +7998,9 @@ int bytes_read; int line, file; - line = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read); + line = read_unsigned_leb128 (abfd, mac_ptr, (unsigned int *)&bytes_read); mac_ptr += bytes_read; - file = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read); + file = read_unsigned_leb128 (abfd, mac_ptr, (unsigned int *)&bytes_read); mac_ptr += bytes_read; current_file = macro_start_file (file, line, @@ -8050,14 +8050,16 @@ int constant; char *string; - constant = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read); + constant = read_unsigned_leb128 (abfd, mac_ptr, (unsigned int *)&bytes_read); mac_ptr += bytes_read; - string = read_string (abfd, mac_ptr, &bytes_read); + string = read_string (abfd, mac_ptr, (unsigned int *)&bytes_read); mac_ptr += bytes_read; /* We don't recognize any vendor extensions. */ } break; + default: + break; } } } @@ -8089,7 +8091,7 @@ /* We don't know how long the location list is, but make sure we don't run off the edge of the section. */ baton->size = dwarf_loc_size - DW_UNSND (attr); - baton->data = dwarf_loc_buffer + DW_UNSND (attr); + baton->data = (unsigned char *)(dwarf_loc_buffer + DW_UNSND (attr)); baton->base_address = cu->header.base_address; if (cu->header.base_known == 0) complaint (&symfile_complaints, @@ -8114,7 +8116,7 @@ release that buffer, but when we do clean up properly this may need to change. */ baton->size = DW_BLOCK (attr)->size; - baton->data = DW_BLOCK (attr)->data; + baton->data = (unsigned char *)(DW_BLOCK (attr)->data); } else { Index: contrib/gdb/gdb/f-exp.y =================================================================== --- contrib/gdb/gdb/f-exp.y +++ contrib/gdb/gdb/f-exp.y @@ -538,6 +538,8 @@ case tp_function: follow_type = lookup_function_type (follow_type); break; + default: + break; } $$ = follow_type; } Index: contrib/gdb/gdb/f-typeprint.c =================================================================== --- contrib/gdb/gdb/f-typeprint.c +++ contrib/gdb/gdb/f-typeprint.c @@ -145,6 +145,8 @@ /* These types need no prefix. They are listed here so that gcc -Wall will reveal any types that haven't been handled. */ break; + default: + break; } } @@ -256,6 +258,8 @@ /* These types do not need a suffix. They are listed so that gcc -Wall will report types that may not have been considered. */ break; + default: + break; } } Index: contrib/gdb/gdb/f-valprint.c =================================================================== --- contrib/gdb/gdb/f-valprint.c +++ contrib/gdb/gdb/f-valprint.c @@ -238,7 +238,7 @@ tmp_type = type; - while ((TYPE_CODE (tmp_type) == TYPE_CODE_ARRAY)) + while (TYPE_CODE (tmp_type) == TYPE_CODE_ARRAY) { if (TYPE_ARRAY_UPPER_BOUND_TYPE (tmp_type) == BOUND_CANNOT_BE_DETERMINED) fprintf_filtered (stream, " "); Index: contrib/gdb/gdb/gdb-events.c =================================================================== --- contrib/gdb/gdb/gdb-events.c +++ contrib/gdb/gdb/gdb-events.c @@ -404,6 +404,8 @@ vector->selected_thread_changed (event->data.selected_thread_changed.thread_num); break; + default: + break; } delivering_events = event->next; xfree (event); Index: contrib/gdb/gdb/gnu-v3-abi.c =================================================================== --- contrib/gdb/gdb/gnu-v3-abi.c +++ contrib/gdb/gdb/gnu-v3-abi.c @@ -427,8 +427,8 @@ gnu_v3_abi_ops.shortname = "gnu-v3"; gnu_v3_abi_ops.longname = "GNU G++ Version 3 ABI"; gnu_v3_abi_ops.doc = "G++ Version 3 ABI"; - gnu_v3_abi_ops.is_destructor_name = is_gnu_v3_mangled_dtor; - gnu_v3_abi_ops.is_constructor_name = is_gnu_v3_mangled_ctor; + gnu_v3_abi_ops.is_destructor_name = (enum dtor_kinds (*)(const char *))is_gnu_v3_mangled_dtor; + gnu_v3_abi_ops.is_constructor_name = (enum ctor_kinds (*)(const char *))is_gnu_v3_mangled_ctor; gnu_v3_abi_ops.is_vtable_name = gnuv3_is_vtable_name; gnu_v3_abi_ops.is_operator_name = gnuv3_is_operator_name; gnu_v3_abi_ops.rtti_type = gnuv3_rtti_type; Index: contrib/gdb/gdb/i386-tdep.c =================================================================== --- contrib/gdb/gdb/i386-tdep.c +++ contrib/gdb/gdb/i386-tdep.c @@ -401,7 +401,7 @@ if (op != 0x58) /* popl %eax */ return pc; - read_memory (pc + 1, buf, 4); + read_memory (pc + 1, (char *)buf, 4); if (memcmp (buf, proto1, 3) != 0 && memcmp (buf, proto2, 4) != 0) return pc; @@ -455,7 +455,7 @@ /* Read the following 8 bytes, which should be `call _probe' (6 bytes) followed by `addl $4,%esp' (2 bytes). */ - read_memory (pc + delta, buf, sizeof (buf)); + read_memory (pc + delta, (char *)buf, sizeof (buf)); if (buf[0] == 0xe8 && buf[6] == 0xc4 && buf[7] == 0x4) pc += delta + sizeof (buf); } Index: contrib/gdb/gdb/i387-tdep.c =================================================================== --- contrib/gdb/gdb/i387-tdep.c +++ contrib/gdb/gdb/i387-tdep.c @@ -97,11 +97,11 @@ } else if (exponent < 0x7fff && exponent > 0x0000 && integer) /* Normal. */ - print_i387_value (raw, file); + print_i387_value ((char *)raw, file); else if (exponent == 0x0000) { /* Denormal or zero. */ - print_i387_value (raw, file); + print_i387_value ((char *)raw, file); if (integer) /* Pseudo-denormal. */ @@ -583,7 +583,7 @@ if (val[0] & (1 << fpreg)) { int regnum = (fpreg + 8 - top) % 8 + I387_ST0_REGNUM; - tag = i387_tag (FXSAVE_ADDR (regs, regnum)); + tag = i387_tag ((const unsigned char *)FXSAVE_ADDR (regs, regnum)); } else tag = 3; /* Empty */ Index: contrib/gdb/gdb/linespec.c =================================================================== --- contrib/gdb/gdb/linespec.c +++ contrib/gdb/gdb/linespec.c @@ -1089,14 +1089,14 @@ else block = get_selected_block (0); - copy = find_imps (file_symtab, block, *argptr, NULL, &i1, &i2); + copy = find_imps (file_symtab, block, *argptr, NULL, (unsigned int *)&i1, (unsigned int *)&i2); if (i1 > 0) { sym_arr = (struct symbol **) alloca ((i1 + 1) * sizeof (struct symbol *)); sym_arr[i1] = 0; - copy = find_imps (file_symtab, block, *argptr, sym_arr, &i1, &i2); + copy = find_imps (file_symtab, block, *argptr, sym_arr, (unsigned int *)&i1, (unsigned int *)&i2); *argptr = copy; } Index: contrib/gdb/gdb/mi/mi-main.c =================================================================== --- contrib/gdb/gdb/mi/mi-main.c +++ contrib/gdb/gdb/mi/mi-main.c @@ -261,7 +261,7 @@ enum mi_cmd_result mi_cmd_thread_list_ids (char *command, char **argv, int argc) { - enum gdb_rc rc = MI_CMD_DONE; + enum gdb_rc rc = (enum gdb_rc)MI_CMD_DONE; if (argc != 0) { Index: contrib/gdb/gdb/mipsfbsd-tdep.c =================================================================== --- contrib/gdb/gdb/mipsfbsd-tdep.c +++ contrib/gdb/gdb/mipsfbsd-tdep.c @@ -502,24 +502,24 @@ /* * typedef struct link_map { - * caddr_t l_addr; /* Base Address of library + * caddr_t l_addr; // Base Address of library * #ifdef __mips__ - * caddr_t l_offs; /* Load Offset of library + * caddr_t l_offs; // Load Offset of library * #endif - * const char *l_name; /* Absolute Path to Library - * const void *l_ld; /* Pointer to .dynamic in memory - * struct link_map *l_next, *l_prev; /* linked list of of mapped libs + * const char *l_name; // Absolute Path to Library + * const void *l_ld; // Pointer to .dynamic in memory + * struct link_map *l_next, *l_prev; // linked list of of mapped libs * } Link_map; * * struct r_debug { - * int r_version; /* not used - * struct link_map *r_map; /* list of loaded images + * int r_version; // not used + * struct link_map *r_map; // list of loaded images * void (*r_brk)(struct r_debug *, struct link_map *); - * /* pointer to break point + * // pointer to break point * enum { - * RT_CONSISTENT, /* things are stable - * RT_ADD, /* adding a shared library - * RT_DELETE /* removing a shared library + * RT_CONSISTENT, // things are stable + * RT_ADD, // adding a shared library + * RT_DELETE // removing a shared library * } r_state; * }; * Index: contrib/gdb/gdb/osabi.c =================================================================== --- contrib/gdb/gdb/osabi.c +++ contrib/gdb/gdb/osabi.c @@ -574,7 +574,7 @@ /* The FreeBSD folks have been naughty; they stored the string "FreeBSD" in the padding of the e_ident field of the ELF header to "brand" their ELF binaries in FreeBSD 3.x. */ - if (strcmp (&elf_elfheader (abfd)->e_ident[8], "FreeBSD") == 0) + if (strcmp ((const char *)(&elf_elfheader (abfd)->e_ident[8]), "FreeBSD") == 0) osabi = GDB_OSABI_FREEBSD_ELF; } Index: contrib/gdb/gdb/p-typeprint.c =================================================================== --- contrib/gdb/gdb/p-typeprint.c +++ contrib/gdb/gdb/p-typeprint.c @@ -264,7 +264,7 @@ if (passed_a_ptr) fprintf_filtered (stream, "("); fprintf_filtered (stream, "array "); - if (TYPE_LENGTH (type) >= 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 + if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 && TYPE_ARRAY_UPPER_BOUND_TYPE (type) != BOUND_CANNOT_BE_DETERMINED) fprintf_filtered (stream, "[%d..%d] ", TYPE_ARRAY_LOWER_BOUND_VALUE (type), Index: contrib/gdb/gdb/ppcfbsd-tdep.c =================================================================== --- contrib/gdb/gdb/ppcfbsd-tdep.c +++ contrib/gdb/gdb/ppcfbsd-tdep.c @@ -252,7 +252,7 @@ { unsigned char buf[4]; - read_memory (pc, buf, 4); + read_memory (pc, (char *)buf, 4); return (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; } Index: contrib/gdb/gdb/regcache.c =================================================================== --- contrib/gdb/gdb/regcache.c +++ contrib/gdb/gdb/regcache.c @@ -1426,7 +1426,7 @@ current_regcache = regcache_xmalloc (current_gdbarch); current_regcache->readonly_p = 0; deprecated_registers = deprecated_grub_regcache_for_registers (current_regcache); - deprecated_register_valid = current_regcache->register_valid_p; + deprecated_register_valid = (signed char *)current_regcache->register_valid_p; } static void Index: contrib/gdb/gdb/remote-utils.c =================================================================== --- contrib/gdb/gdb/remote-utils.c +++ contrib/gdb/gdb/remote-utils.c @@ -113,10 +113,12 @@ return; /* scan off white space. */ - for (p = args; isspace (*p); ++p);; + for (p = args; isspace (*p); ++p); + ; /* find end of device name. */ - for (q = p; *q != '\0' && !isspace (*q); ++q);; + for (q = p; *q != '\0' && !isspace (*q); ++q); + ; /* check for missing or empty device name. */ CHECKDONE (p, q); @@ -137,7 +139,8 @@ sr_set_debug (n); /* scan off remaining white space. */ - for (p = q; isspace (*p); ++p);; + for (p = q; isspace (*p); ++p); + ; /* if not end of string, then there's unrecognized junk. */ if (*p != '\0') Index: contrib/gdb/gdb/remote.c =================================================================== --- contrib/gdb/gdb/remote.c +++ contrib/gdb/gdb/remote.c @@ -1420,7 +1420,7 @@ int i, value = 0; unsigned char *scan; - scan = (char *) ref; + scan = (unsigned char *) ref; scan += 4; i = 4; while (i-- > 0) @@ -1526,7 +1526,7 @@ while ((pkt < limit) && mask && *pkt) /* packets are terminated with nulls */ { - pkt = unpack_int (pkt, &tag); /* tag */ + pkt = unpack_int (pkt, (int *)&tag); /* tag */ pkt = unpack_byte (pkt, &length); /* length */ if (!(tag & mask)) /* tags out of synch with mask */ { @@ -2893,7 +2893,7 @@ unsigned char *p; ofunc = signal (SIGINT, remote_interrupt); - getpkt (buf, (rs->remote_packet_size), 1); + getpkt ((char *)buf, (rs->remote_packet_size), 1); signal (SIGINT, ofunc); /* This is a hook for when we need to do something (perhaps the @@ -2909,7 +2909,7 @@ warning ("Remote failure reply: %s", buf); continue; case 'F': /* File-I/O request */ - remote_fileio_request (buf); + remote_fileio_request ((char *)buf); continue; case 'T': /* Status with PC, SP, FP, ... */ { @@ -2938,10 +2938,10 @@ /* If this packet is an awatch packet, don't parse the 'a' as a register number. */ - if (strncmp (p, "awatch", strlen("awatch")) != 0) + if (strncmp ((const char *)p, "awatch", strlen("awatch")) != 0) { /* Read the ``P'' register number. */ - pnum = strtol (p, &p_temp, 16); + pnum = strtol ((const char *)p, &p_temp, 16); p1 = (unsigned char *) p_temp; } else @@ -2949,29 +2949,29 @@ if (p1 == p) /* No register number present here */ { - p1 = (unsigned char *) strchr (p, ':'); + p1 = (unsigned char *) strchr ((const char *)p, ':'); if (p1 == NULL) warning ("Malformed packet(a) (missing colon): %s\n\ Packet: '%s'\n", p, buf); - if (strncmp (p, "thread", p1 - p) == 0) + if (strncmp ((const char *)p, "thread", p1 - p) == 0) { - p_temp = unpack_varlen_hex (++p1, &thread_num); + p_temp = unpack_varlen_hex ((char *)++p1, &thread_num); record_currthread (thread_num); p = (unsigned char *) p_temp; } - else if ((strncmp (p, "watch", p1 - p) == 0) - || (strncmp (p, "rwatch", p1 - p) == 0) - || (strncmp (p, "awatch", p1 - p) == 0)) + else if ((strncmp ((const char *)p, "watch", p1 - p) == 0) + || (strncmp ((const char *)p, "rwatch", p1 - p) == 0) + || (strncmp ((const char *)p, "awatch", p1 - p) == 0)) { remote_stopped_by_watchpoint_p = 1; - p = unpack_varlen_hex (++p1, &addr); + p = (unsigned char *)(unpack_varlen_hex ((char *)++p1, &addr)); remote_watch_data_address = (CORE_ADDR)addr; } else { /* Silently skip unknown optional info. */ - p_temp = strchr (p1 + 1, ';'); + p_temp = strchr ((const char *)(p1 + 1), ';'); if (p_temp) p = (unsigned char *) p_temp; } @@ -2989,7 +2989,7 @@ error ("Remote sent bad register number %s: %s\nPacket: '%s'\n", phex_nz (pnum, 0), p, buf); - fieldsize = hex2bin (p, regs, DEPRECATED_REGISTER_RAW_SIZE (reg->regnum)); + fieldsize = hex2bin ((const char *)p, regs, DEPRECATED_REGISTER_RAW_SIZE (reg->regnum)); p += 2 * fieldsize; if (fieldsize < DEPRECATED_REGISTER_RAW_SIZE (reg->regnum)) warning ("Remote reply is too short: %s", buf); @@ -3027,7 +3027,7 @@ goto got_status; case 'O': /* Console output */ - remote_console_output (buf + 1); + remote_console_output ((char *)(buf + 1)); continue; case '\0': if (last_sent_signal != TARGET_SIGNAL_0) @@ -3083,7 +3083,7 @@ _never_ wait for ever -> test on target_is_async_p(). However, before we do that we need to ensure that the caller knows how to take the target into/out of async mode. */ - getpkt (buf, (rs->remote_packet_size), wait_forever_enabled_p); + getpkt ((char *)buf, (rs->remote_packet_size), wait_forever_enabled_p); if (!target_is_async_p ()) signal (SIGINT, ofunc); @@ -3098,7 +3098,7 @@ warning ("Remote failure reply: %s", buf); continue; case 'F': /* File-I/O request */ - remote_fileio_request (buf); + remote_fileio_request ((char *)buf); continue; case 'T': /* Status with PC, SP, FP, ... */ { @@ -3127,10 +3127,10 @@ /* If this packet is an awatch packet, don't parse the 'a' as a register number. */ - if (!strncmp (p, "awatch", strlen ("awatch")) != 0) + if ((!strncmp ((const char *)p, "awatch", strlen ("awatch"))) != 0) { /* Read the register number. */ - pnum = strtol (p, &p_temp, 16); + pnum = strtol ((const char *)p, &p_temp, 16); p1 = (unsigned char *) p_temp; } else @@ -3138,30 +3138,30 @@ if (p1 == p) /* No register number present here */ { - p1 = (unsigned char *) strchr (p, ':'); + p1 = (unsigned char *) strchr ((const char *)p, ':'); if (p1 == NULL) error ("Malformed packet(a) (missing colon): %s\nPacket: '%s'\n", p, buf); - if (strncmp (p, "thread", p1 - p) == 0) + if (strncmp ((const char *)p, "thread", p1 - p) == 0) { - p_temp = unpack_varlen_hex (++p1, &thread_num); + p_temp = unpack_varlen_hex ((char *)++p1, &thread_num); record_currthread (thread_num); p = (unsigned char *) p_temp; } - else if ((strncmp (p, "watch", p1 - p) == 0) - || (strncmp (p, "rwatch", p1 - p) == 0) - || (strncmp (p, "awatch", p1 - p) == 0)) + else if ((strncmp ((const char *)p, "watch", p1 - p) == 0) + || (strncmp ((const char *)p, "rwatch", p1 - p) == 0) + || (strncmp ((const char *)p, "awatch", p1 - p) == 0)) { remote_stopped_by_watchpoint_p = 1; - p = unpack_varlen_hex (++p1, &addr); + p = (unsigned char *)(unpack_varlen_hex ((char *)++p1, &addr)); remote_watch_data_address = (CORE_ADDR)addr; } else { /* Silently skip unknown optional info. */ - p_temp = (unsigned char *) strchr (p1 + 1, ';'); + p_temp = (char *) strchr ((const char *)(p1 + 1), ';'); if (p_temp) - p = p_temp; + p = (unsigned char *)p_temp; } } @@ -3177,7 +3177,7 @@ error ("Remote sent bad register number %ld: %s\nPacket: '%s'\n", pnum, p, buf); - fieldsize = hex2bin (p, regs, DEPRECATED_REGISTER_RAW_SIZE (reg->regnum)); + fieldsize = hex2bin ((const char *)p, regs, DEPRECATED_REGISTER_RAW_SIZE (reg->regnum)); p += 2 * fieldsize; if (fieldsize < DEPRECATED_REGISTER_RAW_SIZE (reg->regnum)) warning ("Remote reply is too short: %s", buf); @@ -3216,7 +3216,7 @@ goto got_status; case 'O': /* Console output */ - remote_console_output (buf + 1); + remote_console_output ((char *)(buf + 1)); /* Return immediately to the event loop. The event loop will still be waiting on the inferior afterwards. */ status->kind = TARGET_WAITKIND_IGNORE; @@ -3658,7 +3658,7 @@ /* Append "". */ memaddr = remote_address_masked (memaddr); - p += hexnumstr (p, (ULONGEST) memaddr); + p += hexnumstr ((char *)p, (ULONGEST) memaddr); /* Append ",". */ *p++ = ','; @@ -3666,7 +3666,7 @@ /* Append . Retain the location/size of . It may need to be adjusted once the packet body has been created. */ plen = p; - plenlen = hexnumstr (p, (ULONGEST) todo); + plenlen = hexnumstr ((char *)p, (ULONGEST) todo); p += plenlen; /* Append ":". */ @@ -3705,7 +3705,7 @@ and we have actually sent fewer bytes than planned. Fix-up the length field of the packet. Use the same number of characters as before. */ - plen += hexnumnstr (plen, (ULONGEST) nr_bytes, plenlen); + plen += hexnumnstr ((char *)plen, (ULONGEST) nr_bytes, plenlen); *plen = ':'; /* overwrite \0 from hexnumnstr() */ } break; @@ -3713,7 +3713,7 @@ /* Normal mode: Send target system values byte by byte, in increasing byte addresses. Each byte is encoded as a two hex value. */ - nr_bytes = bin2hex (myaddr, p, todo); + nr_bytes = bin2hex (myaddr, (char *)p, todo); p += 2 * nr_bytes; break; case PACKET_SUPPORT_UNKNOWN: @@ -3723,8 +3723,8 @@ internal_error (__FILE__, __LINE__, "bad switch"); } - putpkt_binary (buf, (int) (p - buf)); - getpkt (buf, sizeof_buf, 0); + putpkt_binary ((char *)buf, (int) (p - buf)); + getpkt ((char *)buf, sizeof_buf, 0); if (buf[0] == 'E') { Index: contrib/gdb/gdb/rs6000-tdep.c =================================================================== --- contrib/gdb/gdb/rs6000-tdep.c +++ contrib/gdb/gdb/rs6000-tdep.c @@ -337,7 +337,7 @@ { CORE_ADDR dummy; int breakp_sz; - const char *breakp = rs6000_breakpoint_from_pc (&dummy, &breakp_sz); + const char *breakp = (const char *)(rs6000_breakpoint_from_pc (&dummy, &breakp_sz)); int ii, insn; CORE_ADDR loc; CORE_ADDR breaks[2]; Index: contrib/gdb/gdb/ser-tcp.c =================================================================== --- contrib/gdb/gdb/ser-tcp.c +++ contrib/gdb/gdb/ser-tcp.c @@ -165,7 +165,7 @@ { int res, err, len; len = sizeof(err); - res = getsockopt (scb->fd, SOL_SOCKET, SO_ERROR, &err, &len); + res = getsockopt (scb->fd, SOL_SOCKET, SO_ERROR, &err, (socklen_t *)&len); if (res < 0 || err) { if (err) Index: contrib/gdb/gdb/sparc-tdep.c =================================================================== --- contrib/gdb/gdb/sparc-tdep.c +++ contrib/gdb/gdb/sparc-tdep.c @@ -97,7 +97,7 @@ int i; /* If we can't read the instruction at PC, return zero. */ - if (target_read_memory (pc, buf, sizeof (buf))) + if (target_read_memory (pc, (char *)buf, sizeof (buf))) return 0; insn = 0; Index: contrib/gdb/gdb/symfile.c =================================================================== --- contrib/gdb/gdb/symfile.c +++ contrib/gdb/gdb/symfile.c @@ -1022,7 +1022,7 @@ return 0; while ((count = read (fd, buffer, sizeof (buffer))) > 0) - file_crc = gnu_debuglink_crc32 (file_crc, buffer, count); + file_crc = gnu_debuglink_crc32 (file_crc, (unsigned char *)buffer, count); close (fd); @@ -2649,6 +2649,8 @@ SYMBOL_CPLUS_DEMANGLED_NAME (&psymbol) = deprecated_bcache (buf, dem_namelength + 1, objfile->psymbol_cache); break; + default: + break; /* FIXME What should be done for the default case? Ignoring for now. */ } @@ -3337,7 +3339,7 @@ = (void *) xmalloc (cache_novlys * sizeof (*cache_ovly_table)); cache_ovly_table_base = SYMBOL_VALUE_ADDRESS (ovly_table_msym); read_target_long_array (cache_ovly_table_base, - (int *) cache_ovly_table, + (unsigned int *) cache_ovly_table, cache_novlys * 4); return 1; /* SUCCESS */ @@ -3399,7 +3401,7 @@ /* && cache_ovly_table[i][SIZE] == size */ ) { read_target_long_array (cache_ovly_table_base + i * TARGET_LONG_BYTES, - (int *) cache_ovly_table[i], 4); + (unsigned int *) cache_ovly_table[i], 4); if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect) && cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect) /* && cache_ovly_table[i][SIZE] == size */ ) Index: contrib/gdb/gdb/target.c =================================================================== --- contrib/gdb/gdb/target.c +++ contrib/gdb/gdb/target.c @@ -963,6 +963,8 @@ if (!write) return EIO; break; + default: + break; } while (reg_len > 0) @@ -1040,6 +1042,8 @@ return -1; } break; + default: + break; } if (region->attrib.cache) @@ -1782,7 +1786,7 @@ { int i; unsigned char buf[MAX_REGISTER_SIZE]; - deprecated_read_register_gen (regno, buf); + deprecated_read_register_gen (regno, (char *)buf); fprintf_unfiltered (gdb_stdlog, " = "); for (i = 0; i < DEPRECATED_REGISTER_RAW_SIZE (regno); i++) { Index: contrib/gdb/gdb/tracepoint.c =================================================================== --- contrib/gdb/gdb/tracepoint.c +++ contrib/gdb/gdb/tracepoint.c @@ -1437,7 +1437,7 @@ end += 10; /* 'X' + 8 hex digits + ',' */ count += 10; - end = mem2hex (list->aexpr_list[i]->buf, end, list->aexpr_list[i]->len); + end = (char *)(mem2hex (list->aexpr_list[i]->buf, (unsigned char *)end, list->aexpr_list[i]->len)); count += 2 * list->aexpr_list[i]->len; } Index: contrib/gdb/gdb/tui/tui-stack.c =================================================================== --- contrib/gdb/gdb/tui/tui-stack.c +++ contrib/gdb/gdb/tui/tui-stack.c @@ -356,7 +356,7 @@ else { if (find_pc_partial_function (get_frame_pc (fi), (char **) NULL, - &low, (CORE_ADDR) NULL) == 0) + &low, (CORE_ADDR *) NULL) == 0) error ("No function contains program counter for selected frame.\n"); else low = tui_get_low_disassembly_address (low, get_frame_pc (fi)); Index: contrib/gdb/gdb/utils.c =================================================================== --- contrib/gdb/gdb/utils.c +++ contrib/gdb/gdb/utils.c @@ -1718,7 +1718,7 @@ init_page_info (void) { #if defined(TUI) - if (!tui_get_command_dimension (&chars_per_line, &lines_per_page)) + if (!tui_get_command_dimension ((int *)&chars_per_line, (int *)&lines_per_page)) #endif { int rows, cols; Index: contrib/gdb/gdb/value.h =================================================================== --- contrib/gdb/gdb/value.h +++ contrib/gdb/gdb/value.h @@ -466,6 +466,10 @@ extern int value_logical_not (struct value *arg1); +extern int value_initialized (struct value *val); + +extern void set_value_initialized (struct value *val, int status); + /* C++ */ extern struct value *value_of_this (int complain); Index: gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c =================================================================== --- gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c +++ gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c @@ -40,6 +40,7 @@ #include "inferior.h" #include "regcache.h" #include "gdbcore.h" +#include "string.h" extern int arm_apcs_32; Index: gnu/usr.bin/gdb/libgdb/fbsd-threads.c =================================================================== --- gnu/usr.bin/gdb/libgdb/fbsd-threads.c +++ gnu/usr.bin/gdb/libgdb/fbsd-threads.c @@ -631,7 +631,7 @@ /* check user thread */ ret = td_ta_map_id2thr_p (thread_agent, GET_THREAD(work_ptid), &th); if (ret) - error (thread_db_err_str (ret)); + error ("%s", thread_db_err_str (ret)); /* For M:N thread, we need to tell UTS to set/unset single step flag at context switch time, the flag will be written into @@ -641,10 +641,10 @@ state. */ ret = td_thr_sstep_p (&th, step); if (ret) - error (thread_db_err_str (ret)); + error ("%s", thread_db_err_str (ret)); ret = td_thr_get_info_p (&th, &ti); if (ret) - error (thread_db_err_str (ret)); + error ("%s", thread_db_err_str (ret)); thvalid = 1; lwp = ti.ti_lid; } @@ -1023,7 +1023,7 @@ err = td_thr_setgregs_p (&th, gregset); if (err != TD_OK) error ("Cannot store general-purpose registers for thread %d: Thread ID=%d, %s", - pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), + pid_to_thread_id (inferior_ptid), (int)GET_THREAD (inferior_ptid), thread_db_err_str (err)); #ifdef PT_GETXMMREGS @@ -1037,7 +1037,7 @@ err = td_thr_setfpregs_p (&th, &fpregset); if (err != TD_OK) error ("Cannot store floating-point registers for thread %d: Thread ID=%d, %s", - pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), + pid_to_thread_id (inferior_ptid), (int)GET_THREAD (inferior_ptid), thread_db_err_str (err)); }