Prepare gdb for 64-bit obstacks
authorAlan Modra <amodra@gmail.com>
Tue, 5 Aug 2014 01:07:38 +0000 (10:37 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 5 Aug 2014 01:07:48 +0000 (10:37 +0930)
* 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.

gdb/ChangeLog
gdb/charset.c
gdb/cp-valprint.c
gdb/hppa-tdep.c
gdb/jit.c
gdb/symmisc.c
gdb/utils.c

index 4c8808d..ea48742 100644 (file)
@@ -1,3 +1,13 @@
+2014-08-05  Alan Modra  <amodra@gmail.com>
+
+       * 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  <jan.kratochvil@redhat.com>
 
        * NEWS (Changes in GDB-4.0): Move Intel MPX and Intel AVX-512 items ...
index 6f413a2..05d8fee 100644 (file)
@@ -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);
index 3e1d6ed..93b95b3 100644 (file)
@@ -208,8 +208,8 @@ cp_print_value_fields (struct type *type, struct type *real_type,
     fprintf_filtered (stream, "<No data fields>");
   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)
index e302ebb..a66cbef 100644 (file)
@@ -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;
index a1983c9..bc31c7a 100644 (file)
--- 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);
     }
index de2e166..bcb7954 100644 (file)
@@ -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)));
index 8af8827..a4b5937 100644 (file)
@@ -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);