X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fjit.c;h=7c6aede494e9a847291637648b63edc8da23afc1;hb=cb0a2700865a77a111994ced22fd68815e5eed63;hp=e872c8fe25f012b64dea44ddc5ed457edcf4b1d0;hpb=492d29ea1c9a8b2c7d5193908119a4e27c045687;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/jit.c b/gdb/jit.c index e872c8fe25..7c6aede494 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -126,6 +126,7 @@ mem_bfd_iovec_stat (struct bfd *abfd, void *stream, struct stat *sb) { struct target_buffer *buffer = (struct target_buffer*) stream; + memset (sb, 0, sizeof (struct stat)); sb->st_size = buffer->size; return 0; } @@ -135,7 +136,7 @@ mem_bfd_iovec_stat (struct bfd *abfd, void *stream, struct stat *sb) static struct bfd * bfd_open_from_target_memory (CORE_ADDR addr, ULONGEST size, char *target) { - struct target_buffer *buffer = xmalloc (sizeof (struct target_buffer)); + struct target_buffer *buffer = XNEW (struct target_buffer); buffer->base = addr; buffer->size = size; @@ -176,7 +177,7 @@ jit_reader_load (const char *file_name) so = gdb_dlopen (file_name); old_cleanups = make_cleanup_dlclose (so); - init_fn = gdb_dlsym (so, reader_init_fn_sym); + init_fn = (reader_init_fn_type *) gdb_dlsym (so, reader_init_fn_sym); if (!init_fn) error (_("Could not locate initialization function: %s."), reader_init_fn_sym); @@ -284,7 +285,7 @@ get_jit_objfile_data (struct objfile *objf) { struct jit_objfile_data *objf_data; - objf_data = objfile_data (objf, jit_objfile_data); + objf_data = (struct jit_objfile_data *) objfile_data (objf, jit_objfile_data); if (objf_data == NULL) { objf_data = XCNEW (struct jit_objfile_data); @@ -314,7 +315,9 @@ get_jit_program_space_data (void) { struct jit_program_space_data *ps_data; - ps_data = program_space_data (current_program_space, jit_program_space_data); + ps_data + = ((struct jit_program_space_data *) + program_space_data (current_program_space, jit_program_space_data)); if (ps_data == NULL) { ps_data = XCNEW (struct jit_program_space_data); @@ -363,7 +366,7 @@ jit_read_descriptor (struct gdbarch *gdbarch, ptr_type = builtin_type (gdbarch)->builtin_data_ptr; ptr_size = TYPE_LENGTH (ptr_type); desc_size = 8 + 2 * ptr_size; /* Two 32-bit ints and two pointers. */ - desc_buf = alloca (desc_size); + desc_buf = (gdb_byte *) alloca (desc_size); /* Read the descriptor. */ err = target_read_memory (MSYMBOL_VALUE_ADDRESS (ps_data->objfile, @@ -411,7 +414,7 @@ jit_read_code_entry (struct gdbarch *gdbarch, off = (off + (align_bytes - 1)) & ~(align_bytes - 1); entry_size = off + 8; /* Three pointers and one 64-bit int. */ - entry_buf = alloca (entry_size); + entry_buf = (gdb_byte *) alloca (entry_size); /* Read the entry. */ err = target_read_memory (code_addr, entry_buf, entry_size); @@ -488,7 +491,8 @@ typedef CORE_ADDR jit_dbg_reader_data; static enum gdb_status jit_target_read_impl (GDB_CORE_ADDR target_mem, void *gdb_buf, int len) { - int result = target_read_memory ((CORE_ADDR) target_mem, gdb_buf, len); + int result = target_read_memory ((CORE_ADDR) target_mem, + (gdb_byte *) gdb_buf, len); if (result == 0) return GDB_SUCCESS; else @@ -602,12 +606,14 @@ jit_symtab_line_mapping_add_impl (struct gdb_symbol_callbacks *cb, struct gdb_line_mapping *map) { int i; + int alloc_len; if (nlines < 1) return; - stab->linetable = xmalloc (sizeof (struct linetable) - + (nlines - 1) * sizeof (struct linetable_entry)); + alloc_len = sizeof (struct linetable) + + (nlines - 1) * sizeof (struct linetable_entry); + stab->linetable = (struct linetable *) xmalloc (alloc_len); stab->linetable->nitems = nlines; for (i = 0; i < nlines; i++) { @@ -657,14 +663,15 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile) * sizeof (struct linetable_entry) + sizeof (struct linetable)); SYMTAB_LINETABLE (COMPUNIT_FILETABS (cust)) - = obstack_alloc (&objfile->objfile_obstack, size); + = (struct linetable *) obstack_alloc (&objfile->objfile_obstack, size); memcpy (SYMTAB_LINETABLE (COMPUNIT_FILETABS (cust)), stab->linetable, size); } blockvector_size = (sizeof (struct blockvector) + (actual_nblocks - 1) * sizeof (struct block *)); - bv = obstack_alloc (&objfile->objfile_obstack, blockvector_size); + bv = (struct blockvector *) obstack_alloc (&objfile->objfile_obstack, + blockvector_size); COMPUNIT_BLOCKVECTOR (cust) = bv; /* (begin, end) will contain the PC range this entire blockvector @@ -701,9 +708,10 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile) SYMBOL_TYPE (block_name) = lookup_function_type (block_type); SYMBOL_BLOCK_VALUE (block_name) = new_block; - block_name->ginfo.name = obstack_copy0 (&objfile->objfile_obstack, - gdb_block_iter->name, - strlen (gdb_block_iter->name)); + block_name->ginfo.name + = (const char *) obstack_copy0 (&objfile->objfile_obstack, + gdb_block_iter->name, + strlen (gdb_block_iter->name)); BLOCK_FUNCTION (new_block) = block_name; @@ -786,7 +794,7 @@ jit_object_close_impl (struct gdb_symbol_callbacks *cb, struct objfile *objfile; jit_dbg_reader_data *priv_data; - priv_data = cb->priv_data; + priv_data = (jit_dbg_reader_data *) cb->priv_data; objfile = allocate_objfile (NULL, "<< JIT compiled code >>", OBJF_NOT_FILENAME); @@ -812,7 +820,7 @@ static int jit_reader_try_read_symtab (struct jit_code_entry *code_entry, CORE_ADDR entry_addr) { - void *gdb_mem; + gdb_byte *gdb_mem; int status; jit_dbg_reader_data priv_data; struct gdb_reader_funcs *funcs; @@ -835,7 +843,7 @@ jit_reader_try_read_symtab (struct jit_code_entry *code_entry, if (!loaded_jit_reader) return 0; - gdb_mem = xmalloc (code_entry->symfile_size); + gdb_mem = (gdb_byte *) xmalloc (code_entry->symfile_size); status = 1; TRY @@ -984,7 +992,8 @@ jit_find_objf_with_entry_addr (CORE_ADDR entry_addr) { struct jit_objfile_data *objf_data; - objf_data = objfile_data (objf, jit_objfile_data); + objf_data + = (struct jit_objfile_data *) objfile_data (objf, jit_objfile_data); if (objf_data != NULL && objf_data->addr == entry_addr) return objf; } @@ -1006,7 +1015,8 @@ jit_breakpoint_deleted (struct breakpoint *b) { struct jit_program_space_data *ps_data; - ps_data = program_space_data (iter->pspace, jit_program_space_data); + ps_data = ((struct jit_program_space_data *) + program_space_data (iter->pspace, jit_program_space_data)); if (ps_data != NULL && ps_data->jit_breakpoint == iter->owner) { ps_data->cached_code_address = 0; @@ -1095,7 +1105,7 @@ jit_unwind_reg_set_impl (struct gdb_unwind_callbacks *cb, int dwarf_regnum, struct jit_unwind_private *priv; int gdb_reg; - priv = cb->priv_data; + priv = (struct jit_unwind_private *) cb->priv_data; gdb_reg = gdbarch_dwarf2_reg_to_regnum (get_frame_arch (priv->this_frame), dwarf_regnum); @@ -1128,12 +1138,13 @@ jit_unwind_reg_get_impl (struct gdb_unwind_callbacks *cb, int regnum) int gdb_reg, size; struct gdbarch *frame_arch; - priv = cb->priv_data; + priv = (struct jit_unwind_private *) cb->priv_data; frame_arch = get_frame_arch (priv->this_frame); gdb_reg = gdbarch_dwarf2_reg_to_regnum (frame_arch, regnum); size = register_size (frame_arch, gdb_reg); - value = xmalloc (sizeof (struct gdb_reg_value) + size - 1); + value = ((struct gdb_reg_value *) + xmalloc (sizeof (struct gdb_reg_value) + size - 1)); value->defined = deprecated_frame_register_read (priv->this_frame, gdb_reg, value->value); value->size = size; @@ -1147,7 +1158,7 @@ jit_unwind_reg_get_impl (struct gdb_unwind_callbacks *cb, int regnum) static void jit_dealloc_cache (struct frame_info *this_frame, void *cache) { - struct jit_unwind_private *priv_data = cache; + struct jit_unwind_private *priv_data = (struct jit_unwind_private *) cache; struct gdbarch *frame_arch; int i; @@ -1190,7 +1201,7 @@ jit_frame_sniffer (const struct frame_unwind *self, gdb_assert (!*cache); *cache = XCNEW (struct jit_unwind_private); - priv_data = *cache; + priv_data = (struct jit_unwind_private *) *cache; priv_data->registers = XCNEWVEC (struct gdb_reg_value *, gdbarch_num_regs (get_frame_arch (this_frame))); @@ -1252,7 +1263,7 @@ jit_frame_this_id (struct frame_info *this_frame, void **cache, static struct value * jit_frame_prev_register (struct frame_info *this_frame, void **cache, int reg) { - struct jit_unwind_private *priv = *cache; + struct jit_unwind_private *priv = (struct jit_unwind_private *) *cache; struct gdb_reg_value *value; if (priv == NULL) @@ -1297,7 +1308,8 @@ jit_prepend_unwinder (struct gdbarch *gdbarch) { struct jit_gdbarch_data_type *data; - data = gdbarch_data (gdbarch, jit_gdbarch_data); + data + = (struct jit_gdbarch_data_type *) gdbarch_data (gdbarch, jit_gdbarch_data); if (!data->unwinder_registered) { frame_unwind_prepend_unwinder (gdbarch, &jit_frame_unwind); @@ -1385,8 +1397,8 @@ jit_inferior_exit_hook (struct inferior *inf) ALL_OBJFILES_SAFE (objf, temp) { - struct jit_objfile_data *objf_data = objfile_data (objf, - jit_objfile_data); + struct jit_objfile_data *objf_data + = (struct jit_objfile_data *) objfile_data (objf, jit_objfile_data); if (objf_data != NULL && objf_data->addr != 0) jit_unregister_code (objf); @@ -1437,13 +1449,15 @@ jit_event_handler (struct gdbarch *gdbarch) static void free_objfile_data (struct objfile *objfile, void *data) { - struct jit_objfile_data *objf_data = data; + struct jit_objfile_data *objf_data = (struct jit_objfile_data *) data; if (objf_data->register_code != NULL) { struct jit_program_space_data *ps_data; - ps_data = program_space_data (objfile->pspace, jit_program_space_data); + ps_data + = ((struct jit_program_space_data *) + program_space_data (objfile->pspace, jit_program_space_data)); if (ps_data != NULL && ps_data->objfile == objfile) ps_data->objfile = NULL; } @@ -1457,10 +1471,11 @@ free_objfile_data (struct objfile *objfile, void *data) static void * jit_gdbarch_data_init (struct obstack *obstack) { - struct jit_gdbarch_data_type *data; + struct jit_gdbarch_data_type *data = + XOBNEW (obstack, struct jit_gdbarch_data_type); - data = obstack_alloc (obstack, sizeof (struct jit_gdbarch_data_type)); data->unwinder_registered = 0; + return data; }