[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] [bootstrappable] Re: wip-full-source-bootstrap: from
From: |
Danny Milosavljevic |
Subject: |
Re: [Tinycc-devel] [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' |
Date: |
Fri, 8 Jan 2021 14:25:57 +0100 |
Hi grischka,
Hi Janneke,
On Fri, 08 Jan 2021 08:16:29 +0100
grischka <grishka@gmx.de> wrote:
> But no such thing happens in this case. The 'ptr' in init_putv()
> comes from
>
> ptr = sec->data + c;
>
> and it seems that if tcc is doing the right thing then 'c' cannot
> be misaligned, and if malloc/realloc on that system is doing the
> right thing, then sec->data cannot be misaligned either. So...?
How does tcc allocate dynamic memory? I've tried to find out, but
tcc_malloc is defined to be "use_tcc_malloc", which I don't find
anywhere. Does it use libc malloc for that ?
(With MEM_DEBUG defined, tcc_malloc_debug seems to use malloc. But
what about without MEM_DEBUG defined ?)
If so, is libc malloc supposed to ensure alignment of allocated memory?
According to https://man7.org/linux/man-pages/man3/malloc.3.html yes.
@Janneke: So our mes libc malloc should be aligning the stuff--but it's not
doing it. So it's a bug in our libc.
pgpj93gJ1nd_s.pgp
Description: OpenPGP digital signature