summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ggc-zone.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fbfad2b250c..c9f29da8e64 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-01 Daniel Berlin <dberlin@dberlin.org>
+
+ * ggc-zone.c (ggc_pch_write_object): Calculate object size using
+ ggc_get_size (which accounts for large objects properly).
+
2003-12-01 Jeff Sturm <jsturm@one-point.com>
PR optimization/13024
diff --git a/gcc/ggc-zone.c b/gcc/ggc-zone.c
index dbca7614a8b..d9c82e6c696 100644
--- a/gcc/ggc-zone.c
+++ b/gcc/ggc-zone.c
@@ -1663,7 +1663,7 @@ ggc_pch_write_object (struct ggc_pch_data *d ATTRIBUTE_UNUSED,
if (!is_string)
{
struct alloc_chunk *chunk = (struct alloc_chunk *) ((char *)x - CHUNK_OVERHEAD);
- size = chunk->size;
+ size = ggc_get_size (x);
if (fwrite (chunk, size + CHUNK_OVERHEAD, 1, f) != 1)
fatal_error ("can't write PCH file: %m");
d->written += size + CHUNK_OVERHEAD;
OpenPOWER on IntegriCloud