Message ID | 588ad7ca-f69a-3aa5-7715-a60437587993@huawei.com |
---|---|
State | New |
Headers | show |
Series | malloc debug: fix compile error when enable macro MALLOC_DEBUG > 1 | expand |
ping again. On 2020/10/22 17:11, liqingqing wrote: > malloc debug: fix compile error when enable macro MALLOC_DEBUG > 1. > > this is because commit e9c4fe93b3855239752819303ca377dff0ed0553 has > change the struct malloc_chunk's member "size" to "mchunk_size". > > the reproduction is like that: > setp1: modify related Makefile. > vim ../glibc/malloc/Makefile > CPPFLAGS-malloc.o += -DMALLOC_DEBUG=2 > > step2: ../configure --prefix=/usr > make -j32 > > this will cause the compile error: > /home/liqingqing/glibc_upstream/buildglibc/malloc/malloc.o > In file included from malloc.c:1899:0: > arena.c: In function ‘dump_heap’: > arena.c:422:58: error: ‘struct malloc_chunk’ has no member named ‘size’ > fprintf (stderr, "chunk %p size %10lx", p, (long) p->size); > ^~ > arena.c:428:17: error: ‘struct malloc_chunk’ has no member named ‘size’ > else if (p->size == (0 | PREV_INUSE)) > --- > malloc/arena.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/malloc/arena.c b/malloc/arena.c > index cecdb7f4c4..202daf15b0 100644 > --- a/malloc/arena.c > +++ b/malloc/arena.c > @@ -419,13 +419,13 @@ dump_heap (heap_info *heap) > ~MALLOC_ALIGN_MASK); > for (;; ) > { > - fprintf (stderr, "chunk %p size %10lx", p, (long) p->size); > + fprintf (stderr, "chunk %p size %10lx", p, (long) > chunksize_nomask(p)); > if (p == top (heap->ar_ptr)) > { > fprintf (stderr, " (top)\n"); > break; > } > - else if (p->size == (0 | PREV_INUSE)) > + else if (chunksize_nomask(p) == (0 | PREV_INUSE)) > { > fprintf (stderr, " (fence)\n"); > break;
diff --git a/malloc/arena.c b/malloc/arena.c index cecdb7f4c4..202daf15b0 100644 --- a/malloc/arena.c +++ b/malloc/arena.c @@ -419,13 +419,13 @@ dump_heap (heap_info *heap) ~MALLOC_ALIGN_MASK); for (;; ) { - fprintf (stderr, "chunk %p size %10lx", p, (long) p->size); + fprintf (stderr, "chunk %p size %10lx", p, (long) chunksize_nomask(p)); if (p == top (heap->ar_ptr)) { fprintf (stderr, " (top)\n"); break; } - else if (p->size == (0 | PREV_INUSE)) + else if (chunksize_nomask(p) == (0 | PREV_INUSE)) { fprintf (stderr, " (fence)\n");