malloc debug: fix compile error when enable macro MALLOC_DEBUG > 1
Commit Message
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(-)
break;
Comments
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;
@@ -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");