From: Alan Modra Date: Tue, 5 Aug 2014 01:07:38 +0000 (+0930) Subject: Prepare gdb for 64-bit obstacks X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=241fd515ad94fa11d4608d4fe8108c382792d3be;p=binutils-gdb.git Prepare gdb for 64-bit obstacks * charset.c (convert_between_encodings): Cast result of obstack_base. * cp-valprint.c (cp_print_value_fields): Use size_t locals. * hppa-tdep.c (internalize_unwinds): Change "size" parm to size_t. (read_unwind_info): Use size_t for some locals. * jit.c (finalize_symtab): Likewise. * utils.c (hashtab_obstack_allocate): Likewise. * symmisc.c (print_objfile_statistics): Update format strings. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4c8808d9f19..ea487427e5d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2014-08-05 Alan Modra + + * charset.c (convert_between_encodings): Cast result of obstack_base. + * cp-valprint.c (cp_print_value_fields): Use size_t locals. + * hppa-tdep.c (internalize_unwinds): Change "size" parm to size_t. + (read_unwind_info): Use size_t for some locals. + * jit.c (finalize_symtab): Likewise. + * utils.c (hashtab_obstack_allocate): Likewise. + * symmisc.c (print_objfile_statistics): Update format strings. + 2014-08-04 Jan Kratochvil * NEWS (Changes in GDB-4.0): Move Intel MPX and Intel AVX-512 items ... diff --git a/gdb/charset.c b/gdb/charset.c index 6f413a2bca2..05d8feeb863 100644 --- a/gdb/charset.c +++ b/gdb/charset.c @@ -503,7 +503,7 @@ convert_between_encodings (const char *from, const char *to, old_size = obstack_object_size (output); obstack_blank (output, space_request); - outp = obstack_base (output) + old_size; + outp = (char *) obstack_base (output) + old_size; outleft = space_request; r = iconv (desc, &inp, &inleft, &outp, &outleft); diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 3e1d6ededd5..93b95b3030a 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -208,8 +208,8 @@ cp_print_value_fields (struct type *type, struct type *real_type, fprintf_filtered (stream, ""); else { - int statmem_obstack_initial_size = 0; - int stat_array_obstack_initial_size = 0; + size_t statmem_obstack_initial_size = 0; + size_t stat_array_obstack_initial_size = 0; struct type *vptr_basetype = NULL; int vptr_fieldno; @@ -370,7 +370,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, if (dont_print_statmem == 0) { - int obstack_final_size = + size_t obstack_final_size = obstack_object_size (&dont_print_statmem_obstack); if (obstack_final_size > statmem_obstack_initial_size) @@ -387,7 +387,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, if (last_set_recurse != recurse) { - int obstack_final_size = + size_t obstack_final_size = obstack_object_size (&dont_print_stat_array_obstack); if (obstack_final_size > stat_array_obstack_initial_size) diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index e302ebb55ab..a66cbef41b5 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -221,7 +221,7 @@ record_text_segment_lowaddr (bfd *abfd, asection *section, void *data) static void internalize_unwinds (struct objfile *objfile, struct unwind_table_entry *table, asection *section, unsigned int entries, - unsigned int size, CORE_ADDR text_offset) + size_t size, CORE_ADDR text_offset) { /* We will read the unwind entries into temporary memory, then fill in the actual unwind table. */ @@ -320,7 +320,7 @@ static void read_unwind_info (struct objfile *objfile) { asection *unwind_sec, *stub_unwind_sec; - unsigned unwind_size, stub_unwind_size, total_size; + size_t unwind_size, stub_unwind_size, total_size; unsigned index, unwind_entries; unsigned stub_entries, total_entries; CORE_ADDR text_offset; diff --git a/gdb/jit.c b/gdb/jit.c index a1983c9ac87..bc31c7a815f 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -637,7 +637,8 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile) struct symtab *symtab; struct gdb_block *gdb_block_iter, *gdb_block_iter_tmp; struct block *block_iter; - int actual_nblocks, i, blockvector_size; + int actual_nblocks, i; + size_t blockvector_size; CORE_ADDR begin, end; struct blockvector *bv; @@ -650,9 +651,9 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile) /* Copy over the linetable entry if one was provided. */ if (stab->linetable) { - int size = ((stab->linetable->nitems - 1) - * sizeof (struct linetable_entry) - + sizeof (struct linetable)); + size_t size = ((stab->linetable->nitems - 1) + * sizeof (struct linetable_entry) + + sizeof (struct linetable)); LINETABLE (symtab) = obstack_alloc (&objfile->objfile_obstack, size); memcpy (LINETABLE (symtab), stab->linetable, size); } diff --git a/gdb/symmisc.c b/gdb/symmisc.c index de2e1660545..bcb7954dddc 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -143,10 +143,12 @@ print_objfile_statistics (void) if (OBJSTAT (objfile, sz_strtab) > 0) printf_filtered (_(" Space used by a.out string tables: %d\n"), OBJSTAT (objfile, sz_strtab)); - printf_filtered (_(" Total memory used for objfile obstack: %d\n"), - obstack_memory_used (&objfile->objfile_obstack)); - printf_filtered (_(" Total memory used for BFD obstack: %d\n"), - obstack_memory_used (&objfile->per_bfd->storage_obstack)); + printf_filtered (_(" Total memory used for objfile obstack: %s\n"), + pulongest (obstack_memory_used (&objfile + ->objfile_obstack))); + printf_filtered (_(" Total memory used for BFD obstack: %s\n"), + pulongest (obstack_memory_used (&objfile->per_bfd + ->storage_obstack))); printf_filtered (_(" Total memory used for psymbol cache: %d\n"), bcache_memory_used (psymbol_bcache_get_bcache (objfile->psymbol_cache))); diff --git a/gdb/utils.c b/gdb/utils.c index 8af8827bbe5..a4b59371db1 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -3080,7 +3080,7 @@ gdb_sign_extend (LONGEST value, int bit) void * hashtab_obstack_allocate (void *data, size_t size, size_t count) { - unsigned int total = size * count; + size_t total = size * count; void *ptr = obstack_alloc ((struct obstack *) data, total); memset (ptr, 0, total);